امکان دور زدن مکانیسمهای امنیتی ویندوز از طریق ربودن DLL
محققان امنیتی نوع جدیدی از تکنیک ربودن DLL کشف کردهاند که میتواند توسط مهاجمان برای دور زدن مکانیسمهای امنیتی و اجرای کدهای مخرب در سیستمهایی با ویندوز 10 و 11 استفاده شود.
این ترفند از فایلهای ویژه در پوشه WinSxS استفاده میکند و از یک روش جستجوی کلاسیک DLL بهره میبرد. با انجام این کار، سیستم را فریب میدهد و به مهاجم اجازه عبور از سدهای امنیتی و ورود داده شود. این اقدام به مهاجمان اجازه میدهد تا بدون نیاز به دسترسی بالا، کد دلخواه را در سیستم قربانی اجرا کنند و حتی بدافزار خود را برای مجموعهای از حملات، به سیستم قربانی وارد کنند.
DLL search order hijacking یک تکنیک پیچیده است که توسط مهاجمان برای به هم ریختن ترتیب بارگیری DLL استفاده میشود. این DLLها برای اجرای برنامهها بر روی کامپیوتر ضروری هستند. مهاجمان با استفاده از نقاط ضعف در نحوه جستجو و بارگذاری این کتابخانهها توسط ویندوز، میتوانند کد مخرب خود را اجرا کنند.
این حملات بر روی برنامههایی متمرکز میشوند که به صراحت اشاره نمیکنند که در چه مسیری DLLهای مورد نیاز خود را پیدا میکنند. درعوض، آنها برای یافتن این DLLهای ضروری روی رایانه، بر روی یک ترتیب تعیین شده تکیه میکنند. مهاجمان از این اتکا به یک دنباله جستجوی از پیش تعریف شده برای نفوذ مخفیانه و دستکاری فرآیند بارگذاری، بهرهبرداری می کنند و باعث میشوند که سیستم ناخواسته، از کد مخرب به جای کتابخانههای ایمن مورد نظر استفاده کند.
هنگامی که یک برنامه نیاز به استفاده از یک DLL دارد، آن را در مکان و ترتیب خاصی جستجو میکند؛ همانند جستجوی کتاب در یک کتابخانه، اما کامپیوتر مجموعه قوانین خاص خود را دارد که ترتیب آن به شرح زیر است:
1. ابتدا پوشهای که خود برنامه در آن در حال اجراست را بررسی میکند.
2. اگر DLL را در آنجا پیدا نکرد، در “C:\Windows\System32” بررسی میکند.
3. سپس، “C:\Windows\System” را بررسی میکند.
4. سپس، در پوشه “C:\Windows” شروع به جستوجو میکند.
5. پس از آن، در دایرکتوریهای فهرست شده در لیست PATH ویژه سیستم به جستوجو میپردازد.
6. در نهایت، دایرکتوریهای فهرست شده در لیست PATH کاربر را بررسی میکند.
بنابراین، مانند این است که رایانه این فرآیند گام به گام را طی میکند و با بررسی مکانهای مختلف، DLL مورد نیاز خود را پیدا میکند. این سیستم برای برنامهها مفید است، اما فرصتهایی را نیز برای حملات پنهانی مهیا میکند، مانند ربودن دستور جستجوی DLL که درمورد آن توضیح داده شد.
بررسیهای صورت گرفته نشان میدهد که تمرکز مهاجمان بر روی “C:\Windows\WinSxS” است که مخفف Windows side-by-side میباشد و بخش مهمی از ویندوز است. این بخش یک جزء حیاتی ویندوز است که برای سفارشیسازی و بهروزرسانی سیستمعامل برای اطمینان از سازگاری و یکپارچگی استفاده میشود.
مهاجمان به دنبال نقاط ضعف در برخی فایلهای ذخیره شده (مانند ngentask.exe و aspnet_wp.exe) در پوشه WinSxS ویندوز میگردند. سپس از ترکیبی از تکنیکها استفاده میکنند، از جمله به هم ریختن روشهای معمولی که ویندوز DLLها را پیدا کرده و بارگذاری میکند.
توصیههای امنیتی
قرار دادن یک لایه دفاعی اضافی، بررسی دقیق روابط parent-child در میان فرآیندها، نظارت دقیق بر فعالیتهای انجام شده توسط فایلهای واقع در پوشه WinSxS، با تاکید خاص بر network communications و file operations، میتواند جهت جلوگیری از حملات مهاجمان بسیار موثر واقع شود.