مقالات ترجمه شده دانشگاهی ایران

تکنیکهای حمله و دفاع خطرات داده های کرنل

تکنیکهای حمله و دفاع خطرات داده های کرنل

تکنیکهای حمله و دفاع خطرات داده های کرنل – ایران ترجمه – Irantarjomeh

 

مقالات ترجمه شده آماده گروه کامپیوتر
مقالات ترجمه شده آماده کل گروه های دانشگاهی

مقالات

چگونگی سفارش مقاله

الف – پرداخت وجه بحساب وب سایت ایران ترجمه(شماره حساب)ب- اطلاع جزئیات به ایمیل irantarjomeh@gmail.comشامل: مبلغ پرداختی – شماره فیش / ارجاع و تاریخ پرداخت – مقاله مورد نظر --مقالات آماده سفارش داده شده پس از تایید به ایمیل شما ارسال خواهند شد.

قیمت

قیمت این مقاله: 68000 تومان (ایران ترجمه - Irantarjomeh)

توضیح

بخش زیادی از این مقاله بصورت رایگان ذیلا قابل مطالعه می باشد.

مقالات ترجمه شده کامپیوتر - ایران ترجمه - irantarjomeh

www.irantarjomeh.com

شماره      
۱۰۱
کد مقاله
COM101
مترجم
گروه مترجمین ایران ترجمه – irantarjomeh
نام فارسی
مشخص نمودن خطرات سیستماتیک بر علیه داده های کرنل : تکنیکهای حمله و دفاع
نام انگلیسی
Identifying Systematic Threats to Kernel Data: Attacks and Defense Techniques
تعداد صفحه به فارسی
۷۰
تعداد صفحه به انگلیسی
۲۵
کلمات کلیدی به فارسی
خطرات سیستماتیک،  داده های کرنل، تکنیک، حمله، دفاع، فایروال، روتکیت
کلمات کلیدی به انگلیسی
Systematic Threats, Kernel  Data, Techniques, Attack, Defense, Firewall, Rootkit
مرجع به فارسی
دانشگاه راگرز، نیوجرسی، ایالات متحده
مرجع به انگلیسی
Rutgers University New Jersey (USA)
کشور
ایالات متحده

خطرات سیستماتیک بر علیه داده های کرنل : تکنیکهای حمله و دفاع

چکیده
در این مقاله کلاس جدیدی از حملات همراه با یک فناوری اتوماتیک جدید جهت تشخیص آنها عرضه می‌شود. این حملات به طور صریح معرف رفتاری مخفی نمی باشند اما در عین حال از نقطه نظر طراحی حالت مخفیانه و نهان شده را حفظ می‌کنند. آنها متکی به برنامه های فضای کاربر جهت  فراهم آوردن عملیات مغرضانه خود نمی باشند، بلکه روش آنها مشابه با رفتاری است که سیستم به سادگی  با داده های کرنل دارد. این حملات به عنوان نمادی برای یک مشکل سیستماتیک بزرگتر در داخل کرنل به شمار می آیند، بنابراین نیازمند تجزیه وتحلیل جامع آن می‌باشد. تکنیک تشخیص روتکیت (rootkit) جدید ما بر مبنای درک اتوماتیک تغییر ناپذیری ساختار داده می باشد که به طور اتوماتیک قابلیت تشخیص حملات مخفیانه پیشرفته بر علیه کرنل را خواهد داشت.
 

تکنیکهای حمله و دفاع خطرات داده های کرنل

 

مقدمه
جامعیت کرنل سیستم عامل برای امنیت کلیه برنامه های کاربردی و داده ها بر روی سیستمهای کامپیوتری حیاتی تلقی می شود. تداخلات پنهانی در کرنل یا هسته سیستم عامل به طور متعارف به وسیله برنامه های مخربی صورت می گیرند که به طور شایع تحت عنوان روتکیت ها خوانده می‌شوند. عبارت rootkit به طور اولیه برای رجوع به تولکیت یا جعبه ابزار توسعه یافته به وسیله مهاجمین به کار گرفته شد که کمک می نمودند تا حضور این مهاجمین در سیستم به صورت مخفیانه باقی ماند. برنامه روتکیت غالباً به هنگامی نصب می گردد که مهاجم کنترل سطح ریشه را به دست آورده  باشد و سعی نموده باشد تا آبجکت های مغرضانه خود، نظیر فایل ها، پردازش ها و اتصالات شبکه، را مخفی نگه دارد.
سیستمی که بوسیله روتکیت آلوده شده باشد قابلیت بهره برداری مخفیانه و از راه دور را به فرد یا افراد مهاجم اعطا می‌نماید، نظیرفلترینگ اطلاعات حساس یا درگیری سیستم در فعالیت های مغرضانه و مخربانه و کلاهبرداری بدون اطلاع کاربر یا با اجازه وی. عدم وجود ابزارهای تشخیص مناسب بدین سیستم ها اجازه خواهند داد تا به صورت مخفیانه عملیات سیستمی را در یک محدوده زمانی نا مشخص در اختیار مهاجمین قرار دهند. مطالعات اخیر معرف تکوین پدیده ای در تعدادی از بد افزارها می باشد که از تکنولوژی نهان کاری استفاده نموده اند، پدیده‌ای که غالباً از روتکیت استفاده شده است. به طور مثال، گزارش منتشر شده  بوسیله آزمایشگاه‌های شرکت مک‌آفی (MacAfee, 2006)، مشخص می سازد که یک افزایش ۶۰۰ درصدی در تعدادی روتکیت‌ها در خلال یک دوره سه ساله از ۲۰۰۴ الی ۲۰۰۶ بوقوع پیوسته است. در حقیقت، چنین روندی به صورت روزمره تداوم داشته است. گزارش فوروم اینترنتی antiroothit.com مشخص کننده کشف بیش از ۲۰۰ روتکیت، در ابتدای فصل اول سال ۲۰۰۸ به تنهایی، می‌باشد.
 
