iThome
資安業者趨勢科技在日前推出一款針對Cryptxxx和TeslaCrypt兩款勒索軟體的解密工具。剛開始,趨勢科技的解密工具只針對受駭人數最多的Cryptxxx 2.0 版,和TeslaCrypt v1、v3和v4版,但現在已可以解密被Cryptxxx 1.0版、2.0版、3.0版,以及TeslaCrypt v1、v2、v3和v4版,和SNSLocker等三款勒索軟體加密的檔案。
這個解密工具Ransomware File Decrypto Tool,是趨勢科技一個全球性的專案。其中,研發中心位於臺灣的趨勢科技全球核心技術部技術顧問駱一奇,是解密Cryptxxx 1.0版、2.0版和3.0版勒索軟體加密檔案的藏鏡人之一。
駱一奇表示,趨勢科技搶先全球解密Cryptxxx 3.0版,但他也提醒,除非拿到勒索軟體Cryptxxx 3.0版作者自己製作的RSA解密私鑰,否則,趨勢的工具也只能回復原本檔案的99.2%,還須仰賴第三方檔案救援工具搶救其餘遺失的檔案。
解密工具必須針對不同勒索軟體量身打造
駱一奇表示,該公司觀察勒索軟體的危害狀況發現,這不像是APT(進階持續性威脅)攻擊,只是鎖定特定的少部分人,勒索軟體的危害是亂槍打鳥的狀態,每個人都可能是勒索軟體的受駭者,也形成一股人人自危的不安氣氛。
為了解決使用者一旦中了勒索軟體,電腦中的檔案就會被加密,使用者只有遵照指示,支付300元~1,000元不等的美金,希望從勒索軟體的作者取得解密的私鑰,不然就只有自力救濟一途。
但是,駱一奇表示,許多後來跟趨勢科技求救的使用者中,也不乏已經付錢,但是仍然無法順利將檔案解密的情況。因此,解密工具的推出則是可以更快、更大規模協助使用者,免於勒索軟體威脅的好方法。
目前勒索軟體的種類繁多,每個勒索軟體作者都使用不同的加密演算法,駱一奇說,這也使得包括趨勢科技推出的勒索軟體解密工具,都必須針對不同的勒索軟體,推出一對一的解密工具。「這也是為什麼,到現在都沒有辦法出現一款萬用解密工具的原因之一。」他說。
駱一奇分析,使用者為什麼會被勒索軟體鎖定、進一步將電腦中的檔案加密,其受駭途徑幾乎都是,使用者使用不安全的瀏覽器(沒有修補漏洞並更新到最新版,多數是微軟的IE瀏覽器)點擊惡意連結後,使用者電腦就被植入勒索軟體,而電腦中所有檔案就被勒索軟體加密,接著就會跳出警告視窗,要求使用者支付贖金以取得解密檔案所需要的金鑰。
駱一奇負責研發Cryptxxx勒索軟體的解密工具,先針對受駭人數最多的2.0版研發,再增加可解密的範圍,目前已可解密被Cryptxxx 1.0版和3.0版加密的檔案。但他也坦言,勒索軟體的作者也一直在精益求精,新版本勒索軟體所採用的演算法,都比前一個版本更複雜,也因此,他們要製作解密工具的難度也越來越高。
解密Cryptxxx 1.0版,要準備明文和密文檔案解密
駱一奇在分析Cryptxxx 1.0版勒索軟體時發現,該名作者是採用OFB性質的加密模組,因此,他便使用逆向工程找出演算法弱點,透過明文及密文間的關係找回編碼用的替換盒(S-Box),進而還原其他被加密的檔案。
他進一步解釋,解密被Cryptxxx 1.0版加密的檔案時,必須要使用2種檔案,原始檔和被加密過的檔案,作為解密該臺電腦檔案的基礎,如提供一張該臺電腦中原本就有檔案,再輸入一張對應原始檔案但被勒索軟體加密後的檔案,就可以開始進行電腦的檔案解密。
解密Cryptxxx 2.0版,團隊找到加密演算法弱點
許多勒索軟體作者在推出新版後,都會提高加密演算法的複雜程度。駱一奇指出,在分析Cryptxxx 2.0版勒索軟體時發現,加密金鑰使用兩組不同的演算法,其中,一組是RSA 1,024位元的加密演算法(警告訊息表示是使用RSA 4,096位元加密演算法),另外一組是512位元的變種RC4演算法。
因為兩種演算法使用的密鑰長度都很長,無法暴力破解,因此,全球趨勢科技團隊也在思索,該怎麼去克服這個困難。後來更深入分析後,團隊發現了一個演算法的弱點,可以將512位元長度的金鑰(Key)還原,利用還原的金鑰搭配解密演算法,就可以把Cryptxxx 2.0版加密的檔案解開。
他指出,Cryptxxx 2.0版檔案加密過程,是利用512位元變種RC4演算法加密檔案,然後將加密檔案私鑰,再利用RSA 1024位元演算法去加密,最後,就可以把經過RSA加密後的私鑰,塞到加密的檔案中。一般人,不會知道勒索軟體採用什麼加密演算法,不會知道加密演算法彼此的關係。
駱一奇表示,因為針對Cryptxxx 2.0版的解密工具,並不需要搭配輸入其他明文和密文檔案,多數使用者都可以直接將檔案解密,因此,2.0版勒索軟體加密的檔案,解密成功機率也最高。
Cryptxxx 3.0版,只能成功解密99.2%的檔案內容
「Cryptxxx 3.0版解密方式,是奠基於Cryptxxx 2.0版的解密方式之上,不過,解密難度卻是加倍提高。」駱一奇說。
為什麼被Cryptxxx 3.0版加密檔案無法完全解密?駱一奇表示,這是因為Cryptxxx 3.0版作者再度提高加密演算法複雜度,每一個檔案同時採用兩種演算法加密,前64個位元組(Byte)使用RSA 1,024位元演算法加密,後面的8,191位元組,則使用變種RC4演算法加密;接下來,下一個8,255位元組的檔案資料,就會先採用64位元組的RSA加密和8,191位元組的變種RC4加密的循環中,直到整個檔案區塊都加密完畢。
他指出,也因為每一次的加密循環中,都有64位元組的檔案,一定要使用作者的私鑰才能成功解密,所以在檔案解密的過程中,最終只能解出99.2%的檔案。但駱一奇提醒,一般使用者是無法讀取這個有資料部分遺失的檔案,必須經由第三方業者,例如硬碟救援公司使用檔案救援工具,將這個解密的檔案修復到可以讀取的程度。
經過修復的檔案,有些時候會和原始檔案有些許落差。他說,運氣好的話,檔案遺失的部份不重要,並不會影響使用者讀取檔案;但如果運氣不好,說不定,檔案重要的關鍵數字,就是無法救援的部份。
可以從加密檔案的副檔名,判斷被哪一個勒索軟體綁架
至於,使用者要如何判斷,加密的檔案究竟是被哪一個勒索軟體綁架呢?駱一奇表示,目前解密工具都會自動判斷,但如果沒有解密工具時,簡單的判定方式,可以從勒索軟體加密後檔案的副檔名判斷。
如果是被Cryptxxx 1.0版、2.0版和3.0版加密的檔案,加密的檔案都會在原本的檔案後面,加上一個.crypt的副檔名。他說,從副檔名看不出來是被哪一個版本的勒索軟體綁架,要進一步從加密的檔案內容判斷是哪一個版本,被Cryptxxx 2.0版和3.0加密的檔案都會有一些特徵在檔案尾部,要去判斷檔案尾部區塊的特徵,才能知道是被Cryptxxx 2.0版或3.0加密,如果都沒有這些檔案特徵,就是被Cryptxxx 1.0版加密。
如果被TeslaCrypt v1勒索軟體加密,檔名會在原本名稱後加上.ECC;被TeslaCrypt v2所加密的檔案,這個被加密後的檔案格式則會在原本的檔名後面,加上.VVV、CCC、ZZZ、AAA或ABC的副檔名;被TeslaCrypt v3加密,檔名會在原本檔案名稱後加上.XXX、TTT、MP3或MICRO的副檔名;是被TeslaCrypt v4加密,檔名和副檔名不會有任何變更。至於被SNSLocker加密的檔案,就會在原本的檔名後面出現一個.rsnslocked副檔名。
但是,如果是被TeslaCrypt v4勒索軟體加密,因為原本被加密後檔案會和之前的名稱相同,所以,透過這個解密工具後,檔案名稱將會是原本的檔名後面加上一個decrypted.後,再加上原本的副檔名。例如,ithome.docx檔案被TeslaCrypt v4勒索軟體加密後,檔名不會變更,若是使用這個解密工具後,順利解密後的檔案就會變成ithome.decrypted.docx。
但是,他說,要確認是否解密完成,可以在執行解密工具後,看看原本被加密的檔案名稱經過解密後,電腦中會多出一個與原本檔名相同的檔案。例如,有一個加密檔案test.jpg.crypt,解密成功後,會出現一個test.jpg檔,但是test.jpg.crypt還是會存在電腦中
如果有進階IT技能的使用者,要判斷是否解密成功,他建議,使用者可以使用16進位編輯器,去查看檔案內容,可以從中辨識出一些英文字符,或者是直接到微軟作業系統內建的記事本中,也可以看到一些單字出現,而有出現單字,一般都表示有解密成功。
熱門新聞
2024-09-29
2024-10-01
2024-10-01
2024-10-01
2024-09-29
2024-09-30
2024-09-30