卡巴斯基實驗室針對WannaCry代碼進行深入分析,發(fā)現(xiàn)WannaCry里面的各種變成錯誤,這樣一來感染的人就有可能進行文件恢復(fù)了。
就在上個月,這個名叫WannaCry的勒索軟件僅在72小時不到的時間里通過其自我傳播功能感染了全球超過三十萬臺存在漏洞的Windows PC,但這并不意味著WannaCry是一款高質(zhì)量的勒索軟件。
近期,來自卡巴斯基實驗室的安全研究專家在對WannaCry的代碼進行了深入分析之后發(fā)現(xiàn),WannaCry勒索軟件蠕蟲的惡意代碼中存在大量的編碼錯誤,而這些編碼錯誤將有可能允許用戶恢復(fù)他們被加密的文件。需要注意的是,用戶現(xiàn)在不僅不用花錢去購買所謂的解密密鑰,而且還可以使用網(wǎng)上免費的恢復(fù)工具和一些簡單的命令就能夠恢復(fù)自己被鎖定的文件了。
編碼錯誤將有可能允許我們恢復(fù)被加密的文件
卡巴斯基安全實驗室的高級惡意軟件分析師Anton Ivanov以及他的同事Fedor Sinitsyn和Orkhan Mamedov專門發(fā)布了一篇研究報告,并在報告中詳細描述了WannaCry開發(fā)者所犯的幾個嚴重的編碼錯誤。
文件刪除機制中的邏輯錯誤
研究人員表示,WannaCry在對目標文件完成加密之后,會刪除原始文件,問題就出在了這里。簡單來說,WannaCry首先會對目標文件進行重命名并將文件后綴名修改為“.WNCRYT”,然后對其進行加密,最后刪除原始文件。
恢復(fù)只讀文件
實際上,幾乎很少有惡意軟件能夠直接加密或修改只讀文件,而WannaCry同樣是如此。WannaCry首先會拷貝目標文件,然后再對文件副本進行加密。但需要注意的是,此時原始文件仍然沒變,只是被添加了一個“隱藏”屬性而已,因此用戶只需要調(diào)整這些文件的屬性即可完成文件恢復(fù)。
除此之外,WannaCry有時在加密完成之后甚至還無法成功刪除原始文件。
恢復(fù)系統(tǒng)盤中的文件
保存在類似Desktop和Documents這種重要文件中的數(shù)據(jù)在沒有解密密鑰的情況下是無法被恢復(fù)的,因為WannaCry在刪除它們之前會使用隨機數(shù)據(jù)覆蓋原始文件的內(nèi)容。
下圖顯示的是WannaCry在刪除原始文件之前,確定臨時存放目錄路徑的過程:
但是研究人員發(fā)現(xiàn),保存在系統(tǒng)盤其他文件夾(非重要文件夾)中的文件是可以從臨時目錄(例如%TEMP%)中恢復(fù)的,但需要數(shù)據(jù)恢復(fù)軟件的幫助。研究人員表示,原始文件將會被移動到%TEMP%%d.WNCRYT(%d為數(shù)字值),這些文件中包含了原始數(shù)據(jù),而且數(shù)據(jù)沒有被覆蓋。
恢復(fù)非系統(tǒng)盤中的文件
研究人員還發(fā)現(xiàn),對于非系統(tǒng)盤,WannaCry會創(chuàng)建一個隱藏的“$RECYCLE”文件夾,并在加密完成之后將原始文件移動到這個文件夾中。因此我們可以通過訪問“$RECYCLE”文件夾來恢復(fù)這些文件。
除此之外,由于WannaCry代碼中存在的“同步錯誤”,在很多情況下原始文件很有可能仍然保留在之前的目錄中,因此用戶也許可以使用數(shù)據(jù)恢復(fù)軟件來恢復(fù)那些非安全方式刪除的文件。
下圖顯示的是惡意軟件為原始文件構(gòu)建臨時存儲路徑的過程:
WannaCry受害者的救星:編碼錯誤
WannaCry代碼中的這些編碼錯誤給廣大受害者們帶來了希望。法國安全研究專家Adrien Guinet和Benjamin Delpy開發(fā)出了第一款免費的WannaCry解密工具-WanaKiwi【下載地址】,這款工具目前適用于Windows XP、Windows 7、Windows Vista、Windows Server 2003和Server 2008。
總結(jié)
實際上,除了上面這些編碼錯誤之外,WannaCry的代碼中還存在大量其他的問題,而且編碼質(zhì)量也非常差。WannaCry之所以能夠造成如此大的殺傷力,NSA泄漏的永恒之藍漏洞“功不可沒“。
現(xiàn)在距離WannaCry事件爆發(fā)已經(jīng)過去了一個月了,但此次事件背后的攻擊者其真實身份至今還沒有被確認。目前,各國警方和網(wǎng)絡(luò)安全公司仍然在對WannaCry事件進行調(diào)查,但暗網(wǎng)情報公司Flashpoint近期卻表示,根據(jù)他們的語言分析結(jié)果,他們認為此次事件背后的始作俑者很有可能是中國黑客。
* 參考來源:securelist、 thehackernews,F(xiàn)B小編Alpha_h4ck編譯,轉(zhuǎn)載請注明來自FreeBuf.COM