惡意軟件Flame分析:如何防御欺騙證書?
每當(dāng)新發(fā)現(xiàn)一種惡意軟件,它就會馬上成為安全領(lǐng)域的熱點話題,而且它們總是被認(rèn)為比其他惡意軟件更特殊和更高級,即使實際情況不是這樣的。
可以理解,企業(yè)發(fā)現(xiàn)很難逐一分析每一個新出現(xiàn)的惡意軟件,以確定它是否真是一個威脅。由于與臭名昭著的Stuxnet惡意軟件工具包相似,所以在最近發(fā)現(xiàn)的Flame惡意軟件工具包中,大部分討論都關(guān)于它采用的特殊方法。雖然它已經(jīng)被證實是一個重要威脅,但是Flame的許多功能實際上都曾經(jīng)被其他惡意軟件使用過。
在本文中,我們將分析Flame惡意軟件,以理解它是否真如一些專家所說的那樣特別。我們還將介紹企業(yè)如何保證自己采用了恰當(dāng)?shù)谋Wo措施,以防御Flame使用的攻擊方法,其中包括欺騙證書。
布達(dá)佩斯技術(shù)與經(jīng)濟大學(xué)的密碼與系統(tǒng)安全實驗室(Laboratory of Cryptography and System Security, CrySyS Lab)和卡巴斯基實驗室等一起對Flame惡意軟件進(jìn)行了深度分析。Flame所使用的大部分技術(shù)都不是最新的,但是有一些功能表明其作者擁有一般惡意軟件上少見的專業(yè)技術(shù)。Flame的報告大小為20MB,它比大多數(shù)惡意軟件大,很可能是由于其使用的共享庫引起的。使用共享庫可能表示Flame開發(fā)使用了一些專業(yè)軟件開發(fā)方法;軟件開發(fā)者一般會通過重用代碼來簡化新惡意軟件的開發(fā)過程。
Flame通過USB滲入系統(tǒng),然后利用與Stuxnet和Duqu相同漏洞。這些漏洞可能通過黑帽漏洞或漏洞研究者的黑市進(jìn)入,或者由專門開發(fā)惡意軟件的組織開發(fā)。Flame可用于發(fā)起有針對性的攻擊,所以也可能通過物理入侵方式感染系統(tǒng)。
它的最特殊且最受關(guān)注的功能是劫持Windows更新。雖然微軟已經(jīng)修復(fù)了Flame暴露的漏洞,但是這給所有Windows更新和微軟軟件蒙上陰影。Flame使用一個欺騙證書 ,它由一個不安全的微軟終端服務(wù)證書的MD5沖突生成。通過這種方法,它就可以創(chuàng)建一個極為接近微軟證書的欺騙證書。它并不能欺騙其他證書。這一點備受關(guān)注,因為企業(yè)長時間來信任微軟更新,并且認(rèn)為微軟更新系統(tǒng)是安全的。更新數(shù)據(jù)是否加密并不重要,但是可信證書必須給它簽名,才能保證系統(tǒng)的完整性。最后,我們?nèi)匀灰^察微軟是否能夠成功防止這種策略被未來的其他惡意軟件利用。
雖然這種方法已經(jīng)出現(xiàn)很長時間了,但是根據(jù)報告,與大多數(shù)惡意軟件相比,F(xiàn)lame感染的主機數(shù)量并不多,而且只感染了中東(特別是伊朗和北美)的特定個人和組織。這意味著Flame給大多數(shù)企業(yè)帶來的風(fēng)險并不大,但是因為它使用了已知的攻擊方法,所以企業(yè)仍然需要應(yīng)付將來可能出現(xiàn)采用Flame元素的攻擊。#p#
準(zhǔn)備應(yīng)付Flame風(fēng)格的攻擊
大多數(shù)企業(yè)完全不需要擔(dān)心Flame,因為它是極具針對性的惡意軟件。但這并不意味著可以完全忽略Flame的教訓(xùn)。企業(yè)需要做好準(zhǔn)備,應(yīng)付將來可能出現(xiàn)利用類似功能的定向惡意軟件。有一些防護軟件可以幫助企業(yè)防御各種Flame攻擊方法。
為了對抗欺騙證書,企業(yè)可以使用白名單,或者只使用特定的證書和可信補丁。例如,如果企業(yè)準(zhǔn)備使用企業(yè)簽名的軟件通過一個集中基礎(chǔ)架構(gòu)推送所有補丁,而且如果客戶端配置為只信任內(nèi)部簽名的軟件,那么就可以防御Flame攻擊。禁用打印共享服務(wù)和功能,也可以阻擋Flame的打印機欺騙攻擊。
公司還可以緊密監(jiān)控他們的系統(tǒng),在系統(tǒng)上發(fā)現(xiàn)或執(zhí)行新文件和發(fā)現(xiàn)可疑網(wǎng)絡(luò)流量時發(fā)出警告。可疑網(wǎng)絡(luò)流量包括通向新外部IP的外出連接,或者通向新域名的DNS查找。這種分析可能很耗費時間,但是可以自動化實現(xiàn)。
普通惡意軟件開發(fā)者可能無法使用像欺騙證書這樣復(fù)雜的攻擊技術(shù),但是隨著他們專業(yè)技術(shù)的提升,惡意軟件開發(fā)者也可能會采用專業(yè)軟件開發(fā)技術(shù),為他們的攻擊添加更加復(fù)雜的元素。他們甚至可能使用一些惡意軟件工具包,因為這可以自動化開發(fā)過程,以及添加一些高級技術(shù)。
未來可能添加的專業(yè)特性包括實現(xiàn)自動更新的軟件模塊,使用加密連接和分布式架構(gòu)。由于攻擊時間限制,MD5沖突需要使用一些高級方法,生成欺騙證書。通過使用Hashclash工具,開發(fā)者可能會重用MD5沖突中描述的一些Flame代碼。
結(jié)論
盡管對新發(fā)現(xiàn)的惡意軟件有太多不必要的爭論,但是企業(yè)仍然不應(yīng)該忽視惡意軟件的研究成果。使用新漏洞攻擊許多系統(tǒng)的惡意軟件可能需要快速響應(yīng),而重用舊攻擊方法的惡意軟件可能就不太需要(或完全不需要)修改當(dāng)前的安全流程。
Flame使用了許多不同的攻擊技術(shù),目的是攻擊特定的組織和個人。由于Flame的實現(xiàn)細(xì)節(jié)已經(jīng)公開,所以有一些技術(shù)可能會被其他惡意軟件開發(fā)者重用,而這其中大部分都是已知的,還被其他工具包使用。雖然大多數(shù)企業(yè)都不會受到Flame的攻擊,但是許多企業(yè)可以使用在CSIRT(計算機緊急響應(yīng)小組)對Flame的桌面實踐中提供的細(xì)節(jié)。
剖析Flame