惡意移動代碼

惡意移動代碼

惡意移動代碼是一段電腦程式,能夠在計算機或網路之間傳播,未經授權、故意修改計算機系統。一般來說,公認的惡意移動代碼的變異型可以分為3類:病毒類、蠕蟲類和木馬程式。很多惡意程式的組件就像這些類型中的兩個或者更多,稱作混合威脅。

基本信息

簡介

惡意移動代碼的生命周期主要分為發現、利用、感染、複製。

與人類不同,惡意軟體不需要休息和進食,它們每時每刻都在進行生產複製周期。自動化的攻擊往往非常擅長於捕捉並利用漏洞,只有在補丁關閉漏洞使得科技將它們離棄遠去之時,它們才會隨著時間而消逝。但是一旦給予它們傳播的機會,它們會立即瘋狂起來。

圖一 圖一

紅色蠕蟲代碼出先於2001年6月16日,攻擊了沒有安裝補丁的微軟網際網路信息伺服器(IIS)。這似乎是很久以前的事情嗎?即便是很多年之後,成千上萬曾經損害系統的紅色代碼仍然存活在網路中。直到日前,即使你在計算機當中再也找不到一個軟碟,有關上世紀80年代末到90年代初的軟碟引導扇區病毒傳播的報導仍然頻繁出現。你仍然可以了解知道引導扇區病毒最初是在1993~1994年發布的,如Monkey(猴子)、Form(形式)、Stoned(扔石頭)、New Zealand(紐西蘭)、Anti-Exe(反執行)以及Michelangelo(米開朗琪羅)均可在網路上的感染名單中找到。病毒高效的感染及複製循環是保證其存活的重要手段。

現代的惡意軟體始終延續著從前的技術來繁殖及存活。根據賽門鐵克安全機制應變中心的研究,圖一列舉了部分惡意軟體的名單,包含最近20年出現的極度威脅的木馬程式、病毒和蠕蟲病毒。正如聯邦調查局的頭號名單那樣,該名單包含的惡意軟體是被很多在前線工作的安全人員所熟知的,他們不得不在公司的網路中與這些惡意軟體戰鬥。

具體介紹

計算機病毒

病毒是一種能夠用自我複製的程式,通過利用主檔案或者代碼來複製。多數的病毒能夠感染檔案,所以一旦感染病毒的主檔案運行,那么病毒也會隨著運行。換一種說法,病毒感染其實就是病毒在宿主中的自我複製和替代自身代碼,如果感染病毒的主檔案運行的話,那么病毒也隨之運行。病毒能夠感染程式檔案、引導扇區、磁碟分區表、數據檔案、記憶體、宏程式和腳本檔案。

病毒分析 病毒(或真正的惡意軟體程式)往往通過有效負載進行破壞。除了必要的複製之外,絕大多數的惡意程式檔案並不攜帶具有毀滅性的有效負載。這意味著它們不是創造者故意設計用來製造破壞的。然而,由於其自身的特性,使得它們不經過合理的授權就處理並修改其他檔案,最終導致一種或另一種程式崩潰。對於大多數攻擊者來說,常規錯誤校驗並不在優先權列表中。

至少,“無害的”病毒占領CPU周期和存儲空間。有效負載可能在本質上是無害的,但其會產生奇怪的噪音、不正常的圖片或者彈出文本信息。有些病毒啟動計算機揚聲器播放勝利之歌,告誡員工在下午5點下班。還有的病毒會任意插入按鍵,使鍵盤用戶認為他們最近打字出錯率很高。

當然,有效負荷可以進行故意破壞、刪除檔案、毀損數據、複製機密信息、格式化硬碟以及刪除安全設定。有些病毒非常狡猾,它們會從用戶的硬碟中獲取文檔,並將這些文檔隨機地傳送給用戶電子郵件地址列表中的成員。惡意軟體會將涉密的財務報表和業務計畫傳送給競爭對手。一封傳送給同事的情書曝光了私人辦公室內的不正當事務,而這封情書恰巧被傳送到他的配偶以及所有的親戚那裡。更有甚者,有些病毒能夠感染電子表格,將數字0變成字母O,使單元格的數字內容變成了文本內容,最後得到了數值0。電子表格的用戶可能認為表格中求和得到的數字是正確的,但是隱藏的O會使得行列相加發生錯誤。當文檔被複製或者打開的時候,一些病毒便會乘虛而入,它們會隨機改變文檔中的兩個位元組。這會慢慢地破壞硬碟上所有的檔案,而且很多時候這意味著,所有的磁帶備份包含的只是被感染和破壞的檔案。病毒已經知道以這樣的方式加密硬碟內容,如果你要刪除病毒的話,這些檔案將會不可恢復。一種稱之為“卡里古拉”的病毒成功證明了病毒是可以竊取私人密鑰的。計算機病毒可以做很多事情,但是也受到創造者的想像力以及計算機本身物理和邏輯的限制。

