Glossary

Term Definition Chapter
security Enforcing a desired property in the presence of an attacker 1
threat model A thread model is a model of who your attacker is and what resources they have 1
tcb TCB (Trusted Computing Base) are the components of a system that security relies upon 1
kiss principle Keep It Simple, Stupid 1
deterrence Deterrence refers to stopping the attack before it happens 1
prevention Prevention refers to stopping the attack as it happens 1
detection Detection refers to learning that there was an attack after the attack has taken place 1
response Response refers to doing something about the attack after the attack has taken place 1
securities is economics Securities is economics is a security principle that says that defenses are not free and are often less than the sum of their parts 1
least privilege Least Privilege is a security principle wherein one should consider what permissions an entity or program needs to be able to do its job correctly and only grant privileges that are needed for correct functioning and nothing more 1
separation of responsibility Separation of responsibility is a security principle wherein if you need to have a privilege, consider requiring multiple parties to work together (collude) to exercise it 1
ensure complete mediation Ensure complete mediation is a security principle wherein you ensure that every access point is monitored and protected 1
reference monitor A reference monitor is a single point through which all access must occur, like a network firewall, for example 1
shannon’s maxim Shannon’s Maxim is a security principle wherein the enemy knows the system, meaning that you should assume that the attacker knows every detail about the system you are working with 1
know your threat model Knowing your threat model is a security principle wherein you should understand your attacker, their resources, and their motivation 1
consider human factors Consider human factors is a security principle wherein if your system is unusable, it will be unused 1
defense in depth Defense in depth is a security principle wherein you should layer multiple types of defenses 1
use fail-safe defaults Use fail-safe defaults is a security principle that states you should construct systems that fail in a safe state, balancing security and usability 1
design in security from the start Design in security from the start is a security principle wherein you should consider all security principles when designing a new system, rather than patching it afterwards 1
bit A bit is a binary digit, either 0 or 1 2
nibble A nibble is 4 bits 2
byte A byte is 8 bits 2
compiler A compiler converts C code into assembly code 2
assembler An assembler converts assembly code into machine code (raw bits) 2
linker A linker deals with dependencies and libraries 2
loader A loader sets up memory space and runs the machine code 2
heap The heap is a section of memory that stores dynamically allocated memory and grows upwards 2
stack The stack is a section of memory that stores local variables and stack frames and grows downwards 2
esp The ESP is the stack pointer in x86 and points to the bottom of the current stack frame, similar to the sp in RISC-V 2
ebp The EBP is the base pointer in x86 and points to the top of the current stack frame, similar to the fp in RISC-V 2
eip The EIP is the instruction pointer in x86 and points to the current instruction, similar to the PC in RISC-V 2
rip The RIP (return instruction pointer) is the old EIP and is saved on the stack when calling a function 2
sfp The SFP (saved frame pointer) is the old EBP and is saved on the stack when calling a function 2
callee-saved Registers are callee-saved when the called function (the callee) must not change the value of the register when it returns 2
caller-saved Registers are caller-saved when the called function (the callee) may overwrite the register without saving or restoring it 2
shellcode Shellcode is malicious code inserted by the attacker into memory, to be executed using a memory safety exploit 3
buffer overflow A buffer overflow is a memory safety vulnerability wherein an attacker overwritten unintended parts of memory 3
stack smashing Stack smashing is a type of buffer overflow attack wherein the attacker overwrites saved registers on the stack 3
integer memory-safety vulnerabilities Integer memory-safety vulnerabilities occur when an attacker exploits how integers are represented in C memory 3
format string vulnerabilities Format string vulnerabilities occur when an attacker exploits the arguments to printf 3
heap vulnerabilities Heap vulnerabilities occur when an occur exploits the heap layout 3
memory-safe languages Memory safe languages are design to check bounds and prevent undefined memory-accesses and, are therefore not vulnerable to memory safety vulnerabilities 4
defensive programming Defensive programming is a technique of writing memory safe code wherein you always add checks in you code just in case 4
exploit mitigations Exploit mitigations, also known as code hardening, are compiler and runtime defenses that make common exploits harder 4
non-executable pages Non-executable pages is a defense against memory safety vulnerabilities wherein portions of memory are either executable or writable but not both 4
return-to-libc Return to libc is an exploit technique that overwrites the RIP to jump to a function in the standard C library (libc) or a common operating system function 4
rop ROP (Return Oriented Programming) consists of constructing custom shellcode using pieces of code that already exist in memory 4
gadget A gadget is a small set of assembly instructions that already exist in memory 4
stack canary A stack canary is a defense against memory safety vulnerabilities wherein a random, secret value is added to the stack and is later checked to see if it has been changed 4
pointer authentication Pointer authentication is a defense against memory safety vulnerabilities wherein instead of storing a pointer in memory, the unused bits are replaced with a pointer authentication code (PAC) 4
pac A PAC (Pointer Authentication Code) is a random value that replaces the unused bits when storing a pointer in memory 4
aslr ASLR (Address Space Layout Randomization) is a defense against memory safety vulnerabilities wherein each segment of memory is placed in a different location each time the program is run 4
cryptography Cryptography is the study of secure communication over insecure channels 5
eavesdropper An eavesdropper, commonly known as Eve, can read any data sent over the channel 5
manipulator A manipulator, commonly known as Mallory, can read and modify any data sent over the channel 5
confidentiality Confidentiality is a goal of cryptography wherein the adversary cannot read our messages. Essentially, the ciphertext should not give the attacker any additional information about the plaintext 5
integrity Integrity is a goal of cryptography wherein the adversary cannot change any messages without being detected 5
authenticity Authenticity is a goal of cryptography wherein one can prove that a message came from the person who claims to have written it 5
key They key is the most basic building block of cryptography and can be used in algorithms to secure messages 5
symmetric key model In a symmetric key model, both Alice and Bob know the value of the secret key 5
asymmetric key model In an asymmetric key model, everybody has two keys, a secret key and a public key 5
kerckhoff’s principle Kerckhoff’s Principle is a security principle that is closely related to Shannon’s Maxim that states that cryptosystems should remain secure even when the attacker knows all the internal details of the system, except the key 5
plaintext Plaintext is the original message 5
ciphertext Ciphertext is the encrypted message 5
encrypt Encrypting a message uses the key to change the message from its original form into a scrambled form 5
decrypt Decrypting a message uses the key to change the message from its scrambled form back to its original form 5
caesar cipher The Caesar cipher encrypts the plaintext by replacing each letter with the letter K positions later in the alphabet 5
traffic analysis Traffic analysis is analyzing who is talking to whom and when 5
side channels Side channels are when information about the plaintext is revealed as a result of the implementation of the scheme, not the scheme itself 5
chosen-plaintext attack In a chosen-plaintext attack, Eve tricks Alice into encrypting plaintext of her (Eve’s) choice 6
correctness Correctness is a property we want from a symmetric encryption scheme wherein decrypting a ciphertext should result in the message that was originally encrypted 6
efficiency Efficiency is a property we want from a symmetric encryption scheme wherein encryption and decryption should be fast 6
security Security is a property we want from a symmetric encryption scheme which is essentially the same as confidentiality 6
ind-cpa A scheme is IND-CPA (Indistinguishability Under Chosen Plaintext Attack) secure when even if Eve can trick Alice into encrypting some messages of Eve’s choosing, given the encryption of either M0 or M1, Eve cannot distinguish which message was sent with probability greater than ½ 6
block cipher A block cipher is an encryption/decryption algorithm that encrypts a fixed-size block of bits 6
permutation A permutation, or a bijective function, is a function such that each input must correspond to exactly one unique output 6
ecb ECB (Electronic Code Book) is a mode of symmetric encryption where Ci = Enc(K, Mi) 6
iv An IV (Initialization Vector) is a random, but public, one-use value used in combination with a secret key as a means to introduce randomness into the algorithm 6
nonce A nonce, or a number used once, can be thought of like an IV, except the value has to be unique but not necessarily random 6
cbc CBC (Cipher Block Chaining) is a mode of symmetric encryption where Ci = E_K(Mi ⊕ Ci-1) and C0 = IV 6
padding Padding is adding dummy bytes at the end of the message until it is the proper length 6
ctr CTR (Counter) is a mode of symmetric encryption where Ci = E_K(IV || counter) ⊕ Mi 6
hash function A hash function takes in an arbitrary length message and outputs a fixed-length fingerprint over the input 7
preimage resistance Preimage resistance, also known as one-way-ness, is a property of a hash function where given an output, y, it is infeasible to find any input, x, such that H(x) = y 7
second preimage resistance Second preimage resistance is a property of a hash function where given an input, x, it is infeasible to find another input, x’, where x ≠ x’, such that H(x) = H(x’) 7
collision A collision is when two different inputs get hashed to the same output 7
collision resistance Collision resistance is a property of hash functions where it is infeasible to find any pair of inputs, x and x’, such that H(x) = H(x’) 7
birthday attack The birthday attack is an attack on hash functions wherein finding a collision on an n-bit output requires only 2n/2 tries on average 7
length extension attack The length extension attack is an attack on hash functions where given H(x) and the length of x, but not x, an attacker can create H(x || m) for any m of the attacker’s choosing 7
mac A MAC (Message Authentication Code) is a fixed-length, deterministic tag that is created on an arbitrary length message using a secret key 8
existentially unforgeable A secure MAC is existentially unforgeable meaning that without the key, an attacker cannot create a valid tag on a message 8
authenticated encryption Authenticated Encryption (AE) is a scheme that simultaneously guarantees confidentiality and integrity (and authenticity, depending on your threat model) on a message 8
key reuse Key reuse is using the same key in two different algorithms (e.g. AES-CBC and HMAC) 8
authenticated encryption with additional data Authenticated Encryption with Additional Data (AEAD) is an algorithm that provides both confidentiality and integrity over the plaintext and integrity over additional data 8
gcm GCM (Galois Counter Mode) is an AEAD block cipher mode of operation 8
entropy Entropy is a measure of uncertainty (i.e. a measure of how unpredictable the outcomes are) 9
prngs PRNGs (Pseudorandom Number Generators), also known as deterministic random bit generators, are algorithms that use a little but of true randomness to generate a lot of random-looking output 9
rollback resistance Rollback resistance states that if an attacker learns in the internal PRNG state, they cannot learn anything about previous states or outputs 9
stream ciphers A stream cipher is a symmetric encryption algorithm that uses pseudorandom bits as the key to a one-time pad 9
discrete log problem The discrete logarithm problem states that given ga mode p, it is computationally hard to find a 10
diffie-hellman problem The Diffie-Hellman problem states that given ga mod p and gb mod p, it is computationally difficult to find gab mod p 10
ephemeral Short-term and temporary, not permanent 10
elliptic-curve diffie-hellman Elliptic-Curve Diffie-Hellman is a variation of Diffie-Hellman that uses elliptic curves instead of modular arithmetic 10
forward secrecy Forward secrecy is a property of Diffie-Hellman wherein even if Eve records everything that was sent over the insecure channel and later steals all of Alice and Bob’s secrets, she can’t decrypt any messages that she recorded. Essentially, nothing is saved or can be recorded that can ever recover the key 10
rsa problem The RSA problem states that given n and C = Me mod N, it is computationally hard to find M 11
oaep OAEP (Optimal Asymmetric Encryption Padding) is a variation of RSA that introduces randomness 11
hybrid encryption Hybrid encryption is a scheme wherein you encrypt data under a randomly generated key, K, using symmetric encryption, and encrypt K using asymmetric encryption 11
elgamal encryption ElGamal encryption is public-key encryption where the ciphertext is (gr mod p, m × Br mod p) and the decryption is R-b × S mod p 11
active attacks An active attacker, commonly known as Attila, can send a spoofed broadcast message that appears to be from Bob, but contains something that Attilla generated, thus fooling Alice into thinking the message came from Bob 11
session key Session keys are the keys used to actually encrypt and authenticate the message 11
digital signatures Digital signatures are the asymmetric way of providing integrity/authenticity to data 12
key generation Key generation is a randomized algorithm that outputs a matching public key and private key 12
signing Signing is an algorithm that outputs a signature on the message, M, using the secret key 12
verification Verification is an algorithm that takes in the signature, message, and public key and returns true if the signature is a valid signature on the message, and false otherwise 12
Euler's totient function of n Euler's totient function of n is the number of positive integers less than n that share no common factors with n 12
trust anchor A trust anchor is someone that we implicitly trust 13
trusted directory service A trusted directory service is some organization that maintains an association between the name of each participant and their public key 13
trust-on-first-use Trust-on-first-use states that the first time you communicate, trust the public key that is used and warn the user if it changes in the future 13
certificate A certificate is a signed endorsement of someone’s public key 13
digital certificates Digital certificates are a way to represent an alleged association between a person's name and their public key, as attested by some certifying party 13
certificate authority A certificate authority (CA) is a party who issues certificates 13
rainbow tables A rainbow table is an algorithm for computing hashes that makes brute-force attacks easier 14
salt A salt is a random, public value that is designed to make brute-force attacks harder 14
Password-based key derivation function 2 A password-based key derivation function 2, or PBKDF2, is a slow hash function 14
offline attack An offline attack is when the attacker performs all of the computations themselves 14
online attack An online attack is when the attacker interacts with a service 14
snake oil security Snake oil security, also known as snake oil cryptography, is when useless security products are advertised to uninformed buyers 14
hash chain A hash chain is a linked list where each node contains the has of the previous node 16
append-only structure An append-only structure is a structure wherein changing a node causes the hashes in all future nodes to change 16
consensus Consensus is a way to reach agreement on something as a group, without placing trust in any individual 16
51% attack A 51% attack is when an attacker who controls 51% of mining power can effectively rewrite history and perform a forking attack 16
forking attack An attack where the attacker creates their own branch of the chain 16
mining pools A mining pool is a team of users mining together 16
private blockchain A private blockchain is when only blocks signed by trusted private keys are valid 16
pseudonymity Pseudonymity is when multiple actions can be linked to a single identity which is not your real identity 16
anonymity Anonymity is when actions cannot be linked to your real identity 16
proof-of-work Proof of work is when the blockchain only accepts blocks whose hashes start with a sequence of n 0s 16
sql SQL (Structured Query Language) is a language that is used to interact with and manage data that is stored in a database 17
sql injection A sequel injection (SQLi) is an attack that injects SQL into queries constructed by the server to cause malicious behavior 17
blind sql injection A blind sql injection is a SQL injection attack where little to no feedback is provided 17
escape inputs One way of defending against SQL injection is to escape any potential input that could be used in an attack. Escaping a character means that you tell SQL to treat this character as part of the string, not actual SQL syntax 17
input sanitization Input sanitization is a SQLi defense that either disallows or escapes certain special characters 17
prepared statements Prepared statements, also known as parameterized SQL, is a SQLi defense that compiles the query first, and then plugs in the user input after the query as already been interpreted by the SQL parser, ensuring there is no way for any attacker input to be treated as SQL code 17
web The World Wide Web is a collection of data and services 18
url A URL (Uniform Resource Locator) is a string that uniquely identifies one piece of data on the web 18
http HTTP (Hypertext Transfer Protocol) is a protocol used to request and retrieve data from a web server 18
html HTML is a markup language for creating structures documents 18
css CSS (Cascading Style Sheets) is a style sheet language for defining the appearance of web pages 18
javascript JavaScript is a client-side programming language for running code in the web browser 18
client-side Client side is when code is sent by the server as part of the response and runs in the browser, not on the web server 18
ftp File Transfer Protocol 18
domain The domain is a part of the URL that defines which web server to contact 18
path The path is a part of the URL that defines which file on the web server to fetch 18
get request A GET request is a request that does not change the server-side state 18
post request A POST request is a request that updates the server-side state 18
dom DOM (Document Object Model) is a cross-platform model for representing and interacting with objects in HTML 18
same-origin policy The same-origin policy (SOP) is a rule that prevents one website from tampering with other unrelated websites and is enforced by the web browser 19
origin The origin of a web page is defined by its URL and is comprised of its protocol, domain, and port 19
cookie A cookie is a piece of data used to maintain state across multiple requests 20
cookie jar The cookie jar is the browser’s cookie storage 20
domain attribute The domain attribute is a part of the cookie and usually looks like the domain in a URL 20
path attribute The path attribute is a part of the cookie and usually looks like a path of the URL 20
secure attribute The secure attribute is a part of the cookie; if True, then the browser only sends the cookie if the request is made over HTTPS, not HTTP 20
httponly attribute The httpOnly attribute is a part of the cookie; if True, then the JavaScript in the browser is not allowed to access the cookie 20
expired attribute The expired attribute is a part of the cookie and it defines when the cookie is no longer valid 20
cookie policy Cookie policy (not the same as the SOP) is a set of rules that is enforced by the browser that defines when the cookie should be accepted and when it should be attached 20
session A session is a sequence of requests and responses associated with the same authenticated user 20
session token A session token is a secret value that is used to associate requests with an authenticated user 20
csrf CSRF (Cross Site Request Forgery), also known as XSRF) is an attack that exploits cookie-based authentication to perform an action as the victim 21
csrf token A CSRF token is a secret value provided by the server to the user that has to be attached in any following requests for the server to accept the request 21
referer validation Referer validation is one way to defend against CSRF tokens by having the server check the referer header on each request and reject any requests that have untrusted or suspicious referer headers 21
same-site flag The SameSite flag is a flag on a cookie that specifies it should be sent only when the domain of the cookie exactly matches the domain of the origin 21
xss XSS (Cross Site Scripting) is an attack that subverts the same-origin policy wherein an attacker injects JavaScript into websites that are viewed by other users 22
stored xss Stored, or persisted, XSS is a type of XSS attack where the attacker’s JavaScript is stored on the legitimate server and sent to browsers 22
reflected xss Reflected XSS is a type of XSS attack where the attacker causes the victim to input JavaScript into a request, and the content is reflected in the response from the server 22
input sanitization Input sanitization is a defense against XSS by checking for malicious input that might cause JavaScript to run, such as <script> tags 22
html sanitization HTML sanitization is a defense against XSS wherein certain special characters are represented as data rather than HTML 22
csp CSP (Content Security Policy) is a defense against XSS wherein the browser is instructed to only use resources loaded from specific places 22
ui attacks A UI (User Interface) attack is one wherein the attacker tricks the victim into thinking they are taking an intended action, when they are actually taking a malicious action 23
clickjacking Clickjacking is a type of UI attack wherein the attacker tricks the victim into clicking on something from the attack 23
clickjacking temporal attack A clickjacking temporal attack is one where JavaScript can detect the position of the cursor and change the website right before the user clicks on something 23
enforce visual integrity Enforcing visual integrity is a defense against clickjacking wherein we ensure clear visual separation between important dialogues and content 23
enforce temporal integrity Enforcing temporal integrity is a defense against clickjacking wherein we ensure that there is sufficient time for a user to register what they are clicking on 23
frame-busting Frame-busting is a defense against clickjacking wherein the legitimate website forbids other websites from embedding it in an iframe 23
phishing Phishing is tricking the victim into sending the attack personal information 23
homograph attack A homograph attack creates malicious URLs that look similar (or the same) to legitimate URLs 23
browser-in-browser attack A browser-in-browser attack is one where the attacker simulates the entire web browser with JavaScript 23
2fa 2FA (2 Factor Authentication) is where the user must prove their identity in two different ways before successfully authenticating 23
relay attacks Relay attacks, or transient phishing attacks, are when the attacker steals both factors in a phishing attack 23
authentication token An authentication token is a device that generates secure second-factor codes 23
security key A security key is a second factor that is designed to defend against phishing 23
captcha A CAPTCHA (Completely Automated Public Turing Test to tell Computers and Humans Apart) is a challenge that is easy for a human to solve but hard for a computer to solve 24
network A network is a set of connected machines that can communicate with each other 25
internet The internet is a global network of computers 25
protocol A protocol is an agreement on how to communicate that specifies syntax and semantics 25
syntax Syntax is how a communication is specified and structured (i.e. that format and order of messages) 25
semantics Semantics is what a communication means (i.e. what actions have to be taken when sending and receiving messages) 25
osi model The OSI (Open Systems Interconnection) model is a layered model of internet communication 25
physical layer The physical layer is the first layer in the OSI model and it sends bits from one device to another over a physical link 25
link layer The link layer is the second layer in the OSI model and it sends frames directly from one service to another 25
lan LAN (Local Area Network) is a set of computers on a shared network that can directly address one another 25
ethernet Ethernet is a common, layer 2 protocol that most endpoint devices use 25
mac The MAC address is a 6-byte address that identifies a piece of network equipment 25
network layer The network layer is the third layer in the OSI model and it sends packets from any device to another device and it allows packets to be routed across different devices to reach the destination 25
ip IP (Internet Protocol) is the universal layer 3 protocol that all devices use to transmit data over the internet 25
ip address An IP address is an address that identifies a device on the internet 25
reliability Reliability ensures that packets are received correctly, or, if random errors occur, not at all 25
transport layer Transport layer is the fourth layer in the OSI model and it provides the transportation of variable length data from any point to any other point 25
spoofing Spoofing is lying about the identity of the sender 26
promiscuous mode Most ethernet devices can enter promiscuous mode where it will receive all packets in a process known as packet sniffing 26
arp ARP (Address Resolution Protocol) translates layer 3 IP addresses into layer 2 MAC addresses 26
race condition A race condition is when two different machines are attempting to communicate with one machine that is expecting only one response so the requester will accept whichever response arrives first 26
switches Modern wired Ethernet networks defend against ARP spoofing by using switches rather than hubs which keep track of the IP address to MAC address pairings 26
wifi WiFi is a layer 2 protocol that wirelessly connects machines in a LAN 27
access point An access point (AP) is a machine that will help you connect to the network 27
ssid The SSID (Service Set Identifier) is the name of the WiFi network 27
wpa2 WPA2 (WiFi Protected Access 2) is a protocol for securing WiFi network communications with cryptography 27
psk A PSK (Pre-Shared Key) is a key that is derived by applying a password-based key derivation function on the SSID and password 27
wpa2-enterprise WPA2-Enterprise gives authorized users a unique username and password by having the client connect to a secure authentication server and provides its identity to that server by providing a username and password 27
dhcp DHCP (Dynamic Host Configuration Protocol) gives the user a configuration when they first join the network 28
nat NAT (Network Address Translation) allows multiple computers on a local network to share an IP address 28
subnet A subnet is a group of addresses with a common prefix 29
autonomous systems An autonomous system (AS) is comprised of one or more LANs and is uniquely identified by its ASN (autonomous system number) 29
bgp BGP (Border Gateway Protocol) is the protocol for communicating between different Autonomous Systems 29
ip spoofing IP spoofing is when malicious clients can send IP packets with source IP values set to a spoofed value 29
bgp hijacking BGP hijacking is where malicious autonomous systems can lie and claim themselves to be responsible for a network which it isn’t 29
port Ports help us distinguish between different applications on the same server 30
tcp TCP (Transmission Control Protocol) is a protocol that is built on top of IP that provides a byte stream abstraction, ordering, and reliability 30
initial sequence numbers Initial Sequence Numbers (ISNs) are different, random numbers for every connection that the client and server both agree upon 30
tcp hijacking TCP hijacking is an attack on TCP where an attacker tampers with an existing session to modify or inject data into a connection 30
data injection Data injection is a type of TCP hijacking attack where the attacker spoofs packets to inject malicious data into a connection 30
rst injection RST injection is a type of TCP hijacking attack where the attacker spoofs an RST packet to forcibly terminate a connection 30
tcp spoofing TCP spoofing is an attack on TCP where the attacker spoofs the TCP connection to appear to come from another source IP address 30
udp UDP (User Datagram Protocol) is a protocol that is built on top of IP that does not have reliability or ordering guarantees, but adds ports 30
tls TLS (Transport Layer Security) is a protocol that is built on top of TCP for creating a secure communications channel over the Internet 31
ssl SSL (Secure Sockets Layer) is the old, deprecated version of TLS 31
end-to-end security End to end security is a property that is provided by TLS wherein secure communications exist between the two endpoints with no need to trust intermediaries 31
https HTTPS is the HTTP protocol run over TLS 31
ssl stripping SSL stripping forces a user to use unencrypted HTTP instead of HTTPS 31
certificate pinning Certificate pinning is when the browser restricts which CAs are allowed to issue a certificate for each website 31
certificate transparency Certificate transparency are public logs provided by CAs 31
replay attack A replay attack involves an attacker recording old messages and sending them to the server 31
dns DNS (Domain Name System) is an internet protocol for translating human-readable domain names to IP addresses 32
name server A name server is a server on the Internet that is responsible for answering DNS requests 32
stub resolver A stub resolver is the resolver on your computer that only contacts the recursive resolver and receives the answer 32
recursive resolver A recursive resolver is the resolver that makes the actual DNS queries 32
resource records Resource Records (RR) is a name-value pair which is a part of the DNS payload and contains answer and name server type records 32
id number The ID number is 16 bits and is part of the DNS payload and is used to associate queries with responses 32
counts Counts store the number of records of each type in the DNS payload 32
cache poisoning attack A cache poisoning attack is an attack that returns a malicious record to the client 32
bailiwick checking Bailiwick checking is a DNS defense where the resolver only accepts records if they are in the name server’s zone 32
kaminsky attack The Kaminsky Attack queries non-existent domains and puts the poisoned record in the additional section (which will still be cached), and lets the off-path attacker try repeatedly until succeeding 32
channel security Channel security is securing the communication channel between two end hosts 33
object security Object security is securing a piece of data (in transit or in storage) 33
downgrade attack A downgrade attack is an attack wherein the attacker blocks the TLS connection, forcing the browser to fall back on ordinary DNS 33
dnssec DNSSEC (DNS Security Extensions) is an extension of the DNS protocols that ensures integrity on the results 33
edns0 EDNS0 (Extension Mechanisms for DNS) is a protocol that adds the OPT pseudosection 33
rrset RRSET (Resource Record Set) is a group of DNS records with the same name and type form 33
ksk KSK (Key Signing Key) is used to sign only the zone-signing key 33
zsk ZSK (Zone Signing Key) is aused to sign all other records 33
domain enumeration Domain enumeration makes it easy for an attacker to find every single subdomain of a domain 33
dos DoS (Denial of Service) is an attack that disrupts a network service, making the service unavailable for legitimate users 34
resource exhaustion Resource exhaustion is wherein the attacker consumes all the limited resources so legitimate users can’t use them 34
amplification Amplification exploits asymmetry between the attacker and the victim so that the attacker spends few resources but the victim has to spend a lot of resources, thus making DoS attacks easier for the attacker 34
bottleneck A bottleneck is the part of the system with the least resources 34
application-level dos Application level DoS targets the high-level application running on the end host by overwhelming the processing capacity of the service 34
content delivery network Content delivery network is a service that allocates a huge amount of resources for you 34
algorithmic complexity attack Algorithmic complexity attack is an attack that supplies inputs that trigger worst-case complexity of algorithms and data structures 34
network-level dos Network-level DoS targets network level protocols to affect the victim’s internet access to affect the victim’s Internet access 34
dns amplification attack DNS amplification attack is an attack that sends small spoofed requests to overwhelm the victim with large responses 34
packet filter Packet filters discard any packets that are a part of the DoS attack 34
ddos DDoS (Distributed Denial of Service) attacks are a type of DoS attack where the attacker uses multiple systems to overwhelm the target system 34
botnet A botnet is a collection of compromised computers controlled by the attacker 34
firewall A firewall is used to enforce a specific kind of access control policy, one where insider users are permitted to connect to any network service desired, whereas external users are restricted 35
default-allow A default-allow, or blacklist, policy is one wherein by default, every network service is permitted unless it has been specifically listed as denied 35
default-deny A default-deny, or whitelist, policy is one wherein by default, every network service is denied to external users, unless it has been specifically listed as allowed 35
fails-open A default-allow policy fails-open meaning that if any mistake is made, the result is likely to be some form of an expensive security failure 35
fails-closed A default-deny policy fails closed meaning that if any mistake is made, then the result is the loss of functionality or availability, but not a security breach 35
stateful packet filter A stateful packet filter is a router than checks each packet against the provided access control policy 35
stateless packet filters Stateless packet filters tend to operate on the network level and generally only look at TCP, UDP, and IP headers 35
path traversal attack A path traversal attack is an attack wherein unauthorized files are accessed on a remote server by exploiting Unix file path semantics 36
nids NIDS (Network Intrusion Detection Systems) is a detector installed on the network, between the local network and the rest of the Internet 36
evasion attack An evasion attack exploits inconsistencies and ambiguities to provide malicious inputs that are not detected by the NIDS 36
hids HIDS (Host Based Intrusion Detection System) is a detector installed on each end system 36
logging logging is a process wherein you analyze log files generated by end systems 36
false positive A false positive is when the detector alerts when there is no attack 36
false negative A false negative is when the detector fails to alert when there is an attack 36
false positive rate False positive rate (FPR) is the probability the detector alerts, given there is no attack 36
false negative rate False negative rate (FNR) is the probability the detector does not alert, given there is an attack 36
signature-based detection ‘Signature-based detection flags any activity that matches the structure of a known attack" 36
blacklisting Signature based detection is blacklisting wherein you keep a list of patterns that are not allowed, and alert if we see something on the list 36
specification-based detection Specification based detection specifies allowed behavior and flags any behavior that isn’t allowed behavior 36
whitelisting Specification-based detection is whitelisting, which keeps a list of allowed patterns, and alerts if we see something that is not on the list 36
anomaly-based detection Anomaly based detection develops a model of what normal activity looks like and alerts on any activity that deviates from normal activity 36
vulnerability scanning Vulnerability scanning uses a tool that proves your own system with a wide range of attacks (and fixes any successful attacks) 36
honeypot Honeypot is a sacrificial system with no real purpose 36
forensics Forensics is analyzing what happens after a successful attack 36
ips Intrusion Prevention System (IPS) is an intrusion detection system that also blocks attacks 36
malware Malware (also known as malcode or malicious software) is an attacker code running on victim computers 38
self-replicating code Self-replicating code is a code snippet that outputs a copy of itself 38
virus A virus is code that requires user action to propagate 38
worm A worm is code that does not require user action to propagate 38
polymorphic code Polymorphic code is code such that each time the virus propagates, it inserts an encrypted copy of the code 38
metamorphic code Metamorphic code is code such that each time the virus propagates, it generates a semantically different version of the code 38
morris worm The Morris Worm is considered the first internet worm and exploits multiple buffer overflows to guess common passwords to exploit common user accounts across different machines 38
rootkit A rootkit is malcode in the operating system that hides its presence 38
proxy A proxy is a third party that relays our Internet traffic 39
collusion Collusion is when multiple proxies work together and share information 39
tor Tor is a network that uses onion routing to enable anonymous communications 39
tor hidden services Tor hidden services are websites that are only accessible through the Tor network 39
dark markets Dark markets are marketplaces for buying and selling illegal goods 39
cybercrime forums Cybercrime forums are websites for discussing illegal activity 39