在Windows里很早就有了ransomware(贖金勒索軟件),直到Linux中的Linux.Encoder.1,也就是第一個linux勒索軟件的出現。這款軟件的行為與CryptoWall、TorLocker等臭名昭著的木馬軟件非常類似。
黑客利用勒索軟件的案例
在黑客遠程利用熱門應用Magento內容管理系統的漏洞后,他會在受害人的Linux機器里運行Linux.Encoder.1。一旦執行成功,這款木馬會在/home、/root、/var/lib/mysql這幾個目錄下進行遍歷文件,試圖加密里面的文件內容。如Windows下的勒索軟件一樣,它會使用AES(某對稱密鑰加密算法)對這些文件內容進行加密,這期間并不會對系統資源占用過大。這個AES對稱密鑰會用RSA(某非對稱加密算法)加密,然后用AES初始化的向量去加密文件。
一旦這些文件被加密,木馬會嘗試蔓延到系統根目錄。它只需要跳過重要系統文件以免玩大發了,所以加密后的操作系統是能夠正常啟動的。
在這一點上,黑客可以保證用戶在不向他們支付費用之前,是無法換取RSA私鑰來解密AES對稱加密的。然而,這個加密木馬有個巨大的漏洞,Bitdefender的研究人員利用它,無需RSA私鑰也能解密AES的對稱加密。
加密的入門
在2015年,大多數加密型勒索軟件木馬會采用混合加密算法,來劫持有價值的文件。為了迅速而有效地加密大量數據,這類木馬使用了高級加密標準AES。為了避免服務器和肉雞直接發送的加密密鑰被抓包,黑客們會使用AES和RSA混合加密。這些key通常在黑客的服務器上生成,只將公鑰發送到肉雞電腦上。
由于RSA對于大量數據進行加密占用的系統資源更小,公鑰本身只會加密一小部分重要信息,那就是AES算法在本地生成的密鑰。RSA加密的AES密鑰,會利用初始文件權限和AES算法初始化的向量,加密系統里的文件。
價值百萬美元的漏洞
我們先前提到過,最關鍵的AES密鑰是在肉雞電腦上本地生成的。因此,我們逆向了實驗室里Linux.Encoder. 1的樣本,想研究出密鑰和初始化向量生成的方式。我們發現,它并沒有采用隨機的安全密鑰和初始化向量,而是利用libc庫里的rand()函數,結合當前系統的時間戳進行加密。這些信息通過檢索文件的時間戳,我們能非常容易的獲得。通過這個漏洞,不必使用黑客的RSA公鑰就能取得AES密鑰。
自動解密工具發布
Bitdefender是第一家發布解密工具的廠商,該工具會將自動恢復所有被劫持加密的文件。這款工具會通過分析文件,檢測出初始化向量和AES密鑰,然后對文件進行解密。最后,對那些文件的權限也進行恢復。如果你還能啟動你的系統,可以下載這個腳本,并以root用戶運行它。
下面是恢復數據的步奏:
1.從Bitdefender實驗室網站下腳本;
(由于勒索軟件很可能也影響你的部分系統文件,所以你也許需要用live CD引導,或者從其他機器上掛載受影響的分區。)
2.用/dev/encrypted_partition這樣的形式掛載加密分區;
3.生成一個加密文件列表,你需要輸入下面的命令:
/mnt#sort_files.shencrypted_partition>sorted_list
獲取第一個文件名:
/mnt#head-1sorted_list
運行解密腳本,獲取解密信息:
/mnt#pythondecrypter.py–f[first_file]
解密那些文件:
/mnt#python/tmp/new/decrypter.py-s[timestamp]-lsorted_list
考慮到這些工作比較復雜,我們為用戶提供免費的幫助。您可以通過評論的形式提問,我們會盡量為您解惑。
大多數勒索軟件黑客是對其生成密鑰的方式是極度重視的,像上面那種烏龍漏洞其實并不是很常見。為了防止二次感染,請注意下其他事項:
1.別以root用戶運行不信任的應用,這可能會損害你的機器和數據。
2.記得經常備份系統,如果你的電腦已經被勒索軟件所侵入,最好的辦法還是重裝系統。你得記住,金錢會誘惑黑客寫這些木馬,而且會隨著時間漸漸完善它。而他們如果賺錢越來越少,就不會花更多精力去更新木馬。
3.如何你的Linux設備是在內網,你可以試著做安全加固方案。
4.注意盡量經常給你的WEB應用更新補丁,防止CMS遠程代碼執行漏洞的利用。
解密工具由密碼學專家Radu Caragea開發,我們也要感謝Bitdefender的反病毒專家Codrut Marinescu、Razvan Benchea、Cristina Vatamanu和Alexandru Maximciuc的研究貢獻。
后續更新
勒索軟件又有了新的突破,在特定的情況下,解密工具不會生效。在調查后,我們發現某些受害者在解密文件系統以后還會再次被感染。
這意味著某些文件采用的單獨的密鑰加密,其他文件用的是另一組密鑰。然而這樣的話,競爭條件會導致某些文件被徹底損壞(其內容會被截斷為零)。在某些情況下,連勒索軟件都會被加密。