ارتقای روتکیت –  Rootkit
تکنیک های هجومی روتکیت ها در خلال چندین سال گذشته به حد اعلای خود رسیده اند و بر این مبنا یک خطر واقعی را برای سیستم های عامل به وجود آورده اند. تشخیص جامع چنین روتکیت های پیشرفته ای هنوز به عنوان یک مشکل تحقیقاتی باز بشمار می آید. تکنیک های حمله جدید که بوسیله روتکیت ها مورد استفاده قرار می گیرند سبب می شود تا فن‌آوریهای نوینی نیز جهت تشخیص حضور آنها عرضه شوند. ارتقای روتکیت ها وتکنیک های شناسایی آنها همچنان مبارزه بین مهاجمین و مدافعین را تداوم بخشیده است. شکل ۱  معرف ارتقای تکنیک های حمله روتکیت می باشد. روتکیت ها سیر ترقی خود را از طریق دستکاری فضاهای باینری کاربران و کتابخانه های اشتراکی جهت جایگزینی کنترل و داده های غیر کنترلی درکرنل ادامه داده اند. روتکیت‌های جدیدی که همین اواخر دیده شده‌اند قابلیت نصب خود در زیر سطح سیستم عامل  را خواهند داشت.
روتکیت های اولیه کار خود را از طریق تغییر سیستم باینری ها و کتابخانه های اشتراکی آغاز نموده و آنها را با نگارش های برنامه های تراجنی (trajan) خود جایگزین می نمودند. هدف از این باینری‌های تراجنی مخفی نمودن آبجکت ها یا موضوعات مخرب و مغرضانه و یا اعطای حق دسترسی به فرایندهای مخرب بوده است. به طور مثال، یک تراجن باینریPS  کوچک سبب نخواهد شد تا فرایند های تخریبی در حال اجرا بر روی سیستم  لیست شوند. فرایند لاگ‌این (login) تراجنی نیز می تواند سطح روت یا ریشه را در اختیار کاربر مغرض قرار دهد. جهت تشخیص باینری‌های سیستم تراجنی و کتابخانه های اشتراکی تراجنی، ابزارهای نظیر تریپ وایر (Trip-wire) و AIDE توسعه یافتند. این ادوات اقدام به تولید مجموعه های مقابله ای (Checksums) شناسایی باینری ها و به هنگامی می نمودند که آنها بر روی سیستم تمیز یا آلوده نشده اجرا می‌شوند و آنها را در یک بانک اطلاعات ذخیره می نمایند، یک کاربر بعدا قابلیت بررسی سیستمی با استفاده از چنین ادواتی را خواهد داشت و می تواند نسبت به مقایسه مجموعه های مقابله ای باینری های سیستمی با اطلاعات قبلا ذخیره شده اقدام نماید. عدم انطباق در مجموعه مقابله ای معرف حضور باینری تراجنی خواهد بود. ادوات تشخیصی دیگر از یک رویه ضد ویروسی بهره می‌جویند، که در آن حضور یک روتکیت  با استفاده از بانک اطلاعات دارای امضا های شناخته شده تشخیص داده می شود، نظیر توالی خاص بایت ها در حافظه، یا از طریق حضور فایل های خاص بر روی دیسک. این دیدگاه سبب محافظت سیستم در برابر روتکیت های ناشناخته جدیدتر نخواهد شد. روتکیت ها با استفاده از تکنیک های چند ریختی (پلی مورفی) و فرا ریختی (متا مورفی) در جهت مبهم سازی کد به منظور خنثی نمودن عملیات تشخیص اقدام می نمایند، تکنیک‌هایی که به طور سنتی به وسیله ویروس ها جهت فرار از تشخیص از برنامه های ضد ویروس مورد استفاده قرار می ‌گرفت.

تکنیکهای حمله و دفاع خطرات داده های کرنل

 

