شماره ركورد
19171
شماره راهنما(اين فيلد مربوط به كارشناس ميباشد لطفا آن را خالي بگذاريد)
۱۹۱۷۱
پديد آورنده
سيروس شاهيني
عنوان
ارائه يك ساز و كار حفاظتي در هسته لينوكس جهت مقابله با ناهنجاري هاي برنامه ها
مقطع تحصيلي
كارشناسي ارشد
رشته تحصيلي
نرم افزار - سيستم هاي توزيع شده
تاريخ دفاع
خرداد 1397
استاد راهنما
دكتر محسن شريفي
دانشكده
كامپيوتر
چكيده
باگهاي هسته سيستمعامل به علت تبعاتي كه براي كل مجموعه سيستم¬عامل و كاربران آن دارند خطرناكترين نوع باگهاي نرمافزاري هستند. به خصوص باگهاي امنيتي هسته، كه مستقيما حريم خصوصي و دسترسي به منابع سيستم را تهديد مي¬كنند بايد به سرعت رفع شده تا جلوي نفوذ مهاجمين به سيستم گرفته شود. تجربه نشان داده كه حتي در صورت رفع سريع چنين باگهايي توسط توسعهدهندگان سيستمعامل، بنا به دلايل متعدد، كاربران، نسخه جديد و امن هسته را به موقع دريافت و نصب نميكنند و اين باعث ميشود تا مدتها پس از انتشار بهروز رساني، همچنان در مقابل باگهاي هسته، آسيبپذير باشند. روشهاي تا كنون ارائه شده نتوانستهاند جهت حل اين مشكل و پيشگيري از ناهنجاريهاي حاصل از آن، چندان كارساز باشند. چرا كه يا سرعت عمل لازم را نداشتهاند يا مناسب استفاده گسترده نبودهاند ضمن آنكه هدف آن¬ها بيشتر اعمال به روزرساني كل سيستمعامل و كاهش زمان غيرفعال بودن سيستم بوده است. ما در اين پاياننامه، با ارائه يك مكانيزم حفاظتي سطح هسته، اقدام به معرفي يك روش تشخيص باگ نموديم كه براي همه نسخههاي يك سيستمعامل و براي معماريهاي متفاوت به شكل مشترك قابل بهرهبرداري است و اين امكان را فراهم مينمايد تا همه نسخههاي ياد شده به سرعت پس از شناسايي يك باگ هسته، از سوءاستفاده از آن باگ مصون بمانند. ما با پيادهسازي و آزمون مكانيزم، براي سه شاخه مختلف از سيستمعامل لينوكس براي يك دستگاه اندرويدي، يك دستگاه رزپريپاي و يك كامپيوتر دسكتاپ با سيستمعامل دبيَن، اقدام به مقابله با ۳۲ آسيبپذيري سطح هسته لينوكس نموديم كه در سالهاي اخير منتشر شدهاند. مكانيزم قادر بود تا به طور كامل و با سربار كمتر از يك درصد، ۲۹ آسيبپذيري را به طور كامل دفع نمايد. مكانيزم ما با استفاده از يك طرح انعطافپذير و جامع ساخته ميشود كه قابليت تطبيق با اكثر سيستمهاي عامل را دارد. اين مكانيزم برخلاف كارهاي انجام شده قبلي نياز به انتشار نسخه جديد هسته نداشته و منحصر به يك سيستم عامل خاص هم نيست. مكانيزم ما بر اساس سه اصل كلي عمل ميكند: اول آنكه نيازي به انتظار براي انتشار نسخه به روزشده سيستمعامل از طرف توليدكننده نيست، دوم آنكه نياز به تغييرات اساسي كد هسته و خاموش و روشن كردن سيستم نيست، ضمن اينكه نيازي به دخالت و اقدام كاربر نيست. نتيجه اين تحقيق براي افزايش سرعت مكانيزم پيشنهادي و تعميم آن براي پوشش دادن طيف وسيعتري از حملات سطح هسته، قابل استفاده خواهد بود.
واژگان كليدي: سيستمعامل، ناهنجاري، آسيبپذيري، لينوكس، هسته سيستمعامل، امنيت، دفاع
تاريخ ورود اطلاعات
1397/04/18
عنوان به انگليسي
A Protection Mechanism in Linux Kernel to Counter Behavior Anomalies of Programs
تاريخ بهره برداري
7/9/2018 12:00:00 AM
دانشجوي وارد كننده اطلاعات
سيروس شاهيني
چكيده به لاتين
Kernel level bugs, because of their drastic ramifications on the system as a whole, are considered as serious software bugs. Specifically, security bugs of a kernel which directly threaten the privacy of the users and access to system resources must be patched immediately to prevent intruders from breaking into the system. Experience has shown that even despite quick response by OS developers to patch vulnerabilities, users don't install security updates on time, due to various reasons. This leads to their systems being vulnerable to these bugs for long times. So far, the presented related works could not solve this problem effectively because either they were not fast enough or were not applicable to widespread usage. In addition, the main goal of almost all of them was only to update the kernel and make the updates in effect, without needing to reboot the computer. In our dissertation, we proposed a kernel level protection mechanism and implemented it for 3 variants of Linux operating systems for an Andorid device, a Raspberry Pi device and Debian-based desktop computer. The mechanism offers a bug recognition solution to protect all variants of an operating system against a kernel bug, immediately after the bug details are published. We studied 32 kernel level vulnerabilities which were disclosed in the recent years and could successfully protect the devices against 29 out of the 32 critical vulnerabilities with a negligible overhead (less than 1%). Our mechanism is built based on a comprehensive and flexible model, which is adaptable to many types of operating systems. In contrast to previous related works, our mechanism is not limited to publishing the new version or patch of the kernel after a vulnerability is disclosed and it's not limited to only one specific type of operating system. Our mechanism stands on 3 principals: first there's no need for the kernel developers to write a patch and hence release a new version of the kernel, second to apply the changes on the kernel and making them effective we do not need to restart the system and third we don't need the user to intervene in the operation. The results of this study can be used to improve the performance of our mechanism and to extend it to cover a wider spectrum of kernel level attacks.
Keywords: Operating System, Anomaly, Vulnerability, Linux, Kernel, Security, Defense