نویسنده مقاله: بهروز کمالیان Behrooz_Ice@ashiyane.com
RootKitها برنامه هایی هستند که از نظر ساختار کاری بسیار شبیه Trojan ها و Backdoor ها هستند ولی با این تفاوت که شناسایی RootKit بسیار مشکلتر از درب های پشتی است زیرا RootKit ها علاوه بر اینکه به عنوان یک برنامه کاربردی خارجی مثل شنونده Netcat و ابزارهای درب پشتی مثل Sub7 بر روی سیستم اجرا می شوند بلکه جایگزین برنامه های اجرایی مهم سیستم عامل و در گاهی مواقع جایگزین خود هسته کرنل می شوند و به هکرها این اجازه را می دهند که از طریق درب پشتی و پنهان شدن در عمق سیستم عامل به آن نفوذ کنند و مدت زیادی با خیال راحت با نصب ردیابها ( Sniffer ) و دیگر برنامه های مانیتورینگ بر روی سیستم اطلاعاتی را که نیاز دارند بدست آورند. در دنیای هکرها دو نوع RootKit اصلی وجود دارد که هر کدام تعریف جداگانه ای دارند.
1- RootKit سنتی : RootKit های سنتی با شناسایی اولین RootKit بسیار قدرتمند در اویل سال 1990 در طول یک دهه گسترش پیدا کردند و تا آنجا پیش رفتند که امروزه انواع مختلفی از RootKit های سنتی وجود دارند که به طور عملی خودشان نصب شده و به هکرها اجازه می دهند که به سرعت سیستم قربانی را فتح کنند. RootKit های سنتی برای سیستم عامل های مختلف نوشته شده اند ولی به طور سنتی بر روی سیستم های یونیکس مثلHP-UX - AIX - Linux - Solaris - SunOS و از این قبیل تمرکز کرده اند. ولی برای ویندوزهای سرور مثل NT/2000 نیز RootKit هایی نوشته شده اند که جایگزین کتابخانه های پیوند پویا ( DLL ) شده و یا سیستم را تغییر می دهند ولی تعداد زیادی از RootKit ها برای سیستم های یونیکس نوشته شده اند. RootKit ها اجازه دسترسی Root یا Administrator را به ما نمی دهند و ما هنگامی قادر به نصب آْنها بر روی یک سیستم هستیم که دسترسی ریشه ای و مدیر یک سیستم را توسط روش های دیگری مثل سرریز بافر ... به دست آورده باشیم. بنابراین یک RootKit یک سری ابزارهایی است که با پیاده سازی یک درب پشتی ( Backdoor ) و پنهان کردن مدارک استفاده از سیستم و ردپاها به هکر اجازه نگهداری دسترسی سطح ریشه را می دهد. ساختار کار تروجن ها به این صورت است که فایلی را در داخل هسته سیستم مثل پوشه System32 اضافه می کند و این فایل تمامی پسوردهای قربانی را Log کرده و برای هکر می فرستد و یا با باز کردن پورتی اجازه ورود هکر را از طریق پورت باز شده می دهد ولی RootKit های سنتی به جای اینکه فایلی در هسته سیستم قربانی اضافه کنند، سرویسها و فایل های اصلی و مهم سیستم عامل قربانی را با یک نسخه تغییر یافته آن که عملیاتی مخرب انجام می دهد جایگزین می کنند. برای مثال RootKit های معروف در سیستم های یونیکس برنامه /bin/loginرا که یکی از اساسی ترین ابزارهای امنیتی در Unix است را با یک نسخه تغییر یافته که شامل یک کلمه عبور درب پشتی برای دسترسی سطح ریشه می باشد عوض می کنند. سیستم های یونیکس از برنامه /bin/login برای جمع آوری و تست UserID های کلمات عبور استفاده می کند. /bin/login شناسه کاربری و پسورد تایپ شده توسط کاربر را با فایل پسوردها مقایسه می کند تا تعیین کند که پسورد داده شده توسط کاربر صحیح است یا خیر. اگر پسورد داده شده درست باشد روتین /bin/loginبه آن User اجازه ورود به سیستم را می دهد. خب با این توضیحی که دادیم فرض کنید که یک RootKit این برنامه را با برنامه نوشته شده خود عوض کند. اگر هکر از پسورد ریشه درب پشتی استفاده کند، برنامه /bin/login تغییر یافته و اجازه دسترسی به سیستم را می دهد. حتی اگر مدیر سیستم پسورد ریشه اصلی را عوض کند، هکر هنوز می تواند با استفاده از کلمه عبور ریشه درب پشتی به سیستم وارد شود. بنابراین یک روتین RootKit ، /bin/login یک درب پشتی است زیرا می تواند برای دور زدن کنترل های امنیتی نرمال سیستم مورد استفاده قرار گیرد. علاوه بر آن یک اسب تروا هم هست زیرا فقط چهره آن یک برنامه نرمال و زیبای Login است ولی در اصل یک Backdoor است. اکثر RootKit ها سرویس ها و برنامه هایی مثل DU - Find - Ifconfig - Login - ls - Netstat - ps را با RootKit خود جابه جا می کنند. هر یک از این برنامه های سیستمی با یک اسب تروای منحصر به فرد جایگزین می شود که عملکرد آنها شبیه به برنامه عادی است. همه این برنامه های Unix مانند چشم و گوش های مدیران سیستم می باشد که تعیین می کنند چه فایل ها و سرویس هایی در حال اجرا هستند. هکرها با پوشاندن چشم و گوشهای مدیران سیستم که توسط RootKit انجام می شود می توانند به صورت موثری حضورشان را در یک سیستم مخفی نگه دارند. linux RootKit 5 ( lrk5 ) و Tornkit دو نمونه از RootKit های سنتی هستند که برای سیستم های Linux و Solaris نوشته شده اند و در سایت آشیانه می توانید این RootKit ها را پیدا کنید. این RootKit ها به محض نصب شدن در سیستم قربانی خود را با سرویس های حیاتی و مهم سیستم عامل که در بالا ذکر شد جایگزین می کنند.
2- RootKit سطح هسته : این نوع از RootKit ها نسبت به نوع سنتی بسیار حرفه ای تر هستند و از نظر سطح پنهان سازی بسیار پا را فراتر از نوع سنتی گذاشته اند زیرا این RootKit ها در سطح ریشه پیاده سازی می شوند و این کار شناسایی و کنترل کردن آنها را بسیار مشکل تر کرده است. RootKit های سطح هسته به ما کنترل کاملی از سیستم اصلی و یک امکان قدرتمند برای جایگیری می دهد. یک هکر با ایجاد تغییرات اساسی در خود هسته، می تواند سیستم را در سطحی بسیار اساسی کنترل کرده و قدرت زیادی برای دسترسی به درب پشتی و پنهان شدن در ماشین را به دست آورد. خود هسته در حالی که یک کرنل زیبا و کارآمد به نظر می رسد تبدیل به یک اسب تروا می شود و در حقیقت Kernel فاسد می شود ولی صاحب سیستم از این موضوع بی خبر می ماند. درحالی که یک RootKit سنتی جایگزین برنامه های سیستمی حیاتی مثل برنامه های ifconfig - ls ... می شود ، یک RootKit سطح هسته در حقیقت جایگزین هسته می شود و یا آن را تغییر می دهد. تمامی فایل ها - دستورها - پردازشها و فعالیت های شبکه ای در سیستم آلوده به RootKit هسته پنهان می شوند و تمامی اعمال به سود هکر ضبط می شود. اغلب RootKit های سطح ریشه توسطLKM ها پیاده سازی می شوند. نصب RootKit های سطح هسته ای که توسطLKM ها پیاده سازی شده باشد، بسیار راحت است. برای مثال برای نصبKnrak Rootkit که برای هسته لینوکس نوشته شده است، یک هکر که با Account سطح ریشه یا همان Root به آن سیستم وصل است تنها کافی است insmod knark.o, را تایپ کند و ماژول نصب می شود و منتظر دستورات هکر می ماند و حتی نیازی به بوت کردن دوباره سیستم هم ندارد. RootKit های سطح هسته برای ویندوز NT هم وجود دارند که یک Patch را بر روی خود هسته اجرایی ویندوز NT بدون استفاده ازLKM ها اعمال می کند. چند تا از معروف ترین RootKit های سطح هسته Knrak و Adore برای سیستم های لینوکس ، Plasmoid برای سیستم های Solaris و RootKit سطح هسته ویندوز NT برای سیستم های سرور ویندوز نام دارند که همگی در لینک RootKit در سایت آشیانه برای اعضای سایت قرار داده شده اند.
راه های مقابله با RootKit های سنتی و RootKit های سطح هسته
مهمترین راه دفاع در برابر RootKit ها اجازه ندادن به هکرها در دسترسی به حساب مدیر است. همانطور که در بالا ذکر شد یک هکر برای نصب یک RootKit باید دسترسی سطح ریشه داشته باشد و اگر ما بتوانیم همیشه راه های نفوذ و آسیب های جدید سیستم عاملمان را شناسایی و آنها را از بین ببریم شانس دستیابی هکر به حساب ریشه سیستم خود را تقریباً به صفر رسانده ایم. در مرحله بعد اگر فرض کنیم که با بی احتیاطی ما ، هکری توانست بر روی سیستم ما RootKit نصب کند، یکی از راه های تست این که سیستم ما RootKit شده است یا خیر استفاده از دستورEcho است. تعداد بسیار کمی از RootKit ها ، دستور echo را که برای لیست کردن محتویات یک دایرکتوری می باشد تروا می کنند و اکثر RootKit ها بر روی تروا کردن ls تمرکز کرده اند. به همین دلیل echo یک لیست قانونی از محتویات یک دایرکتوری را برمی گرداند و اگر نتیجه ای که echo بر می گرداند با چیزی که دستور ls برای دایرکتوری داده شده نشان می دهد متفاوت باشد ممکن است چیزی در آن دایرکتوری پنهان شده باشد که این نتیجه را می رساند که سیستم شما RootKit شده است. ولی در کل این روش زیاد موثر نیست چون جستجوی تمام سیستم فایل برای یافتن هر اختلافی بین فایل های لیست شده در خروجی Echo و ls وقت زیادی را صرف می کند. امروزه ابزارهای مختلفی برای آنالیز برنامه Rootkit/bin/login وجود دارد که مشخص می کنند آیا RootKit شناخته شده ای نصب شده است یا خیر. این ابزارها وقتی که بر روی سیستم نصب می شوند به صورت دوره ای فایل های مهم بر روی سیستم را مثل /bin/login چک می کنند تا از وجود RootKit باخبر شوند که برنامه ChRootkit ابزاری جالب در این زمینه است ولی درکل بهترین راه دفاع در برابر RootKit ها استفاده از تکنولوژی اثر انگشت دیجیتالی قوی می باشد تا به صورت دوره ای درستی فایل های سیستم بحرانی را تحقیق نماید. MD5 ( یک تابع درهم ساز یک طرفه ) یک الگوریتم بسیار مناسب برای محاسبه این نوع اثر انگشتهای قوی می باشد. با محاسبه یک اثر انگشت Encrypt شده قوی برای فایل های سیستمی مهم یک هکر قادر نخواهد بود که فایلی را تغییر داده و با همان اثر انگشت وارد شود.TripWire یک ابزار قوی برای تست صحت است که در سایت آشیانه برای دانلود قرار داده شده است. TripWire درهم سازی MD5 ای از فایل های بحرانی مثل/etc/passwd/bin/login - ls - ps و ... ساخته و به صورت دوره ای این درهم سازی را با یک پایگاه داده ای امن مقایسه می کند. در صورت تغییر در MD5 یک سرویس سریع به مدیر سیستم اطلاع می دهد. همچنین در RootKit های سطح هسته Scan پورت ها در شبکه که با استفاده از ابزارهایی مثل Nmap صورت گیرد پورت های شنونده را به مدیر امنیتی سیستم نشان خواهد داد. به همین دلیل پویش دوره ای سیستم در طول شبکه برای پیدا کردن رد RootKit بسیار مفید است. در آخر ذکر این نکته لازم است که اگر سیستم شما با تمام این ملاحظات آلوده به RootKit شد بهترین راه از بین بردن آن فرمت هسته و نصب مجدد سیستم عامل است.
RootKit چيست؟
در این بخش میتوانید در رابطه با شبکه و کلیه مباحث مربوط به آن بحث و تبادل نظر نمایید
مدیران انجمن: SHAHRAM, شوراي نظارت

