FOUNDATIONS OF CYBERSECURITY FOR PROGRAMMERS

By S. JAVIM

6 3 ADDITIONAL APPROACHES 6 3 1 STACKGUARD 6 3 2 STATIC ANALYSIS TOOLS 6 4 PERFORMANCE 6 5 HEAP-BASED OVERFLOWS 6 6 OTHER MEMORY CORRUPTION VULNERABILITIES 6 6 1 FORMAT STRING VULNERABILITIES 6 6 2 INTEGER OVERFLOWS ICHAPTER CLIENT-STATE MANIPULATION 7 1 PIZZA DELIVERY WEB SITE EXAMPLE 7 1 1 ATTACK SCENARIO 7 1 2 SOLUTION 1: AUTHORITATIVE STATE STAYS AT SERVER 7 1 3 SOLUTION 2: SIGNED STATE SENT TO CLIENT 7 2 USING HTTP POST INSTEAD OF GET 7 3 COOKIES 7 4 JAVASCRIPT SQL INJECTION 8 1 ATTACK SCENARIO 8 2 SOLUTIONS 8 2 1 WHY BLACKLISTING DOES NOT WORK 8 2 2 WHITELISTING-BASED INPUT VALIDATION 8 2 3 ESCAPING 8 2 4 SECOND ORDER SQL INJECTION 8 2 5 PREPARED STATEMENTS AND BIND VARIABLES 8 2 6 MITIGATING THE IMPACT OF SQL INJECTION ATTACKS PASSWORD SECURITY 9 1 A STRAWMAN PROPOSAL 9 2 HASHING 9 3 OFFLINE DICTIONARY ATTACKS 9 4 SALTING 9 5 ONLINE DICTIONARY ATTACKS 9 6 ADDITIONAL PASSWORD SECURITY TECHNIQUES 9 6 1 STRONG PASSWORDS 9 6 2 “HONEYPOT” PASSWORDS 9 6 3 PASSWORD FILTERING 9 6 4 AGING PASSWORDS 9 6 5 PRONOUNCEABLE PASSWORDS 9 6 6 LIMITED LOGIN ATTEMPTS 9 6 7 ARTIFICIAL DELAYS 9 6 8 LAST LOGIN 9 6 9 IMAGE AUTHENTICATION 9 6 10 ONE-TIME PASSWORDS CROSS-DOMAIN SECURITY IN WEB APPLICATIONS 10 1 INTERACTION BETWEEN WEB PAGES FROM DIFFERENT DOMAINS 10 1 1 HTML, JAVASCRIPT, AND THE SAME-ORIGIN POLICY 10 1 2 POSSIBLE INTERACTIONS OF DOCUMENTS FROM DIFFERENT ORIGINS 10 1 3 HTTP REQUEST AUTHENTICATION 10 1 4 LIFETIME OF CACHED COOKIES AND HTTP AUTHENTICATION CREDENTIALS 10 2 ATTACK PATTERNS 10 2 1 CROSS-SITE REQUEST FORGERY (XSRF) 10 2 2 CROSS-SITE SCRIPT INCLUSION (XSSI) 10 2 3 CROSS-SITE SCRIPTING (XSS) 10 3 PREVENTING XSRF 10 3 1 INSPECTING REFERER HEADERS 10 3 2 VALIDATION VIA USER-PROVIDED SECRET 10 3 3 VALIDATION VIA ACTION TOKEN 10 3 4 SECURITY ANALYSIS OF THE ACTION TOKEN SCHEME 10 4 PREVENTING XSSI 10 4 1 AUTHENTICATION VIA ACTION TOKEN 10 4 2 RESTRICTION TO POST REQUESTS 10 4 3 PREVENTING RESOURCE ACCESS FOR COST REASONS 10 5 PREVENTING XSS 10 5 1 GENERAL CONSIDERATIONS 10 5 2 SIMPLE TEXT 10 5 3 TAG ATTRIBUTES (E G , FORM FIELD VALUE ATTRIBUTES) 10 5 4 URL ATTRIBUTES (HREF AND SRC) 10 5 5 STYLE ATTRIBUTES 10 5 6 WITHIN STYLE TAGS 10 5 7 IN JAVASCRIPT CONTEXT 10 5 8 JAVASCRIPT-VALUED ATTRIBUTES 10 5 9 REDIRECTS, COOKIES, AND HEADER INJECTION 10 5 10 FILTERS FOR “SAFE” SUBSETS OF HTML 10 5 11 UNSPECIFIED CHARSETS, BROWSER-SIDE CHARSET GUESSING, AND UTF-7 XSS ATTACKS 10 5 12 NON-HTML DOCUMENTS AND INTERNET EXPLORER CONTENT-TYPE SNIFFING 10 5 13 MITIGATING THE IMPACT OF XSS ATTACKS EXERCISES FOR PART 2 PART 3 I I I INTRODUCTION TO CRYPTOGRAPHY ICHAPTER SYMMETRIC KEY CRYPTOGRAPHY 12 1 INTRODUCTION TO ENCRYPTION 12 1 1 SUBSTITUTION CIPHERS 12 1 2 NOTATION AND TERMINOLOGY 12 1 3 BLOCK CIPHERS 12 1 4 SECURITY BY OBSCURITY: RECAP 12 1 5 ENCRYPTING MORE DATA 12 1 6 AES CODE EXAMPLE 12 2 STREAM CIPHERS 12 2 1 ONE-TIME PAD 12 2 2 RC4 12 3 STEGANOGRAPHY 12 3 1 WHAT IS STEGANOGRAPHY? 12 3 2 STEGANOGRAPHY VS CRYPTOGRAPHY ASYMMETRIC KEY CRYPTOGRAPHY 13 1 WHY ASYMMETRIC KEY CRYPTOGRAPHY? 13 2 RSA 13 3 ELLIPTIC CURVE CRYPTOGRAPHY (ECC) 13 4 SYMMETRIC VS ASYMMETRIC KEY CRYPTOGRAPHY 13 5 CERTIFICATE AUTHORITIES 13 6 IDENTITY-BASED ENCRYPTION (IBE) 13 7 AUTHENTICATION WITH ENCRYPTION KEY MANAGEMENT AND EXCHANGE 14 1 TYPES OF KEYS 14 1 1 IDENTITY KEYS 14 1 2 CONVERSATION OR SESSION KEYS 14 1 3 INTEGRITY KEYS 14 2 KEY GENERATION 14 2 1 RANDOM NUMBER GENERATION 14 2 2 THE RAND() FUNCTION 14 2 3 RANDOM DEVICE FILES 14 2 4 RANDOM APIS 14 3 KEY (SECRET) STORAGE 14 3 1 KEYS IN SOURCE CODE 14 3 2 STORING THE KEY IN A FILE ON DISK 14 3 3 “HARD TO REACH” PLACES 14 3 4 STORING SECRETS IN EXTERNAL DEVICES 14 4 KEY AGREEMENT AND EXCHANGE 14 4 1 USING ASYMMETRIC KEYS 14 4 2 DIFFIE-HELLMAN (DH) MACS AND SIGNATURES 15 1 SECURE HASH FUNCTIONS 15 2 MESSAGE AUTHENTICATION CODES (MACS) 15 2 1 CBC MACS 15 2 2 HMAC 15 3 SIGNATURES 15 3 1 CERTIFICATES AND CERTIFICATE AUTHORITIES (CAS) 15 3 2 SIGNING AND VERIFYING 15 3 3 REGISTRATION AUTHORITIES (RAS) 15 3 4 WEB OF TRUST 15 4 ATTACKS AGAINST HASH FUNCTIONS 15 5 SSL 15 5 1 SERVER-AUTHENTICATED-ONLY 15 5 2 MUTUAL AUTHENTICATION EXERCISES FOR PART 3 SECURITY DESIGN PRINCIPLES P A R T FOUNDATIONS OF SECURITY

ISBN978-93-7758-397-2
Copyright Year2027
Pages265
Price$265.99
LanguageEnglish
FormatPDF