خبرگزاری امنیت فناوری اطلاعات دورانتاش :
منبع: نتورک ورلد
روتکیتها
چگونه و کجا پنهان میشوند؟ چطور
میتوان جلوی آنها را گرفت؟
به اعتقاد کارشناسان امنیتی
نسل جدید روتکیتها
ساختاری بسیار پیچیده و خطرناکتر از گذشته پیدا کرده است. دینو دای زوی
(Dino Dai Zovi) پژوهشگر امنیتی معتقد است روتکیتها با توجه به ساختار
معماری پردازشگرهای اینتل در لایه مجازی سیستم قرار میگیرند.
این
نظریه در سال 2006 توسط وی در کنفرانس BlackHat ارائه شد. ضمن آنکه در
کنفرانسی مشابه، جوانا روتکافسکی نیز با بیان همین ساختار، قرارگیری این
تهدیدات را روی سیستمهایی که از پردازشگرهای AMD بهره میبرند، معرفی کرد.
خوشبختانه
طبق گفتههای دایزوی تهدید مذکور هنوز بهصورت واقعی و عملی در سیستمهای
امروزی دیده نشده است و البته دلیل این موضوع خیلی هم خوب نیست، زیرا
روشهای قدیمی که در روتکیتها بهکار گرفته میشود آنقدر خوب عمل میکنند
که دیگر به استفاده از روشهای جدید نیازی نخواهد بود.
مایک
دالتون مدیر فناوری شرکت Revelogic، میگوید: <اگر من خودم یک هکر بودم
و مدلهای کاربری و هستهای روتکیتهایم هشتاد درصد مواقع به خوبی کار
میکردند برای چه باید خود را به دردسر انداخته و مدلهای جدیدی را ایجاد
میکردم؟>
البته این گفته به آن معنی نیست که خرابکاران کامپیوتر
دست روی دست گذاشتهاند و از روشهای قدیمی بهصورت ایستا بهره میبرند.
بلکه به مرور زمان این نوع تهدیدات که بر دو پایه روتکیتهای کاربر (User
Rootkit) و روتکیتهای هسته (Kernel-Based Rootkit) استفاده میشود،
بهصورت روز افزون رشد و نمو بسیار زیادی داشتهاند و هرچه بیشتر در
شبکههای سازمانی نفوذ میکنند و با اختفا در سیپییوها و کاوش سیستمهای
چند سیپییوای، سعی در نفوذ از طریق بازیها دارند.
اصولاً
روتکیتهای کاربر به آن دسته از روتکیتهایی گفته میشود که توسط خود
کاربران (بهصورت ناآگاهانه؛ بهعنوان مثال با مراجعه به سایتهای آلوده و
کلیک روی لینکهای مشکوک) روی سیستم فعال میشوند و روتکیتهای هسته نیز
به روتکیتهایی گفته میشود که در لایه غیر نرمافزاری یا Application
Layer (مانند تجهیزات سختافزاری) قرار میگیرند.
اصولاً وجود
روتکیتها خود میتواند زمینهسازی را برای ایجاد پایگاه ارسال اسپم در
شبکهها، سرقت اطلاعات محرمانه و فعالسازی دیگر بدافزارها فراهم سازد. از
سوی دیگر با توجه به نحوه فعالسازی و مکانیزم عملکردی روتکیتها، شناسایی و
پاکسازی آنها با نرمافزارها و تجهیزات امنیتی بسیار مشکل خواهد بود.
کریستوف
آلم یکی از کارشناسان ضدبدافزار میگوید: <باتوجه به نمونههای
گوناگون بدافزارهایی که ما جمعآوری میکنیم، امروزه روتکیتها یکی از
شایعترین نوع تهدیدات بهشمار میآیند.> او میافزاید: <در میان
روتکیتها آن دسته که در زمینه ارسال اسپمها (Spambot) فعال هستند، بیشتر
شایع هستند. بهعنوان مثال، دو روتکیت Srizbi و Rustock از همین نوع
روتکیتها به حساب میآیند.>
طبق آخرین فهرست تهدیداتی که
شیوعشان در جهان واقعی به اثبات رسیده است (In the Wild Malwares)، در
سال 2007 روتیکت Rustock.C سیستمهای زیادی را مورد هجوم قرار داده است.
این بدافزار مانند اغلب ویروسها به درایورهای هستهای هجوم میبرد و با
استفاده از خاصیت چندگانهبودن (Polymorphism) میتواند ساختار خود را
تغییر دهد تا توسط شناسههای موجود در ضدویروسها به دام نیفتد.
این
روتکیت با استفاده از خاصیت دور زدن موانع امنیتی (Back-door
Threat) میتواند وارد قسمت درایورهای سیستمی مورد اطمینان مایکروسافت شده و
با باز کردن ارتباطی دو طرفه، از پورت هشتاد برای تبادل اطلاعات با خارج
از سیستم راه را باز کند. طبق اعلام سایت Rootkit.com، این روتکیت بهعنوان
قدرتمندترین تهدید شایع از نظر توان مخفی سازی در ویندوز شناخته شده است.
با
توجه به ترکیب روتکیتها با بدافزارهای دیگر (مانند تروجانها) مشکلات
پیشروی دنیای امنیت کامپیوتر بیشتر از گذشته شدهاست. زیرا این تهدیدات
دیگر فقط هدف خود را روی سیستمها قرار نمیدهند، بلکه آنها با پخش شدن
روی شبکهها گسترشی بالاتر و خطرناکتر خواهند داشت. از اینرو تنها راه
یافتن روتکیتهای اینچنینی نظارت روی شبکه و یافتن حرکات مشکوک سیستمهایی
است که ممکن است به روتکیتها آلوده شده باشند.
آلم میگوید:
<شرکتها مجبورند برای برقراری ترافیکی اینترنتی کارمندان خود پورت
هشتاد را باز نگهدارند، حال آنکه خیلی از بدافزارها از جمله روتکیتها
خود را روی پکتهای ارسالی توسط پروتکل HTTP سوار کرده و از این طریق
میتوانند بهصورت رفت و برگشتی در شبکهها پخش شوند.>
او در
ادامه میافزاید: <البته با توجه به این خاصیت که کاربردهای اینترنتی
بیشتر از ترافیک ورودی (Inbound) بهره میبرند تا ترافیکهای خروجی
(Outbound)، میتوان با اسکن کردن کلیه پکتهای ارسالی، روتکیتها را
شناسایی کرد و مانع از توزیع آنها شد.>
به اعتقاد آلم،
روتکیتها اغلب روی پکتهایی قرار میگیرند که در ترافیکهای شبکهای
بهعنوان دادههای مورد اطمینان شناسایی میشوند. از اینرو نباید با توجه
به خصوصیت، از کنترل چنین دادههایی خودداری کرد. او میگوید: <به خاطر
داشته باشید پشت این ترافیکهای مشکوک خرابکارانی وجود دارند که بهصورت
کنترل از راهدور میخواهند اطلاعات با ارزش شما را مورد تهدید قرار
دهند>.
دالتون معتقد است، شناسایی آن دسته از روتکیتهایی که روی
سیستمها قرار میگیرند، در مقایسه با روتکیتهایی که در شبکهها فعال
هستند، بسیار مشکل و پیچیده خواهد بود. زیرا روتکیتها میتوانند بهشکلی
در سیستمها قرار گیرند که ضدویروسها نتوانند آنها را شناسایی و پاکسازی
کنند.
البته با پشتیبانی 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 میگوید:
<نرمافزارامنیتی در سطح حیطه کاربر سیستم فعال میشوند و تحلیل پویای
(Dynamic analyzed) پروسسهای در حال اجرا، تلاش میکند بفهمد که آیا سیستم
درباره فعالیتهای در حال اجرای خود دروغ میگوید یا خیر! به اعتقاد من
این روش خیلی هوشمندانه و مؤثر نخواهد بود.>
به اعتقاد کارشناسان
امنیتی جدیدترین نسل روتکیتها قادر است یک پکیج کامل بدافزاری را در
بایوس سیستم جای دهد و در صورت پاکسازی سیستمعامل باز هم در هر بار بوت
شدن، کنترل حافظه سیستم را در دست گیرد. دایزوی در این باره میگوید:
<در این نوع تهدید خطرناک روتکیتهای ماندگار (Persistent Rootkit) نام
دارند>. این روتکیت اولین بار توسط جان هیسمن در کنفرانس سال BalckHat
معرفی شد.
مک گراو میگوید: <اگر کسی بتواند پردازش سیستم را
کنترل کند، این قابلیت را چگونه به پول تبدیل خواهد کرد؟ یکی از راههای
این کار فروش روباتهای نرمافزاری برای ارسال هرزنامه یا سرقت هویت است.
اما مؤثرترین راه برای استفاده پولی از منابع پردازشی، بازیهای آنلاین
است. در این حوزه آخرین فناوریهای روباتهای نرمافزاری به کار گرفته
میشود.>
وی میافزاید: <روباتهای نرمافزاری بازی، به خصوص
به دنبال سیستمهای چندپردازندهای هستند که میتوانند در حین بارگذاری،
پردازشهای چندگانه را اجرا کنند.> او که نویسنده کتاب <بهرهبرداری
از بازیهای آنلاین> است، معتقد است هرچه روباتهای نرمافزاری
بازیهای بیشتری را مورد سوءاستفاده قرار دهند، بیشتر میتوانند منابع
مجازی خود را به پول واقعی تبدیل کنند.
بیل مدیرعامل شرکت
TDITX میگوید: <راههای بسیاری زیادی در هسته سیستمها وجود دارد که
توسط آنها روتکیتها میتوانند در میانافزار (Firmware) نفوذ کنند.>
او همچنین در ادامه میافزاید: <سیستمهای امنیت سختافزاری امروزی هم
بهترین فناوری ممکن را برای مقابله با این تهدیدات ارائه نمیدهند.> او
معتقد است، که باید در این حیطه فعالیتهای بیشتری انجام شود.
با
وجود ریشههای سختافزاری در پس این ماجرا هنوز خیلی از شرکتهای بزرگ چاره
مقابله با روتکیتها را روشهای نرمافزاری میدانند. این مقوله آنقدر با
اهمیت است که امپراطور دنیای نرمافزاری هم برای مقابله با آن دست روی دست
نگذاشته است. به تازگی سخنگوی مایکروسافت خبر از بهکارگیری فناوری جدیدی
بهنام Komoku در محصولات امنیتی این شرکت یعنی Forefront و OneCare داده
است. شاید باید منتظر ماند و دید آیا سیستمهای نرمافزاری ضدبدافزاری قادر
خواهند بود با فناوریهای پیشرفتهتر از گذشته راهکاری را برای مقابله با
تهدیدات بیابند یا خیر.
به هرترتیب موضوعی که تمامی کارشناسان
کامپیوتری روی آن اتفاق نظر دارند آن است که ماجرای امنیت کامپیوتر در یک
رقابت سرسخت و تقابل میان خرابکاران و شرکتهای امنیتی بوده است. با توجه
به اینکه همیشه یک تهدید به وجود میآید و پس از آن روش مقابلهاش منتشر
میشود، همیشه تهدیدات یک گام جلوتر هستند. دایزوی در این باره میگوید:
<خیلی ساده لوحانه است اگر بگوییم روشی برای در امان نگه داشتن صد درصد
سیستمها وجود دارد، اما باید همیشه بهترین روشها و قابل اطمینانترینها
را برگزینیم که درصد ریسک تهدیدات را کمتر کنیم .>