萬萬沒想到,TCP/IP?協(xié)議會有這么多漏洞!
TCP/IP協(xié)議
業(yè)界通常將TCP/IP協(xié)議棧劃為四層:即鏈路層、網(wǎng)絡(luò)層、傳輸層和應(yīng)用層。- 鏈路層主要用來處理數(shù)據(jù)在物理介質(zhì)(如以太網(wǎng)、令牌環(huán)等)的傳輸,實現(xiàn)網(wǎng)卡接口的網(wǎng)絡(luò)驅(qū)動程序;
- 網(wǎng)絡(luò)層采用IP協(xié)議是整個協(xié)議棧的核心,其主要功能是進行數(shù)據(jù)包的選路和轉(zhuǎn)發(fā),實現(xiàn)網(wǎng)際互聯(lián)與擁塞控制等;
- 傳輸層為主機間的應(yīng)用程序提供端到端的通信,該層定義了兩種協(xié)議即TCP與UDP;
- 應(yīng)用層的主要功能是處理應(yīng)用程序的邏輯,比如文件傳輸、名稱查詢和網(wǎng)絡(luò)管理等,位于該層的協(xié)議有基于TCP協(xié)議的FTP文件傳輸協(xié)議、HTTP超文本傳輸協(xié)議和基于UDP協(xié)議的域名服務(wù)DNS等。
- 針對鏈路層的攻擊,主要是對網(wǎng)絡(luò)硬件和基礎(chǔ)設(shè)施進行物理破壞或強行改變路由器路由;IP協(xié)議與ARP協(xié)議是網(wǎng)絡(luò)層最重要的兩個協(xié)議。
- 針對網(wǎng)絡(luò)層的攻擊,主要有IP碎片攻擊、ARP 欺騙等;由于TCP協(xié)議與UDP協(xié)議是傳輸層最主要的兩個協(xié)議,因此針對傳輸層的攻擊非常多,包括DOS攻擊等;而應(yīng)用層的協(xié)議是整個協(xié)議棧最多的,因此針對該層的攻擊數(shù)量極為龐大,常見的如 DNS 欺騙等。
ARP攻擊
ARP(Address Resolution Protocol,地址解析協(xié)議),將網(wǎng)絡(luò)主機的 IP 地址解析成 MAC 地址,每臺主機設(shè)備上都擁有一個 ARP 緩存(ARP Cache),通過檢查自己的 ARP 緩存,然后進行判斷(如果有,可以直接映射;如果無,可以廣播 ARP 請求包);之后檢查數(shù)據(jù)包中的目標 IP 地址是否與自己的IP地址一致,如果一致,可以發(fā)送 ARP 響應(yīng),告知 MAC 地址;當源節(jié)點在收到 ARP 響應(yīng)數(shù)據(jù)包后,可以將得到的目標主機 IP 地址和 MAC 地址對映射表項添加至自己的 ARP 緩存中。ARP協(xié)議工作原理ARP 攻擊就是通過偽造 IP 地址和 MAC 地址來實現(xiàn) ARP 欺騙,通過在網(wǎng)絡(luò)中制造大量的 ARP 通信量使網(wǎng)絡(luò)阻塞,攻擊者只要持續(xù)不斷的發(fā)出偽造的 ARP 響應(yīng)包就能更改目標主機 ARP 緩存中的 IP-MAC 條目,造成網(wǎng)絡(luò)中斷或中間人攻擊,因此 ARP 攻擊通常也被稱作ARP欺騙。盡管ARP攻擊僅能在以太網(wǎng)進行且門檻很低,造成的影響卻很大,比如會出現(xiàn)斷網(wǎng)攻擊、流量被限、賬號被盜等情況。網(wǎng)絡(luò)運維可以采取ARP防御機制,比如通過在交換機部署網(wǎng)絡(luò)鏡像,抓取可疑數(shù)據(jù)包分析,也可以結(jié)合DHCP偵聽、IP源防護等技術(shù),維護網(wǎng)絡(luò)安全。
DoS攻擊
TCP 協(xié)議是基于流的方式,面向連接的可靠通信方式,可以在網(wǎng)絡(luò)不佳的情況下降低系統(tǒng)由于重傳帶來的帶寬開銷。具體來說,TCP連接的建立過程需要經(jīng)歷三個步驟,每一步同時連接發(fā)送端與接收端,俗稱“三次握手”:發(fā)送端發(fā)出SYN包,進入SYN_SENT狀態(tài),表明計劃連接的服務(wù)器端口以及初始序號,等待接收端確認;接收端收到SYN包,發(fā)送SYN_ACK,對發(fā)送端進行確認,進入SYN_RECV狀態(tài);發(fā)送端收到SYN_ACK包,向接收端發(fā)送ACK,雙方連接建立完成。TCP三次握手由于TCP協(xié)議是面向連接的傳輸控制協(xié)議,因此DoS攻擊的主要目的就是使用戶主機或網(wǎng)絡(luò)無法接收或處理外界請求。比如通過制造大流量的無用數(shù)據(jù),造成網(wǎng)絡(luò)擁塞,使被攻擊的主機無法和外界正常通信;- 利用重復(fù)連接缺陷,反復(fù)發(fā)送重復(fù)服務(wù)請求,使其無法正常處理其它請求;
- 又或利用協(xié)議缺陷,反復(fù)發(fā)送攻擊數(shù)據(jù),占用主機或系統(tǒng)資源,導(dǎo)致死機等。
- 本地系統(tǒng)回復(fù)SYN-ACK至偽裝地址,導(dǎo)致本地系統(tǒng)收不到RST消息,無法接收ACK回應(yīng),將一直處于半連接狀態(tài),直至資源耗盡。攻擊者發(fā)送連接請求速度比 TCP超時釋放資源速度更快,利用反復(fù)連接請求,導(dǎo)致本地服務(wù)無法接收其它連接。
- 解決SYN flood 的最好方法就是做好防范策略,通過網(wǎng)絡(luò)性能管理工具,自動篩選可疑數(shù)據(jù)包,縮短 SYN Timeout 時間,設(shè)置 SYN Cookie,為每一個請求設(shè)置Cookie,如果短時間內(nèi)收到某個IP的重復(fù)SYN報文,就認定為攻擊,拋棄該IP地址。