這個像龍卷風一樣的代碼關系圖展示了Flame病毒龐大的代碼群及代碼間復雜的關系。令人驚嘆的是,這只是主模塊的代碼!僅僅這一個模塊就調(diào)用了大 約 4400 多次字符串反混淆例程。本質(zhì)上講,如果代碼中存在容易引起關注的字符串,例如 “flame::beetlejuice::BeetleJuiceDataCollector,”或 “flame::gator::GatorCmdFetcher,”,它就會把信息封裝在一個密封函數(shù)中。這使得本已十分龐大的代碼進一步“增肥”,要成 功辨識更是難上加難。

代碼中用到的混淆字符串量超乎尋常,這保證了可執(zhí)行文件的功能不僅難于理解,而且即使代碼被他人捕獲也無法輕易用于其他目的。

代碼中包含了其所需的全部庫代碼:SSH、ZLib例程、Web 服務器代碼等。從這點來說,代碼中至少涉及幾十種加密函數(shù),例如,Blowfish 算法、MD5/MD4 函數(shù)等。

Flame似乎對有關專業(yè)監(jiān)控需求和操作的信息“情有獨鐘”。它的一些功能和特性包括:

ü 具備適用于文件系統(tǒng)解析和存取的低級別磁盤存取解析

ü 支持 ZIP 文件解析

ü 能夠解析多種文檔格式,例如,PDF、Microsoft Word 和其他 Office 格式

ü 特別關注記錄項,搜索目標項時即使是操作系統(tǒng)內(nèi)的隱藏位置也不會放過

ü “熱衷”于探究目標桌面上的內(nèi)容

ü 能夠在特定的域內(nèi)實現(xiàn)遠程自行傳播

ü 該惡意軟件在搜尋到需要的信息后會非常謹慎地傳回給控制服務器:這一點是通過在后臺啟動額外的 IE 實例并將代碼注入其中來實現(xiàn)的。如此一來,它就成功“化身”為計算機上的一項“可信”進程,從而繞過個人防火墻。

ü 可能最重要的是,移動設備才是它的“興趣所在”。這正是 Beetlejuice 模塊的“用武之地”。該模塊就好像進入計算機的“幽靈”一樣到處搜尋藍牙設備,同時通過查找聯(lián)系人來關注目標受害人的社交網(wǎng)絡。在本地同樣可以這樣做,因為它能夠在文件中或執(zhí)行信息同步的主機上找到設備信息。目前為止,Sony 和 Nokia 設備的聯(lián)系信息已成為其覬覦的目標。當然,這其中的文章絕非表面看上去這樣簡單。

實際上Flame病毒還在不斷“與時俱進”。對該病毒的分析將是長期的工作。20 世紀 90 年代,病毒分析可謂爭分奪秒,被調(diào)侃為“百米賽跑”。如果說那個年代的病毒的實際代碼可以打印出100 米,那么 Flame的代碼長度足可達到一英里(約為1609米)。這樣看來,對Flame病毒的分析可以堪稱“一英里徒步”!

Flame病毒能夠隨意更改其名稱和擴展名,迷惑性極強

威脅文件可以根據(jù)控制服務器特定的指令和配置使用情況更改文件名和擴展名。一些情況下,F(xiàn)lame可以檢測到特定的防病毒軟件,于是就會更改可執(zhí)行文件 (DLL) 的擴展名,比如從 OCX 更改為 TMP。實際上,通常在受感染的系統(tǒng)上,尤其是威脅先于安全產(chǎn)品安裝的情況下,就不需要進行這樣的更改。

Flame病毒的主模塊超過6MB,而完全部署后接近20MB。毫無疑問,這是一款包含大量代碼的惡意軟件,它使用了Zlib、LUA Interpreter、SQLite 支持、Custom DB 支持代碼等,整個代碼像一個復雜的企業(yè)數(shù)據(jù)庫系統(tǒng)。

加密包含簡單的模糊處理,例如帶有字節(jié)值的 XOR。在一些其他攻擊中,都用到了 XOR 密鑰 (0xAE),這揭示了其與 Duqu 和 Stuxnet 的一些潛在關系,因為它們也使用這個值。但 Stuxnet 和 Duqu 會在使用此字節(jié)值的同時結合使用其他值,包括具有可能含義的日期。

除了上述內(nèi)容,F(xiàn)lame在代碼方面并未顯示出與Stuxnet或Duqu的直接關系。它采用了相似但又復雜得多的結構,這在很多方面都提醒了研究 人員,這些攻擊具有高危性。根據(jù)早期日期值來判斷,它從某些方面可以視為一個并行項目。而從文件中遺留的日期值不難發(fā)現(xiàn),攻擊文件中融入了 2011 年 1 月和 8 月最新開發(fā)的代碼。文件標頭中的日期經(jīng)過了蓄意更改(例如,聲稱是 1994 年),但導出表日期值和文件其他位置的日期卻暴露了真實日期:2011年。

Flame病毒與Stuxnet、Duqu病毒的關聯(lián)

通過分析,可以發(fā)現(xiàn)雖然Flame病毒代碼庫與 Stuxnet蠕蟲病毒或Duqu木馬病毒不同,但三者的攻擊目標和技術非常相似。Flame與 Duqu 擁有差不多的變體數(shù)量,但其傳播范圍更廣,代碼結構更為復雜。顯然,這一威脅經(jīng)過了數(shù)年的開發(fā),幕后很可能是一支訓練有素的大型而專門的團隊。

Stuxnet 于2010年7月被發(fā)現(xiàn),這種蠕蟲病毒專門針對德國西門子公司設計制造的供水、發(fā)電等基礎設施的計算機控制系統(tǒng),伊朗曾承認 Stuxnet影響到其核電站的部分離心機。Stuxnet當年成名的一個重要原因在于其使用了“零日漏洞”攻擊,即病毒編寫者利用自己發(fā)現(xiàn)的4個系統(tǒng)漏 洞,在軟件公司發(fā)布補丁之前發(fā)起攻擊。而Flame病毒利用的已知漏洞中就包括Stuxnet曾攻擊的兩個漏洞。Duqu病毒針對的也是工業(yè)控制系統(tǒng),目 的在于收集信息。業(yè)界普遍認為,Stuxnet和Duqu來源相同,因為它們都需要多人長時間合作完成,極可能是某組織或政府機構所為。

通過目前邁克菲網(wǎng)絡動態(tài)傳感器檢測到的信息,我們在地圖上繪制了Flame病毒的感染情況:

上圖顯示伊朗是Flame病毒的重災區(qū)。實際上,在過去至少兩年中,F(xiàn)lame病毒已經(jīng)感染了伊朗、黎巴嫩、敘利亞、蘇丹、其他中東和北非國家的相應目標計算機系統(tǒng)。此威脅的攻擊目標僅限于一些個人、組織和機構,是極具針對性的威脅。

分享到

huanghui

相關推薦