Google 知名漏洞研究人員 Tavis Ormandy 開源了一個(gè)可以將 Windows DLL 加載到 Linux 的庫loadlibrary,該庫允許原生 Linux 程序從 Windows DLL 加載和調(diào)用函數(shù)。庫中包含一個(gè)自 ndiswrapper 派生的自定義 PE/COFF 加載器。該庫將處理重定位和導(dǎo)入,并提供類dlopenAPI。
Tavis 表示,Windows上的分布式、可擴(kuò)展的模糊測試可能具有挑戰(zhàn)性且效率低下。對于使用跨內(nèi)核和用戶空間的復(fù)雜互連組件的端安全產(chǎn)品尤其如此。這通常需要顛覆整個(gè)虛擬化的 Windows 環(huán)境以對其進(jìn)行模糊測試。但是在 Linux 上,這不是什么大問題,如果可以將 Windows 殺毒軟件的組件移植到 Linux,那么就可以在最小的容器中運(yùn)行測試代碼,而開銷卻很小,并且可以輕松地?cái)U(kuò)展測試范圍。
loadlibrary 的目的是允許在 Linux 上對自包含的 Windows 庫進(jìn)行可擴(kuò)展和有效的模糊測試,包括視頻編解碼器、解壓縮庫、病毒掃描程序與圖像解碼器等??梢赃M(jìn)行:
C++ 異常調(diào)度和釋放。
從 IDA 加載其它字符。
使用 gdb、斷點(diǎn)、堆棧跟蹤等進(jìn)行調(diào)試
運(yùn)行時(shí) hook 和補(bǔ)丁。
支持 ASAN 和 Valgrind 以檢測細(xì)微的內(nèi)存損壞錯(cuò)誤。
作為演示,Tavis 目前已經(jīng)將 Windows Defender 移植到了 Linux。
-
Google
+關(guān)注
關(guān)注
5文章
1812瀏覽量
60619 -
Linux
+關(guān)注
關(guān)注
88文章
11806瀏覽量
219490
發(fā)布評論請先 登錄
使用TinyFPGA-Bootloader將比特流加載到FPGA
FLASH中的代碼是如何得到運(yùn)行的呢
Linux內(nèi)核模塊的加載機(jī)制
在Windows和Linux環(huán)境下分別使用Olimex和蜂鳥調(diào)試器下載程序
飛凌嵌入式ElfBoard-Vim編輯器之windows與ubuntu系統(tǒng)互傳文件
N9H30如何從SPI閃存將應(yīng)用程序加載到RAM地址0x0?
如何將源地址 FCANFDx FiF 0 加載到 DMA 線的 SRC 寄存器中?
CX3無法將固件加載到SPI閃存如何解決?
Windows 與 Linux 系統(tǒng)切換:聚徽工控一體機(jī)的系統(tǒng)遷移避坑經(jīng)驗(yàn)
CY7C68013A無法加載EEPROM中的程序是為什么?
不借助Linux系統(tǒng),在Windows下如何搭建ZMC900E交叉編譯環(huán)境
可以將Windows DLL加載到Linux的開源loadlibrary
評論