閱讀506 返回首頁    go 阿裏雲 go 技術社區[雲棲]


加密軟件 VeraCrypt 審計報告公布,發現多個高危漏洞

在 DuckDuckGo 和 VikingVPN 的資助下,QuarksLab 最近對開源加密軟件 VeraCrypt 進行了安全審計。此次審計發現了 8個高危漏洞和 10 多個中低級別的漏洞。

關於VeraCrypt

VeraCrypt 是一款非常流行的磁盤加密軟件,它基於 TrueCrypt 7.1a 開發(在 2014 年 TrueCrypt 突然關閉之後才啟動的這個項目),因此可以把它看成是 TrueCrypt 的分支 。在 TrueCrypt 停用之後,VeraCrypt 接過了 TrueCrypt 的鋼槍,迅速成為了一款十分受歡迎的加密軟件。其開發者為法國的 Mounir Idrassi,現在是由 IDRIX 團隊在負責維護,相比 TrueCrypt ,VeraCrypt 在防暴力破解方麵造詣更深。

VeraCrypt 有著十分龐大的用戶群,記者、安全從業人員以及很多其他用戶,他們都是 VeraCrypt 的忠實粉絲。正是因為用戶數量龐大(本身也存在一些漏洞),OSTIF(一個開源技術改進基金)才同意獨立審計 VeraCrypt,並於今年8月聘請了 QuarksLab 研究人員主導這次審計。

發現數個高危漏洞

這次安全審計的源代碼來自 VeraCrypt 1.18 版本和 VeraCrypt DCS EFI Bootloader 1.18 版本,重點聚焦在上次審查後,這款應用引入的新特性上。另外此次安全審計僅針對 Windows 版本,OS X 和 Linux 版本不在審計範圍之內。另外,使用的SHA-2 值為:

  • VeraCrypt_1.18_Source.zip : 12c1438a9d2467dcfa9fa1440c3e4f9bd5e886a038231d7931aa2117fef3a5c5
  • VeraCrypt-DCS-EFI-LGPL_1.18_Source.zip : 2e8655b3b14ee427320891c08cc7f52239378ee650eb28bad9531371e7c64ae3

這次審計牽扯到方方麵麵,既要熟悉操作係統,Windows 內核,係統啟動鏈,又要對密碼學有了解。總之,就是對參與人員的素質要求非常高。安全專家們對 VeraCrypt 1.18 版本和 VeraCrypt DCS EFI Bootloader 1.18 版本進行了一個月的分析後,總結了一份長達42頁的審計報告。 

在 VeraCrypt 1.18 版本中,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何時能修複?

 原文發布時間為:2016-10-22

本文來自雲棲社區合作夥伴“Linux中國”

最後更新:2017-06-06 07:32:23

  上一篇:go  用 Ansible 來交付 Vagrant 實例
  下一篇:go  開發者的實用 Vim 插件(一)