IT程式設計師必知!TCP/IP為什麼會有這麼多的致命漏洞?

傑華園發表於2021-09-10

入侵一些網站,電腦,製作一些病毒,學會多項程式設計,這是一個普通駭客都會的技能,那麼真正駭客能厲害到什麼程度呢?

除了勒索病毒,熊貓燒香等自動感染的病毒被大家熟知外,還有更厲害的騷操作。

IT程式設計師必知!TCP/IP為什麼會有這麼多的致命漏洞?

Barnaby Jack是美國一位白帽駭客,在美國的白帽大會上搬上了兩臺ATM機,透過簡單的操作讓ATM自動吐鈔票,他還發現醫院的醫療裝置的漏洞,可以入侵植入式心臟起搏器等無線醫療裝置,向其發出一系列 830V 高壓電擊,簡直殺人於無形!

IT程式設計師必知!TCP/IP為什麼會有這麼多的致命漏洞?

據2020年上半年中國網際網路網路安全監測資料分析報告顯示,惡意程式控制伺服器、拒絕服務攻擊(DDoS)等網路攻擊行為有增無減。時至今日,網路攻擊已經成為影響網路資訊保安、業務資訊保安的主要因素之一。

網路攻擊是指利用網路存在的漏洞和安全缺陷對網路系統的軟硬體及其系統資料進行攻擊的行為。

TCP/IP協議作為網路的基礎協議,從設計之初並沒有考慮到網路將會面臨如此多的威脅,導致出現了許多攻擊方法。由於網路中的通訊都源於資料包,透過對資料包的自動採集與解碼分析,可以快速發現與追溯網路攻擊。

TCP/IP協議

業界通常將TCP/IP協議棧劃為四層:即鏈路層、網路層、傳輸層和應用層。

  • 鏈路層主要用來處理資料在物理介質(如乙太網、令牌環等)的傳輸,實現網路卡介面的網路驅動程式;
  • 網路層採用IP協議是整個協議棧的核心,其主要功能是進行資料包的選路和轉發,實現網際互聯與擁塞控制等;
  • 傳輸層為主機間的應用程式提供端到端的通訊,該層定義了兩種協議即TCP與UDP;
  • 應用層的主要功能是處理應用程式的邏輯,比如檔案傳輸、名稱查詢和網路管理等,位於該層的協議有基於TCP協議的FTP檔案傳輸協議、HTTP超文字傳輸協議和基於UDP協議的域名服務DNS等。
IT程式設計師必知!TCP/IP為什麼會有這麼多的致命漏洞?

TCP/IP協議模型層次結構圖

由於 TCP/IP 協議有四層且每一層功能、協議各不相同,因此針對不同協議層攻擊方法也各不相同:

針對鏈路層的攻擊,主要是對網路硬體和基礎設施進行物理破壞或強行改變路由器路由;

IP協議與ARP協議是網路層最重要的兩個協議,針對網路層的攻擊,主要有IP碎片攻擊、ARP 欺騙等;

由於TCP協議與UDP協議是傳輸層最主要的兩個協議,因此針對傳輸層的攻擊非常多,包括DOS攻擊等;

而應用層的協議是整個協議棧最多的,因此針對該層的攻擊數量極為龐大,常見的如 DNS 欺騙等。

ARP攻擊

ARP將網路主機的 IP 地址解析成 MAC 地址,每臺主機裝置上都擁有一個 ARP 快取(ARP Cache),透過檢查自己的 ARP 快取,然後進行判斷(如果有,可以直接對映;如果無,可以廣播 ARP 請求包);

IT程式設計師必知!TCP/IP為什麼會有這麼多的致命漏洞?

之後檢查資料包中的目標 IP 地址是否與自己的IP地址一致,如果一致,可以傳送 ARP 響應,告知 MAC 地址;

當源節點在收到 ARP 響應資料包後,可以將得到的目標主機 IP 地址和 MAC 地址對對映表項新增至自己的 ARP 快取中。

IT程式設計師必知!TCP/IP為什麼會有這麼多的致命漏洞?

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,雙方連線建立完成。

IT程式設計師必知!TCP/IP為什麼會有這麼多的致命漏洞?

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攻擊等可疑資料包自動分析,實現自動告警,保障資料資訊的正常傳輸與使用。


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/21472864/viewspace-2791438/,如需轉載,請註明出處,否則將追究法律責任。

相關文章