郭春生 程光
摘 要:勒索軟件WannaCry的肆意擴(kuò)散對(duì)網(wǎng)絡(luò)用戶造成了極大的危害,如何能夠防范和解密WannaCry是目前的熱點(diǎn)研究問題。為了實(shí)現(xiàn)對(duì)勒索軟件WannaCry的解密,論文提出了基于API hooking的解密方法去恢復(fù)受害者的文件數(shù)據(jù)。首先,研究了WannaCry病毒執(zhí)行時(shí)的詳細(xì)加解密流程,發(fā)現(xiàn)其使用的加解密API函數(shù);其次,針對(duì)這些加解密API函數(shù)實(shí)現(xiàn)Hook,使用自定義的鉤子函數(shù)記錄下密鑰信息;最后,實(shí)現(xiàn)原型系統(tǒng),監(jiān)控操作系統(tǒng)中所有的進(jìn)程。一旦勒索軟件WannaCry感染主機(jī),原型系統(tǒng)記錄下勒索軟件WannaCry使用的密鑰信息,以此來完成文件的解密,結(jié)果表明系統(tǒng)能夠完全的實(shí)現(xiàn)對(duì)勒索軟件WannaCry的解密。
關(guān)鍵詞:API Hooking;勒索軟件;WannaCry;解密
中圖分類號(hào):TP393.08 文獻(xiàn)標(biāo)識(shí)碼:A
An approach to decrypting ransomware wannacry based on api hooking
Abstract: Recently, the wanton outbreak of ransomware WannaCry caused great harm to the network users. How to prevent and decrypt ransomware WannaCry is a hot research issue at present. In order to implement the decryption of ransomware WannaCry, we proposes a novel method based on API hooking to decrypt and free the damaged data. Firstly, we study the encryption and decryption process of WannaCry virus and find the encryption / decryption API functions used by WannaCry. Secondly, performing API hooking for key operations, records key information with the customized hook functions. Finally, implementing the prototype system and monitoring all the processes in the operating system. When WannaCry infected the host computer, the prototype system recorded the key information to complete the decryption of the files. The result shows that the system can be effectively used to mitigate users from the damages caysed by WannaCry.
Key words: API hooking; ransomware; wannacry; decryption
1 引言
從勒索軟件首次出現(xiàn)以來,已將近三十年時(shí)間,在這期間它并沒有逐漸消失,而是發(fā)展到對(duì)各種平臺(tái)進(jìn)行感染,且更新速度越來越快,如今的勒索病毒軟件已經(jīng)具備更高強(qiáng)度的攻擊性和更加廣泛的傳播性[1]。同時(shí),由于勒索病毒軟件普遍使用成熟的加密算法破壞用戶文件[2]。被勒索的用戶在無法恢復(fù)重要數(shù)據(jù)的情況下,被迫選擇支付高額的贖金,這使得勒索者不斷發(fā)動(dòng)攻擊以獲取更高的收益;而且,現(xiàn)階段的勒索病毒軟件大多是使用比特幣來支付贖金,由于比特幣其匿名性強(qiáng)、難以追蹤的特點(diǎn),也在一定程度上促使了勒索病毒軟件爆發(fā)性的增長(zhǎng)。
2017年5月12日起,勒索軟件WannaCry發(fā)起了一場(chǎng)具有全球性質(zhì)的網(wǎng)絡(luò)攻擊[3],該勒索病毒使用了NSA黑客武器庫(kù)泄露的工具Eternalblue,針對(duì)Windows操作系統(tǒng)中存在的SMB服務(wù)器漏洞發(fā)起攻擊,勒索者在成功攻擊后,會(huì)采取遠(yuǎn)程代碼執(zhí)行WannaCry勒索病毒軟件。該病毒軟件會(huì)對(duì)主機(jī)上存放的文件數(shù)據(jù)進(jìn)行加密,同時(shí)彈出勒索頁面,要求用戶使用比特幣進(jìn)行贖金的支付以獲取解密密碼。隨著WannaCry的爆發(fā),一天的時(shí)間內(nèi), 150多個(gè)國(guó)家的幾十萬臺(tái)主機(jī)受到感染,其中我國(guó)部分教育機(jī)構(gòu)、部分政府機(jī)關(guān)和企事業(yè)單位的網(wǎng)絡(luò)系統(tǒng)受到不同程度的影響,造成嚴(yán)重的危機(jī)管理問題。因此,如何有效的防范WannaCry 勒索病毒軟件并且順利的恢復(fù)用戶被加密的數(shù)據(jù)文件,是目前的重點(diǎn)研究問題。
本文提出了一種針對(duì)勒索軟件WannaCry的解密方法,通過對(duì)該勒索病毒軟件在Windows操作系統(tǒng)中運(yùn)行的進(jìn)程行為進(jìn)行實(shí)時(shí)監(jiān)測(cè),采用API hooking方法[4]跟蹤該勒索軟件的進(jìn)程行為操作,在鉤子函數(shù)中截獲其使用的密鑰信息,并依此實(shí)現(xiàn)原型系統(tǒng),對(duì)用戶的數(shù)據(jù)文件完成解密。該原型系統(tǒng)針對(duì)WannaCry勒索病毒軟件樣本進(jìn)行測(cè)試驗(yàn)證,可以完整地解密出被加密的用戶數(shù)據(jù)文件;同時(shí)該系統(tǒng)可以在Windows操作系統(tǒng)上實(shí)時(shí)的進(jìn)行后臺(tái)監(jiān)控,記錄下每個(gè)使用相應(yīng)API函數(shù)的進(jìn)程的密鑰信息,當(dāng)勒索軟件爆發(fā)的時(shí)候,可以根據(jù)記錄下來的密鑰信息實(shí)現(xiàn)對(duì)加密文件的解密。
2 背景技術(shù)
2.1 勒索軟件WannaCry
WannaCry病毒軟件使用強(qiáng)加密算法來加密用戶的文件和數(shù)據(jù),并且混合使用對(duì)稱加密和非對(duì)稱加密算法[5],對(duì)每個(gè)文件的加密是使用AES加密算法,一次一密,同時(shí)對(duì)每個(gè)AES密鑰使用RSA加密算法進(jìn)行加密,并將加密后的AES密鑰與加密的文件內(nèi)容放置在同一個(gè)文件中。
WannaCry的加密操作關(guān)系,如圖1所示[5],WannaCry病毒在進(jìn)行加密的時(shí)候,程序本身自帶兩個(gè)公鑰(分別記為PK1和PK2)。PK2對(duì)部分文件使用的AES密鑰進(jìn)行加密處理,同時(shí)將該部分文件的訪問路徑保存在本地文件中,該部分文件是勒索軟件用于展示解密操作的。該勒索軟件每次運(yùn)行時(shí),都會(huì)使用RSA加密算法隨機(jī)生成一組公私鑰(分別記為PK3和DK3),其中PK3存儲(chǔ)在本地文件中,主要用來加密其余用戶文件的AES密鑰,PK1對(duì)DK3進(jìn)行加密并將加密后內(nèi)容放入本地文件中。
當(dāng)受害者需要解密文件時(shí),需要支付相應(yīng)的贖金,并將本地保存的已加密的DK3密鑰文件傳送給勒索者,由勒索者使用私鑰DK1對(duì)其進(jìn)行解密獲得DK3,并保存為00000000.dky文件,最后使用勒索病毒自帶的解密程序即可完成對(duì)磁盤中文件的解密。
2.2 API Hooking技術(shù)
鉤子(Hook) 在Windows操作系統(tǒng)中是一個(gè)獨(dú)特且功能強(qiáng)大的特性,鉤子能夠在特定的消息到達(dá)目標(biāo)窗口之前對(duì)其進(jìn)行截獲,并對(duì)該消息進(jìn)行優(yōu)先處理,之后再交給目標(biāo)窗口的處理函數(shù)[7]。
而Windows操作系統(tǒng)下的應(yīng)用程序一般都是使用系統(tǒng)API函數(shù)進(jìn)行構(gòu)建的,使用Hook技術(shù)時(shí)一般都是對(duì)這些API函數(shù)進(jìn)行掛鉤,在進(jìn)程開始執(zhí)行特定的API函數(shù)之前,截獲系統(tǒng)調(diào)用消息并跳轉(zhuǎn)到鉤子函數(shù)進(jìn)行處理,之后再交由原API函數(shù)執(zhí)行,即API Hooking,該技術(shù)可以監(jiān)控API函數(shù)的執(zhí)行,或者改變?cè)蠥PI函數(shù)的功能特性。
按照實(shí)現(xiàn)方法的不同, API Hooking能夠分為兩類:Inline Hooking(內(nèi)聯(lián)Hooking)和IAT Hooking(導(dǎo)入表Hooking)[8]。Inline Hooking是指:首先獲取將要進(jìn)行掛鉤的API函數(shù)在內(nèi)存中存放的入口地址,之后將其二進(jìn)制代碼替換為JMP指令,使其跳轉(zhuǎn)到鉤子函數(shù)所在的入口地址繼續(xù)執(zhí)行;IAT Hooking是指:因?yàn)镮AT表中記錄了進(jìn)程所使用的DLL和API函數(shù)等信息,在對(duì)API函數(shù)掛鉤之前,需要分析該API函數(shù)在IAT表中的相關(guān)信息,找出其在IAT表中的入口地址,將這些地址改為鉤子函數(shù)所在的地址從而實(shí)現(xiàn)掛鉤。
本文通過使用IAT Hooking方法來實(shí)現(xiàn)對(duì)API函數(shù)的Hook,在IAT表中更改目標(biāo)API的地址,并在鉤子函數(shù)中執(zhí)行特定的操作,記錄下勒索軟件生成的密鑰信息,之后繼續(xù)執(zhí)行程序的其他的操作。
2.3 相關(guān)工作
目前對(duì)于WannaCry病毒的破解方法是根據(jù)Adrien Guinet的成果[9],Adrien Guinet研究員發(fā)現(xiàn)Windows操作系統(tǒng)自帶的加解密API函數(shù)在生成公私鑰的過程中,API函數(shù)CryptDestroyKey和CryptReleaseContext在執(zhí)行時(shí)并不會(huì)從內(nèi)存中刪除生成公私鑰的質(zhì)數(shù),通過讀取內(nèi)存可以恢復(fù)私鑰所使用的質(zhì)數(shù),之后根據(jù)保存在本地的公鑰來恢復(fù)私鑰,寫入00000000.dky文件中,使用WannaCry病毒自帶的解密程序進(jìn)行解密。該方法的局限性是要在受害者沒有重新啟動(dòng)過計(jì)算機(jī)或沒有將進(jìn)行加密的進(jìn)程殺掉的情況下,才有可能解密成功,否則將無法成功生成私鑰文件并解密。
PayBreak[10]系統(tǒng)利用低開銷的動(dòng)態(tài)掛鉤技術(shù)(Dynamic Hooking Techniques)對(duì)加密操作的API函數(shù)進(jìn)行掛鉤處理,獲取勒索軟件對(duì)每個(gè)文件加密使用的對(duì)稱會(huì)話密鑰,并使用非對(duì)稱加密來實(shí)現(xiàn)密鑰托管機(jī)制,使受害者能夠利用保存下來的密鑰信息恢復(fù)被勒索軟件加密的文件。PayBreak可以完全的恢復(fù)出被加密破壞的文件,并且適用于防御和解密使用了對(duì)稱加密算法的勒索軟件,對(duì)于WannaCry來說也是適用的,但WannaCry有一個(gè)特別的地方,它不是用根密鑰來加密對(duì)稱會(huì)話密鑰,而是使用非對(duì)稱加密算法生成公私鑰對(duì),再用公私鑰對(duì)會(huì)話密鑰進(jìn)行加密,因此不必要獲取每個(gè)文件的會(huì)話密鑰,只用獲得非對(duì)稱加密算法的私鑰即可,更加便捷。
3 解密方法架構(gòu)
根據(jù)2.1節(jié)中對(duì)勒索軟件WannaCry加解密過程的詳細(xì)分析可知,想要完成對(duì)WannaCry病毒的解密,需要得到運(yùn)行過程中生成的私鑰DK3。由于私鑰DK3是使用非對(duì)稱加密算法生成的,是不可逆向解密的,因此想到在病毒運(yùn)行過程中,直接從內(nèi)存中獲取到私鑰DK3的方法,同時(shí)API Hooking可以很容易實(shí)現(xiàn)對(duì)程序執(zhí)行過程的監(jiān)控和控制,只需要確定WannaCry的加解密函數(shù)以及函數(shù)的調(diào)用過程。因此本文利用API Hooking技術(shù),監(jiān)控Windows操作系統(tǒng)中kernel32.lib、user32.lib和advapi32.lib中的系統(tǒng)API函數(shù),追蹤WannaCry運(yùn)行過程中詳細(xì)的系統(tǒng)調(diào)用軌跡[11],并打印到日志文件中。
在沙盒環(huán)境[12]中,運(yùn)行WannaCry樣本并對(duì)其進(jìn)行API Hooking,記錄下其詳細(xì)的系統(tǒng)調(diào)用軌跡,在對(duì)其系統(tǒng)調(diào)用軌跡進(jìn)行分析后,找出了勒索軟件生成公私鑰對(duì)、對(duì)密鑰進(jìn)行加密的操作過程,表1為WannaCry病毒生成公私鑰(即PK3和DK3)的API函數(shù)調(diào)用過程(API函數(shù)的相關(guān)參數(shù)以十六進(jìn)制形式顯示)。
本文通過API Hooking技術(shù)追蹤WannaCry病毒運(yùn)行過程中的系統(tǒng)API調(diào)用軌跡,更加直觀的發(fā)現(xiàn)其中對(duì)于公私鑰對(duì)的生成過程、使用的API函數(shù)以及API函數(shù)的參數(shù)情況。針對(duì)加解密API函數(shù)操作過程分析發(fā)現(xiàn),WannaCry使用CryptExportKey函數(shù)將公私鑰(PK3和DK3)從容器中讀取出來,并且將公私鑰通過參數(shù)傳遞,由于公鑰寫在本地文件中,只需從此函數(shù)中獲取到私鑰即可,通過訪問此函數(shù)的參數(shù)地址,讀取出私鑰。
為了防范和解密勒索軟件WannaCry,本文實(shí)現(xiàn)的解密框架為:實(shí)時(shí)的監(jiān)控操作系統(tǒng)中新進(jìn)程的創(chuàng)建,對(duì)所有進(jìn)程進(jìn)行API Hooking并記錄下每個(gè)使用相應(yīng)API函數(shù)的進(jìn)程的密鑰信息,當(dāng)主機(jī)被WannaCry感染時(shí),將本地日志文件中記錄的WannaCry病毒的密鑰信息讀取出來,以二進(jìn)制形式寫入00000000.dky文件中,即可以解密成功。本文對(duì)Windows系統(tǒng)中的CryptExportKey函數(shù)進(jìn)行Hook,通過改變CryptExportKey函數(shù)在IAT表中的入口地址,從而跳轉(zhuǎn)到鉤子函數(shù)中,先執(zhí)行真實(shí)的CryptExportKey函數(shù),得到各個(gè)參數(shù)的值,之后根據(jù)CryptExportKey函數(shù)的第三個(gè)參數(shù)判斷密鑰類型是否為私鑰,當(dāng)參數(shù)密鑰類型值為私鑰時(shí),訪問進(jìn)程中CryptExportKey函數(shù)的第五個(gè)參數(shù)的存儲(chǔ)密鑰的內(nèi)存地址,讀取出該進(jìn)程中產(chǎn)生的私鑰,并將私鑰信息實(shí)時(shí)的寫入日志文件中。解密方法框架如圖2所示。
表2為算法中的自定義鉤子函數(shù)偽代碼顯示:第1行函數(shù)即為自定義的鉤子函數(shù),第3行參數(shù)a2是密鑰的類型值,其中6為公鑰,7為私鑰;第5行參數(shù)為密鑰的存放地址指針,通過讀取此指針地址的數(shù)據(jù),可以獲取到密鑰數(shù)據(jù);第6行參數(shù)為密鑰的長(zhǎng)度值;第9行執(zhí)行真實(shí)的CryptExportKey函數(shù)操作,并獲得相關(guān)的參數(shù);第11行判斷參數(shù)a2的密鑰類型是否為私鑰,若是私鑰,則在第12行判斷密鑰的存放地址是否為空,若不為空,則在第13、14行以參數(shù)a5的密鑰長(zhǎng)度按字節(jié)輸出密鑰內(nèi)容到日志文件中。
4 實(shí)驗(yàn)驗(yàn)證
本文在進(jìn)行實(shí)驗(yàn)驗(yàn)證時(shí),使用沙盒環(huán)境創(chuàng)建虛擬機(jī),虛擬機(jī)配置為:CPU為1核,內(nèi)存512MB,硬盤40GB,操作系統(tǒng)為Windows XP SP3,選用Windows XP操作系統(tǒng)的原因是由于其在此次WannaCry攻擊過程中受影響的范圍最大。在沙盒環(huán)境中的桌面、文檔、所有人/桌面、所有人/文檔、其他目錄1及其他目錄2下依次放置相同的樣本文件,且這些樣本文件的大小和類型是不一樣的,并對(duì)樣本源文件進(jìn)行MD5哈希值[13]計(jì)算和保存,之后在沙盒中執(zhí)行WannaCry病毒樣本,感染系統(tǒng)中放置的樣本文件,采用本文實(shí)現(xiàn)的原型工具監(jiān)控WannaCry病毒的感染過程,并進(jìn)行解密,對(duì)解密后的不同目錄下的樣本文件計(jì)算MD5哈希值,并與樣本源文件的MD5哈希值進(jìn)行比較,驗(yàn)證是否解密成功。
實(shí)驗(yàn)分析,依次對(duì)不同目錄下的樣本文件進(jìn)行病毒感染以及解密,計(jì)算解密后文件的MD5哈希值,并與源文件的MD5哈希值進(jìn)行比較分析,圖3中為不同類型的文件解密情況表,14個(gè)doc文件、10個(gè)xlsx文件、9個(gè)ppt文件、9個(gè)txt文件、10個(gè)pdf文件以及10個(gè)rar文件全部被解密成功,對(duì)于不同類型的文件,使用本文的方法可以全部解密成功。圖4中為不同大小文件的解密情況表,無論對(duì)于0K的文件還是大于200M的文件都是可以完全解密成功的。圖5為桌面、文檔、所有人\桌面、所有人/文檔、其他目錄1及其他目錄2下的樣本文件解密情況表,實(shí)驗(yàn)發(fā)現(xiàn),不同目錄下的樣本文件都是可以完全解密成功的。圖6為不同目錄下對(duì)樣本文件進(jìn)行加解密時(shí)的時(shí)間情況,發(fā)現(xiàn)在桌面、文檔、所有人/桌面、所有人/文檔這四個(gè)目錄中,對(duì)于相同的樣本文件的加密時(shí)間相似,并要比其他目錄1及其他目錄2下的樣本文件的加密時(shí)間用時(shí)久,而其他目錄1及其他目錄2下的樣本文件的解密時(shí)間比桌面、文檔、所有人\桌面、所有人/文檔這四個(gè)目錄中的樣本文件的解密時(shí)間用時(shí)久,這是因?yàn)閃annaCry勒索軟件的作者根據(jù)文件的重要性對(duì)于重要目錄下的文件不僅進(jìn)行了加密操作,并且對(duì)源文件進(jìn)行了擦寫和刪除,對(duì)于不重要目錄下的文件僅做了加密操作,之后直接刪除;解密時(shí)對(duì)于重要文件優(yōu)先解密,不重要文件其次解密。
本文實(shí)現(xiàn)的基于API Hooking的原型工具在Windows 系統(tǒng)下運(yùn)行時(shí)的內(nèi)存占用情況如圖7所示:運(yùn)行時(shí)內(nèi)存占用為3700K左右,在后臺(tái)運(yùn)行時(shí)對(duì)系統(tǒng)的性能有較小的影響。
使用原型工具監(jiān)控一些進(jìn)程并測(cè)試對(duì)這些進(jìn)程的性能影響情況,圖8為這些進(jìn)程進(jìn)行API Hooking后增加的內(nèi)存占用情況,增加的內(nèi)存占用在400-500KB,對(duì)這些進(jìn)程的性能影響較小。圖9為WannaCry病毒和其他的使用相同加密API函數(shù)的進(jìn)程在進(jìn)行API Hooking后增加的運(yùn)行時(shí)間情況,進(jìn)行API Hooking后對(duì)于生成密鑰信息的進(jìn)程來講,運(yùn)行時(shí)間增加了200到300ms,而對(duì)那些沒有使用加密API函數(shù)的進(jìn)程來講,運(yùn)行時(shí)間幾乎沒有影響。
根據(jù)實(shí)驗(yàn)驗(yàn)證,本文所實(shí)現(xiàn)的基于API Hooking技術(shù)的原型工具,可以監(jiān)控到各種進(jìn)程的運(yùn)行,以及記錄下使用CryptExportKey函數(shù)的加密程序的密鑰信息,對(duì)于勒索軟件WannaCry來說,經(jīng)過實(shí)驗(yàn)驗(yàn)證可以完全的記錄下它的密鑰信息,并能夠完全解密被勒索軟件WannaCry加密的文件。本文實(shí)現(xiàn)的原型工具可以在后臺(tái)實(shí)時(shí)監(jiān)控系統(tǒng)中的進(jìn)程,并對(duì)操作系統(tǒng)和進(jìn)程的性能影響較小,可以被用戶接受。
5 結(jié)束語
本文為了實(shí)現(xiàn)對(duì)勒索軟件WannaCry的防范和解密,在仔細(xì)研究了WannaCry病毒執(zhí)行時(shí)的系統(tǒng)調(diào)用軌跡,發(fā)現(xiàn)其使用的加解密API函數(shù)和解密需要的條件,因此提出了基于API hooking的解密方法去恢復(fù)受害者的文件數(shù)據(jù),實(shí)現(xiàn)了一個(gè)初步的原型系統(tǒng),監(jiān)控操作系統(tǒng)中所有的進(jìn)程,針對(duì)這些加解密API函數(shù)進(jìn)行掛鉤,使用自定義的鉤子函數(shù)記錄下密鑰信息。同時(shí),對(duì)勒索軟件WannaCry進(jìn)行了實(shí)驗(yàn)驗(yàn)證,原型系統(tǒng)記錄下WannaCry使用的密鑰信息,并完成了對(duì)文件的解密,結(jié)果表明系統(tǒng)能夠完全的實(shí)現(xiàn)對(duì)勒索軟件WannaCry的解密,且對(duì)操作系統(tǒng)和進(jìn)程的性能影響較小,可以被用戶接受。此原型系統(tǒng)可以進(jìn)一步擴(kuò)展,以應(yīng)對(duì)同樣使用加解密API函數(shù)的勒索軟件,一旦發(fā)生勒索軟件感染,可以使用此原型系統(tǒng)記錄下的密鑰信息完成解密,減少用戶的損失。
基金項(xiàng)目:
論文獲得國(guó)家重點(diǎn)研發(fā)計(jì)劃:SDN/NFV與NDN安全研究(項(xiàng)目編號(hào):2017YFB0801703)和國(guó)家自然科學(xué)基金青年基金:基于網(wǎng)絡(luò)編碼的信息中心網(wǎng)絡(luò)研究(項(xiàng)目編號(hào):61602114)支持。
參考文獻(xiàn)
[1] 安天安全研究與應(yīng)急處理中心.勒索軟件簡(jiǎn)史[J].中國(guó)信息安全,2016(4):50-58.
[2] 石磊,孫亮.勒索軟件研究[J].無線互聯(lián)科技, 2016 (21): 41-42.
[3] 瑞星安全公司.WannaCry勒索軟件病毒分析報(bào)告[EB/OL]. http://www.freebuf.com/articles/paper/134637.html
[4] Kesheng L, Zhongshou W. The Analysis of API Hook Central Technique [J]. Network Security Technology & Application, 2006, 11: 48-50.
[5] Simmons G J. Symmetric and asymmetric encryption[J]. ACM Computing Surveys (CSUR), 1979, 11(4): 305-330.
[6] 騰訊電腦管家安全團(tuán)隊(duì).WannaCry勒索病毒詳細(xì)解讀[EB/OL]. http://www.freebuf.com/articles/system/135196.html.
[7] Shaid S Z M, Maarof M A. In memory detection of Windows API call hooking technique[C]//Computer, Communications, and Control Technology (I4CT), 2015 International Conference on. IEEE, 2015: 294-298.
[8] 蘇雪麗,袁丁. Windows 下兩種 API 鉤掛技術(shù)的研究與實(shí)現(xiàn)[J]. 計(jì)算機(jī)工程與設(shè)計(jì), 2011, 32(7): 2548-2552.
[9] Adrien Guinet. A WannaCry Flaw Could Help Some Victim Get Files Back[EB/OL]. https://www.wired.com/2017/05/wannacry-flaw-help-windows-xp-victims-get-files-back/
[10] Kolodenker E, Koch W, Stringhini G, et al. PayBreak: Defense against cryptographic ransomware[C]//Proceedings of the 2017 ACM on Asia Conference on Computer and Communications Security. ACM, 2017: 599-611.
[11] Kharraz A, Arshad S, Mulliner C, et al. UNVEIL: A Large-Scale, Automated Approach to Detecting Ransomware[C]//USENIX Security Symposium. 2016: 757-772.
[12] Wright W, Schroh D, Proulx P, et al. The Sandbox for analysis: concepts and methods[C]//Proceedings of the SIGCHI conference on Human Factors in computing systems. ACM, 2006: 801-810.
[13] Wang X, Yu H. How to break MD5 and other hash functions[C]//Eurocrypt. 2005, 3494: 19-35.