Acknowledgments |
|
xiii | |
About the Authors |
|
xv | |
|
|
1 | (82) |
|
|
1 | (4) |
|
A Chronological History of the Internet |
|
|
5 | (2) |
|
The Evolution of Web Applications |
|
|
7 | (6) |
|
The Fundamentals of Network Security - The OSI Model |
|
|
13 | (5) |
|
|
13 | (2) |
|
What Is the Significance of the OSI Model to Network Security? |
|
|
15 | (1) |
|
The Classification of Threats to the OSI Model |
|
|
15 | (2) |
|
The Most Probable Attacks |
|
|
17 | (1) |
|
Assessing a Threat to a Web Application |
|
|
18 | (1) |
|
Network Security Terminology |
|
|
19 | (1) |
|
The Types of Network Security Topologies Best Suited for Web Applications |
|
|
20 | (1) |
|
The Types of Attack That Can Take Place against Web Applications |
|
|
21 | (6) |
|
How to Protect Web Applications from DDoS Attacks |
|
|
27 | (6) |
|
Defending against Buffer Overflow Attacks |
|
|
28 | (1) |
|
Defending against IP Spoofing Attacks |
|
|
28 | (2) |
|
Defending against Session Hijacking |
|
|
30 | (1) |
|
Defending Virus and Trojan Horse Attacks |
|
|
31 | (1) |
|
|
31 | (1) |
|
How a Virus Spreads Itself |
|
|
31 | (1) |
|
The Different Types of Viruses |
|
|
31 | (2) |
|
Defending Web Applications at a Deeper Level |
|
|
33 | (4) |
|
|
33 | (1) |
|
|
34 | (2) |
|
Blacklisting and Whitelisting |
|
|
36 | (1) |
|
How to Properly Implement a Firewall to Safeguard the Web Application |
|
|
37 | (2) |
|
The Use of Intrusion Detection Systems |
|
|
39 | (14) |
|
Understanding What a Network Intrusion Detection System Is |
|
|
39 | (1) |
|
|
40 | (2) |
|
|
42 | (1) |
|
Important NIDS Processes and Subcomponents |
|
|
43 | (1) |
|
The Use of VPNs to Protect a Web Application Server |
|
|
44 | (1) |
|
The Basics of VPN Technology |
|
|
45 | (1) |
|
The Virtual Private Network Protocols that are Used to Secure a Web Application Server |
|
|
46 | (1) |
|
How PPTP Sessions are Authenticated |
|
|
46 | (1) |
|
How Layer 2 Tunneling Protocol (L2TP) Sessions are Authenticated |
|
|
47 | (1) |
|
How Password Authentication Protocol (PAP) Sessions are Authenticated |
|
|
48 | (1) |
|
How Shiva Password Authentication Protocol (SPAP) Sessions are Authenticated |
|
|
48 | (1) |
|
How Kerberos Protocol Sessions are Authenticated |
|
|
49 | (2) |
|
How IPSec Protocol Sessions are Authenticated |
|
|
51 | (1) |
|
How SSL Protocol Sessions are Authenticated |
|
|
52 | (1) |
|
How to Assess the Current State of Security of a Web Application Server |
|
|
53 | (3) |
|
Important Risk Assessment Methodologies and How They Relate to Web Application Security |
|
|
54 | (1) |
|
Single Loss Expectancy (SLE) |
|
|
54 | (1) |
|
The Annualized Loss Expectancy (ALE) |
|
|
54 | (1) |
|
|
54 | (1) |
|
How to Evaluate the Security Risk that is Posed to the Web Application and its Server |
|
|
55 | (1) |
|
How to Conduct the Initial Security Assessment on the Web Application |
|
|
56 | (3) |
|
Techniques Used by Cyberattackers against the Web Application and Web Application Server |
|
|
59 | (6) |
|
The Techniques Used by the Cyberhacker |
|
|
60 | (3) |
|
Techniques Used by the Cyberattacker |
|
|
63 | (2) |
|
Network Security and Its Relevance for Web Apps |
|
|
65 | (1) |
|
|
65 | (1) |
|
Common Technical Layouts for Modern Web App Infrastructure |
|
|
66 | (16) |
|
Encrypting Data in Flight |
|
|
69 | (1) |
|
|
69 | (3) |
|
|
72 | (1) |
|
|
73 | (1) |
|
|
74 | (1) |
|
|
75 | (1) |
|
Proving Your Web App Is What It Says It Is |
|
|
75 | (2) |
|
Testing Your Web App's Confidentiality and Trust |
|
|
77 | (1) |
|
|
77 | (2) |
|
Spoofing and Related Concerns |
|
|
79 | (3) |
|
|
82 | (1) |
|
|
82 | (1) |
|
|
82 | (1) |
|
|
83 | (68) |
|
An Introduction to Cryptography |
|
|
84 | (1) |
|
Message Scrambling and Descrambling |
|
|
85 | (1) |
|
Encryption and Decryption |
|
|
86 | (1) |
|
|
86 | (1) |
|
Symmetric Key Systems and Asymmetric Key Systems |
|
|
87 | (1) |
|
|
87 | (1) |
|
Types of Cryptographic Attacks |
|
|
88 | (1) |
|
Polyalphabetic Encryption |
|
|
88 | (1) |
|
|
89 | (1) |
|
|
90 | (1) |
|
|
90 | (1) |
|
Disadvantages of Symmetric Key Cryptography |
|
|
91 | (1) |
|
The Key Distribution Center |
|
|
92 | (1) |
|
Mathematical Algorithms with Symmetric Cryptography |
|
|
93 | (1) |
|
|
94 | (1) |
|
Asymmetric Key Cryptography |
|
|
95 | (1) |
|
Public Keys and Public Private Keys |
|
|
95 | (1) |
|
The Differences Between Asymmetric and Symmetric Cryptography |
|
|
96 | (1) |
|
The Disadvantages of Asymmetric Cryptography |
|
|
97 | (1) |
|
The Mathematical Algorithms of Asymmetric Cryptography |
|
|
98 | (1) |
|
The Public Key Infrastructure |
|
|
99 | (1) |
|
|
100 | (1) |
|
How the Public Key Infrastructure Works |
|
|
101 | (1) |
|
Public Key Infrastructure Policies and Rules |
|
|
101 | (1) |
|
|
102 | (1) |
|
The Public Cryptography Standards |
|
|
103 | (1) |
|
Parameters of Public Keys and Private Keys |
|
|
104 | (1) |
|
|
105 | (1) |
|
|
105 | (1) |
|
Securing the Public Keys and the Private Keys |
|
|
106 | (1) |
|
Message Digests and Hashes |
|
|
106 | (1) |
|
Security Vulnerabilities of Hashes |
|
|
106 | (1) |
|
A Technical Review of Cryptography |
|
|
107 | (6) |
|
The Digital Encryption Standard |
|
|
107 | (2) |
|
The Internal Structure of the DES |
|
|
109 | (1) |
|
The Initial and Final Permutations |
|
|
109 | (1) |
|
|
109 | (1) |
|
|
110 | (1) |
|
The Decryption Process of the DES Algorithm |
|
|
111 | (1) |
|
The Reversed Key Schedule |
|
|
111 | (1) |
|
The Decryption in the Feistel Network |
|
|
111 | (2) |
|
|
113 | (8) |
|
The Advanced Encryption Standard |
|
|
113 | (1) |
|
The Mathematics behind the DES Algorithm |
|
|
114 | (3) |
|
The Internal Structure of the AES Algorithm |
|
|
117 | (3) |
|
Decryption of the AES Algorithm |
|
|
120 | (1) |
|
Asymmetric and Public Key Cryptography |
|
|
121 | (4) |
|
The Mathematics behind Asymmetric Cryptography |
|
|
124 | (1) |
|
|
125 | (4) |
|
The Use of Fast Exponentiation in the RSA Algorithm |
|
|
127 | (1) |
|
The Use of Fast Encryption with Shorter Public Key Exponentiation |
|
|
128 | (1) |
|
The Chinese Remainder Theorem (CRT) |
|
|
128 | (1) |
|
How to Find Large Prime Integers for the RSA Algorithm |
|
|
129 | (2) |
|
The Use of Padding in the RSA Algorithm |
|
|
131 | (1) |
|
Specific Cyberattacks on the RSA Algorithm |
|
|
132 | (1) |
|
The Digital Signature Algorithm |
|
|
133 | (3) |
|
Digital Signature Computation and Verification Process for the DSA |
|
|
134 | (1) |
|
The Prime Number Generation Process in the DSA |
|
|
135 | (1) |
|
Security Issues with the DSA |
|
|
135 | (1) |
|
The Elliptic Curve Digital Signature Algorithm |
|
|
136 | (2) |
|
The Generation of the Public Key and the Private Key Using the ECDSA Algorithm |
|
|
136 | (1) |
|
The Signature and the Verification Process of the ECDSA Algorithm |
|
|
137 | (1) |
|
The Use of Hash Functions |
|
|
138 | (1) |
|
The Security Requirements of Hash Functions |
|
|
139 | (3) |
|
A Technical Overview of Hash Function Algorithms |
|
|
142 | (2) |
|
Block Cipher-Based Hash Functions |
|
|
143 | (1) |
|
Technical Details of the Secure Hash Algorithm SHA-1 |
|
|
144 | (2) |
|
|
146 | (2) |
|
The Public Key Infrastructure and Certificate Authority |
|
|
148 | (1) |
|
|
149 | (2) |
|
|
151 | (24) |
|
|
151 | (1) |
|
|
152 | (1) |
|
|
152 | (7) |
|
External Testing: Auxiliary System Vulnerabilities |
|
|
152 | (1) |
|
|
153 | (1) |
|
|
154 | (1) |
|
|
154 | (1) |
|
|
155 | (3) |
|
|
158 | (1) |
|
Types of Penetration Tests |
|
|
159 | (1) |
|
Definitions of Low, Medium, High, and Critical Findings in Penetration Testing |
|
|
160 | (1) |
|
Compliances and Frameworks: Pen Testing Required |
|
|
161 | (1) |
|
|
162 | (2) |
|
OWASP Top Ten with Commentary |
|
|
162 | (2) |
|
|
164 | (3) |
|
|
167 | (5) |
|
Penetration Test Checklist for External IPs and Web Applications |
|
|
167 | (5) |
|
|
172 | (2) |
|
|
174 | (1) |
|
|
175 | (16) |
|
|
176 | (5) |
|
Nation-State Bad Actors: China and Iran |
|
|
181 | (1) |
|
|
182 | (1) |
|
|
183 | (1) |
|
|
183 | (2) |
|
|
183 | (1) |
|
|
184 | (1) |
|
|
185 | (1) |
|
|
185 | (1) |
|
When 1 + 1 + 1 = 1: The Visibility Window |
|
|
185 | (1) |
|
Threat Hunting Process or Model |
|
|
186 | (2) |
|
On Becoming a Threat Hunter |
|
|
188 | (1) |
|
Threat Hunting Conclusions |
|
|
189 | (1) |
|
|
189 | (2) |
|
|
191 | (8) |
Index |
|
199 | |