###### tags: `電腦攻擊與防禦` # [DoS/DDoS Attacks](http://staff.csie.ncu.edu.tw/~hsufh/COURSES/SPRING2023/15_FAS_DDoS.ppt) ## DoS/DDoS Attacks - DoS : Denial – of – Service Attack (阻斷服務攻擊) - DDoS : Distributed Denial – of – Service Attack(分散式阻斷服務攻擊) - 有以下三種類型 : - 使用大量的流量塞爆受害者系統 - 將受害者系統對外的連線塞爆,使其受害者無法往外連,或是外部用者無法連至受害者的系統 - 讓受害者的系統crash ## Smurf Flood Attacks  - 原理 : 1. 攻擊者建立一個的 ICMP Echo Request(ping),將來源 IP 地址偽造為受害者的 IP 地址。 2. 攻擊者將訊息送到目標網絡(ex.路由器或防火牆的 IP 廣播位址),因此網路上有多少個聯網裝置,就會增加多少個請求。 3. 目標網絡中的所有主機都收到這些 ICMP Echo Request,並自動回覆 ICMP Echo Reply 訊息給受害者。 4. 由於攻擊者偽造的源 IP 地址是受害者的 IP 地址,因此每個 ICMP Echo Reply 訊息都被發送到受害者,從而導致受害者的網絡帶寬被大量佔用。 ## TCP SYN Flood Attacks - 利用三向交握的缺陷 - 攻擊者送出syn封包給受害者,但攻擊者將source ip偽造成一個不存在的ip - server接收到syn封包會開啟socket等待回復 - 由於source ip不存在導致server無法完成連線,造成受害者連線資源浪費、耗盡 - 防禦方法 : - SYN Cookies - 缺點 : - 禁止SYN/ACK數據包的重傳,這違反了TCP/IP協議。 - 計算相關的序號是一個受CPU限制的工作,可能會使CPU超負荷。 - SYN Proxy - 透過syn proxy處理三向交握 -  ## UDP Flood Attacks - 攻擊者送UDP封包給受害者隨機的port,如果那個port沒有任何服務,受害者會回復一個ICMP的封包,造成受害者忙於處理這類的問題消耗大量資源 ## ICMP Flood Attacks - 攻擊者送大量的ICMP封包給受害者,使得受害者消耗大量資源 ## Chargen Attacks - chargen (UDP port 19) - chargen會隨機產生自元回覆給呼叫者 - 乒乓球攻擊 - 兩台機器都開啟port 19,攻擊者偽造受害者的port,造成兩台機器互相傳送 -  ## DNS Amplification Attack - 偽造要被攻擊的對象送出查詢給DNS server,DNS server 回復的response是request的數倍,因此會產生大量流量,讓受攻擊的伺服器難以負荷 - DNS : 網域名稱系統,透過這個系統可以將domin轉換成ip地址  - TCP middlebox reflection attack : - middlebox(ex.內容過濾系統,代理及反向代理)會對內容做檢查 - 利用防火牆及內容過濾機制的弱點,使其反射並放大TCP流量至受害目標 - road networks : - Coremelt attack : -  - 控制Botnet(**喪屍網路**)在彼此之間發送流量,而不向受害主機發送流量,塞爆target link造成其他人無法連線至受害者 - 可以bypass DoS防禦系統 - 達成步驟 1.找到一條link作為target link 2.確定哪對bots可以穿越target link 3.用步驟2找到的bots使target link流量過載 4.租用分布良好的botnet 5.使用traceroute找到到達目標的路徑 - Crossfire attack : - 用於攻擊一整個區域 - 一堆bots跟decoy server發起request塞爆target link造成target area無法跟外部連線 -  - target area : target server 所覆蓋的區域(ex.中央大學) - target link : 連線到target server必經的路徑 - decoy server : 圍繞在target area外面大家都可以去連線的server - Low rate attack : - 建立連線後用很慢的速度發送給server(ex.一個byte一個byte送資料),把connection hold住,消耗server的資源,因為server可以hold住的connection有限制,讓使用者不能再建立新的連線 - attacker can abuesed these protocols - http header - http post - tcp traffic - Ping of Death Attacks : 送一個很大的ip封包(封包會切割成數個fragment)給受害者,受害者沒辦法承受這麼大的封包,造成受害者crash - Teardrop attacks : 送有問題的封包會造成某些電腦crash(兩個無法對應起來的封包fragment,ex 封包共有400個區段一切割成兩個fragment,第一次送sequence number 0-200 第二個送100-400) - Land attacks : source 跟 destination 的ip一樣會造成接收的電腦crash - DoS and DDos - DoS : 一台打多台 or 一台打一台 - DDoS : 多台打多台 or 多台打一台 - 發起攻擊更有效率 - 找到源頭更困難,可以排程的方式進行攻擊造成難以trace攻擊來源 - three system component - master (handler) : 攻擊者只會控制這層 - slave (agent) - victim - hide DDos tools - ip隱藏 - rootkit - 防範dos/ddos - 關閉不必要的network service - 回朔攻擊流量的攻擊路徑,然後在上游的路由器上安裝過濾器,儘早的過濾掉攻擊流量 - 流量清洗 - 先把流量導入至流量清洗中心做過濾,檢查正常後再往後送 - 缺點 : 花時間 & 可能過濾掉正常的封包 ## Backdoor - 定義 :一段惡意程式碼嵌入再os或是應用程式當中,可以讓入侵者不用認證就進入系統 - 目的 : 入侵者可以再次回來控制電腦 - 合法的使用定義 : 開發過程中用來debug或是監控程式,但因為忘記關閉後門功能被入侵者發現,造成系統被入侵 - 不合法的使用定義 : - 系統管理者採取安全的措施還是可以再次進入 - 最小能見度(不會被使用者發現) - 可以再次控制系統 - Password Cracking Backdoor - 猜帳號(通常是較少使用的帳號) - .rhosts - 一種設定檔用來設定某些帳號不需要認證就能進入系統 - "+ +" : 不論是人都可以不用認證登入 - 修改認證的程式碼(ex. login程式) - 系統管理者檢查的方式"login.c" - 檢查程式的time-stamping(看程式有沒有被修改過),但入侵者可以修改 - checksum : 透過計算程式的功能檢查程式有沒有被修改過 - checksum演算法 - SHA - MD5(現在不安全) - Strings檢查login看程式碼有沒有被改動過 - strings 可以把執行檔內大於三個byte的字串印出來 - Source port : 程式設定某個port可以直接進入不須認證 - 攻擊者可以修改libraries (loing.c and open) : 造成防禦者找不到被修改過的程式 - *open : 開啟程式的function
×
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