تعاملات و راهکارهای ما
نقطه تمرکز این فصل بر روی حملاتی است که اقدام به جایگزینی ساختار کد و اطلاعات در هسته سیستم عامل می نمایند. به طور متعارف، روتکیت ها فراهم آورنده کلیه اقدامات تخریبی و مغرضانه به عنوان برنامه های فضای کاربر می باشند. جهت مخفی کردن حضور خود، روتکیت ها خود را در کرنل مخفی می نمایند. چنین پدیده ای شامل تغییر کد یا ساختارهای داده کرنل در مسیرهای فراخوانی سیستمی می باشد که قابلیت تاثیر گذاری بر روی بازبینی سیستمی از طریق کاربر را خواهد داشت. به طور متعارف ، روتکیت ها در امر کنترل از طریق نصب هوک ها در داخل مسیر کنترل فراخوانی سیستم اقدام می نمایند، که سبب خواهد شد تا قابلیت فیلترینگ درخواست ها و پاسخ ها برای آنها بوجود آید. شایع ترین ساختار اطلاعاتی که بوسیله روتکیت ها بدین منظور دستکاری می شود جدول فراخوانی سیستم است. با توجه به بلوغ تکنیک های تشخیص جهت نظارت بر ساختارهای داده ای کاملا شناخته شده که بوسیله روتکیت ها هدف قرار میگیرند، آنها خود را به گونه ای ارتقا داده اند تا قابلیت تغییر ساختارهایی را داشته باشند که از معروفیت کمتری در زمینه تداخل کنترلی برخوردار می‌باشند. انواع دیگر نیز خود را به گونه ای ارتقا داده اند تا توان تغییر داده های غیر کنترلی را داشته باشند تا آنکه به اهداف مشابهی دست یابند.
حملات
دراین بخش ما اقدام به معرفی حملات نهانی می نماییم که آنها را خود طراحی نموده و یا بوسیله گروه های تحقیقات دیگری  طراحی شده اند. کلیه آنها به اهداف مخربانه خود از طریق تغییر صرف داده های کرنل می‌رسند. هیچ کدام از آنها به طور صریح رفتار نهانی را از خود نشان نداده و از این رو نمی توان آنها را بوسیله ادواتی که تنها رفتار نهان را به عنوان علامت تشخیص مورد بررسی قرار میدهند شناسایی کرد. طیف این حملات مجموعه‌ای از زیرسیستم های مختلف را در کرنل هدف قرار داده و معرف وجود خطر سیستماتیکی بیشتری میباشند که بوسیله روتکیت های آتی اعمال خواهند شد.
غیر فعال سازی دیوار آتش یا فایروال –  Firewall
این حمله خود را بداخل چارچوب نت‌فیلتر (netfilter) کرنل لینوکس قلاب نموده و به صورت مخفیانه اقدام به غیر فعال سازی فایروالی خواهد نمود که بر روی سیستم نصب شده است. بر این مبنا کاربر قابلیت تشخیص چنین معضلی، از طریق استفاده از Iptables ، را نخواهد داشت. چنین مواردی هنوز نیز به عنوان مسائل معتبر مطرح بوده و ظاهرا فایروال ها تحت تاثیر این معضل قرار دارند. در طراحی این حمله، هدف مهاجم غیر فعال سازی مکانیزم های دفاع شبکه می باشد که بوسیله سیستم های هدف بکار گرفته شده اند و از این رو آنها در معرض خطر حملات دیگری نیز در شبکه قرار خواهند گرفت.
اتلاف منابع
این حمله سبب به بار آمدن مشکلات مربوط به اتلاف منابع و تنزل عملکرد برنامه های کاربردی از طریق ایجاد فشار تصنعی بر روی حافظه می تواند سبب بروز تراشینگ یا مشکل در اتلاف وقت بواسطه صفحه بندی خواهد شد. هدف این حمله نشان دادن این موضوع است که تنها از طریق دستکاری مقادیر ساده ای می‌توان بطور مخفی بر الگوریتم های کرنل تاثیر گذاشت. چنین حمله ای لاجیک تراز بندی (بالانس) ناحیه، که خود سبب می گردد  این اطمینان حاصل شود که غالباً صفحات آزاد کافی در دسترس حافظه سیستمی خواهد بود، را هدف قرار می‌دهد.
آنتروپی آلایندگی انباره
این حمله اقدام به آلوده سازی انباره آنتروپی و چند اسمی هایی می نماید که بوسیله تولید کننده اعداد شبه تصادفی (PRNG) جهت تحرک انباره ها استفاده می‌شود. هدف از این حمله تنزل کیفیت اعداد شبه تصادفی می باشد که به وسیله PRNG تولید می‌شوند. کرنل جهت تأمین اعداد شبه تصادفی با کیفیت متناسب به PRNG وابسته است، که خود به وسیله کلیه توابع ایمنی در کرنل و همچنین سیستم های کاربردی برای ایجاد کلید، تولید شناسه های مطمئن نشست ایمن و غیره مورد استفاده قرار می‌گیرد. کلیه برنامه های کاربردی و توابعی کرنل که وابسته به PRNG هستند در مقابل در می توانند در معرض حمله قرار گیرند.
 
