Memorize-y stuff! Flashcards
STRIDE
Spoofing (authenticity), Tampering (integrity), Repudiation (accountability), Info Disclosure (confidentiality), escalation of privilege (authorization)
ACL
Access Capability List: answers the question: “what SUBJECTS have access to a specific object” (think: VIP list)
Capability
A row in Access control matrix. Answers the question: “What OBJECTS does a singular subject have access to” (think: what is in my backpack)
What are the 3 reference monitor requirements?
1) Always-invoked
2) Tamper-proof
3) verifiable (simple design + easy to analyze)
RC4
Ron’s Cipher 4. Created in 1987- INSECURE
ChaCha20
Standard cipher algorithm used. SECURE
HMAC-SHA2
Standard SECURE MAC function used
AES-CBC-MAC
Somewhat standard MAC funciton used, but bug prone.
AES (what are its 3 main modes)
Advanced Encryption Standard (a block-cipher). It has 3 modes: GCM= authenticated encyrption (gold standard). ECB= broken mode, CTR&CBC= not broken, but no integrity
MD5
Very broken Hash function
SHA-1
Another very broken hash function (not as broken as MD5)
SHA2, SHA3
standard hash functions! SECURE
RSA
Way to generate PK and SK (uses a lot of special math!)
MAC Address
48 bits, permenantly installed in hardware, used to network on L2 (datalink layer), made for local networks to be addressable
IP Address
32-bits, operates on layer3 (network layer). Prefix = network, suffix = host
Private vs Public IP Address
Private is used for local network communication (starts with 192 or 176), can be duplicated if they are in different local networks. Public is for outside of local network. They cannot be duplicated
CIDR
Classless InterDomain Routing: standard for IP address to have a custom prefix length for their network. Depending on how many hosts are using that network, it might be good to have a larger or smaller mask. Denoted with IPadd xx.xx/26 <- /number = network mask
WEP
Broken form of Wi-Fi encryption (due to reusing nonces). Not used anymore
WPA
Vulnerable form of wi-fi encryption. Not the standard anymore
WPA2 or WPA3
Both secure forms of wifi encryption
Hierarchy of IP Address allocation
Starts with ICANN -> regional internet registeries (like ARIN) -> Large institutions (ISPs, like Qwest) -> smaller institutions (like UChicago) -> individuals
DHCP
Dynamic Host Configuration Protocol: THe way to connect to network to get an IP address
What important components are contained in the IP header?
length in bytes, TTL, protocol, source address, destination address
What is contained in the IP datagram?
IP header - TCP/UDP header - TCP/UDP payload
AS
Autonomous System: A collection of IP prefixes that are under the control of a single entity (like Qwest, AT&T, etc)
Intra-AS routing
All under the same AS domain- uses Link State protocol to take care of all routing
Inter-AS routing
How we route across various AS’s- privacy between each AS. Uses BGP (a type of path vector/distance vector protocol) to route
Link State Routing
Every single node knows the entire network topology of the network. Each node uses Dijkstra’s algorithm to compute the best path towards each node
Distance Vector (Path vector/BDG)
Each node only knows its own neighbors’ closest distances. Sends these tables to their neighbors and updates their own table with information given from their neighbors.
TCP
Transmission Control Protocol: The standard protocol for sending packets back and forth between networks
What are some of the important components in the TCP header?
Source port, desintation port, SEQ #, ACK #, flags
FIN, SYN, RST, ACK
Flags sent in the TCP header. Finish (done sending data), SYN (synchronize), ACK (acknowledge), RST (reset - terminates port connection)
What are the corresponding TCP default port #s for these: SSH, DNS, HTTP, HTTPS
22, 52, 80, 443
3-way handshake (and what happens afterwards)
1) Client sends SYN with c-seq = x
2) Server sends SYN-ACK with s-seq = y, ack = x + 1
3) Client sends ACK with ack = y + 1, seq = x + 1
After, data is sent between them with the seq# being the number of len of bytes sent over
DNS
Domain Name System:How we map from IP addr -> real name
nslookup
A command in the terminal to see the IP address of a domain
ICANN
Internet Corperation for Assigned Names and Numbers: A non-profit org that controls + gives the assignments of IP addresses and domain names
Resource Records (3 main types)
A = Address (IP address)
NS = Name Server (a DNS server)
MX = Mail exchanger (names of mail servers)
Ping of Death
An attack on availability. (in the past) you could send a huge ping larger than the max size to cause a buffer overflow to the server. (server is supposed to respond with a PONG) but instead crashes the server
traceroute
A terminal command to find scan the route that packets would take between your IP address and the target domain. Sends repeated ICMP requests with increasing TTL
Nmap
Not necessarily an attack? but it is a terminal command to discover the various devices/services running on a network.
SYN scan
Attack adjacent: send a SYN and figure out some stuff based on a response:
SYN-ACK = port is open
RST = port is closed
— (nothing) = filtered (ex: firewall)
Side Channels (2 main ones)
Under TLS you can still patch together information about packets sent over network. These are namely the size of packets (# bytes sent over) and research has been done to show that timing is also a somewhat feasible side channel
Blind Spoofing
Attack: Sending a SYN with a spoofed src IP address. Server will respond with a SYN-ACK to this separate IP address and in order to open up the forged connection, you have to guess the server’s SEQ number in return to send an appropriate ACK number in response.
RST Hijacking
Attack: Spoofing a src IP address and sending a RST flag at a certain port to close the connection at the port. Used for censorship
BGP Prefix Hijacking (2 main goals from this)
Attack: Falsely advertising a BGP network route as “more desireable” to purposefully direct traffic through that route.
1- route the traffic through a specific route with networks that you control to snoop on the traffic
2- an attack on availability (DoS) by sending a ton of traffic to a specific person
S-BGP or BGPsec
Defense: A way to defend against BGP prefix hijacking by including digital signatures on the BGP prefixes. Not widly adopted because it’s costly
DNS Cache Posioning
Attack: An attacker can give a local DNS server a falsely mapped IP address to map a user to a malicious site
QID
Query ID: A QID is sent in the DNS packet header. This QID must match when the DNS server returns an IP address. Randomizing the QIDs is a way to defend against DNS cache poisoning, but you can also brute force try to guess the QID (it is 16 bits)
Kaminsky Attack (2008)
You can spoof an entire xxx.domain.com zone by making a ton of DNS queries to the subdomains and trying to guess the QIDs. If any one of these QIDs is correctly guessed, you poison the DNS cache for the entire .bank.com domain.
DNSSEC
Defense: A defense for trying to get DNS responses signed. Hard to adpot (costly and slow)