網絡攻擊機制和技術發展綜述

xfocus.com.cn 網絡攻擊機制和技術發展綜述

一、概述

    在這個世界上,人類不斷研究和發展新的信息安全機制和工程實踐,爲戰勝計算機網絡安全威脅付出了艱鉅的努力。似乎如果計算機攻擊手法不再翻新,關於信息安全的戰爭將很快結束。雖然,大多數地下組織研究的攻擊手法都是驚人的相似,無非就是:蠕蟲、後門、rootkits、DoS和sniffer等。但這些手段都體現了它們驚人的威力。到今年,情況愈演愈烈。這幾類攻擊手段的新變種,與去年前年出現的相比,更加智能化,攻擊目標直指互聯網基礎協議和操作系統層次。從web程序的控制程序到內核級rootkits,黑客的攻擊手法不斷升級翻新,向用戶的信息安全防範能力不斷髮起挑戰。

(注:rootkits, 是一種攻擊腳本、經修改的系統程序,或者成套攻擊腳本和工具,用於在一個目標系統中非法獲取系統的最高控制權限。)

在長期與信息安全專家的較量中,黑客對開發隱蔽的計算機網絡攻擊技術更加得心應手。同時,這些工具應用起來也越來越簡單。以前很多命令行的攻擊工具被人寫成了GUI(圖形界面)的內核級rootkit,將這些高度詭異的攻擊武器武裝到了那些熱中於”玩腳本的菜鳥”手中,這些殺傷力很強的黑客工具,使”腳本菜鳥”們變得象令人敬畏的黑客。

當然,工具本身是不會危及系統安全的-壞事都是人乾的。信息安全專業人員也使用和入侵者同樣使用的掃描和監聽工具,對系統安全做例行公事般地審計。在惡意用戶使用前,那些能非法控制web程序的新的滲透測試工具,也被安全人員用來測試系統的漏洞。但是,還有很多的工具有它完全黑暗的一面,比如,蠕蟲程序不斷髮展和傳播,它只用來幹壞事;反入侵檢測工具和很多rootkits專門用來破壞系統的安全性。

本文將探討一些黑客工具的獨創性,以及它們令普通人驚訝的功能。這對幫助用戶考慮採用新技術和傳統措施來防範這些威脅有很重要的意義:在攻擊者攻擊來臨之前,先檢測和修補系統和軟件漏洞。

二、Web應用程序:首選目標

日益增長的網絡業務應用爲脆弱的web應用提供了漏洞滋生的土壤。如銀行、政府機構和在線商務企業都使用了web技術提供服務。這些機構往往自己開發整套的web應用程序(ASP、JSP和CGI等),而這些開發者由於沒有獲得過專業訓練,導致這些自產軟件漏洞百出。Web程序的開發者沒有意識到,任何傳遞給瀏覽器的信息都可能被用戶利用和操縱。不管用不用SSL(安全套接層),惡意用戶可以查看、修改或者插入敏感信息(包括價格、會話跟蹤信息甚至是腳本執行代碼)。攻擊者可以通過狀態操縱攻擊或者SQL代碼嵌入等技術危及電子商務網站的安全。

所謂狀態操縱攻擊(state manipulation), 是指攻擊者通過在URL中修改傳遞給瀏覽器的敏感信息,隱藏表格元素和cookies,達到非法訪問的目的。如果一個安全意識鬆懈的web開發者,他把數據存儲在會話ID中,而沒有考慮到價格和餘額等關鍵數據的完整性保護,則攻擊者完全可以修改這些數據。再加上如果web程序相信由瀏覽器傳遞過來的數據,那麼攻擊者完全可以竊取用戶帳號、修改價格或者修改帳戶餘額。

所謂SQL代碼嵌入(SQL injection),是指攻擊者在普通用戶輸入中插入數據庫查詢指令。這些問題相當多情況下是因爲輸入檢驗不嚴格和在錯誤的代碼層中編碼引起的,如對逗號”,”和分號”;”等。在這種情況下,攻擊者可以對數據庫進行查詢、修改和刪除等操作,在特定情況下,還可以執行系統指令。一般情況下,web網頁上的用戶名錶單往往是這類攻擊的入口。如果攻擊者使用Proxy server執行這類操作,管理員將很難查到入侵者的來源。而要防止這類攻擊,必須在自研軟件開發程序上下手整治,形成良好的編程規範和代碼檢測機制,僅僅靠勤打補丁和安裝防火牆是不夠的。關於SQL Injection更多的詳細信息,請參考:http://www.cnns.net/article/db/2412.htm

