# P4 18 龍帆軒 楊舒翔 ## DDoS防禦攻擊: 1. SYN Flood 2. UDP Flood 3. DNS Amplification 4. ICMP Flood 5. SYN-ACK Flood ### Topology  ### 攻擊方法 透過scapy 傳送特定種類的封包 SYN/ACK Flood : `pkt = pkt /IP(dst=addr) / TCP(dport=1234, sport=random.randint(49152,65535)) ` UDP Flood : ` pkt = pkt / IP(dst=addr) / UDP(sport=53) ` DNS Amplification : ` pkt / IP(dst=addr) / UDP(sport=random.randint(49152,65535),dport=53) / DNS(id = 111,qr = 0,opcode = 0,rd = 1 ` ICMP Flood : `pkt /IP(dst=addr) / ICMP(type=0)` >type=0 為 echo reply 因為現今的DDoS攻擊大多都為多種層面的DDoS攻擊,大多都會是類似syn搭配udp的dynamic攻擊,所以需要考慮到同時出現不同protocol的攻擊 ### 防禦方法 Syn Flood : 檢視通過的封包裡,syn跟ack的數量為一致的 如過syn跟ack的數量超過一個值(syn_limit)就會將封包drop UDP Flood: 檢視通過的封包裡,udp封包的數量在一個值之下(udp_limit) DNS Amplification: 先利用dns封包中的qr欄位判斷是查詢還是回應封包。若為查詢,利用dns封包中的transaction id與source ip的值來紀錄此封包的查詢。若為回應,就去看有沒有查詢紀錄,沒有的話便將此封包過濾掉。 ICMP Flood : 檢視通過的封包裡,udp封包的數量在一個值之下(icmp_limit) SYN-ACK Flood: 檢視通過的封包裡,tcp封包裡syn-ack的數量在一個值之下(synack_limit) ### 結果 正常情況下 h2 傳送封包給h1 可以接收到  被攻擊的時候 h2 封包傳送不到 h1  開啟防禦可以將DDoS緩解下來 雖然還是有attack封包出現,但是h1已經可以接收到h2的訊息了  有DNS回應封包傳入,但沒有曾經請求的紀錄所以被擋下來,沒有收到。  測試host送出請求封包  收到回應封包時,因為曾經有請求紀錄,所以沒有被擋下。  ###### tags: `P4`
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up