在 DuckDuckGo 和 VikingVPN 的資助下,QuarksLab 最近對開源加密軟體 VeraCrypt 進行了安全審計。此次審計發現了8個高危漏洞和10多個中低級別的漏洞。
VeraCrypt是一款非常流行的磁碟加密軟體,它基於TrueCrypt 7.1a開發(在2014年TrueCrypt突然關閉之後才啟動的這個項目),因此可以把它看成是TrueCrypt的分支 。在TrueCrypt停用之後,VeraCrypt接過了TrueCrypt的鋼槍,迅速成為了一款十分受歡迎的加密軟體。其開發者為法國的 Mounir Idrassi,現在是由IDRIX團隊在負責維護,相比TrueCrypt ,VeraCryp在防暴力破解方面造詣更深。
VeraCrypt有著十分龐大的用戶群,記者、安全從業人員以及很多其他用戶,他們都是VeraCrypt的忠實粉絲。正是因為用戶數量龐大(本身也存在一些漏洞),OSTIF(一個開源技術改進基金)才同意獨立審計VeraCrypt,並於今年8月聘請了QuarksLab研究人員主導這次審計。
這次安全審計的原始碼來自VeraCrypt 1.18版本和VeraCrypt DCS EFI Bootloader 1.18版本,重點聚焦在上次審查後,這款應用引入的新特性上。另外此次安全審計僅針對windows版本,OS X 和Linux不在審計範圍之內。另外,使用的SHA-2值為:
1.VeraCrypt_1.18_Source.zip :
12c1438a9d2467dcfa9fa1440c3e4f9bd5e886a038231d7931aa2117fef3a5c5
2.VeraCrypt-DCS-EFI-LGPL_1.18_Source.zip :
2e8655b3b14ee427320891c08cc7f52239378ee650eb28bad9531371e7c64ae3
這次審計牽扯到方方面面,既要熟悉作業系統,Windows內核,系統啟動鏈,又要對密碼學有了解。總之,就是對參與人員的素質要求非常高。安全專家們對VeraCrypt平臺1.18版本和UEFI 1.18版本進行了一個月的分析後,總結了一份長達42頁的審計報告(下載連結見文末)。
在VeraCrypt1.8版本中,UEFI支持是其最重要的功能之一,這部分代碼存儲在一個名為VeraCrypt-DCS的單獨庫中。但跟其他功能比起來,由於某些功能的欠缺,這個特性還是顯得不夠成熟。
研究人員發現,黑客能夠在UEFI模式下輕鬆獲取到啟動密碼——在用戶變更密碼的時候,VeraCrypt未能正確將其擦除。
bootloader處理的數據一般不會被擦除。一般來說,啟動時用戶密碼會被正確清除。但在用戶修改密碼時,包含新密碼的密碼結構則不會被擦除。實際上,TrueCrypt和VeraCrypt的開發人員有仔細檢查內存中的數據是否被正確清除。但DCS模塊顯然沒有被納入到檢查範圍內。
除此之外,還有一些高危的漏洞也被檢查出來。其餘的高危漏洞和GOST 28147-89對稱分組密碼的實施過程相關。
在VeraCrypt發布的1.19版本中,修復了報告披露的部分漏洞,而部分漏洞因為其複雜性尚未修復。已經修復的漏洞包括:VeraCrypt使用了舊版本的zlib庫,1.19版移除了舊版本用新版本替換;移除GOST 28147-89加密選項,原因是其實現不安全;修復了多個UEFI支持問題。
值得一提的是,James Forshaw在TrueCrypt驅動中發現的一個漏洞也被修復,該漏洞可以實現提權,而在OCAP審計報告中並沒有提及到該漏洞。對於需要大量修改代碼或架構的漏洞,VeraCrypt暫時還沒有修復。包括:
TC_IOCTL_OPEN_TEST,multiple issues
EncryptDataUnits() lacks error handling
AES implementation susceptible to cache-timing attacks
另外,涉及到密碼機制的相關漏洞也未修復,包括:
Keyfile mixing is not cryptographically sound
Unauthenticated ciphertext in volume headers
毫無疑問,這種類型的審計不僅對用戶安全非常重要,而且也加快了bug的發現和修復進程。現在我們更關注的是,其他的bug何時能修復?
QuarksLab報告全文連結:報告全文
來自:FreeBuff