غیر فعال سازی مولد اعداد شبه تصادفی
این حمله اقدام به بازنویسی آدرس های توابع ابزار رجیستر شده بوسیله مولد اعداد شبه تصادفی (PRNG) با تابعی می نماید که حاوی آدرس های کد حمله می باشد. بنابر این توابع اولیه هرگز اعمال نمی گردند. این توابع به هنگامی که واحدهای تصادفی از ادوات /dev/random یا /dev/urandom درخواست می گردند، غالبا صفر را برمی گردانند. توجه شود که با وجود آنکه چنین مبحثی مشابه با حمله بوسیله روتکیت های متعارفی می باشد که به اشاره گرهای تابع قلاب می شوند، تفاوت مشخصی بین آنها وجود دارد. از آنجایی که این ابزار خاص بر روی نگرش سطح کاربر این آبجکت ها تاثیر نمی گذارد، چنین موردی را به عنوان هدف برای حاصل آوردن رفتار مخفیانه به شمار نیاورده و از این رو به وسیله سیستم های کنترل کننده جامعیت کرنل تحت مراقبت قرار نخواهد گرفت.

تکنیکهای حمله و دفاع خطرات داده های کرنل

 

اضافه سازی یک فرمت باینری جدید
هدف از این حمله تحریک کد مخرب در هر زمانی است که یک فرآیند جدید بر روی سیستم تولید می شود. در حالیکه روتکیت ها به طور معمول این فرم از روش هوکینگ یا قلاب زنی را با استفاده از تغییر داده های کنترلی کرنل انجام می دهند، نظیر جدول فراخوانی سیستم، چنین حمله ای از طریق درج یک فرمت باینری جدید درسیستم اعمال می گردد.
حمله. این حمله از طریق ارائه یک فرمت باینری جدید در لیست فرمت های پشتیبانی شده به وسیله سیستم اجرا می شود. اجرا کننده جهت پشتیبانی  این  فرمت  در حقیقت یک سیستم مخرب می باشد یک فرمت باینری که به وسیله این سیستم پشتیبانی شده است به وسیله کرنل در یک لیست لینک کلی تحت عنوان فرمت ها حفظ می شود. این هندلر یا اجرا کننده باینری، که مختص فرمت باینری مشخص شده است، همچنین به هنگامی که فرمت جدید رجیستر می شود نیز اعمال می گردد.
تشخیص روتکیت از طریق استنتاج تغییر ناپذیری اتوماتیک
جهت شناسایی اتوماتیک حملات مخفیانه‌ای که بر روی کرنل، نظیر موردی که در بخش آخر بحث شد، انجام می‌شوند، ما یک دیدگاه جدید، بر اساس استنتاج اتوماتیک پارامترهای تغییر ناپذیر در ساختار های داده، را عنوان می نماییم. این دیدگاه بر مبنای این فرضیه است که ساختارهای داده کرنل معرف تغییرناپذیری در طی عملیات معمولی آنها می باشد. یک روتکیت کرنل که رفتار الگوریتم های کرنل را در بر دارد اقدام به نادیده گرفتن برخی از این موارد نموده و بنابر این می‌تواند خود را مخفی سازد. چنین دید گاهی می تواند به صورت یکنواخت آن دسته از روتکیت‌هایی را تشخیص دهد که اقدام به تغییر داده های کنترلی و غیر کنترلی می‌نمایند. جهت ارزیابی این فرضیه، ما یک پروتوتایپ گیبرالتر (Gibraltar) را ایجاد می نماییم که با طراحی و اجرای آن می توان موارد ذیل را تشریح نمود.
 سیستم واکشی صفحه
گیبرالتر بر روی سیستمی اجرا می شود که به صورت مجزا از سیستم هدف کار می نماید. سیستم واکشی صفحه گیبرالتر در حقیقت مولفه ای به شمار می آید که از آدرس حافظه فیزیکی به عنوان ورودی استفاده نموده و صفحات حافظه منطبق را از ماشین هدف حاصل می آورد. این هدف از یک کارت Myrinet PCI استفاده می نماید که برای آن یک واکش صفحه درخواستی را برای یک صفحه حافظه فیزیکی ارسال داشته است. در پی دریافت این درخواست، سفت افزار موجود بر روی هدف یک درخواست  DMAرا برای صفحه مشخص شده درخواست می نماید. بر این مبنا محتویات صفحه فیزیکی به سیستم کنترل کننده در پی تکمیل DMA ارسال می شود. کارت Myrinet بر روی ماشین هدف یک نگارش ارتقا یافته از سفت افزار اصلی را اجرا می نماید. رویه ارتقا ما این اطمینان را خواهد داد که به هنگامی که کارت مربوطه درخواستی را از واکش صفحه درخواست نمود، این درخواست به طور مستقیم به وسیله سفت افزار تفسیر و خدمات مربوطه عرضه می شود.
 
