勒索軟體解析:技術上真的無法自行救回檔案 |
新聞來源: T客邦 近日有不少媒體紛紛報導勒索軟體之災情,部份這類惡意程式會將受害電腦中的檔案加密,並以高價向受害者兜售解密金鑰,若是受害者沒有在期限內交付贖金,解密金鑰就會慘遭「撕票」,遭加密的檔案將再也無法開啟。這聽起來像是巫術的勒索方式,其實只是應用非對稱式加密技術,不過這也代表受害者真的無法自行救回檔案。 以2013年9月出現的CryptoLocker勒索軟體為例,它會感染安裝Windows作業系統的電腦,在CryptoLocker植入受害電腦後,會自動以RSA加密法將電腦本機與在同一區域網路中的特定類型檔案進行加密,這時受害者已經無法開啟受影響檔案。 之後勒索軟體會要求受害者在期限內交付贖金,才能將這些檔案解密,否則將會把解密金鑰永久銷毀,受害者將再也不能打開這些檔案。更慘的是,就算將受害電腦中的CryptoLocker病毒順利清除,也只能防止它繼續漫延,至於已經遭到加密的檔案,依然無法解開。 ▲CryptoLocker將受害電腦中的檔案加密後,接著就會以高價向受害者兜售解密金鑰。(圖片來源:Flickr,本圖採用創用CC姓名標示-相同方式分享,作者為Christiaan Colen,標題圖片亦同)
▲圖解CryptoLocker運作原理。遠端攻擊者會先將病毒植入受害電腦。 ▲接著攻擊者會將加密金鑰傳送至受害電腦,病毒就會使用加密金鑰將檔案加密,這時候受害者已經無法再開啟檔案了。 ▲隨後攻擊者即展開勒索。 ▲受害者需交付贖金換取解密金鑰,才能開啟備加密的檔案。
採高安全性非對稱加密,難以破解 或許讀者比較熟悉對稱加密技術,但是對非對稱加密技術則感到比較陌生,我們在這邊暫且不談其詳細原理,只討論在使用時兩者的差別。 對稱加密有如ZIP壓縮檔的密碼,在加密與解密時都使用同一組密碼,而非對稱加密則較常用於網路傳輸,它的特色是在加密時使用的密碼稱為加密金鑰,在解密時則必需使用稱為解密金鑰的密碼,而2個金鑰並不相同。其概念可參考下方示意圖表。 在CryptoLocker運作時,攻擊者的電腦會產生1組加密、解密金鑰,透過網路將加密金鑰傳送至受害電腦,並將檔案加密,由於受害者的電腦中並沒有解密金鑰,所以無法將檔案解密,因此將無法讀取被影響的檔案。 由於解密金鑰不曾於網路上傳輸,除非受害者反過來主動入侵攻擊者的電腦,否則無法取得解密金鑰,再加上CryptoLocker採用的是金鑰長度為1024bit甚至是2048bit的RSA加密演算法,在實作上仍無法直接破解密碼、救回檔案。 做個結論,如果萬一不幸遭到勒索,即便可以清除病毒本體,但是還是沒有辦法自行開啟被加密得檔案,因此只能乖乖交付贖金。另一方面,雖然我們沒辦法事後補救,但是還是可以事前預防,讀者都應該養成不點擊可疑網址,不安裝來路不明程式的習慣,此外還需勤備份重要檔案,至少需做到定期將重要檔案燒錄成光碟、複製到外接硬碟保存(而不是從C槽複製到D槽或是雲端同步資料夾),才能避免悲劇發生。 ▲對稱加密技術在加、解密時都使用同一組密碼,其概念容易理解。 ▲而非對稱加密技術在加、解密時,則使用不同的密碼(即加密金鑰與解密金鑰),提高了受害者遭CryptoLocker感染時,自己解開檔案的困難。至於2種金鑰的產生方式與其數學模型,可參考維基百科之說明(該文中公鑰、私鑰即為加密金鑰、解密金鑰)。 (文/李文恩) |