病毒是如此強大和不可以預知,因此很多都市傳奇都歸功於病毒可以做到一些不可能做到的事。病毒不能損壞硬碟的讀寫磁頭,使人觸電身亡或者引發火災。但是,有人指出引發火災這種情況也很可能發生。當病毒集中單一像素在計算機螢幕上很長時間的話,會導致顯示器著火。然而多數的管理員可以肯定地告訴你,他們使用多年的數以百萬計顯示器從沒有發生過火災。

計算機蠕蟲

計算機蠕蟲使用自己的編碼進行複製,儘管它可能依賴於其他相關代碼的存在。蠕蟲關鍵在於它不直接修改其他主代碼而進行複製。蠕蟲會遊蕩在網際網路中,嘗試一個又一個的漏洞,直到找到合適的漏洞進而損害計算機,假如成功的話,它會將自己寫入計算機,然後開始再次複製。

熊熊蟲病毒Bugbear就是網際網路蠕蟲中的一個。它夾帶在一封虛假的電子郵件的附屬檔案當中,時間是2003年6月。當用戶只是預覽信息的時候,它能在沒有補丁的電子郵件系統中啟動。多數情況下,它需要終端用戶打開檔案附屬檔案才能開啟。一旦打開的話,它會感染計算機,獲取用戶郵件系統中的郵件地址,進而將自己傳送給新的收件人。它將自己添加在Windows啟動項中,所以每次Windows系統啟動的時候它就跟隨啟動。熊熊蟲病毒Bugbear尋找並嘗試進入弱密碼保護的網路共享,進而終止反病毒程式。它也能激活鍵盤記錄器程式,該記錄器程式記錄了用戶的擊鍵次數,以此來獲取密碼。捕獲到的擊鍵次數以及任何快取發現的撥號密碼會以電子郵件的形式傳送,而該郵件地址是10個預定義電子郵件地址中的一個。最後,熊熊蟲病毒在連線埠1080上開啟後門服務,允許攻擊者篡改和刪除檔案。熊熊蟲病毒是2003年最成功的蠕蟲之一。

攻擊者可能會研究單台主機上各種各樣的漏洞,但正在複製的蠕蟲往往會攻擊每台主機上相同的漏洞。舉例來說,SQL“殺手”會針對它所發現的所有具有漏洞的系統進行利用,即使它的攻擊只對那些未打補丁的Microsoft SQL Server 2000或者Microsoft Desktop Engine(MSDE) 2000系統平台起作用。蠕蟲向1434連線埠(Microsoft SQL Server的開放連線埠)傳送376位元組溢出攻擊。不到1%的網際網路主機系統很脆弱。任意攻擊數量龐大的主機是為了摧毀小數量的主機,這種方式是有效的嗎?顯然這種方式很有效,SQL“殺手”在最初的10分鐘內感染了90%的潛在可感染主機,而在接下來的每8.5秒鐘,這個數據會加倍,直到最後總計破壞200萬台主機。SQL“殺手”本可以感染更多的主機,但是快速的複製導致大面積的網路癱瘓和拒絕服務事件,事實上降低了傳播的速度。

計算機世界是幸運的,因為帶有混合威脅特徵的尼姆達病毒並不包含故意破壞的攻擊負載。然而,大多數的蠕蟲只利用一個漏洞,而尼姆達病毒會嘗試利用多個漏洞。尼姆達病毒在2001年9月開始在全球蔓延,它採用多種傳播渠道感染計算機。首先,它能以郵件附屬檔案的形式傳播。當執行該病毒後,它會尋找利用密碼保護級別較弱的網路共享,然後打開新的連線點。它還會攻擊低版本的IIS伺服器,將已感染的JavaScript編碼植入網頁。已感染的JavaScript編碼通過強制下載被感染的電子郵件,進而感染網頁訪問瀏覽器。計算機安全供應商依據威脅的種類進行了歸類,指出尼姆達病毒擁有4~12種漏洞利用機制。假如尼姆達病毒不能以一種方式感染主機,那么它會採用另一種方式。幸運的是,SQL“殺手”和尼姆達都不包含故意破壞的攻擊負載。未來的蠕蟲會瞄準所有Windows設備中共同的漏洞(比如未打補丁的網際網路漏洞),並採用一定的傳播路徑對計算機造成更多更大的破壞。

