黃 岷 李 強 劉銀蓮 李端肅
甘肅銀光化學工業集團有限公司 甘肅 白銀 730900
隨著第四屆互聯網大會—烏鎮峰會的完美謝幕,“發展數字經濟促進開放共享—攜手共建網絡空間命運共同體”的主題得到升華。而會議提到的四大板塊“數字經濟”、“前沿技術”、“互聯網與社會”、“網絡空間治理”以及“網絡安全閉門會”無不強調“網絡安全”的重要性,DoS攻擊作為網絡攻擊最常見的攻擊類型,其技術含量雖然不高,但是其攻擊有效性是有目共睹的,而面對當前計算機CPU性能的提升,內存容量大幅提升情況,其變種型DDoS攻擊更讓人頭疼。說到底DoS攻擊才是它的本源,故本文主要對DoS常見的攻擊類型做一個簡單的介紹。
所謂“DoS”并不是“磁盤操作系統”而是“Denial of Service”的縮寫,即拒絕服務。它是一種常見的網絡攻擊手段,大致思想是:用數據包淹沒你的系統,以干擾或嚴重地使您的互聯網連接降級,捆綁本地服務以導致合法的請求反而不能被響應,或者更嚴重地,使目標系統服務系統停止響應甚至崩潰,也就是出現“宕機”。簡單地說,就是利用網絡協議的缺陷,發送大量看似合理的請求數據包耗盡目標系統的資源,這些資源可以是“網絡帶寬,文件系統空間容量,開放的進程或者允許的連接”,爾后,由于系統資源被迅速耗盡直至真正合法的請求得不到響應,造成了拒絕服務的后果。攻擊者慣用的幾種DoS攻擊,包括以下幾個方面:
俗稱“SYN洪水”攻擊。攻擊者通過發送大量的半連接請求,即只完成到TCP連接的第二次握手,而第三階段的握手,永不發生,這樣由于大量的SYN攻擊,而只要打開了TCP服務的系統,卡在了第二次握手階段,進入SYN-RECV狀態,而服務器未收到客戶端的確認包時,重發請求,會直至超時,才將此條目從未連接隊列刪除。問題在于,攻擊者的連接請求到來的時間遠遠短于TCP超時釋放資源的時間。而更可惡的是,攻擊不僅僅是純粹地不發送ACK確認包,而是結合IP地址欺騙,在客戶端偽造出大量不存在的源地址,聰明的攻擊者會在源地址過濾掉的合法分類中偽造IP地址,這樣不僅能夠避開防火墻,還能隱藏自己真實的IP地址。結合IP地址欺騙的攻擊,會使目標系統不斷地向不存在客戶端發送超時連接請求,從而使未連接隊列被急劇地占用,而無法響應正常的SYN請求。從而導致網絡堵塞甚至目標系統癱瘓,宕機。
俗稱“死亡之ping”我們知道在TCP/IP的RFC官方文檔中對各類數據包都攻擊者發送更多簡單的ping包,但是這種ping包極其地大,從而淹沒數據連接,使被攻擊主機的帶寬接近崩潰,從而阻止其他合法流量達到受害者主機。這個我們提供了另外一個思路,即所有的攻擊并不是嘗試闖入我們的計算機,而是僅僅來破壞您的系統,它的目標不是竊取您系統隱私數據,而是讓您的計算機不能承受之重,直至崩潰。
我們知道不同的鏈路類型能夠支持的最大傳輸單元值(MTU:Maxitum Transmission Unit)主要是由相關RFC文檔規定的,常見的以太網鏈路的MTU值為1500,如果超出該值,則在轉發該報文之前,需要將其分片,分為多個適合于該鏈路類型傳輸的報文,這些分片報文在到達接收方的時候,由接收方完成重組。而在合理的分片里,第一個分片會包含UDP或TCP報頭中通常的源端口號和目的端口號,而后續的分片則不包含。當數據被分片時,中間路由器不會重組這些數據包,而是把任務留給目的主機或者其鄰近的路由器。
緩沖區溢出是指當計算機程序向緩沖區內填充的數據位數超過了緩沖區本身的容量。溢出的數據覆蓋在合法數據上。理想情況是,程序檢查數據長度并且不允許輸入超過緩沖區長度的字符串。但是絕大多數程序都會假設數據長度總是與所分配的存儲空間相匹配,這就為緩沖區溢出埋下隱患。而其一個致命的使用就是讓程序執行它本來不愿意執行的函數,讓其成為攻擊代碼。
從以上的DoS攻擊類型來看,拒絕服務的攻擊可以被大致理解為:一是利用網絡協議存在的缺陷進行攻擊,二是直接暴力攻擊。其目的無非是使網絡中的系統資源被耗盡,這些資源可以是“內存”,“網絡帶寬”,“開放的連接”等。其使用的攻擊手段可以是自身產生大量的垃圾數據包,也可以是利用“僵尸電腦”,俗稱“肉雞”去發送垃圾數據包造成受害者網絡帶寬擁塞,而是合法流量無法進入。當然另外一種是對網絡連通性攻擊,可以通過洪泛的無用連接請求,沖擊受害主機,使得被攻擊者無暇去顧及正常合法的請求。