استخراج کننده ساختار داده
این مولفه اقدام به بازسازی یک نسخه فوری یا اسنپ‌شوت (Snapshot) از ساختارهای داده کرنل هدف از صفحات حافظه خام فیزیکی می نماید. استخراج کننده ساختار داده با استفاده از دو ورودی جهت تشخیص ساختارهای داده در داخل این صفحات اقدام به پردازش صفحات حافظه خام فیزیکی خواهد نمود. در ابتدا، این سیستم یک سری از علائم ریشه ای را مورد استفاده قرار می‌دهدکه متشکل از داده های کرنلی، که موقعیت های فیزیکی آنها ثابت می باشند و همچنین ساختارهای داده ای که بر روی بخش هدف قابل دسترسی هستند، می‌باشند. در رویه اجرایی ما، از علائم داخل سیستمی استفاده شد. فایل نگاشت کرنل هدف/ مقصد به عنوان مجموعه ای از روت ها یا مسیر‌ها مشخص گردید. در وهله دوم، از یک سری از تعاریف نوعی ساختارهای داده در کرنل هدف استفاده شد. تعاریف نوعی همانگونه که ذیلاً تشریح می شوند جهت مشخص نمودن کلیه ساختارهای داده قابل دسترسی به کار گرفته می شوند. ما به طور اتوماتیک اقدام به استخراج ۱۲۹۲تعریف نوعی از طریق تحلیل کد اصلی کرنل  لینوکس-۲۰-۴-۲ مقصد با استفاده از ماژول CIL نمودیم.
مولد اقلام تغییرناپذیر
در این حالت فراگیری، خروجی استخراج کننده ساختار داده به وسیله مولد اقلام تغییرناپذیر مورد استفاده قرار می گیرد که به صورت مشابه موارد نامتغیر ساختار داده را مشخص می سازد. این موارد به عنوان مشخصه های جامعیت ساختارداده به کار گرفته می شوند.
مانیتور
در طی فاز اجرا، مانیتور این اطمینان را خواهد داد که ساختارهای داده در حافظه مقصد قابلیت ارضای اقلام تغییر ناپذیر حاصله در طی فاز فراگیری را خواهند داشت. همانند مولد موارد تغییر ناپذیر، این مانیتور اقدام به حاصل آوردن نسخه‌های فوری از سیستم استخراج کننده ساختار داده می نماید و همچنین ساختارهای داده در هر نسخه‌ فوری را در برابر این پارامترهای تغییر ناپذیر کنترل می کند. چنین عملی این اطمینان را بوجود خواهد آورد که هرگونه تغییر مخربانه ای در حافظه کرنل که می تواند سبب نقض یک مورد تغییر ناپذیر شود را بتوان به صورت اتوماتیک تشخیص داد.
 
مداومت در برابر تغییر ناپذیری گذار
پارامترهای تغییر ناپذیر یا ثابت مشخص شده بوسیله گیبرالتر را می توان به دو دسته مداومت پایدار و گذرا تقسیم کرد. موارد دارای مداومت یا پایداری از ویژگی هایی برخوردار می باشند که در خلال ریبوت های ماشین مقصد، به شرط آنکه کرنل هدف بطور مجدد پیکر بندی نشده باشد، و یا بین این بوت های مجدد کامپایل نشده باشد، معتبر می‌باشند. کلیه مثال های شکل ۱۱ الی ۱۵ معرف مداومت یا پایداری هستند.

تکنیکهای حمله و دفاع خطرات داده های کرنل

 

