روتکیتها، تهدیداتی پنهان
خبرگزاری امنیت فناوری اطلاعات دورانتاش :
ترجمه و تلخیص: توفیق رمضاننیا
اشاره: شاید اولین باری که مبحث روتکیتها مطرح شد، هیچکس فکر نمیکرد این تهدید تازه وارد قرار است به نسل جدیدی از تهدیدات پیچیده و خطرناکی تبدیل شود که دشمن سرسختی برای امنیت اطلاعات به شمار آید. در حقیقت شکل و ساختار اولیه روتکیتها مشکل خاص و تهدیدی برای کامپیوترها محسوب نمیشدند. ولی به مرور زمان و ترکیب خاصیت اصلی این مکانیزم، یعنی مخفیسازی فرآیندهای سیستمی و شبکهای، با کدهای بدافزارها، روتکیتها را بسیار خطرناک و هولناکتر از هرگونه تهدید مشابهی ساخت. زیرا با استفاده از همین پروسههای مخفی، نفوذگران و بدافزارها به راحتی میتوانند به دور از چشم کاربران اطلاعات محرمانه آنها را به سرقت ببرند. اما اینکه چگونه این تهدید بهوجود آمده، چرا امروزه اینقدر مشکلات ریز و درشت را برای سیستمهای کامپیوتری ایجاد کرده است، موضوع مقاله ما نخواهد بود. در این نوشتار سعی کردیم، با مطرح کردن دو پرسش کلیدی با روتکیتها و نسل جدید آنها آشنا شویم: روتکیتها چگونه و کجا پنهان میشوند؟ چطور میتوان جلوی آنها را گرفت؟
منبع: نتورک ورلد
روتکیتها چگونه و کجا پنهان میشوند؟ چطور میتوان جلوی آنها را گرفت؟
به اعتقاد کارشناسان امنیتی نسل جدید روتکیتها ساختاری بسیار پیچیده و خطرناکتر از گذشته پیدا کرده است. دینو دای زوی (Dino Dai Zovi) پژوهشگر امنیتی معتقد است روتکیتها با توجه به ساختار معماری پردازشگرهای اینتل در لایه مجازی سیستم قرار میگیرند.
این نظریه در سال 2006 توسط وی در کنفرانس BlackHat ارائه شد. ضمن آنکه در کنفرانسی مشابه، جوانا روتکافسکی نیز با بیان همین ساختار، قرارگیری این تهدیدات را روی سیستمهایی که از پردازشگرهای AMD بهره میبرند، معرفی کرد.
خوشبختانه طبق گفتههای دایزوی تهدید مذکور هنوز بهصورت واقعی و عملی در سیستمهای امروزی دیده نشده است و البته دلیل این موضوع خیلی هم خوب نیست، زیرا روشهای قدیمی که در روتکیتها بهکار گرفته میشود آنقدر خوب عمل میکنند که دیگر به استفاده از روشهای جدید نیازی نخواهد بود.
مایک دالتون مدیر فناوری شرکت Revelogic، میگوید:
البته این گفته به آن معنی نیست که خرابکاران کامپیوتر دست روی دست گذاشتهاند و از روشهای قدیمی بهصورت ایستا بهره میبرند. بلکه به مرور زمان این نوع تهدیدات که بر دو پایه روتکیتهای کاربر (User Rootkit) و روتکیتهای هسته (Kernel-Based Rootkit) استفاده میشود، بهصورت روز افزون رشد و نمو بسیار زیادی داشتهاند و هرچه بیشتر در شبکههای سازمانی نفوذ میکنند و با اختفا در سیپییوها و کاوش سیستمهای چند سیپییوای، سعی در نفوذ از طریق بازیها دارند.
اصولاً روتکیتهای کاربر به آن دسته از روتکیتهایی گفته میشود که توسط خود کاربران (بهصورت ناآگاهانه؛ بهعنوان مثال با مراجعه به سایتهای آلوده و کلیک روی لینکهای مشکوک) روی سیستم فعال میشوند و روتکیتهای هسته نیز به روتکیتهایی گفته میشود که در لایه غیر نرمافزاری یا Application Layer (مانند تجهیزات سختافزاری) قرار میگیرند.
اصولاً وجود روتکیتها خود میتواند زمینهسازی را برای ایجاد پایگاه ارسال اسپم در شبکهها، سرقت اطلاعات محرمانه و فعالسازی دیگر بدافزارها فراهم سازد. از سوی دیگر با توجه به نحوه فعالسازی و مکانیزم عملکردی روتکیتها، شناسایی و پاکسازی آنها با نرمافزارها و تجهیزات امنیتی بسیار مشکل خواهد بود.
کریستوف آلم یکی از کارشناسان ضدبدافزار میگوید: او میافزاید:
طبق آخرین فهرست تهدیداتی که شیوعشان در جهان واقعی به اثبات رسیده است (In the Wild Malwares)، در سال 2007 روتیکت Rustock.C سیستمهای زیادی را مورد هجوم قرار داده است. این بدافزار مانند اغلب ویروسها به درایورهای هستهای هجوم میبرد و با استفاده از خاصیت چندگانهبودن (Polymorphism) میتواند ساختار خود را تغییر دهد تا توسط شناسههای موجود در ضدویروسها به دام نیفتد.
این روتکیت با استفاده از خاصیت دور زدن موانع امنیتی (Back-door Threat) میتواند وارد قسمت درایورهای سیستمی مورد اطمینان مایکروسافت شده و با باز کردن ارتباطی دو طرفه، از پورت هشتاد برای تبادل اطلاعات با خارج از سیستم راه را باز کند. طبق اعلام سایت Rootkit.com، این روتکیت بهعنوان قدرتمندترین تهدید شایع از نظر توان مخفی سازی در ویندوز شناخته شده است.
با توجه به ترکیب روتکیتها با بدافزارهای دیگر (مانند تروجانها) مشکلات پیشروی دنیای امنیت کامپیوتر بیشتر از گذشته شدهاست. زیرا این تهدیدات دیگر فقط هدف خود را روی سیستمها قرار نمیدهند، بلکه آنها با پخش شدن روی شبکهها گسترشی بالاتر و خطرناکتر خواهند داشت. از اینرو تنها راه یافتن روتکیتهای اینچنینی نظارت روی شبکه و یافتن حرکات مشکوک سیستمهایی است که ممکن است به روتکیتها آلوده شده باشند.
آلم میگوید:
او در ادامه میافزاید:
به اعتقاد آلم، روتکیتها اغلب روی پکتهایی قرار میگیرند که در ترافیکهای شبکهای بهعنوان دادههای مورد اطمینان شناسایی میشوند. از اینرو نباید با توجه به خصوصیت، از کنترل چنین دادههایی خودداری کرد. او میگوید: .
دالتون معتقد است، شناسایی آن دسته از روتکیتهایی که روی سیستمها قرار میگیرند، در مقایسه با روتکیتهایی که در شبکهها فعال هستند، بسیار مشکل و پیچیده خواهد بود. زیرا روتکیتها میتوانند بهشکلی در سیستمها قرار گیرند که ضدویروسها نتوانند آنها را شناسایی و پاکسازی کنند.
البته با پشتیبانی VMware از آنتی ویروس در نسخه های جدید و بستههای الحاقی، VMsafe، آنتی ویروسها خواهند توانست با VMM (یا ناظر ماشین مجازی که هایپروایزور نیز نامیده میشود) حفاظت شده اجرا شوند و بر هسته سیستم بیشتر تسلط پیدا کنند.
روتکیتشناسی | |
فهرستی از انواع روتکیتها، چگونگی و محل اختفای آنها و نیز روش حفاظت در برابرشان | |
نوع روتکیت | روش مقابله |
روتکیتهای کاربر: این روتکیتها از طریق کلیک کاربر روی لینکهای فیشینگ یا صفحات وب آلوده فعال میشوند. روتکیتهای کاربر معمولاً دارای ویژگیهایی هستند که امکان دسترسی عمیقتر به هسته را فراهم می کند. | اطمینان حاصل کنید که مرورگرها امن هستند. به علاوه از ضدویروسهای بهروز شده، سیستمهای End Point و محافظ گیتوی شبکه استفاده کنید. |
روتکیتهای هسته: این روتکیتها برای تمام انواع سیستمعامل وجود دارند. در ماه می سال جاری میلادی وجود این روتکیتها روی IOS شرکت سیسکو تأیید شد. | ضدویروسها برای ردیابی روتکیتهای هسته روزهای سختی را پیش رو دارند، زیرا آنها در لایه application اجرا میشوند، در حالیکه روتکیتها در سطح هسته فعالیت میکنند. از این رو باید به دنبال راهکارهای مبتنی بر VMM همچون محصول تازه معرفی شده شرکت VMware یعنی VMsafe بود. |
روتکیتهای تلفیقی (Package): روتکیتهایی همچون Rustock.c مانند ویروسهای سطح هسته منتشر شده و باعث فعال شدن Spam botها میشوند. این تلفیق شبهاتی را در این زمینه که چه چیزی یک روتکیت و چه چیزی یک بات (کنترل کامپیوتر از راه دور) محسوب میشود، ایجاد کرده است. | دسکتاپ و ابزارهای نظارت شبکه خود را به شکلی تنظیم کنید که بتوانید نشانههای ویروس، بات و... را بیابید. از آنجا که این روتکیتها حتی میتوانند سیستمهای دفاعی دسکتاپ را از کار بیاندازند، نظارت گیتوی بسیار حیاتی است. به دنبال ترافیک ورودی (Inbound) غیرعادی و به ویژه هر نوع تغییر ترافیک خروجی (Outbond) باشید افزون بر این عبور و مرورهای دادهای رمزنگاری شده را که کنترلکنندههای باتها برای اجرا روی IRL از آن استفاده میکنند تحت نظر بگیرید. |
روتکیتهای هسته و سختافزار: این روتکیتهای سمج و مقاوم در هسته اجرا شده و سپس هنگام خاموش بودن سیستم خود را در هسته پنهان میکنند. روتکیت جان هیزمن خود را در بخش Advance Computer and PowerInterface فرمور مخفی شده و مجدداً بایوس بارگذاری میشود. روتکیتهای Game bot از این تکنیک استفاده میکنند. | فناوریهای کنونی امنیت End Point در این زمینه مفید نیستند. پاکسازی این روتکیتها نیز متفاوت است، زیرا روتکیت در مرحله پیش از بوت هنگام روشن شدن سیستم دوباره نصب میشود. با وجود آنکه فناوریهایی نظیر Boot Process Trusted Platform Module Trusted درایورهای بوتی را از/ به هسته بارگذاری میشوند، رمزگذاری میکند، اما سالها طول خواهد کشید تا پردازندههای مبتنی بر این فناوری جایگزین نمونههای قدیمی شوند یا سیستمهای جدیدی برای تغییر این وضعیت ارائه شوند. |
روتکیتهای سختافزار: این روتکیتها که در بخش SMM (سرنام System Management Mode) که عملکردهای ابتداییای مانند وضعیت Sleep و فنها را کنترل میکند، رخنه میکنند در کنفرانس BlackHat2008 تأیید شد. | سپردن کار نظارت و شناسایی به پردازنده. با توجه به یکی از خریدهای اخیر شرکت مایکروسافت و سیستمهای شناسایی شبکهای که این لایه را کنترل میکنند، در این زمینه حرکتهایی در حال انجام است. |
روتکیتهای مجازی: روتکیتهایی مانند Blue Pill برای پردازندههای AMD (که در BlackHat2008 آشکار شد) به صورت گسترده منتشر نشدهاند و بیش از آنچه انتظار میرفت دردسرساز نشدند، در حالیکه روتکیتهای هسته همچنان موفق عمل میکنند. | ناول و دیگر ارائهدهندگان ماشین مجازی، ابزارهای مدیریتی ارائه میکنند که میتوانند این روتکیتها را شکار کنند. ضدویروسهای ماشین مجازی مانند VMSafe نیز از چنین قابلیتی برخوردارند. |
به گفته دالتون ماجرای ضدویروس و روتکیت همانند بازی موش و گربه است. از سویی ضدویروسها در سیستم به دنبال روتکیت میگردند و از سوی دیگر روتکیتها به دنبال ضدویروسها. مشخصاً ضدویروسها بهدنبال روتکیتها خواهند گشت تا آنها را پاکسازی کنند، اما مقصود روتکیتها بسیار خطرناک و منفی خواهد بود.
زیرا آنها با توجه به مستقر شدن در قسمتهای حساس سیستمی، توان از کار انداختن سرویسهای ضدویروس و به نوعی مسلط شدن بر آنرا پیدا خواهند کرد. دالتون در ادامه میگوید:
به گفته دایزوی ابزارهای ضدروتکیت (مانند Sophos Anti-Rootkit) یا فناوریهای مجزایی که در بعضی از ضدیروسها بهکار میرود (مانند BlackLight که در ضدویروس F-Secure مورد استفاده قرار میگیرد)، برای مقابله با روتکیتها از عملیات آزمون و مقایسه استفاده خواهند کرد.
در این روش برای شناسایی موارد مشکوک (در هسته سیستم و دیگر بخشها) امکان وجود فایلهای مخفی در بخشهای حساس سیستم، ورودیهای غیرمجاز در رجیستری ویندوز و... مورد ارزیابی قرار خواهد گرفت. اما یکی دیگر از قسمتهایی که میتواند در این ارزیابیها مورد بررسی قرار گیرد، مقایسه پروسسهای فعال سیستم است.
در این روش، فهرست پروسسهای فعال سیستمی که در Task Manager قرار دارند با نرمافزارهایی که واقعاً در حال فعالیت هستند، مقایسه خواهند شد. در صورت وجود تناقض روتکیت شناسایی میشود.
اما همانطور که اشاره شد مشکل اصلی این است که نرمافزارهای امنیتی از نظر رتبه سیستمی نسبت به روتکیتهای هستهای سطح پایینتری خواهند داشت. گری مکگراو از مدیران شرکت Cigital و ویرایشگر نهایی کتاب Rootkits میگوید:
به اعتقاد کارشناسان امنیتی جدیدترین نسل روتکیتها قادر است یک پکیج کامل بدافزاری را در بایوس سیستم جای دهد و در صورت پاکسازی سیستمعامل باز هم در هر بار بوت شدن، کنترل حافظه سیستم را در دست گیرد. دایزوی در این باره میگوید: . این روتکیت اولین بار توسط جان هیسمن در کنفرانس سال BalckHat معرفی شد.
مک گراو میگوید:
وی میافزاید: او که نویسنده کتاب است، معتقد است هرچه روباتهای نرمافزاری بازیهای بیشتری را مورد سوءاستفاده قرار دهند، بیشتر میتوانند منابع مجازی خود را به پول واقعی تبدیل کنند.
بیل مدیرعامل شرکت TDITX میگوید: او همچنین در ادامه میافزاید: او معتقد است، که باید در این حیطه فعالیتهای بیشتری انجام شود.
با وجود ریشههای سختافزاری در پس این ماجرا هنوز خیلی از شرکتهای بزرگ چاره مقابله با روتکیتها را روشهای نرمافزاری میدانند. این مقوله آنقدر با اهمیت است که امپراطور دنیای نرمافزاری هم برای مقابله با آن دست روی دست نگذاشته است. به تازگی سخنگوی مایکروسافت خبر از بهکارگیری فناوری جدیدی بهنام Komoku در محصولات امنیتی این شرکت یعنی Forefront و OneCare داده است. شاید باید منتظر ماند و دید آیا سیستمهای نرمافزاری ضدبدافزاری قادر خواهند بود با فناوریهای پیشرفتهتر از گذشته راهکاری را برای مقابله با تهدیدات بیابند یا خیر.
به هرترتیب موضوعی که تمامی کارشناسان کامپیوتری روی آن اتفاق نظر دارند آن است که ماجرای امنیت کامپیوتر در یک رقابت سرسخت و تقابل میان خرابکاران و شرکتهای امنیتی بوده است. با توجه به اینکه همیشه یک تهدید به وجود میآید و پس از آن روش مقابلهاش منتشر میشود، همیشه تهدیدات یک گام جلوتر هستند. دایزوی در این باره میگوید:
- ۸۹/۰۳/۲۷