郵件蠕蟲病毒

郵件蠕蟲是社交工程和自動化相結合而成的一種奇怪的產物。它們以信息或者檔案附屬檔案的形式出現到用戶的收件箱中,而這些郵件往往來自於朋友、陌生人或者公司。它們偽裝成色情郵件、小遊戲、微軟的官方補丁或者來自於數字市場的非官方應用程式。通常這些附屬檔案有著令人無法抗拒的魅力,即便計算機用戶被多次警告,仍然會打開這封意想不到的郵件。

由於網際網路郵件蠕蟲病毒很難被追蹤到,所以它們在網路上很流行。病毒創造者製造出這些惡意病毒後,他們會用匿名郵件伺服器來傳送該病毒。他們可能花錢去網咖,利用網咖終端來釋放蠕蟲病毒,這使得追蹤過程很複雜。多數時候,他們會將感染的郵件傳送給一個無監管的郵件列表,那么成千上萬接收到郵件的用戶並不會懷疑該郵件是否攜帶病毒。而用戶也因此而被迫執行了病毒程式。

蠕蟲病毒首先會採用一種方式修改計算機的設定,當計算機被啟動後,蠕蟲病毒總能被載入到記憶體中(第4章會涉及更多這方面的內容)。之後它會尋找合適的郵件地址,並將自身傳送過去。它可能利用微軟訊息應用程式編程接口(MAPI)或者通過註冊中心查找通訊錄檔案的實際位置。無論哪種方式,它都會將自身儘可能多地傳送出去,它會找尋到郵件地址並偽造發件人地址。以下的示例代碼就能很好地說明Visual Basic蠕蟲病毒通過利用微軟MAPI接口獲得地址並將自身傳送出去的過程:

為了防止利用漏洞,本案例中的惡意代碼已被故意修改。本案例意在說明郵件蠕蟲是如何進行自我複製的。

郵件蠕蟲病毒可以使用現有的SMTP伺服器或者自身的SMTP引擎。在執行蠕蟲病毒後,大多數被感染的用戶注意到他們的計算機極度緩慢,其中有些用戶知道這是什麼情況並且關閉計算機。但是其他人只是當作常規的計算機問題,並且也檢測不到蠕蟲病毒的存在。不論哪種方式,蠕蟲都已經侵入,正在感染著眾多新的主機。

特洛伊木馬程式

特洛伊木馬程式(或稱為特洛伊)偽裝成合法程式並被沒有防備的用戶激活。木馬程式被執行後,為了在後台從事惡意活動,它還試圖繼續偽裝成其他的合法程式(如螢幕保護程式)。很多人的計算機在感染木馬程式數月甚至數年之後,可能都沒有發現過它的存在。不偽裝成合法程式而直接開始惡意活動的木馬程式稱為直接作用式木馬程式。由於用戶能很快發現破壞,並且不太可能或者不能將該病毒傳播給其他沒有防備的用戶,所以該種木馬程式傳播得並不廣泛。

JS.ExitW是直接作用式木馬程式之一。當不知情的用戶瀏覽惡意網站時,該病毒程式會被下載並激活。有一個例子,當用谷歌引擎搜尋時,該木馬程式以偽裝成賈斯汀·汀布萊克的圖片集形式出現。這個連結並不會連線到賈斯汀的圖片集,而是下載並安裝JS.ExitW木馬程式。執行後,JS.ExitW會以HTML應用程式的形式自行安裝到Windows啟動資料夾中,並關閉Windows。由於它在啟動資料夾中,這將導致被感染的計算機一直處在啟動和關閉的無限循環中。幸運的是,這種病毒不會造成真正的危害。然而,很多木馬程式有著較高的危險級別。

相關詞條

熱門詞條

聯絡我們