谷歌知名研究員開源 loadlibrary:將 Windows DLL 加載到 Linux


谷歌知名研究員開源 loadlibrary:將 Windows DLL 加載到 Linux


Google 知名漏洞研究人員 Tavis Ormandy 開源了一個可以將 Windows DLL 加載到 Linux 的庫 loadlibrary,該庫允許原生 Linux 程序從 Windows DLL 加載和調用函數。

庫中包含一個自 ndiswrapper 派生的自定義 PE/COFF 加載器。該庫將處理重定位和導入,並提供類 dlopen API。

Tavis 表示,Windows 上的分佈式、可擴展的模糊測試可能具有挑戰性且效率低下。對於使用跨內核和用戶空間的複雜互連組件的端安全產品尤其如此。這通常需要顛覆整個虛擬化的 Windows 環境以對其進行模糊測試。但是在 Linux 上,這不是什麼大問題,如果可以將 Windows 殺毒軟件的組件移植到 Linux,那麼就可以在最小的容器中運行測試代碼,而開銷卻很小,並且可以輕鬆地擴展測試範圍。

loadlibrary 的目的是允許在 Linux 上對自包含的 Windows 庫進行可擴展和有效的模糊測試,包括視頻編解碼器、解壓縮庫、病毒掃描程序與圖像解碼器等。可以進行:

  • C++ 異常調度和釋放。
  • 從 IDA 加載其它字符。
  • 使用 gdb、斷點、堆棧跟蹤等進行調試
  • 運行時 hook 和補丁。
  • 支持 ASAN 和 Valgrind 以檢測細微的內存損壞錯誤。

作為演示,Tavis 目前已經將 Windows Defender 移植到了 Linux。


分享到:


相關文章: