شماره ركورد
17118
شماره راهنما(اين فيلد مربوط به كارشناس ميباشد لطفا آن را خالي بگذاريد)
17118
پديد آورنده
مهشيد اذرپورسياهكلي
عنوان
طراحي و پياده سازي توليد كننده مورد ازمون جهت بهبود آزمون فازينگ مرورگرها
مقطع تحصيلي
كارشناسي ارشد
رشته تحصيلي
نرم افزار
تاريخ دفاع
آبان 1395
استاد راهنما
دكتر سعيد پارسا
دانشكده
كامپيوتر
چكيده
هدف اصلي در اين پاياننامه، ارائه طرح و كدِ پياده سازي براي ايجاد مولدِ موردِ آزمون، جهت فازينگ مرورگرهاي وب است. حاصل روش ارائه شده، بهبود راهكارهاي كشف آسيب پذيري هاي قابل بهره برداري در مرورگرها است. مرورگر گوگل كروم بهواسطه مطرح بودن در سطح جهاني و سرعت و امنيت نسبتاً بالا، مورد توجه خاص در اين پايان نامه قرارگرفته است.
صفحات HTML ورودي هاي معمول مرورگر هستند. اين صفحات توسط موتور مرورگر تفسير، اجرا و نمايش داده مي شوند. از طرفي وظيفه نمايش صفحات وب بر عهده موتور رندر مرورگر و اجراي كد اسكريپت بر عهده مفسر جاوااسكريپت است. موتور رندر مرورگر، براي ايجاد ساختار درختي صفحات وب، كد C++ توليد مي كند. لايه ي مرتبط كننده اي كه توسط زبان فرمال IDL مشخصشده است، اين ارتباط داخلي بين موتور رندر و مفسر جاوااسكريپت را به طور مداوم برقرار مي كند. اين ارتباط دهنده داخلي، كد C++ توليدشده توسط موتور رندر را به جاوااسكريپت و برعكس تبديل مي كند.
هنگام انتقال داده به اين لايه بايد مراقبت صورت گيرد، در غير اين صورت نفوذگران بدخواه ممكن است از اين آسيب پذيري واسط ها سوءاستفاده كنند. با كمك واسط هاي برنامه كاربردي نوشتهشده به زبان جاوااسكريپت و تعدادي توابع خطر كه منطق بعضي از آنها از سايت CVE و ديگر منابع استنتاج شده است، توانستيم ورودي ها به لايه انقياد مرورگر گوگل كروم را دستكاري كنيم. به عنوان نتيجه نهايي سه خطاي ناشناخته از مرورگر گوگل كروم آشكار شد.
واژههاي كليدي: فازينگ- مرورگر گوگل كروم- آسيب پذيري- موتور رندر- مفسر جاوااسكريپت
تاريخ ورود اطلاعات
1396/01/22
تاريخ بهره برداري
1/1/1900 12:00:00 AM
دانشجوي وارد كننده اطلاعات
مهشيد اذرپورسياهكلي
چكيده به لاتين
The main aim in thesis is to design and implement a test case generator to fuzz web browsers. The outcome of this fuzzing is to discover exploitable vulnerabilities. In this thesis, The Google Chrome browser has been of particular interest because of its enormous usage across the world and its relatively high speed and security. The input’s to a browser such as Google Chrome are normally HTML pages. These pages are interpreted, executed and displayed by the browser engine. In the Chrome web rendering engine the task of displaying web pages is given to the browser rendering engine and a JavaScript interpreter is responsible for the execution of script codes. The rendering engine generate C++ code to create the hierarchical structure of HTML pages. A binding layer, specified by the IDL formalism, facilities the inter-connections between the rendering engine and the JavaScript interpreter, continuously. The binder translates the C++ code, generated by the rendering engine, to JavaScript and vice versa. Special cares should be taken when transferring data to this layer otherwise malicious intruders may abuse this interfacing vulnerability. To make such connections can be problematic .With the help of APIs, written in JavaScript, and a number of dangerous functions, announced by Common Vulnerabilities and Exposures and other source, we could manipulate the inputs to the binding layer of Chrome. As a result, three unknown bugs of the Google Chrome web browser were revealed.
Keywords:
Fuzzing- Google Chrome- Vulnerability- Rendering engine – Javascript Interpreter