نتایج تجربی
این بخش ارائه دهنده نتایج تجربی در زمینه آزمایش میزان تأثیر و عملکرد نظر گیبرالتر در مبحث تشخیص روتکیت هایی است که قابلیت تغییر هر دو مورد ساختارهای داده ای کنترلی و غیر کنترلی را خواهند داشت. بر این مبنا ما بر روی سه مبحث تمرکز خواهیم نمود.
دقت تشخیص. ما میزان تأثیر گیبرالتر را با استفاده از آن جهت تشخیص حضور نرم افزارهای مخرب روتکیت و همچنین موارد ارائه شده در مباحث تحقیقاتی دیگر را عرضه می نماییم. گیبرالتر قابلیت تشخیص کلیه این روتکیت ها را دارد (بخش ۲ ـ ۴).
مثبت های کاذب. در طی اعمال این موارد، به هنگامی که یک نقض تغییر ناپذیر مشاهده شده باشد، گیبرالتر هشداری را صادر می‌کند. در صورتی که این نقض بواسطه تغییر مخربانه نباشد، چنین هشداری به عنوان مثبت کاذب تلقی خواهد شد. آزمایشات ما نشان دهنده آن است که گیبرالتر دارای نرخ مثبت کاذب صفر به ۶۵/۰ درصد می باشد (بخش ۳ـ۴).
عملکرد. ما سه ویژگی عملکرد گیبرالتر را مورد سنجش قرار داده و دریافتیم که چنین موردی سبب به بار آمدن یک رویه نظارتی نادیده انگاشته شده ای در زمینه بررسی سربار خواهد شد (بخش۴ـ۴).
روش شناسی تجربی
آزمایشات ما همراه با گیبرالتر به شرح ذیل انجام شد. در ابتدا ما گیبرالتر را در مد آموزشی اجرا نموده و سپس اقدام به اجرای یک بار کاری نمودیم که رفتار کاربر (به شرح ذیل) بر روی سیستم مقصد را تقلید می نمود. ما گیبرالتر را پیکر بندی نموده تا آنکه توانایی حاصل آوردن ۱۵ نسخه فوری در طی دوره آموزشی را داشته باشیم. گیبرالتر این نسخه‌های فوری را مورد بررسی قرار داده و موارد تغییر ناپذیر را از آنها استنتاج نمود. پس از آن ما گیبرالتر را بگونه‌ای پیکر بندی نمودیم تا آن را در مد اجرایی با استفاده از پارامترهای تغییر ناپذیر حاصله از این رویه فراگیری اجرا کنیم. در طی این اجرا، ما روتکیت هایی را بر روی سیستم هدف نصب نموده و هشدار های ایجادی بوسیله گیبرالتر را مشاهده نمودیم. در نهایت، ما نرخ مثبت کاذب گیبرالتر، از طریق اجرای یک بار کاری سازگار با کاربردهای سالم، را مورد مطالعه قرار دادیم.
دقت تشخیص
در این مبحث ما نتایج حاصله در استفاده از داده های تغییر ناپذیر جهت تشخیص روتکیت های متعارف و حملات نهان کارانه مدرن که بوسیله ما و دیگر محققین پیشنهاد شده است را گزارش می‌کنیم.
تشخیص روتکیت های متعارف. ما از ۱۴ روتکیتی که بصورت عام در دسترس می باشند جهت تغییر ساختارهای داده کرنل به منظور تست میزان تاثیر گیبرالتر استفاده می کنیم. اغلب این روتکیت ها آبجکت های سطح کاربر را از طریق تغییر اشاره گرهای تابع به کرنل مخفی می سازند. ما همچنین یکی از روتکیت های پیشنهاد شده در مبحث تحقیقاتی پترونی،۲۰۰۶، را نیز شامل نمودیم که این روتکیت قابلیت مخفی سازی فرایند های مخربانه از طریق جایگزینی داده های غیر کنترلی را خواهد داشت. این روتکیت بر مبنای این حقیقت استوار است که که یوتیلیتی های پردازش حسابداری نظیر ps و برنامه های زمان بندی وظایف کرنل دارای لیست های فرایندی مختلفی هستند.
تشخیص حملات مخفیانه مدرن. ما از پنج حمله مخفی توسعه یافته بوسیله ما و دیگر موارد به بحث گذاشته شده در مقوله قبلی جهت تست گیبرالتر استفاده نمودیم. جدول ۵ این حملات را خلاصه کرده و نشان دهنده ساختارهای داده تغییر یافته بوسیله این حمله، نوع تغییر ناپذیری (مجموعه/آبجکت) که شامل موارد نقص شده هستند و قالبی که اقدام به دسته بندی چنین مواردی می نماید، می‌باشد. تمامی این موارد بصورت مداوم بوده که به هنگام بوت مجدد ماشین مقصد نیز همچنان تداوم می یابند. ما اقدام به بحث موارد نقص شده بوسیله هر حمله به تفصیل خواهیم نمود. جزئیات اولین چهار حمله ذکر شده ذیل قبلاً در بخش ۲ توصیف شده است.
غیر فعال سازی حمله فایروال
گیبرالتر اقلام تغییر ناپذیری که در شکل ۱۱ در چهارچوب netfilter برای غیر فعال نمودن حمله فایروال مشخص شده است را استنتاج نموده است. این حمله اقدام به رونویسی هوک/ قلاب با تابع حمله می نماید و از این طریق اقدام به نقض اقلام تغییر ناپذیری می‌نماید. در عین حال اشاره گر تابع nf_hooks[2][1].next.hook یک ثابت است. از آنجایی که این حمله اقدام به تغییر اشاره گرهای تابع کرنل می نماید، این معضل را می توان بوسیله SBCFI تشخیص داد، که بصورت اتوماتیک اقدام به استخراج و اعمال جامعیت جریان کنترل کرنل می نماید. در حقیقت، پارامترهای تغییر ناپذیر اشاره گر تابع که بوسیله گیبرالتر مشخص شده اند، بطور تلویحی مشخص کننده یک خط مشی جامعیت جریان کنترل می باشند که مساوی با SBCFI است.
حمله اتلاف منابع
گیبرالتر مشخص کننده پارامترهای تغییر ناپذیری است که در شکل ۱۲ برای سه مورد از حملاتی که موجب اتلاف منابع می شوند نشان داده شده است. این مقادیر در زمان شروع بکار سیستم آغاز شده و بطور معمول در یک کرنل عادی تغییر نمی یابند. این حمله اقدام به تغییر معیارهای صفحات میانی، صفحات پایینی و صفحات بالایی به ۲۱۰۰۰۰، ۲۱۵۰۰۰ و ۲۲۰۰۰۰ بترتیب می‌نماید. مقادیر این معیارها نزدیک به ۲۲۵۲۸۰ می باشند که مجموعه کل صفحات موجود در سیستم ما است. گیبرالتر این حمله را تشخیص می دهد که چراکه موارد تغییر ناپذیر نشان داده شده در شکل ۱۲ نقص شده اند.
حمله آلوده کننده انباره آنتروپی
شکل ۱۳ نشان دهنده موارد تغییر ناپذیری است که گیبرالتر برای ضرایب چند اسمی مشخص ساخته است و جهت تحرک انبارهای آنتروپی در یک کرنل معمولی و بدون مشکل بکار گرفته می‌شود (ساختار داده ای poolinfo که در این شکل نشان داده شده است بوسیله کرنل بصورت random_state->poolinfo / sec_random_state->pooinfo نشان داده شده است. این ضرایب در زمان آغاز بکار سیستم راه اندازی شده و نباید در طی اجرای کرنل تغییر کنند. این حمله اقدام به نقض این موارد تغییر ناپذیر و به هنگامی می نماید که ضرایب چند اسمی ها صفر می گردند. گیبرالتر این حمله را زمانی تشخیص می دهد که پارامترهای تغییر ناپذیر نقص می شوند.
 
 حمله غیر فعال سازیPRNG
پارامترهای تغییر ناپذیر حاصله از سوی گیبرالتر برای سیستم ما در زمینه random fops و urandom fops در شکل ۱۴ نشان داده شده است. کد حمله اقدام به تغییر مقادیر دو اشاره گر تابع فوق نموده و از این طریق سبب نقص پارامترهای تغییر ناپذیر می شود. همانند حمله ۱، این حمله نیز با استفاده از SBCFI قابل تشخیص می باشد.
حمله اضافه نمودن فرمت باینری
پارامترهای تغییر ناپذیر حاصل آمده از گیبرالتر که در شکل ۱۵ در لیست فرمت های سیستمی ما نشان داده شده است دارای دو فرمت باینری رجیستر شده می‌باشند. اندازه این لیست پس از شروع بکار سیستم ثابت می باشد و تنها زمانی تغییر می یابد که یک فرمت باینری جدیدی نصب شده باشد. از آنجایی که این حمله یک فرمت باینری جدید را درج می کند، سبب تغییر طول لیست فرمتها شده و از این طریق موجب نقص پارامترهای تغییر ناپذیر در شکل ۱۰ شده و از این طریق گیبرالتر توانایی تشخیص این حمله را خواهد داشت.
 
اقلام تغییر ناپذیر و مثبت کاذب
پارامترهای تغییر ناپذیر. همانگونه که در بخش ۳ بحث شد گیبرالتر از نظریه دیکون جهت استنتاج این موارد استفاده نموده و ویژگی های آبجک های منفرد و همچنین مجموعه آبجکت ها را مشخص نمود (نظیر آبجک های دارای نوع یکسان، پارامترهای تغییر ناپذیر مشخص شده در لیست‌های لینک نیز به عنوان موارد تغییر ناپذیر در این مجموعه مشخص شده اند).جدول ۶ نشان دهنده تعداد موارد تغییر ناپذیر استنباط شده بوسیله گیبرالتر بر روی آبجکت های واحد و همچنین آبجکت های جمعی می باشد. جدول ۶ همچنین معرف دسته بندی پارامترهای تغییر ناپذیر از طریق تمپلت ها یا قالب ها است. طول و زیر مجموعه این موارد تنها در لیست های لینک شده بکار گرفته می شوند. همانگونه که این جدول نشان می دهد، گیبرالتر بطور اتوماتیک چندین هزار مورد از اقلام تغییر ناپذیر در ساختارهای داده کرنل را مشخص می‌سازد.
عملکرد
ما اقدام به اندازه گیری سه ویژگی عملکرد گیبرالتر نمودیم: (الف) زمان فراگیری، یعنی زمانی که بوسیله گیبرالتر صرف می شود تا آنکه قابلیت مشاهده هدف و استنتاج موارد تغییر ناپذیر بوجود آید، (ب) زمان تشخیص، یعنی زمانی که صرف شده تا آنکه هشداری پس از مشخص شدن روتکیت اعلام شود (ج) سربار عملکرد، یعنی سرباری که بر روی سیستم مقصد در نتیجه واکشی مقطعی صفحه از طریق DMA بوجود می آید.
زمان فراگیری یا آموزش. زمان فراگیری به عنوان مجموع زمان مشخص شده بوسیله گیبرالتر به منظور حاصل آوردن نسخه فوری از ساختار داده کرنل و استنتاج پارامترهای تغییر ناپذیر در زمان اجرا در حالات آموزشی صرف می شود. بطور کلی، فرایند کسب ۱۵ مورد از نسخه‌های فوری از حافظه کرنل مقصد تقریباً نیازمند ۲۵ دقیقه زمان می باشد و در پی آن ۳۱ دقیقه  جهت استنتاج موارد تغییر ناپذیر مورد نیاز می باشد که مجموع آن ۵۶ دقیقه را برای آموزش طلب می کند.

 

تکنیکهای حمله و دفاع خطرات داده های کرنل

 

نتیجه گیری
 به طور متعارف، برنامه های روتکیت اقدام به ورود مخفیانه خود به داخل کرنل نموده تا آنکه بتوانند اقدامات نهانی خود را که دارای بیشترین عملکرد مخربانه می باشد را از طریق همراه سازی آنها با برنامه های فضایی کاربر پیاده کنند. بنابراین، رویه نهانی کاری از طریق سعی در مخفی سازی آبجکت ها نظیر فایلها، پردازش ها و اتصالات شبکه موجود در فضای کاربر و اتصال آن به فرد مهاجم اعمال می شود. از آنجایی که برنامه فضای کاربر قابلیت دسترسی و تغییر آبجکت های فضای کاربر با استفاده از تابع فراخوانی سیستمی را خواهند داشت، روتکیت تنها محدود به دستکاری کد یا ساختارهای داده ای هستند که تنها از طریق مسیرهای فراخوانی سیستم قابل دسترسی می باشند.
ما کلاس جدیدی از حملات مخفیانه را ارائه نمودیم که از رفتار مخفی کاری سنتی استفاده نکرده و بر این مبنا روتکیت ها با تکنیک های جدید سعی در طراحی روشهای مخفیانه نوینی نموده اند. آنها اقدام به دستکاری داده ها در داخل چندین زیر مجموعه مختلف در کرنل نموده تا آنکه اهداف مخربانه خود را انجام دهند. آنها بر مبنای این مشاهده فعالیت می کنند که روتکیت های کرنل الزاماً محدود به دستکاری ساختارهای داده، که در داخل مسیرهای فراخوانی سیستمی قرار گرفته‌اند، نمی باشند. دیگر زیر سیستم ها در داخل کرنل نیز در معرض خطر این حملات خواهند بود. جهت نمایش این خطر، ما اقدام به ایجاد چندین حمله جدید نمودیم. ما پروتوتایپ‌ها یا نمونه‌های حمله را طراحی نموده تا آنکه نشان دهیم که چنین حملاتی واقعی بوده و مشخص کننده مشکلات بیشتر سیستماتیک در کرنل می باشند.
تکنیک های تشخیص روتکیت ارائه شده قبلی به میزان زیادی قابلیت تشخیص حملاتی را داشتند که اقدام به تغییر داده های کنترلی کرنل می نمودند. تکنیکهایی که توانایی تشخیص حملات داده‌ای غیر کنترلی را دارند، مخصوصاً بر روی ساختارهای داده ای که بطور اتوماتیک تخصیص می‌یابند، نیازمند مشخصات جامعیت ساختاری داده ای هستند که باید آن را بصورت دستی تأمین نمود. در این مبحث، ما یک روش تشخیص روتکیت جدید را ارائه نمودیم که قابلیت تشخیص روتکیت ها بصورت یکنواخت در خلال داده های کنترلی و غیر کنترلی را خواهد داشت. این دیدگاه بر مبنای این فرضیه استوار است که چندین پارامتر تغییر ناپذیر بوسیله ساختارهای داده کرنل در زمان اجرا در طی عملیات صحیح آن وجود دارند. روتکیتی که اقدام به تغییر رفتار الگوریتم های کرنل می نماید برخی از این پارامترهای تغییر ناپذیر یا ثابت را نقص خواهد نمود. ما پروتوتایپ گیبرالتر، بعنوان ابزاری برای استنتاج اتوماتیک و بررسی مشخصه های جامعیت ساختار داده کرنل،  را عرضه نمودیم. گیبرالتر می تواند جامعیت و یکنواختی این  خصیصه های تغییر ناپذیر، در خلال داده های کنترلی و غیر کنترلی کرنل، را مشخص نموده و از آنها به عنوان مشخصه های جامعیت ساختار داده استفاده نماید. تجارب ما معرف آن است که گیبرالتر بصورت موفقیت آمیزی توانایی تشخیص روتکیت هایی را خواهد داشت که اقدام به تغییر هر دو حالت کنترلی و غیر کنترلی ساختارهای داده می نمایند و همچنین این عمل را با یک نرخ مثبت کاذب پایین و سربار عملکرد قابل اغماض انجام می دهند.

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

Irantarjomeh
لطفا به جای کپی مقالات با خرید آنها به قیمتی بسیار متناسب مشخص شده ما را در ارانه هر چه بیشتر مقالات و مضامین ترجمه شده علمی و بهبود محتویات سایت ایران ترجمه یاری دهید.