Google 知名漏洞研究人員 Tavis Ormandy 開源了一個(gè)可以將 Windows DLL 加載到 Linux 的庫(kù)loadlibrary,該庫(kù)允許原生 Linux 程序從 Windows DLL 加載和調(diào)用函數(shù)。庫(kù)中包含一個(gè)自 ndiswrapper 派生的自定義 PE/COFF 加載器。該庫(kù)將處理重定位和導(dǎo)入,并提供類dlopenAPI。
Tavis 表示,Windows上的分布式、可擴(kuò)展的模糊測(cè)試可能具有挑戰(zhàn)性且效率低下。對(duì)于使用跨內(nèi)核和用戶空間的復(fù)雜互連組件的端安全產(chǎn)品尤其如此。這通常需要顛覆整個(gè)虛擬化的 Windows 環(huán)境以對(duì)其進(jìn)行模糊測(cè)試。但是在 Linux 上,這不是什么大問題,如果可以將 Windows 殺毒軟件的組件移植到 Linux,那么就可以在最小的容器中運(yùn)行測(cè)試代碼,而開銷卻很小,并且可以輕松地?cái)U(kuò)展測(cè)試范圍。
loadlibrary 的目的是允許在 Linux 上對(duì)自包含的 Windows 庫(kù)進(jìn)行可擴(kuò)展和有效的模糊測(cè)試,包括視頻編解碼器、解壓縮庫(kù)、病毒掃描程序與圖像解碼器等??梢赃M(jìn)行:
C++ 異常調(diào)度和釋放。
從 IDA 加載其它字符。
使用 gdb、斷點(diǎn)、堆棧跟蹤等進(jìn)行調(diào)試
運(yùn)行時(shí) hook 和補(bǔ)丁。
支持 ASAN 和 Valgrind 以檢測(cè)細(xì)微的內(nèi)存損壞錯(cuò)誤。
作為演示,Tavis 目前已經(jīng)將 Windows Defender 移植到了 Linux。
-
Google
+關(guān)注
關(guān)注
5文章
1765瀏覽量
57536 -
Linux
+關(guān)注
關(guān)注
87文章
11304瀏覽量
209540
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論