來源:blog.csdn.net/daocaokafei/article/details/116176790
據2020年上半年中國互聯網網路安全監測資料分析報告顯示,惡意程式控制服務器、拒絕服務攻擊(DDoS)等網路攻擊行為有增無減,時至今日,網路攻擊已經成為影響網路資訊安全、業務資訊安全的主要因素之一,
網路攻擊是指利用網路存在的漏洞和安全缺陷對網路系統的軟硬體及其系統資料進行攻擊的行為,TCP/IP協議作為網路的基礎協議,從設計之初并沒有考慮到網路將會面臨如此多的威脅,導致出現了許多攻擊方法,由于網路中的通訊都源于資料包,通過對資料包的自動采集與解碼分析,可以快速發現與追溯網路攻擊,
TCP/IP協議
業界通常將TCP/IP協議堆疊劃為四層:即鏈路層、網路層、傳輸層和應用層,
- 鏈路層主要用來處理資料在物理介質(如以太網、令牌環等)的傳輸,實作網卡介面的網路驅動程式;
- 網路層采用IP協議是整個協議堆疊的核心,其主要功能是進行資料包的選路和轉發,實作網際互聯與擁塞控制等;
- 傳輸層為主機間的應用程式提供端到端的通信,該層定義了兩種協議即TCP與UDP;
- 應用層的主要功能是處理應用程式的邏輯,比如檔案傳輸、名稱查詢和網路管理等,位于該層的協議有基于TCP協議的FTP檔案傳輸協議、HTTP超文本傳輸協議和基于UDP協議的域名服務DNS等,
TCP/IP協議模型層次結構圖
由于 TCP/IP 協議有四層且每一層功能、協議各不相同,因此針對不同協議層攻擊方法也各不相同:
針對鏈路層的攻擊,主要是對網路硬體和基礎設施進行物理破壞或強行改變路由器路由;IP協議與ARP協議是網路層最重要的兩個協議,針對網路層的攻擊,主要有IP碎片攻擊、ARP 欺騙等;
由于TCP協議與UDP協議是傳輸層最主要的兩個協議,因此針對傳輸層的攻擊非常多,包括DOS攻擊等;而應用層的協議是整個協議堆疊最多的,因此針對該層的攻擊數量極為龐大,常見的如 DNS 欺騙等,
ARP攻擊
ARP(Address Resolution Protocol,地址決議協議),將網路主機的 IP 地址決議成 MAC 地址,每臺主機設備上都擁有一個 ARP 快取(ARP Cache),通過檢查自己的 ARP 快取,然后進行判斷(如果有,可以直接映射;如果無,可以廣播 ARP 請求包);
之后檢查資料包中的目標 IP 地址是否與自己的IP地址一致,如果一致,可以發送 ARP 回應,告知 MAC 地址;當源節點在收到 ARP 回應資料包后,可以將得到的目標主機 IP 地址和 MAC 地址對映射表項添加至自己的 ARP 快取中,
ARP協議作業原理
ARP 攻擊就是通過偽造 IP 地址和 MAC 地址來實作 ARP 欺騙,通過在網路中制造大量的 ARP 通信量使網路阻塞,攻擊者只要持續不斷的發出偽造的 ARP 回應包就能更改目標主機 ARP 快取中的 IP-MAC 條目,造成網路中斷或中間人攻擊,因此 ARP 攻擊通常也被稱作ARP欺騙,
盡管ARP攻擊僅能在以太網進行且門檻很低,造成的影響卻很大,比如會出現斷網攻擊、流量被限、賬號被盜等情況,網路運維可以采取ARP防御機制,比如通過在交換機部署網路鏡像,抓取可疑資料包分析,也可以結合DHCP偵聽、IP源防護等技術,維護網路安全,
DoS攻擊
TCP 協議是基于流的方式,面向連接的可靠通信方式,可以在網路不佳的情況下降低系統由于重傳帶來的帶寬開銷,
具體來說,TCP連接的建立程序需要經歷三個步驟,每一步同時連接發送端與接收端,俗稱“三次握手”:發送端發出SYN包,進入SYN_SENT狀態,表明計劃連接的服務器埠以及初始序號,等待接收端確認;接收端收到SYN包,發送SYN_ACK,對發送端進行確認,進入SYN_RECV狀態;發送端收到SYN_ACK包,向接收端發送ACK,雙方連接建立完成,
TCP的三次握手
由于TCP協議是面向連接的傳輸控制協議,因此DoS攻擊的主要目的就是使用戶主機或網路無法接識訓處理外界請求,比如通過制造大流量的無用資料,造成網路擁塞,使被攻擊的主機無法和外界正常通信;利用重復連接缺陷,反復發送重復服務請求,使其無法正常處理其它請求;又或利用協議缺陷,反復發送攻擊資料,占用主機或系統資源,導致死機等,
簡單來說,DoS(Denial of Service)拒絕服務攻擊通常使用資料包淹沒本地系統,以打擾或嚴重阻礙肯幫本地的服務回應外來合法的請求,使本地系統奔潰,SYN flood 攻擊是最常見的 DoS 攻擊型別,
攻擊者將自身 IP 源地址進行偽裝,向本地系統發送 TCP連接請求;本地系統回復SYN-ACK至偽裝地址,導致本地系統收不到RST訊息,無法接收ACK回應,將一直處于半連接狀態,直至資源耗盡,攻擊者發送連接請求速度比 TCP超時釋放資源速度更快,利用反復連接請求,導致本地服務無法接收其它連接,
解決SYN flood 的最好方法就是做好防范策略,通過網路性能管理工具,自動篩選可疑資料包,縮短 SYN Timeout 時間,設定 SYN Cookie,為每一個請求設定Cookie,如果短時間內收到某個IP的重復SYN報文,就認定為攻擊,拋棄該IP地址,
DNS攻擊
IP協議為了將資料資訊包從原設備傳送到目的設備,需要依賴IP地址與IP路由器,IP地址是機器語言,通常較長,所以盡管IP地址具有唯一性,但是不方便記憶與使用,人們便在此基礎上發明了DNS,DNS(Domain Name System)即域名系統,域名通常較短,兼具可讀性與實用性,由于域名與IP地址呈一一對應關系,因此,上網時只需在地址欄輸入域名,系統會直接進行域名決議,將域名翻譯成IP地址,
在執行完域名搜索后,域名服務器會保存域名記錄,每條記錄都會包含域名與IP地址,如果域名服務器的某條地址被人為修改,那么就可以人為操作用戶的訪問地址,這種行為被稱為“域名劫持”,“域名劫持”的始作俑者是域名服務器提供商,因此目前解決該問題的有效方法是棄用或換用域名服務器,
除“域名劫持”外,還有另外一種常見的DNS攻擊叫做“域名污染”或“域名欺騙”,當電腦發送“域名查詢”至域名服務器后,域名服務器會將回應發送回電腦,發送請求與接收資訊是一個程序,中間會出現時間差,網路攻擊會在接收資訊前,偽造錯誤應答至電腦,那么該資訊即為錯誤IP,
面對網路攻擊,我們除了需要提高安全意識,積極盡責地維護系統,加強防火墻設定外,還可以通過對資料包進行分析進而追溯網路攻擊,通過對網路資料進行采集與解碼分析,掌握網路中最細微的變化,針對網路攻擊的特征值或者行為進行有效的告警資訊配置,可以快速定位網路中的攻擊,也可以通過使用具有安全防護功能的網路性能管理工具,譬如天旦網路性能管理NPM,支持TCP埠掃描、ARP攻擊與DOS攻擊等可疑資料包自動分析,實作自動告警,保障資料資訊的正常傳輸與使用,
近期熱文推薦:
1.1,000+ 道 Java面試題及答案整理(2022最新版)
2.勁爆!Java 協程要來了,,,
3.Spring Boot 2.x 教程,太全了!
4.別再寫滿屏的爆爆爆炸類了,試試裝飾器模式,這才是優雅的方式!!
5.《Java開發手冊(嵩山版)》最新發布,速速下載!
覺得不錯,別忘了隨手點贊+轉發哦!
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/464974.html
標籤:Java
上一篇:一次不規范HTTP請求引發的nginx回應400問題分析與解決
下一篇:java特點、面向物件、資料型別