目前有一類新的Web應用程序防護產品,通過分析所有的Web連接,防止常見的應用層攻擊和應用層的敏感數據泄露。如Sanctum開發的AppShield,KaVaDo的InterDo,Ubizen的DMZ/Shield,和SPI Dynamics的WebInspect。這些工具採用學習機制,被配置成爲能理解正常的Web應用訪問行爲,在一個用戶會話中,當異常的修改發生或者特殊字符輸入出現時,這種攻擊將截停非法修改並向管理員報告異常行爲。

另一方面,一個由志願者組成的開放源碼組織開發了一個叫Open Web Application Security Project (OWASP)的項目,對web應用程序中普遍存在的脆弱性做了歸類,併爲建立web安全應用和服務提供詳細指南。還有,OWASP正在開發一個基於java的”Web甲蟲”(Web Scarab),這是一個評估web應用安全的工具。

如果web程序開發者能理解其系統面臨的威脅並且構建防禦機制,系統安全性將得到高層次的防護。開發者用到的,發送到瀏覽器的敏感數據必須具有完整性保護機制,這可以通過MD5哈希(hash)函數或者時間戳數字簽名技術來實現;還有,對用戶輸入必須進行細緻的檢查,過濾可能危及後臺數據庫的特殊字符、腳本語言和命令,包括逗號、引號、括號、星號、百分號、下劃線和管道符等。這些字符檢測機制是在web server實現,而不是在瀏覽器端實現,因爲攻擊者可以通過各種手段繞過客戶端的安全機制。對於這些字符可以採用清除或者強制替換的方法避免它們威脅服務器的安全。

三、超隱祕”嗅探式”後門

後門對計算機系統安全的侵擾,其歷史已達十年之久。通過後門,攻擊能繞過正常的安全機制自如地訪問系統資源。最近,這類攻擊變得更加隱祕,更加難以察覺。這種新的攻擊與傳統的後門不同之出是,它將sniffer技術和後門技術結合起來了。傳統的後門是通過監聽TCP端口和UDP端口,向攻擊者敞開方便之門。對於這類後門,有經驗的系統管理員和信息安全人員可以通過定期檢測端口使用情況,來發現這些新開放的後門服務。

而新類型的後門技術排除了把進程建立在端口上的方式,而是使用sniffer(監聽)技術,通過類型匹配的方式,被動地捕捉後門操作者發過來的消息,從而執行相應的指令,後門採用的指示器可以是一個特定的IP地址、一個TCP標誌位,甚至是一個沒有開放(偵聽)的端口。象Cd00r和SAdoor就是類似這樣的後門程序。

嗅探式後門(Sniffer/backdoors)可以工作在混雜模式下,也可以工作在非混雜模式下。(編者注:混雜模式是網絡監聽程序要用到的工作模式,其實就是改變網卡設置,把網卡原來只接收屬於自己的數據包的模式,改爲不管什麼數據包都接收的模式)。

非混雜模式的嗅探式後門,只監聽本機通信,只在受害主機上扮演威脅者的角色。

而被設置爲混雜模式的後門,可以監聽以太網上其它主機的通信數據,這種模式將嚴重困擾網絡安全管理員。設想以下情況:攻擊者在DMZ區(停火區)其中一臺web服務器放置嗅探式後門,監視另一臺mail服務器的通信。對於攻擊者來說,他可以只需要向mail服務器發送攻擊指令,但mail服務器上其實沒有裝後門,指令的執行者是web服務器。管理員查來查去還會以爲是mail服務器中了木馬,卻很難想到其實是web服務器中標。這是典型的僞造現場的作案思路。

儘管查找開放的端口的方式已經不夠對付最新的後門技術,但傳統的對付後門方式仍然是十分重要的。另外,由於大多數後門都針邊界服務器,因此,可以利用象Tripwire 和AIDE的完整性檢查工具檢查系統文件,有利於發現後門程序。

想要了解可疑端口的佔用 ,可以使用lsof工具(For Unix)或者Inzider工具(For windows)。另外還可以從遠程使用 Nmap 工具進行異常端口占用檢測。如果發現一個未知的進程佔用了一個端口,尤其是以超級用戶權限運行的進程,應該馬上進行調查,是誰開啓了這個進程。在調查不清楚的情況下可以果斷關閉端口或殺掉進程。

要想了解網卡是否被置於混雜模式,可以採用ifstatus(For solaris)或者PromiscDetect(For windows)。如果想遠程檢測混雜模式的sniffer,可以選用packetfactory的Sentinel工具。

