LoadLibrary, Windows DLL-lərini Linux proqramlarına yükləmək üçün bir təbəqə

Tavis Ormandy (Tavis ormandy), layihəni inkişaf etdirən Google-da təhlükəsizlik tədqiqatçısı Yük kitabxanası, Linux proqramlarında istifadə üçün Windows üçün tərtib edilmiş DLL-lərin daşınması məqsədi daşıyır. Layihə PE/COFF formatında DLL faylını yükləyə və orada müəyyən edilmiş funksiyaları çağıra biləcəyiniz təbəqə kitabxanası təqdim edir. PE/COFF yükləyicisi koda əsaslanır sarğıçı. Layihə kodu yayılır GPLv2 altında lisenziyalıdır.

LoadLibrary kitabxananın yaddaşa yüklənməsinə və mövcud simvolların idxalına diqqət yetirir, Linux tətbiqini dlopen tipli API ilə təmin edir. Plug-in kodu gdb, ASAN və Valgrind istifadə edərək sazlana bilər. İcra zamanı icra olunan kodu qarmaqları birləşdirərək və yamaqlar tətbiq etməklə tənzimləmək mümkündür (iş vaxtı yamaqları). C++ üçün istisnaların idarə edilməsini və açılmasını dəstəkləyir.

Layihənin məqsədi Linux-əsaslı mühitdə DLL kitabxanalarının miqyaslana bilən və səmərəli paylanmış fuzzing testini təşkil etməkdir. Windows-da qeyri-müəyyənlik və əhatə dairəsi testi çox səmərəli deyil və tez-tez Windows-un ayrıca virtuallaşdırılmış nümunəsini işə salmağı tələb edir, xüsusən də nüvəni və istifadəçi sahəsini əhatə edən antivirus proqramı kimi mürəkkəb məhsulları təhlil etməyə çalışarkən. LoadLibrary istifadə edərək, Google tədqiqatçıları video kodeklərdə, virus skanerlərində, məlumatların dekompressiya kitabxanalarında, təsvir dekoderlərində və s. zəiflikləri axtarırlar.

Məsələn, LoadLibrary-nin köməyi ilə biz Windows Defender antivirus mühərrikini Linux-da işləmək üçün porta qoya bildik. Windows Defender-in əsasını təşkil edən mpengine.dll-in öyrənilməsi müxtəlif formatlar üçün çoxlu sayda mürəkkəb prosessorları, fayl sistemi emulyatorlarını və potensial olaraq vektorları təmin edən dil tərcüməçilərini təhlil etməyə imkan verdi. mümkündür hücumlar.

LoadLibrary də müəyyən etmək üçün istifadə edilmişdir uzaqdan zəiflik Avast antivirus paketində. Bu antivirusdan DLL-ni öyrənərkən məlum oldu ki, əsas imtiyazlı skan prosesinə üçüncü tərəf JavaScript kodunun icrasını təqlid etmək üçün istifadə edilən tam hüquqlu JavaScript tərcüməçisi daxildir. Bu proses sandbox mühitində təcrid olunmur, imtiyazları sıfırlamır və fayl sistemindən və ələ keçirilmiş şəbəkə trafikindən yoxlanılmamış xarici məlumatları təhlil edir. Bu mürəkkəb və qorunmayan prosesdəki hər hansı bir zəiflik potensial olaraq bütün sistemin uzaqdan kompromisə səbəb ola biləcəyi üçün LoadLibrary əsasında xüsusi qabıq hazırlanmışdır. avscript Linux əsaslı mühitdə Avast antivirus skanerində zəiflikləri təhlil etmək.

Mənbə: opennet.ru

Добавить комментарий