邁克菲實驗室:Flame病毒的深度分析(2) |
發(fā)布時間: 2012/7/3 17:55:09 |
Flame病毒極其復雜的結(jié)構(gòu)
邁克菲通過反編譯操作發(fā)現(xiàn),其主模塊包含 65 萬行 C 語言編寫的代碼。所有跡象都表明,這并非這一惡意軟件的所有代碼,預計最高可能達到 75 萬行以上。鑒于此,邁克菲已著手展開長期分析,以確定其完整的功能和特性。 根據(jù)截至目前所獲得的數(shù)據(jù)及分析結(jié)果,邁克菲使用IDA(一款專業(yè)反匯編和反編譯工具)完成了跟蹤工作,并繪制了以下代碼關(guān)系圖: 這個像龍卷風一樣的代碼關(guān)系圖展示了Flame病毒龐大的代碼群及代碼間復雜的關(guān)系。令人驚嘆的是,這只是主模塊的代碼!僅僅這一個模塊就調(diào)用了大約 4400 多次字符串反混淆例程。本質(zhì)上講,如果代碼中存在容易引起關(guān)注的字符串,例如"flame::beetlejuice::BeetleJuiceDataCollector,"或"flame::gator::GatorCmdFetcher,",它就會把信息封裝在一個密封函數(shù)中。這使得本已十分龐大的代碼進一步"增肥",要成功辨識更是難上加難。 代碼中用到的混淆字符串量超乎尋常,這保證了可執(zhí)行文件的功能不僅難于理解,而且即使代碼被他人捕獲也無法輕易用于其他目的。 代碼中包含了其所需的全部庫代碼:SSH、ZLib 例程、Web 服務器代碼等。從這點來說,代碼中至少涉及幾十種加密函數(shù),例如,Blowfish 算法、MD5/MD4 函數(shù)等。 Flame似乎對有關(guān)專業(yè)監(jiān)控需求和操作的信息"情有獨鐘"。它的一些功能和特性包括: ◆具備適用于文件系統(tǒng)解析和存取的低級別磁盤存取解析 ◆支持 ZIP 文件解析 ◆能夠解析多種文檔格式,例如,PDF、Microsoft Word 和其他 Office 格式 ◆特別關(guān)注記錄項,搜索目標項時即使是操作系統(tǒng)內(nèi)的隱藏位置也不會放過 ◆"熱衷"于探究目標桌面上的內(nèi)容 ◆能夠在特定的域內(nèi)實現(xiàn)遠程自行傳播 ◆該惡意軟件在搜尋到需要的信息后會非常謹慎地傳回給控制服務器:這一點是通過在后臺啟動額外的 IE 實例并將代碼注入其中來實現(xiàn)的。如此一來,它就成功"化身"為計算機上的一項"可信"進程,從而繞過個人防火墻。 ◆可能最重要的是,移動設備才是它的"興趣所在"。 這正是 Beetlejuice 模塊的"用武之地"。該模塊就好像進入計算機的"幽靈"一樣到處搜尋藍牙設備,同時通過查找聯(lián)系人來關(guān)注目標受害人的社交網(wǎng)絡。在本地同樣可以這樣做,因為它能夠在文件中或執(zhí)行信息同步的主機上找到設備信息。目前為止,Sony 和 Nokia 設備的聯(lián)系信息已成為其覬覦的目標。當然,這其中的文章絕非表面看上去這樣簡單。 實際上Flame病毒還在不斷"與時俱進"。對該病毒的分析將是長期的工作。20 世紀 90 年代,病毒分析可謂爭分奪秒,被調(diào)侃為"百米賽跑"。 如果說那個年代的病毒的實際代碼可以打印出 100 米,那么 Flame的代碼長度足可達到一英里(約為1609米)。這樣看來,對Flame病毒的分析可以堪稱"一英里徒步"! 本文出自:億恩科技【www.cmtents.com】 |