LoadLibrary, Windows DLL-ները Linux հավելվածներում բեռնելու շերտ

Թևիս Օրմանդի (Թավիս օրմանդին), Google-ի անվտանգության հետազոտող, ով մշակում է նախագիծը Loadlibrary, որն ուղղված է Windows-ի համար կազմված DLL-ների տեղափոխմանը Linux հավելվածներում օգտագործելու համար: Նախագիծը ապահովում է շերտերի գրադարան, որով կարող եք բեռնել DLL ֆայլը PE/COFF ձևաչափով և զանգահարել դրանում սահմանված գործառույթները։ PE/COFF bootloader-ը հիմնված է կոդի վրա փաթաթող. Ծրագրի կոդը տարածվում է լիցենզավորված GPLv2-ի համաձայն:

LoadLibrary-ն հոգ է տանում գրադարանը հիշողության մեջ բեռնելու և առկա սիմվոլների ներմուծման մասին՝ Linux հավելվածին տրամադրելով dlopen ոճի API: Plug-in կոդը կարող է կարգաբերվել gdb-ի, ASAN-ի և Valgrind-ի միջոցով: Կատարման ընթացքում հնարավոր է կարգավորել գործարկվող կոդը՝ միացնելով կեռիկներ և կիրառելով patches (runtime patching): Աջակցում է C++-ի համար բացառությունների մշակումն ու լուծարումը:

Ծրագրի նպատակն է կազմակերպել DLL գրադարանների մասշտաբային և արդյունավետ բաշխված fuzzing թեստավորում Linux-ի վրա հիմնված միջավայրում: Windows-ում անորոշության և ծածկույթի փորձարկումն այնքան էլ արդյունավետ չէ և հաճախ պահանջում է Windows-ի առանձին վիրտուալացված օրինակ գործարկել, հատկապես, երբ փորձում են վերլուծել բարդ արտադրանքները, ինչպիսիք են հակավիրուսային ծրագրերը, որոնք ընդգրկում են միջուկը և օգտագործողի տարածքը: LoadLibrary-ի միջոցով Google-ի հետազոտողները որոնում են խոցելիություններ վիդեո կոդեկներում, վիրուսային սկաներներում, տվյալների ապակոմպրեսիոն գրադարաններում, պատկերների ապակոդավորիչներում և այլն:

Օրինակ, LoadLibrary-ի օգնությամբ մենք կարողացանք միացնել Windows Defender հակավիրուսային շարժիչը՝ Linux-ում աշխատելու համար: mpengine.dll-ի ուսումնասիրությունը, որը կազմում է Windows Defender-ի հիմքը, հնարավորություն է տվել վերլուծել մեծ թվով բարդ պրոցեսորներ տարբեր ձևաչափերի, ֆայլային համակարգերի էմուլյատորների և լեզվի թարգմանիչների համար, որոնք կարող են վեկտորներ տրամադրել: հնարավոր է գրոհներ.

Նույնականացման համար օգտագործվել է նաև LoadLibrary հեռավոր խոցելիություն Avast հակավիրուսային փաթեթում: Այս հակավիրուսից DLL-ն ուսումնասիրելիս պարզվեց, որ հիմնական արտոնյալ սկանավորման գործընթացը ներառում է JavaScript-ի լիարժեք թարգմանիչ, որն օգտագործվում է երրորդ կողմի JavaScript կոդի կատարումը նմանակելու համար: Այս գործընթացը մեկուսացված չէ Sandbox միջավայրում, չի վերակայում արտոնությունները և վերլուծում է չստուգված արտաքին տվյալները ֆայլային համակարգից և գաղտնալսված ցանցային տրաֆիկից: Քանի որ այս բարդ և անպաշտպան գործընթացում ցանկացած խոցելիություն կարող է հանգեցնել ամբողջ համակարգի հեռահար վտանգի, LoadLibrary-ի հիման վրա մշակվել է հատուկ շերտ: avscript վերլուծել Avast հակավիրուսային սկաների խոցելիությունը Linux-ի վրա հիմնված միջավայրում:

Source: opennet.ru

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