最後,要確保用戶單位的安全應急小組必須掌握最新的計算機後門技術動向。當發現與後門有關的通信出現的時候,用戶應該對端口占用情況、活動進程和網卡工作模式進行檢測,以確定究竟是誰中了後門。

核心級別的rootkits 

Rootkits是被廣泛使用的工具,允許攻擊者獲得後門級訪問。過去,rootkits通常是替換操作系統中的正常二進制執行程序,如login程序、ifconfig程序等。但這兩年來rootkits發展很快,發展到直接對底層內核進行操作,而不再需要去修改單個的程序。

通過修改操作系統核心,內核級的rootkits使一個被修改內核的操作系統看上去和正常的系統沒有區別,它們通常都包含重定向系統調用的能力。因此,當用戶執行類似ps,netstat或者ifconfig –a之類的指令的時候,實際執行的是一個特洛伊的版本。這些工具還可以隱藏進程、文件和端口使用情況等,用戶將得不到真實的系統情況報告。

目前攻擊者使用的rootkits有Linux、solaris和windows等系統的版本。Kernel Intrusion System是其中的一款(For Linux),是功能最強大的內核級rootkits之一。

對於非內核級的rootkits,可以使用前面說過的完整性檢查工具檢查二進制執行程序文件被修改的情況。這個方法對內核級rootkits不管用。

要對付內核級的rootkits,必須加固臨界系統的內核。St. Jude Project是一款監測Linux內核完整性的工具,它通過監測系統調用表的修改情況來實現對內核完整性的監控。還可以將系統配置成爲固化內核的形式,建立一個不支持LKMs(loadable kernel modules)的系統內核。這樣的系統效率更高,因爲內存管理更簡單。

另外的辦法是自己加固內核。Argus Systems Group提供的PitBull工具,通過限制用戶訪問系統程序和內核來保護Solaris等系統的內核。另外象SELinux和Trusted Solaris等系統提供附加的內核保護功能。內核保護機制不能被濫用,否則會使系統管理變得複雜,並可能影響其它程序的正常運行。

脈衝蛇神和其它的DDoS伎倆 

蛇神,可以指揮大批毒蛇向敵人發動進攻。用來形容象TFN2K這樣的DDoS攻擊控制工具是再合適不過了。攻擊者通過劫持數千臺計算機並植入DoS代理後,幾乎就可以所向無敵了。這些DoS代理會在攻擊者的指揮下同時向一臺主機發送大量的數據包,使對方服務癱瘓,使這臺主機淹沒在大量的數據包中。以往,ISP一般情況下尚能對一些DDoS攻擊進行跟蹤,通過逆流而上的方法快速跟蹤數據包,可以找到活動的攻擊來源。

去年,一個叫”脈衝蛇神”的攻擊形式使網管難以追查攻擊的來源。攻擊者可以使多個DDoS代理交替發出Flood數據包,這種隨機發包方式就好象電子脈衝一樣。如果攻擊者有幾千個這樣的代理,追查”蛇神”將變得幾近不可能。

還有更絕的。今年早期,互聯網上出現了一個叫”反射式DDoS”的攻擊方法。這種新方法用的是借刀殺人的思路,至少將有兩方受害。

反射式DDoS的原理是SYNFlood的巧妙變形。它充分利用了TCP三次握手機制的”優點”,一個DDoS代理,用一個假的源地址,向一臺高帶寬的服務器發送一個TCP SYN數據包,服務器收到這個包以後,將向這個源地址回送一個SYN-ACK的響應包。攻擊者在發包前可以將這個假的源地址設置爲他要攻擊的主機地址,這樣,就變成了一臺高性能/高帶寬的服務器DoS目標主機。如果攻擊者用多個線程,相同的源地址,不停地向多臺高帶寬服務器發包,則目標主機將受到多臺服務器的攻擊,目標主機幾乎是”必死無疑”。用這種方式,在目前的互聯網環境下,攻擊者可以讓Yahoo或者微軟的Web服務器去DDoS一臺他想攻擊的主機。而且在這種情況下,想要追查到攻擊者來源,實在是太難了。如圖。

爲了對付DDoS攻擊,市場上出現了商業化的抗DoS產品和解決方案。大體分爲兩類,一類是基於探頭的工具,如Asta Networks出品的Vantage System 和 Arbor Networks'出品的Peakflow, 它們允許管理員將這些探頭部署到網絡的各個節點上,用基於異常的掃描技術發現不尋常的Flood數據包,發現後將實時地調整路由器和防火牆的設置進行過濾。