- پست: 15899
- تاریخ عضویت: جمعه ۷ بهمن ۱۳۸۴, ۷:۵۱ ب.ظ
- سپاسهای ارسالی: 72687 بار
- سپاسهای دریافتی: 31681 بار
- تماس:
RootKit چيست؟
زندگي صحنه يکتاي هنرمندي ماست هرکسي نغمه خود خواند و از صحنه رود
صحنه پيوسته به جاست خرم آن نغمه که مردم بسپارند به ياد
[External Link Removed for Guests] | [External Link Removed for Guests] | مجله الکترونيکي سنترال کلابز
[External Link Removed for Guests] | [External Link Removed for Guests] | [External Link Removed for Guests]
صحنه پيوسته به جاست خرم آن نغمه که مردم بسپارند به ياد
[External Link Removed for Guests] | [External Link Removed for Guests] | مجله الکترونيکي سنترال کلابز
[External Link Removed for Guests] | [External Link Removed for Guests] | [External Link Removed for Guests]
لطفا سوالات فني را فقط در خود انجمن مطرح بفرماييد، به اين سوالات در PM پاسخ داده نخواهد شد
پرش به
- بخشهاي داخلي
- ↲ اخبار و قوانين سايت
- ↲ سوالات، پيشنهادات و انتقادات
- ↲ مرکز جوامع مجازي - CentralClubs Network
- ↲ سرويس ميزباني وب - CentralClubs Hosting
- ↲ مجله الکترونيکي مرکز انجمنهاي تخصصي
- بخش تلفن همراه
- ↲ نرم افزار تلفن همراه
- ↲ Symbian App
- ↲ Android App
- ↲ Windown Phone App
- ↲ iOS App
- ↲ JAVA Mobile App
- ↲ بازيهاي تلفن همراه
- ↲ Symbian Games
- ↲ Android Games
- ↲ iOS Games
- ↲ Windows Phone Games
- ↲ JAVA Mobile Games
- ↲ گوشيهاي تلفن همراه
- ↲ Sony
- ↲ Samsung
- ↲ GLX
- ↲ Dimo
- ↲ Huawei
- ↲ Motorola
- ↲ Nokia
- ↲ گوشيهاي متفرقه
- ↲ سرگرميهاي تلفن همراه
- ↲ خدمات و سرويسهاي مخابراتي
- ↲ تازه ها و اخبار تلفن همراه
- ↲ مطالب كاربردي تلفن همراه
- ↲ متفرقه در مورد تلفن همراه
- ↲ سوالات و اشکالات تلفن همراه
- بخش كامپيوتر
- ↲ نرم افزار كامپيوتر
- ↲ گرافيک و طراحي کامپيوتري
- ↲ طراحي صفحات اينترنتي
- ↲ سوالات و اشکالات نرم افزاري
- ↲ برنامه نويسي
- ↲ C Base Programming
- ↲ Dot Net Programming
- ↲ Web Programming
- ↲ Other Programming
- ↲ Software Engineering
- ↲ Java Programming
- ↲ Database Programming
- ↲ سخت افزار كامپيوتر
- ↲ امنيت و شبكه
- ↲ امنيت
- ↲ شبکه
- ↲ تازه ها و اخبار دنياي کامپيوتر
- ↲ مطالب كاربردي كامپيوتر
- ↲ متفرقه در مورد کامپيوتر
- بخش هوا فضا
- ↲ نيروي هوايي ايران
- ↲ متفرقه درباره نیروی هوایی
- ↲ نیروی هوایی و سازندگی
- ↲ حماسه و حماسه آفرینان نيروي هوايي
- ↲ تیزپروازان در بند
- ↲ شهدا و جانباختگان نیروی هوایی
- ↲ عملیاتهاي نيروي هوايي
- ↲ دستاوردها و اخبار نيروي هوايي
- ↲ تاریخچه نیروی هوایی در ایران
- ↲ هوانيروز ايران
- ↲ حماسه و حماسه آفرينان هوانيروز
- ↲ شهدا و جانباختگان هوانيروز
- ↲ دستاوردها و اخبار هوانيروز
- ↲ هواپيماها
- ↲ هواپيماهاي نظامي
- ↲ هواپيماهاي غير نظامي
- ↲ هواپيماهاي بدون سرنشين
- ↲ بالگردها
- ↲ بالگردهاي نظامي
- ↲ بالگردهاي غير نظامي
- ↲ بالگردهاي بدون سرنشين
- ↲ اخبار بالگردها
- ↲ تسليحات هوايي
- ↲ موشكهاي هوا به هوا
- ↲ موشكهاي هوا به زمين
- ↲ موشکهاي دريايي
- ↲ موشکهاي زمين به هوا
- ↲ موشکهاي زمين به زمين
- ↲ ديگر مباحث هوانوردي
- ↲ الکترونيک هواپيمايي
- ↲ موتورهاي هوايي
- ↲ شبيه سازهاي پرواز
- ↲ گالري تصاوير هوافضا
- ↲ تصاوير هواپيماهاي جنگنده
- ↲ کليپهاي هوايي
- ↲ تصاوير هواپيماهاي بمب افکن
- ↲ تصاوير هواپيماهاي ترابري
- ↲ تصاوير هواپيماهاي مسافربري
- ↲ تصاوير هواپيماهاي شناسايي
- ↲ تصاوير بالگردهاي نظامي
- ↲ تصاوير بالگردهاي غير نظامي
- ↲ تصاوير نمايشگاههاي هوايي
- ↲ تصاوير متفرقه هوايي
- ↲ انجمن نجوم
- ↲ منظومه شمسي
- ↲ كيهانشناسي
- ↲ گالري تصاوير نجوم
- ↲ اخبار نجوم
- ↲ اخبار هوافضا و هوانوردي
- ↲ مدرسه هوانوردي
- ↲ كتابخانهي هوا فضا
- ↲ متفرقه در مورد هوا فضا
- بخش جنگ افزار
- ↲ ادوات زميني
- ↲ ادوات زرهي
- ↲ تجهيزات انفرادي
- ↲ تسليحات سنگين و توپخانهاي
- ↲ خودروهاي نظامي
- ↲ تسليحات ضد زره
- ↲ ادوات دريايي
- ↲ ناوهاي هواپيمابر
- ↲ ناوشکنها
- ↲ رزم ناوها
- ↲ ناوچهها
- ↲ زيردرياييها
- ↲ تجهيزات و تسليحات دريايي
- ↲ ساير ادوات دريايي
- ↲ گالري تجهيزات و ادوات دريايي
- ↲ اخبار ادوات دريايي
- ↲ اخبار نظامي
- ↲ گالري نظامي
- ↲ متفرقه در مورد جنگ افزار
- بخش دفاع مقدس
- ↲ حماسه دفاع مقدس
- ↲ تخريب و خنثي سازي
- بخش خودرو و وسايل نقليه
- ↲ مباحث فنی و تخصصی خودرو
- ↲ معرفي خودرو
- ↲ تازهها و اخبار خودرويي
- ↲ گالري خودرو
- ↲ متفرقه وسايل نقليه
- بخش پزشکي
- ↲ پزشكي و درمان
- ↲ پزشکي
- ↲ سوال پزشکي
- ↲ بهداشت
- ↲ بهداشت عمومي
- ↲ بهداشت مواد غذايي
- ↲ لوازم آرايشي و بهداشتي
- ↲ متفرقه در مورد پزشکي
- ↲ روانشناسي و روان پزشكي
- بخش فرهنگ، تمدن و هنر
- ↲ فرهنگي هنري
- ↲ شعر و ادبيات
- ↲ فيلم و سينما
- ↲ هنرهاي نمايشي
- ↲ فرهنگ هنرهاي نمايشي
- ↲ موسيقي
- ↲ عكس و نقاشي
- ↲ تاريخ، فرهنگ و تمدن
- ↲ تاريخ ايران
- ↲ تاريخ جهان
- ↲ فلسفه
- ↲ زبانهاي خارجي
- ↲ زبان انگليسي
- ↲ زبان اسپانيايي
- ↲ هنر آشپزي
- بخش علم، فناوري و آموزش
- ↲ انجمن علم و فناوري
- ↲ انجمن آموزش
- ↲ کتاب و فرهنگ مطالعه
- ↲ دانش عمومی
- ↲ کنکور و دانشگاه
- ↲ جامعه شناسي
- ↲ خانواده
- ↲ متفرقه جامعه شناسي
- ↲ حقوق و قضا
- ↲ علوم
- ↲ فيزيک
- ↲ شيمي
- ↲ رياضي
- ↲ متالورژي
- ↲ پليمر
- ↲ علوم کشاورزي
- ↲ گياهان زراعي و باغي
- ↲ گياهان دارويي
- ↲ طبیعت و محیط زیست
- ↲ زيست شناسي
- ↲ عمران
- ↲ بتن و سازههاي بتني
- ↲ معماري و شهرسازي
- ↲ سبکها و مشاهير معماري
- ↲ شهرسازي
- ↲ معماري داخلي
- ↲ معماري منظر
- بخش الکترونيک و رباتیک
- ↲ مفاهیم اولیه و پایه در الکترونیک
- ↲ نرم افزارهای کمکی الکترونیک
- ↲ مدارهای مجتمع
- ↲ سوالات و پرسشهای مفاهیم پایه
- ↲ مدارات ساده و آسان
- ↲ مدارهای آنالوگ و دیجیتال
- ↲ شبیه ساز و طراحی مدار
- ↲ مدارات صوتی
- ↲ مدارات، منابع تغذیه سویچینگ و اینورتوری
- ↲ مدارات مخابراتی
- ↲ میکروکنترلرهای AVR
- ↲ آموزش و مثالها AVR
- ↲ طرح آماده و کامل شده AVR
- ↲ میکروکنترلرهای ARM
- ↲ سایر میکروکنترولرها و پردازندهها
- ↲ سایر میکروکنترلرها
- ↲ مدار مجتمع برنامه پذیر FPGA
- ↲ رباتیک
- ↲ اخبار و مصاحبه ها در رباتیک
- ↲ آموزش و مقالات رباتیک
- ↲ پروژهها تکمیل شده رباتیک
- ↲ مدارها و مکانیک در رباتیک
- ↲ رباتهای پرنده
- ↲ برق و الکترونیک عمومی
- ↲ تعمیر لوازم برقی
- ↲ اخبار برق و الکترونیک
- بخش بازيهاي رايانهاي
- ↲ بازيهاي رايانهاي
- ↲ كنسولهاي بازي
- ↲ PSP
- ↲ اخبار بازيها
- بخش تجاري اقتصادي
- ↲ بخش اقتصادی و مالی
- ↲ تجارت آنلاين
- ↲ بورس
- ↲ تحلیل و سیگنال روز
- ↲ کار آفرینی
- بخشهاي متفرقه
- ↲ بخش ويژه
- ↲ ساير گفتگوها
- ↲ صندلي داغ
- ↲ اخبار و حوادث
- ↲ انجمن ورزش
- ↲ آکواريوم و ماهيهاي زينتي
- ↲ معرفي سايتها و وبلاگها