摘要:自1986年第1個木馬產生至今,木馬已經成為計算機安全的主要威脅,伴隨著計算機技術迅速的發展,木馬的編程技術和手段也不斷地翻新,主要有反彈端口型木馬、基于SPI的DLL木馬、基于嗅探原理的原始套接字(Socket)木馬、Rootkit型木馬技術。這些技術幫助木馬制作者逃避殺毒軟件的追殺和防火墻的攔截,嚴重地威脅著當今互聯網絡的安全。
關鍵詞:木馬網絡安全入侵原理木馬技術
中圖分類號:TP309文獻標識碼:A文章編號:1674-098X(2011)03(a)-0021-01
1 木馬名稱來源
古代希臘有一神話,傳說希臘人久攻土耳其特洛伊城不下,想出了一個計策,讓士兵藏在巨大的木馬中,部隊假裝撤退,特洛伊士兵認為木馬是勝利品將其拖入城內。木馬內的士兵則乘敵人慶祝勝利狂歡時,從木馬中爬出來,與城外的部隊里應外合攻下了特洛伊城。特洛伊木馬由此而得名。而計算機世界的特洛伊木馬(Trojan)是指隱藏在正常程序中的一段具有特殊功能的惡意代碼,具備偷窺文件、竊取口令、記錄鍵盤操作等特殊功能的后門程序。
2 木馬入侵原理
木馬一般分客戶端和服務器端兩個執行程序,服務器端程序即是我們所說的木馬程序,它植入到被攻擊者的電腦中,由攻擊者遠程操作客戶端程序來控制服務器端程序。所以攻擊者利用木馬操作你的系統,首先需要把木馬的服務器端程序安放到你的計算機中。
攻擊者將木馬安放到你計算機中的方法有很多種,如先通過電子郵件的方法,把木馬的服務器端程序傳到你的電腦中,誤導你雙擊下載,這時木馬程序已在你的后臺悄悄地運行安裝了。
木馬文件與病毒一樣都非常小,木馬與正常文件綁定在一起是很難發現的。有些小網站提供免費下載軟件,而這些下載軟件可能被捆綁有木馬,當用戶下載并安裝這些軟件時,木馬同時也就被安裝了。
另外,木馬也可以通過瀏覽器在運行jsp、asp、php、javascript、ActiveX等腳本語言的漏洞來傳播木馬,還可以利用操作系統的漏洞植入木馬,如通過一個IISHACK攻擊程序就能使Windows系統的IIS服務器崩潰,并在同時攻擊服務器時執行了木馬程序。
3 木馬技術發展的新趨勢
1986年,世界上出現了第一個木馬程序,現在的木馬發展非常訊猛,每天要增加1萬個左右的新木馬,木馬已成為互聯網的主要安全威脅。隨著計算機技術的不斷發展,編寫木馬程序的方法、手段及傳播途徑、逃避查殺的技術也不斷地翻新發展。
3.1 反彈端口型木馬
木馬的客戶端程序若要與服務器端程序相連,必須要開一個端口,這是木馬的一個致命弱點。如果用戶裝有防火墻,將會很容易地關閉這一端口,服務器端不能接收客戶端的控制命令,客戶端也將不能接收服務器端發送的竊取信息。
但防火墻對從外向內進入的連接往往監控的非常嚴謹,但對出從內部向外流出的連接卻卻放松防范。反彈端口型木馬技術與一般的木馬相反,它的服務器端從電腦內部使用主動端口,客戶端使用使用被動端口。木馬定時監測控制端的存在,發現控制端上線立即彈出端口主動連接控制端打開的端口,為了隱蔽起見,控制端的被動端口號一般開成80、8080(80為HTTP開放端口,8080為WWW代理端口),這樣是計算機最常開放的端口,用戶的防火墻監控到這些端口的開放,稍微疏忽一點,就會以為是自己在瀏覽網頁。
3.2 基于SPI的DLL木馬
Winsock 2 SPI為編寫服務者提供了一個新特性,它即提供了一個供應用程序訪問網絡服務的Windows Socket應用程序編程接口(API),還包含了由傳輸服務提供者和名字解析服務提供者實現的Winsock服務提供者接口(SPI)和ws_32.dll。
運用這種技術,可以非常好地實現木馬進程隱藏。在每個操作系統中都有系統網絡服務,它們是在系統啟動時自動加載,而且很多是基于IP協議的。如果我們書寫一個IP協議的傳輸服務提供者,并安裝在服務提供者數據庫的最前端,系統網絡服務應會加載我們的服務提供者。如果將木馬程序嵌入到服務提供者的DLL文件之中,在啟動系統網絡服務時我們木馬程序也會被啟動。這種形式的DLL木馬只需被安裝一次,而后就會被自動加載到可執行文件的進程中,還有一個特點就是它會被多個網絡服務加載。通常在系統關閉時,系統網絡服務才會結束,所以我們的木馬程序同樣可以在系統支行時保持激活狀態。
3.3 基于嗅探原理的原始套接字木馬
這種木馬的服務器端與客戶端的數據發送和響應都是通過原始套接字進行:服務器端是一個嗅探器和發包器,它能捕獲具有特征的數據包。客戶端發送約定的特征數據包,其中含有攻擊命令,同時接收服務器端發來的數據。當服務器端獲取到該數據包時,變成激活狀態,分析該數據包獲得客戶端發送的命令和客戶端的IP地址,然后執行相應的命令,并將執行后的結果回送給客戶端,客戶端的嗅探器則接收相應的結果數據。
該方式是完全基于非連接狀態下使用原始包進行通信,可以使用任意協議、任意指定的數據包形式,并可隱藏部分的IP地址,可實現無連接反向通信,甚至能夠突破一些防火墻的監視。
3.4 Rootkit型木馬技術
Rootkit 是一種特殊類型的攻擊軟件。它基本上是無法檢測到的,而且幾乎不可能刪除它們。但Rootkit型木馬也是最難實現的一種木馬,因為Rootkit與操作系統關系密切,因此較難將Rootkit型木馬做得即穩定又通用。這類木馬一般會在操作系統內核里面替換中斷向量或者系統API調用的入口。為了實現這樣的功能,編程者需要使用大量未公開的技術,正是因為這些技術不公開,很難保證Rootkit型木馬的兼容性。這是Windows下Rootkit木馬編寫者面臨的最大難題。但如果計算機上被安裝有Rootkit,不論是殺毒軟件還是防火墻或者是IDS都不能再相信了,最好的辦法只能是重裝Windows系統了。
4 后言
現在木馬技術與病毒技術已充分結合起來,木馬也具有了很強的傳染性。如據瑞星“云安全”系統2010年10月的統計報告,稱共收到22265次用戶上報的Rootkit.Win32.SSDT.s木馬病毒。這是種Rootkit病毒驅動,常與其它的盜號類木馬結合起來傳播。該驅動一旦運行后,可以利用用戶層計算出來的服務函數地址和索引,在驅動層恢復SSDT(系統服務描述符表),這樣可以使部分反病毒軟件的自我保護和監控失效。如果殺毒軟件失效之后,病毒和木馬就可以對系統進行肆意破壞,從而給用戶帶來損失。
當今,計算機軟件漏洞的無法避免,也就造成了木馬的無孔不入。隨著互聯網的快速發展,木馬也必將更加泛濫。別外,手機進入3G時代后,也為木馬提供了新的傳播平臺。木馬越來越成為信息安全的重要威脅。
參考文獻
[1]連一峰.王航編著.網絡攻擊原理與技術.科學出版社.2008.4.
[2]Too2y.無進程DLL木馬的又一開發思路與實現.中華安全網.2007.
[3]Refdom.基于嗅探原理的原始套接字木馬.Xfocus Team,2007.
[4]崔嵩;馬惠鋮.現代計算機木馬的攻擊與防御[J].科技創新導報,2009,28:28.
[5]許榮棉.木馬的攻擊原理及清除方法[J].科技創新導報,2009,7:16.