Java、fileless惡意軟件威脅桌面安全
工作原理:用戶訪問一個受侵的網(wǎng)站,不小心下載了最新類型的惡意軟件。如果你的殺毒軟件運行良好的話,就會阻止下載,至少能夠檢測到并隔離硬盤上的入侵文件。但是如果硬盤上沒有文件監(jiān)測呢?如果惡意軟件只入侵內(nèi)存,運行在受信任的進程中呢?
這正是在今年年初發(fā)生在俄羅斯的事情。超過3萬臺計算機感染了一種獨特類型的惡意軟件——fileless僵尸程序。在僵尸程序肆無忌憚地感染幾個月后,卡巴斯基實驗室聲明已經(jīng)發(fā)現(xiàn)了一個罕見的感染,通過俄羅斯在線信息資源進行傳播。廣告由AdFox(一個第三方廣告網(wǎng)絡(luò))提供給網(wǎng)站,Java惡意軟件包含其中,通過瀏覽器從網(wǎng)絡(luò)罪犯控制的服務(wù)器下載。
fileless僵尸程序入侵原理
第一步:用戶訪問受感染的網(wǎng)站。用戶甚至不需要干其他的事情,便不知不覺地被重定向到罪犯的服務(wù)器上,我們稱之為“主服務(wù)器”。
第二步:主服務(wù)器將一個加密的動態(tài)鏈接庫(DLL)文件注入到用戶的電腦上的Java進程(javaw.exe)中。Java進程運行在內(nèi)存中。DLL利用一個眾所周知的Java漏洞。
第三步:惡意軟件建立用戶計算機和主服務(wù)器之間的通信。被感染的計算機的技術(shù)細(xì)節(jié)信息被發(fā)送到主服務(wù)器。從這個意義上說,惡意軟件和其他僵尸程序一樣——作為一個軟件僵尸程序,可以在互聯(lián)網(wǎng)上執(zhí)行自動化的任務(wù)。但是,AdFox是無實體文件的,只在內(nèi)存中運行。
第四步:惡意軟件令用戶帳戶控制(UAC)失去效力。UAC是一個Windows安全組件,保護用戶的系統(tǒng)免受黑客攻擊。惡意軟件利用權(quán)限再次安裝一個更有破壞力的惡意軟件。在俄羅斯計算機事件中,下載的惡意軟件是Lurk Trojan,主要竊取敏感數(shù)據(jù)來訪問網(wǎng)上銀行服務(wù)。
第五步:Lurk Trojan突襲cookie jar。
Java漏洞
正如上面提到的,fileless惡意軟件利用了眾所周知的Java漏洞(CVE-2011-3544)。俄羅斯事件中,網(wǎng)絡(luò)罪犯利用此漏洞攻擊Windows計算機。但是,Mac OS也支持Java,因此Apple計算機也可能受到感染。幸運的是,Oracle在2011年10月推出補丁,只有電腦沒有更新,因此易受感染。
然而,對于那些沒有補丁的計算機,罪犯可以輕而易舉地將僵尸程序加載到受信任的Java進程中。大多數(shù)情況下,殺毒軟件檢測不到。僵尸程序本質(zhì)上是無行的。
網(wǎng)絡(luò)罪犯使用AdFox用戶帳號更改了俄羅斯網(wǎng)站上的banner代碼。特意往代碼中添加了JavaScript IFrame。IFrame是內(nèi)聯(lián)框架,允許單獨的HTML文件被加載到一個單獨的文檔。在IFrame內(nèi),他們嵌入一個加密的鏈接,將用戶重定向到.EU域中的主服務(wù)器。
Fileless造成的麻煩
雖然這次暴風(fēng)式的對俄羅斯的襲擊很少見,但是過去的十年里也發(fā)生過類似的情況,最具代表性的是紅色代碼和監(jiān)獄蠕蟲。兩者皆利用了緩沖區(qū)溢出的弱點。
這些攻擊已經(jīng)發(fā)生過幾次,沒有不再出現(xiàn)的理由。也并不只針對俄羅斯或Windows計算機。也不局限于是Lurk Trojan。其他國家和操作系統(tǒng)也是很可能遭受攻擊的,其他的惡意軟件也可能輕易地傳播開來。
好消息是,因為fileless僵尸程序只存在內(nèi)存中,只需要重啟操作系統(tǒng)就能解決問題(如果不是已經(jīng)太晚了的話)。只要用戶不訪問相同的或其他受感染的網(wǎng)站,應(yīng)該不會有再大的問題。當(dāng)然,你也需要確保計算機上的Java應(yīng)用程序定時更新最新的安全補丁。這至少會免受俄羅斯僵尸程序的襲擊。
但與惡意軟件的不同類型一樣,規(guī)則也不斷改變。你可以保護用戶避免最新的fileless攻擊,但沒有理由假設(shè)每個人都是安全的。
另外,蘋果最新聲明,在發(fā)布下一代Mac OS Update之前,瀏覽器里不會使用Jave。這是否與fileless僵尸程序有關(guān)無從定論。安全研究員Adam Gowdiak在報道中稱,已經(jīng)找到了兩個Java安全漏洞。所以蘋果顯然在確保自身安全。