LoadLibrary၊ Windows DLLs များကို Linux အပလီကေးရှင်းများသို့ တင်ရန် အလွှာ

တာဗစ် အော်မန်ဒီ (Tavis ormandyပရောဂျက်ကို ဖန်တီးနေသည့် Google မှ လုံခြုံရေးသုတေသီ စာကြည့်တိုက်Linux အပလီကေးရှင်းများတွင်အသုံးပြုရန်အတွက် Windows အတွက်စုစည်းထားသော DLLs များကို porting ပြုလုပ်ရန် ရည်ရွယ်သည်။ ပရောဂျက်သည် DLL ဖိုင်ကို PE/COFF ဖော်မတ်ဖြင့် တင်နိုင်ပြီး ၎င်းတွင် သတ်မှတ်ထားသည့် လုပ်ဆောင်ချက်များကို ခေါ်ဆိုနိုင်သည့် အလွှာစာကြည့်တိုက်ကို ပံ့ပိုးပေးပါသည်။ PE/COFF bootloader သည် ကုဒ်ပေါ်တွင် အခြေခံသည်။ စွန့်ပစ်ပစ္စည်း. ပရောဂျက်ကုဒ် ဖြန့်ဝေသည် GPLv2 အောက်တွင် လိုင်စင်ရထားသည်။

LoadLibrary သည် စာကြည့်တိုက်အား မမ်မိုရီထဲသို့ ထည့်သွင်းခြင်းနှင့် ရှိပြီးသား သင်္ကေတများကို တင်သွင်းခြင်း၊ Linux အပလီကေးရှင်းအား dlopen-စတိုင် API ဖြင့် ပံ့ပိုးပေးပါသည်။ ပလပ်အင်ကုဒ်ကို gdb၊ ASAN နှင့် Valgrind တို့ကို အသုံးပြု၍ အမှားရှာနိုင်သည်။ ချိတ်များကိုချိတ်ဆက်ပြီး ဖာထေးမှုများ (runtime patching) ကိုအသုံးပြုခြင်းဖြင့် executable code ကိုချိန်ညှိနိုင်သည်။ C++ အတွက် ခြွင်းချက် ကိုင်တွယ်ခြင်းနှင့် ဖြေလျှော့ခြင်းကို ပံ့ပိုးပေးသည်။

ပရောဂျက်၏ရည်ရွယ်ချက်မှာ Linux-based ပတ်၀န်းကျင်တွင် DLL စာကြည့်တိုက်များ၏ အတိုင်းအတာနှင့် ထိရောက်စွာ ဖြန့်ဝေနိုင်သော စမ်းသပ်မှုများကို စုစည်းရန်ဖြစ်သည်။ Windows တွင်၊ fuzzing နှင့် coverage testing သည် အလွန်ထိရောက်မှု မရှိသည့်အပြင် အထူးသဖြင့် kernel နှင့် user space တို့ကို ချဲ့ထွင်သည့် ဗိုင်းရပ်စ်ဆော့ဖ်ဝဲကဲ့သို့သော ရှုပ်ထွေးသောထုတ်ကုန်များကို ခွဲခြမ်းစိတ်ဖြာရန် ကြိုးပမ်းသည့်အခါတွင် သီးခြား virtualized ဥပမာတစ်ခုကို လုပ်ဆောင်ရန် လိုအပ်ပါသည်။ LoadLibrary ကိုအသုံးပြု၍ Google သုတေသီများသည် ဗီဒီယိုကုဒ်ဒစ်များ၊ ဗိုင်းရပ်စ်စကင်နာများ၊ ဒေတာချုံ့ချဲ့သည့်စာကြည့်တိုက်များ၊ ရုပ်ပုံဒီကုဒ်ကိရိယာများ စသည်တို့တွင် အားနည်းချက်များကို ရှာဖွေနေကြသည်။

ဥပမာအားဖြင့်၊ LoadLibrary ၏အကူအညီဖြင့် Windows Defender antivirus အင်ဂျင်ကို Linux တွင်လည်ပတ်ရန် port လုပ်နိုင်ခဲ့သည်။ Windows Defender ၏အခြေခံဖြစ်သော mpengine.dll ၏လေ့လာမှုသည် ပုံစံအမျိုးမျိုးအတွက် ခေတ်မီဆန်းပြားသော ပရိုဆက်ဆာအများအပြားကို ခွဲခြမ်းစိတ်ဖြာနိုင်စေခဲ့သည် ဖြစ်နိုင်သည်။ တိုက်ခိုက်မှုများ.

LoadLibrary ကို ဖော်ထုတ်ရန်လည်း အသုံးပြုခဲ့သည်။ အဝေးမှ အားနည်းချက် Avast antivirus package တွင်။ ဤဗိုင်းရပ်စ်ပိုးမှ DLL ကိုလေ့လာသောအခါတွင် အဓိကအခွင့်ထူးခံစကန်ဖတ်ခြင်းလုပ်ငန်းစဉ်တွင် Third-party JavaScript ကုဒ်၏လုပ်ဆောင်မှုကိုအတုယူရန်အသုံးပြုသည့် ပြည့်စုံသော JavaScript စကားပြန်တစ်ခုပါဝင်ကြောင်း တွေ့ရှိရပါသည်။ ဤလုပ်ငန်းစဉ်ကို sandbox ပတ်ဝန်းကျင်တွင် သီးခြားမခွဲထားဘဲ၊ အခွင့်ထူးများကို ပြန်လည်သတ်မှတ်ခြင်းမရှိသည့်အပြင် ဖိုင်စနစ်မှ မစစ်ဆေးရသေးသော ပြင်ပဒေတာများကို ပိုင်းခြားစိတ်ဖြာပြီး ကြားဖြတ်ခံထားရသော ကွန်ရက်လမ်းကြောင်းကို ခွဲခြမ်းစိပ်ဖြာထားသည်။ ဤရှုပ်ထွေးပြီး အကာအကွယ်မရှိသော လုပ်ငန်းစဉ်ရှိ မည်သည့်အားနည်းချက်မဆို စနစ်တစ်ခုလုံး၏ အဝေးထိန်းအပေးအယူကို ဖြစ်ပေါ်စေနိုင်သောကြောင့် LoadLibrary ကို အခြေခံ၍ အထူး shell ကို တီထွင်ခဲ့သည်။ avscript Linux အခြေခံ ပတ်ဝန်းကျင်ရှိ Avast antivirus scanner တွင် အားနည်းချက်များကို ပိုင်းခြားစိတ်ဖြာရန်။

source: opennet.ru

မှတ်ချက် Add