另一方面,象Captus Networks出品的CaptIO 和 Top Layer出品的AppSafe則在網絡邊界處直接發現和封殺DoS數據包。

即使採用這些技術,但面臨者成百上千的“蛇神”的時候,就算系統不停止響應,網絡帶寬也會被很快消耗掉。沒有工具能夠防止帶寬的消耗。因此,如果在線連接和點擊量對用戶單位的業務非常重要的話,那麼用戶有必要要求ISP的應急小組充分配合,從上游杜絕Flood數據包。在選擇ISP的時候,關於這個問題,要問清楚ISP對DoS攻擊是如何進行應急處理的。

掃描器的發展 

安全掃描是網絡安全防禦中的一項重要技術,其原理是採用仿真黑客入侵的手法去測試系統上有沒有安全上的漏洞,對目標可能存在的已知安全漏洞進行逐項檢查。目標可以是工作站、服務器、交換機、數據庫應用等各種對象。然後根據掃描結果向系統管理員提供周密可靠的安全性分析報告。

掃描器基本上包含以下三個類型:

端口掃描工具,如端口掃描器NMAP等,它不僅能檢測操作系統類型,也支持隱蔽性掃描。但不能檢測系統漏洞。

漏洞掃描工具,如Web脆弱性掃描器Whisker2.0版。該工具檢測已知的基於web技術的安全漏洞,如CGI、ASP等。新版本包括內置的SSL支持,易用性增強。

最後一類則是企業級的分佈式安全檢測評估系統,如CNNS Scanner。它能從瀏覽器直接提交請求,實現多掃描用戶權限管理。最終得出的安全報告能協助系統管理員瞭解系統上的安全漏洞以及如何去修補這些漏洞,並能提供本地下載的升級程序或補丁。

要避免惡意用戶威脅系統,我們必須:

§ 通過關閉所有比必要的服務和安裝系統補丁加固系統;

§ 保持對最新補丁和安全公告的追蹤,下載補丁後要在實驗環境進行測試,測試完以後正式安裝在主機上。

§ 用黑客的角度審視系統的安全脆弱性,通過端口掃描器和脆弱性掃描器定期對系統進行檢測,至少每月一次。

Sniffer變得主動 

在最近兩年,網絡監聽(sniffer)技術出現了新的重要特徵。傳統的sniffer技術是被動地監聽網絡通信、用戶名和口令。而新的sniffer技術出現了主動地控制通信數據的特點,把sniffer技術擴展到了一個新的領域。Dug Song寫的Dsniff的工具是第一批擴展了傳統的sniffer概念的監聽工具。Dsniff製造數據包注入到網絡,並將通信數據重定向到攻擊者的機器。在這種方式下,Dsniff允許攻擊者在交換環境的網絡內竊聽數據,甚至在攻擊者和攻擊目標不在同一個Lan(局域網)的情況下,也能使攻擊者收集到他想要的數據。

爲在交換環境下實現sniff,Dsniff是通過對ARP緩存進行改寫重定向通信數據包,它改寫了目標機器上的IP地址->Mac地址的映射,因此數據包將經由交換機發往監聽者的機器。此外,攻擊者還可以通過DNS欺騙、IP/名字欺騙等方式跨越局域網重定向通信數據包。Dsniff還包含了一個面向SSH和SSL的”中間人”攻擊工具包。

很明顯,對於象Dsniff這樣的主動監聽工具,簡單地採用交換機來防止監聽已經不夠了。要防止ARP緩存改寫,必須對敏感網絡中所有主機的ARP緩存表進行硬編碼,這些主機包括在線網站、DNS和Mail服務器、防火牆和DMZ路由器等。另外還應該用Ipsec、VPN和其它的加密技術來保護敏感信息,如果要遠程管理系統,建議用SSH-2或者更新的版本(SSH-1存在”中間人攻擊”的風險)。

無線Sniffer是威脅無線網絡安全性的強有力工具。無線網絡常用的WEP(Wired Equivalent Privacy)加密手段,安全性非常脆弱。攻擊者只要一個裝有類似NetStumbler的膝上型電腦和一根廉價的天線,並使用類似Airsnort或者基於java的Mognet等無線sniffer工具,就可以截獲無線網絡的通信數據。隨後攻擊者還可以使用Airsnort對WEP的解密功能對信息進行解密。在監聽數百萬個無線網絡連接的數據包後,Airsnort就能確定用於保護用戶數據的密鑰。

要想防止對WLAN的監聽攻擊,可以啓用一些安全策略,考慮採用無線VPN產品增強認證和加密功能。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章