رکن چهارم – یکی از توسعهدهندگان شرکت Dutch یک روتکیت را توسعه داده که در داخل ماژولهای کارگزار پیاچپی مخفی میشود. او همچنین توضیح داده است چرا این روتکیت نسبت به نمونههای کلاسیک خطرناکتر است. با استفاده از این روتکیت میتوان یک کارگزار وب را بهطور کامل از کار انداخت.
در حالیکه روتکیتهای کلاسیک در سطوح پایین سامانه عامل عمل میکنند و میتوانند برای اجرای عملیات مخرب خود، عملیات سطح هسته را شنود کنند، این محقق تلاش کرده تا روتکیتی را توسعه دهد که با مفسر پیاچپی تعامل داشته و نیازی به عملیات پیچیده و ارتباط با هستهی سامانه عامل نداشته باشد.
این محقق توضیح داد: «یکی از دلایل بدیهی برای اینکه شما یک روتکیت را مانند یک ماژول پیاچپی طراحی میکنید، دسترسپذیری آن است. فهم زبانی که پیاچپی با آن کار میکند بسیار راحتتر از نوشتن ماژولهایی برای هستهی سامانه عامل است. بدون هیچگونه پروندهای برای یادگیری چارچوب پیاچپی، من در عرض یک روز توانستم ماژول پیاچپی را طراحی و پیادهسازی کنم. در حالیکه من توانستم این کار را انجام دهم، پس مهاجمان هم میتوانند.»
ماژولی که این محقق توسعه داده، به مهاجمان اجازه میدهد تا بر روی کارگزار مورد نظر به سازوکار ماندگار برسد بدن اینکه توسط راهحلهای امنیتی شناسایی شود. این توسعهدهنده اعلام کرده استفاده از ماژولهای پیاچپی برای مخفی کردن روتکیت به دلایل زیر بسیار مؤثر واقع میشود. این دلایل عبارتند از:
- دسترسپذیری: نوشتن یک روتکیت در قالب یک ماژول پیاچپی بسیار سادهتر از یاد گرفتن این است که چگونه برای هستهی یک سامانه عامل ماژول بنویسیم. توسعهدهندگان میتوانند از تکههای کوچک کد استفاده کرده بهطوری که این محقق اعلام کرده در عرض یک روز توانسته است یک ماژول را طراحی و پیادهسازی کند.
- پایداری: روتکیتها برای اجرا در سطح هسته طراحی شدهاند، بهعبارت دیگر اگر بدافزار مورد نظر بهطور ضعیف طراحی شده باشد میتواند منجر به درهم شکستن سامانه شود. نوشتن یک روتکیت در قالب ماژولهای پیاچپی این مسئله را حل کرده است و ماژول پیاچپی که به خوبی طراحی نشده باشد، باعث فروپاشیِ کل سامانه نمیشود. در بدترین سناریو، اشتباه در نگارش روتکیت میتواند منجر به خرابی بخشبندی شده و تنها به درخواستِ جاری پاسخ داده نشود.
- قابلیت شناسایی: روتکیتهای پیاچپی به سختی شناسایی میشوند چرا که روند مشخصی برای بررسی ماژولهای پیاچپی وجود ندارد. علاوه بر این، روتکیتهای هسته برای اجرای هر فرآیندی نیاز به قلاب کردن فراخوانهای سامانهای دارند که این باعث کُندتر شدن عملیات سامانه شده و میتواند مشکوک به نظر برسد.
- قابلیت حمل: روتکیتهای پیاچپی چند بستری هستند چرا که پیاچپی مستقل از بستر، میتواند بر روی تمامی چارچوبها اجرا شده و مورد استفاده قرار بگیرد.
این توسعهدهنده برای اثبات مفهومی آنچه که اعلام کرده، یک روتکیت پیاچپی را در گیتهاب بهطور عمومی منتشر کرده است. این پروژه در قالب برنامههای متنباز ارائه شده است. این روتکیت از ۸۰ خط کد تشکیل شده و برای یک مهاجم مخفی کردن آن در داخل سایر ماژولها کار بسیار آسانی است. برای جلوگیری از بهرهبرداری از این روتکیت، این توسعهدهنده بخشهایی از کد را حذف کرده تا کامپایل آن برای افرادی غیرمتخصص در حوزهی پیاچپی سختتر شود.
در ادامه پیشنهاداتی را برای مدیران سامانهها ارائه کردهایم که در ادامه مشاهده میکنید. پس از نصب پیاچپی فهرستی از مقادیر درهمسازی ماژولها را تهیه کنید. مدیران میتوانند از ابزارهای ویژهای استفاده کنند تا مقادیر درهمسازی پروندهها در پوشههای افزونهها را محاسبه کرده و آنها را با مقادیر جاری مقایسه کند. این محقق همچنین یک اسکریپت پایتون را توسعه داده که با استفاده از آن میتوان مقادیر درهمسازی SHA۱ را برای ماژولهای مختلف محاسبه کرد.
منبع : news.asis.io