Skip to content

Commit b291423

Browse files
committed
update notes
1 parent f76b151 commit b291423

2 files changed

Lines changed: 77 additions & 10 deletions

File tree

course/postgraduate/network.md

Lines changed: 77 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ title: Network Security
1313
- Integrity
1414
- Availability
1515

16-
For more see at [Cryptography](/course/postgraduate/crypto)
16+
For more see at [Cryptography](./crypto#security-properties)
1717

1818
## OSI Security Architecture
1919
- **Security Attack**: Any action that compromises the security of information
@@ -55,6 +55,15 @@ For more see at [Cryptography](/course/postgraduate/crypto)
5555
- Deals with requests from security mechanisms, such as event handling
5656
and management functions, and takes recovery actions
5757

58+
## Security Policy
59+
- Access control requirements: Only X may access Y.
60+
- Actions required before the access: Gathering owner consent.
61+
- Actions that must be performed within a certain time period: Inform data owner whether the data is used.
62+
- Restriction of purposes for which data may be used: Statistical purposes only.
63+
- Limitations on retention time: Delete after 7 days.
64+
- Mandatory use of protection mechanisms: Encrypt backups.
65+
- Duties of keeping the data up-to-date: Update every 30 days.
66+
5867
## Security Attack
5968
### Jamming
6069
- takes up the transmission channel regardless of the rules
@@ -145,7 +154,7 @@ packets
145154
- To avoid having to send an ARP request packet each time by broadcasting,
146155
a host can cache the IP and the corresponding MAC address in its ARP
147156
table (ARP cache)
148-
- Each entry in the ARP table is usually aged and contents are erased if no
157+
- Each entry in the ARP table is usually "aged" and contents are erased if no
149158
activity occurs within a period
150159
- ARP table is updated when hearing an ARP request or ARP reply
151160
- ARP is a stateless protocol, so most operating systems will update their
@@ -162,6 +171,10 @@ computer B to the attacker instead
162171

163172
### Application
164173
1. **MitM**
174+
In cryptography and computer security, a man-in-the-middle attack is a cyberattack
175+
where the attacker secretly relays and possibly alters the communications between two parties
176+
who believe that they are directly communicating with each other.
177+
165178
<div style="text-align:center">
166179
<img src="/static/course/postgraduate/network/arp_mitm.png" alt=""/>
167180
</div>
@@ -336,8 +349,8 @@ Autonomous System Number (ASN).
336349

337350
2. **RRSet attack**
338351
- DNS response contains different Resource Record Sets, or RRSets.
339-
- In particular, an additional section, where name server can
340-
give additional info that may be useful for future lookups
352+
- In particular, an "additional" section, where name server can
353+
give additional info that may be "useful" for future lookups
341354
- In an iterative query, the .com nameserver says you can ask ns.example.com for the
342355
IP address of example.com. To help next request, an additional record might give IP
343356
for ns.example.com.
@@ -406,6 +419,7 @@ whether to forward or discard the packet.
406419
- Positive filtering
407420
- Use a whitelist
408421
- That which is not expressively permitted is prohibited
422+
409423
**Default = forward**
410424
- Negative filtering
411425
- Use a blacklist
@@ -491,6 +505,17 @@ does with incoming files
491505
- Try to back-trace attacker
492506
- Counter-attack
493507

508+
## Detection Rate
509+
See at [Evaluation](./sectest#evaluation)
510+
511+
$Sensitivity = True Positive Rate = Detection Rate = \frac{TP}{TP + TN}$
512+
513+
$Specificity = True Negative Rate = \frac{TN}{TN + FP}$
514+
515+
<div style="text-align:center">
516+
<img src="/static/course/postgraduate/network/evaluation.png" alt=""/>
517+
</div>
518+
494519
## Intrusion Detection
495520
- Reputation detection
496521
- Detect host communication with someone of bad reputation
@@ -623,6 +648,16 @@ with the attacker through network protocols
623648
- Malicious
624649
- anomalous
625650

651+
## Honeytoken
652+
- Honeytokens are honeypots that are not computer system but
653+
- An unused email address
654+
- A fake database entry
655+
- etc
656+
- Their value lies not in their use, but in their abuse
657+
- Key idea
658+
- Their use is inherently suspicious
659+
- Necessarily malicious
660+
626661
# IPsec
627662
## Authentication Header (AH)
628663
**Header**:
@@ -652,10 +687,18 @@ with the attacker through network protocols
652687
</div>
653688

654689
# Internet Key Exchange (IKE)
655-
For DH Key Exchange and Perfect Forward Secrecy see
656-
[Cryptography](/course/postgraduate/crypto)
690+
[DH Key Exchange](./crypto#diffie-hellman-key-exchange)
657691

692+
## Perfect Forward Secrecy (PFS)
658693

694+
A property of key-agreement protocols ensuring that a session key derived from a set of long term keys
695+
cannot be compromised if one of the long-term keys is compromised in the future. The key used to
696+
protect transmission of data must not be used to derive any additional keys, and if the key used to
697+
protect transmission of data is derived from some other keying material, then that material must not be used to
698+
derive any more keys. In this way, compromise of a single key permits access only to data protected by that single key.
699+
700+
The trick to achieving Perfect Forward Secrecy is to generate a temporary session key, not derivable from
701+
the information stored at the node and forgotten after the session concludes.
659702

660703
# SSL/TLS
661704
<div style="text-align:center">
@@ -664,6 +707,12 @@ For DH Key Exchange and Perfect Forward Secrecy see
664707

665708
For vulnerability see [ssl vulnerabilities](/security/ssl)
666709

710+
## User Interface Vulnerability
711+
- Users don’t understand lock=SSL
712+
- Users never click on the lock
713+
- Users don’t understand certificates
714+
- Confusion over warning messages
715+
667716
# Privacy and Anonymity
668717
- Privacy:
669718
- A state in which one is not observed or disturbed by others
@@ -733,18 +782,36 @@ $\\{r_1, \\{r_0, M\\}\_{pk_b}, B\\}\_{pk_{mix}} \rightarrow \\{r_0, M\\}_{pk_b},
733782
- Solution involves clients regularly sending (and receiving dummy messages).
734783

735784
**Untraceable Return Addresses**
736-
- To respond to an anonymous sender x with a return message $M$
785+
- To respond to an anonymous sender x with a return message $M'$
737786
- Single Mix case (with key $pk_{mix_1}$)
738-
- Sender includes return address: $\\{r_1, A_x\\}\_{pk_{mix_1}}, pk_x$
787+
- Sender includes "return address": $\\{r_1, A_x\\}\_{pk_{mix_1}}, pk_x$
739788
- $r_1$ is a random string that can also be used as a shared key
740789
- $pk_x$ is a fresh public key, created for this purpose
741790
- $A_x$ is x’s actual address
742-
- Receiver sends to the “response” Mix: $\\{r_1, A_x\\}\_{pk_{mix_1}}, \\{r_0, M'\\}_{pk_x}$
743-
- The “response” Mix transforms this to
791+
- Receiver sends to the "response" Mix: $\\{r_1, A_x\\}\_{pk_{mix_1}}, \\{r_0, M'\\}_{pk_x}$
792+
- Sender choose path of the responding message
793+
- The "response" Mix transforms this to
744794
- Second part sent to: $A_x$
745795
- Encryption with $r_1$ masks input/output correlation $A_x, \\{\\{r_0, M'\\}\_{pk_x}\\}_{r_1}$
746796
- Only the original sender can decrypt as he created both $pk_x$ and $r_1$
747797

798+
**Generalized Format**
799+
1. Sender includes "return address":
800+
801+
$\\{r_1, \\{r_2, ..., \\{r_n, A_x\\}\_{pk\_{mix_n}}\\}\_{pk\_{mix_2}}\\}\_{pk\_{mix_1}}, pk_x$
802+
803+
2. Receiver sends to the "response" Mix:
804+
805+
$\\{r_1, \\{r_2, ..., \\{r_n, A_x\\}\_{pk\_{mix_n}}\\}\_{pk\_{mix_2}}\\}\_{pk\_{mix_1}}, \\{r_0, M'\\}\_{pk_x}$
806+
807+
3. Result of 1^{st} Return Mix:
808+
809+
$\\{r_2, ..., \\{r_n, A_x\\}\_{pk\_{mix_n}}\\}\_{pk\_{mix_2}}, \\{\\{r_0, M'\\}\_{pk_x}\\}\_{r_1}$
810+
811+
4. Final result:
812+
813+
$A_x, \\{\\{\\{\\{r_0, M'\\}\_{pk_x}\\}\_{r_1}\\}\_{r_2} ...\\}\_{r_n}$
814+
748815
**Attacks**
749816
- (n-1) attack
750817
- What happens if an attacker knows (e.g., has sent himself) n-1 of the n messages
79.4 KB
Loading

0 commit comments

Comments
 (0)