dodo Newbie
加入: 2005/3月/04
Online Status: Offline 回復: 9
|
Posted: 2005/3月/04 10:31上午 | IP記錄
|
|
|
網絡木馬防禦戰略木馬,也稱特伊洛木馬 (Trojan Horse),名稱源於古希臘的特伊洛馬神話,此詞語來源於古希臘的神話故事,傳說希臘人圍攻特洛伊城,久久不能得手。後來想出 了一個木馬計,讓士兵藏匿於巨大的木馬中。大部隊假裝撤退而將木馬擯棄於特洛伊城下,讓敵人將其作為戰利品拖入城內。木馬內的士 兵則乘夜晚敵人慶祝勝利、放鬆警惕的時候從木馬中爬出來,與城外的部隊裡應外合而攻下了特洛伊城。儘管資深的黑客不屑於使用木馬 ,但在對以往網絡安全事件的分析統計裡,我們發現,有相當部分的網絡入侵是通過木馬來進行的,包括去年微軟被黑一案,據稱該黑客 是通過一種普通的蠕蟲木馬侵入微軟的系統的,並且竊取了微軟部分產品的源碼。 木馬的危害性在於它對電腦系統強大的控制和破壞能力,竊取密碼、控制系統操作、進行文件操作等等,一個功能強大的木馬一旦被植入 你的機器,攻擊者就可以像操作自己的機器一樣控制你的機器,甚至可以遠程監控你的所有操作。 木馬是如何侵入的? 一般的木馬都有客戶端和服務器端兩個執行程序,其中客戶端是用於攻擊者遠程控制植入木馬的機器,服務器端程序即是木馬程序。攻擊 者要通過木馬攻擊你的系統,他所做的第一步是要把木馬的服務器端程序植入到你的電腦裡面。 目前木馬入侵的主要途徑還是先通過一定的方法把木馬執行文件弄到被攻擊者的電腦系統裡,如郵件、下載等,然後通過一定的提示故意 誤導被攻擊者打開執行文件,比如故意謊稱這是個木馬執行文件是你朋友送給你賀卡,可能你打開這個文件後,確實有賀卡的畫面出現, 但這時可能木馬已經悄悄在你的後台運行了。 一般的木馬執行文件非常小,大到都是幾K到幾十K,如果把木馬捆綁到其它正常文件上,你很難發現的,所以,有一些網站提供的軟件 下載往往是捆綁了木馬文件的,在你執行這些下載的文件,也同時運行了木馬。 木馬也可以通過Script、ActiveX及Asp、Cgi交互腳本的方式植入,由於微軟的瀏覽器在執行Script腳本上存 在一些漏洞,攻擊者可以利用這些漏洞傳皤病毒和木馬,甚至直接對瀏覽者電腦進行文件操作等控制,前不久就出現一個利用微軟Scr ipts腳本漏洞對瀏覽者硬盤進行格式化的Html頁面。如果攻擊者有辦法把木馬執行文件上載到攻擊主機的一個可執行WWW目錄 夾裡面,他可以通過編製Cgi程序在攻擊主機上執行木馬目錄木馬還可以利用系統的一些漏洞進行植入,如微軟著名的IIS服務器溢 出漏洞,通過一個IISHACK攻擊程序即在把IIS服務器崩潰,並且同時在攻擊服務器執行遠程木馬執行文件。 木馬如何將入侵主機信息發送給攻擊者? 木馬在被植入攻擊主機後,它一般會通過一定的方式把入侵主機的信息,如主機的IP地址、木馬植入的端口等發送給攻擊者,這樣攻擊 者有這些信息才能夠與木馬裡應外合控制攻擊主機。 在早期的木馬裡面,大多都是通過發送電子郵件的方式把入侵主機信息告訴攻擊者,有一些木馬文件乾脆把主機所有的密碼用郵件的形式 通知給攻擊者,這樣攻擊都就不用直接連接攻擊主機即可獲得一些重要數據,如攻擊OICQ密碼的GOP木馬即是如此。 使用電子郵件的方式對攻擊者來說並不是最好的一種選擇,因為如果木馬被發現,可以能過這個電子郵件的地址找出攻擊者。現在還有一 些木馬採用的是通過發送UDP或者ICMP數據包的方式通知攻擊者。 木馬隱身術 在運行前,很一些木馬經常故意弄成Txt、Html等你認為對你系統沒有多少危害性質的文件圖標,這樣很容易迷誘你把它打開。 在運行中,木馬的作者也意識到如果程序打開後像早期木馬一樣沒有什麼反應的話,這樣只要對木馬稍有瞭解的人都會知道這個程序有鬼 ,這樣他們往往會有採取行動殺除木馬。所以,新的木馬大多都以彈出某種欺騙性質的錯誤窗口使執行者不起疑心,比如操作系統版本錯 誤等等。 在運行後,木馬在運行後需要自我銷毀和隱藏,木馬分為兩種類型,一種是隨系統自動啟動的,另一種附加或者捆綁在Windows系 統或者其它應用程序上,或者乾脆替代成它們。如果是前者,木馬會把自己拷貝到windows系統目錄夾下面一個隱蔽的地方,當然 是會把自己的文件屬性設為隱藏,然後再刪除自己。如果是後者,木馬會尋找系統程序把自己捆綁或者替換到它們身上,這樣你運行這些 系統程序的時候就會激活木馬。 還有一種技術更為先進的木馬,它是把自己複製取代成為動態鏈結dll文件.,如果系統正常的調用請求,它把請求轉到原先的DLL ,對於一些事先約定好的木馬操作,DLL文件就跟一個木馬程序毫無區別。 隱藏通訊,任何木馬運行後都要和攻擊者進行通訊連接,或者通過即時連接,如攻擊者通過客戶端直接接入被植入木馬的主機,或者通過 間接通訊,如通過電子郵件的方式,木馬把侵入主機的敏感信息送給攻擊者。現在大部分木馬一般在佔領主機後,會在1024以上不易 發現的高端口上駐留,有一些木馬會選擇一些常用的端口,如80、23,有一種非常先進的木馬還可以做到在佔領80HTTP端口後 ,收到正常的HTTP請求仍然把它交與Web服務器處理,只有收到一些特殊約定的數據包後,才調用木馬程序。 目前大部分木馬都是採用TCP連接的方式使攻擊者控制主機,這樣通過簡單的netstat命令或者監視數據包等方式即可以查出攻 擊,現在有的木馬可以通過ICMP數據包進行通訊控制,這樣除非分析數據包裡面的內容,否則很難發現木馬連接。 通過電子郵件這類間接通訊的木馬一般是以竊取主機密碼等機密文件為主,它們比較難覺察,不過,如果採用這種方式,一旦被發現,很 容易查出郵箱和郵箱的主人。 隱藏進程,在win9X系統裡面,簡單的註冊為系統進程即可以從任務欄裡消失,但在windows2000系統裡面,任何一個運 行的進程都會在Administrator權限下顯示出來,並且可以直接關閉掉。在最新的一些木馬裡面,開始採用了先進的DLL 陷進技術。 DLL陷阱技術是一種針對DLL(動態鏈接庫)的高級編程技術,編程者用特洛伊DLL替換已知的系統DLL,並對所有的函數調用 進行過濾,對於正常的調用,使用函數轉發器直接轉發給被替換的系統DLL,對於一些事先約定好的特殊情況,DLL會執行一些相對 應的操作,一個比較簡單的方法是起一個進程,雖然所有的操作都在DLL中完成會更加隱蔽,但是這大大增加了程序編寫的難度,實際 上這樣的木馬大多數只是使用DLL進行監聽,一旦發現控制端的連接請求就激活自身,起一個綁端口的進程進行正常的木馬操作。操作 結束後關掉進程,繼續進入休眠狀況。 木馬是如何啟動的? 在Windows系統下,木馬可以通過註冊表、Win.ini、system.ini、Autoexec.bat和Config .sys、捆綁替換系統文件、啟動菜單及程序配置.ini文件來自我啟動運行。 Win.in:[WINDOWS]下面,"run="和"load="行是Windows啟動時要自動加載運行的程序項目 System.ini:[BOOT] 下面有個"shell=Explorer.exe"項。正確的表述方法就是這樣。如果等號後面不僅僅是explorer.exe ,而是"shell=Explorer.exe 程序名",那麼後面跟著的那個程序就是木馬程序註冊表:在KEY-LOCAL-MACHINE\Software\Micros oft\Windows\CurrentVersion\下面五個以Run開頭的主鍵目錄都是系統自啟的鍵值。 如何發現偵探木馬? 對於一些常見的木馬,如SUB7、,BO2000,冰河等等,它們都是採用打開TCP端口監聽和寫入註冊表啟動等方式,使用Cl lean之類的軟件可以檢測到這些木馬,在我們快要推出的最新版天網個人防火牆也將提供強大的木馬檢測和清除功能。 這些檢測木馬的軟件大多都是利用檢測TCP連結、註冊表等信息來判斷是否有木馬入侵,這也可以通過手工來探測。 如果你發現自己的硬盤老沒原由的讀盤,軟驅燈經常自己亮起,網絡連接及鼠標屏幕出現異常現象,很可能就是因為有木馬潛伏在你的機 器裡面。這時最簡單的方法就是使用netstat命令查看: Proto Local Address Foreign Address State TCP dddd-gam68abjr9:1662 202.106.184.200:http ESTABLISHE TCP dddd-gam68abjr9:1694 TCE-E-7-182-210.bta.net.cn:http TCP dddd-gam68abjr9:1702 202.106.184.200:http ESTABLISHE TCP dddd-gam68abjr9:1823 202.106.184.158:http CLOSE_WAIT TCP dddd-gam68abjr9:1824 202.106.184.158:http CLOSE_WAIT 從左到右依次是連接類型、本地連接地址端口、遠程連接地址端口、連接狀態,你可以通過這個命令發現所有網絡連接,如果這是有攻擊 者通過木馬連接,你可以通過這些信息發現異狀。通過端口掃瞄的方法也可以發現一些弱智的木馬,特別是一些早期的木馬,它們捆綁的 端口不能更改的,通過掃瞄這些固定的端口也可以發現木馬是否被植入。 你還可以通過手工檢測上文所述的和木馬啟動的系統文件和註冊表的方式把那些不明的自啟動運行文件清除掉。如果在發生系統異常後, 最好將系統斷線再診斷木馬。 如何清除掉木馬 目前已經有一些專門的清除木馬的軟件,我們在新推出天網防火牆裡面也會捆綁強大的木馬清除功能,清除一般木馬的機制原理主要是: 1、檢測木馬。 2、找到木馬啟動文件,一般在註冊表及與系統啟動有關的文件裡能找到木馬文件的位置, 3、刪除木馬文件,並且刪除註冊表或系統啟動文件中關於木馬的信息。 但對於一些十分狡滑的木馬,這些措施是無法把它們找出來的,我們現在檢測木馬的手段無非是通過網絡連接和查看系統進程,事實上, 一些技術高明的木馬編製者完全可以通過合理的隱藏通訊和進程使木馬很難被檢測到。 如何防範木馬 自然,如果你不打開任何木馬文件,就不會有木馬的入侵,但這種保證是不可靠的,因為木馬植入方式更為先進,甚至你在接到一封伊妹 ,只要簡單的瀏覽一下即可被植入木馬,而且你下載各種軟件時,你根本不知道這裡面是否摻了別的東西,何況,攻擊者還可以利用你系 統的漏洞來植入木馬。 防火牆是抵擋木馬入侵的最好途徑,絕大多數木馬都是必須採用直接通訊的方式進行連接,雖然它們可以採用一定的方式隱藏這種連結, 如只有在收到攻擊者特殊數據包的時候才激活木馬打開通訊端口,連接完畢業,木馬則馬上進入休眠狀態。 防火牆這種阻塞方式不僅適用於TCP數據包,還能夠阻止UDP、ICMP等其它IP數據包的通訊控制。 防火牆完全可以進行數據包過濾檢查,在適當規則的限制下,如對通訊端口進行限制,只允許系統接受限定幾個端口的數據請求,這樣即 使木馬植入成功,攻擊者也是無法進入到你的系統,因為防火牆把攻擊者和木馬分隔開來了。 儘管如此,對一些技術高明的木馬,防火牆有時也是無能為力,如寄生在Http端口上的木馬。還有一種是與木馬正常控制程序相反的 木馬,它是通過木馬向外面的端口發送數據,比如它發一個數據到一個主機的80端口,任何防火牆都不可能阻塞這種數據請求,要不然 整個系統就不用上網瀏覽網頁了。 在一般防火牆裡面,還有專門針對各種木馬攻擊的防禦規則,防火牆可以確保你免受木馬攻擊。
|