[صفحه اصلی ]   [ English ]  
بخش‌های اصلی
درباره دانشکده::
مدیریت دانشکده::
اعضای هیات علمی ::
معرفی افراد::
امور آموزش::
امور پژوهشی::
آموزش الکترونیکی::
پردیس شماره 2::
اخبار و رویدادها::
فضاهای آموزشی و تحقیقاتی ::
تسهیلات پایگاه::
::
ورود به سایت دروس

AWT IMAGE

نام کاربری
کلمه عبور

AWT IMAGE
رمز ورود را فراموش کرده‌اید؟

..
دفاعیه کارشناسی ارشد

دفاعیه کارشناسی ارشد

..
جستجو در پایگاه

جستجوی پیشرفته
..
دریافت اطلاعات پایگاه
نشانی پست الکترونیک خود را برای دریافت اطلاعات و اخبار پایگاه، در کادر زیر وارد کنید.
..
:: حمیدرضا صالحی ::
 | تاریخ ارسال: ۱۳۹۴/۱۲/۲۴ | 

AWT IMAGE

آقای حمیدرضا صالحی دانشجوی کارشناسی ارشد آقای دکتر سعید پارسا روز شنبه  94/12/24 ساعت 16:30 در اتاق سمینار واقع در طبقه سوم دانشکده کامپیوتر از پروژه کارشناسی ارشد خود تحت عنوان "مبهم‌سازی کد به منظور جلوگیری از اجرای نمادین" دفاع می نمایند.

چکیده

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

واژه‌های کلیدی: اجرای نمادین، مبهم­سازی کد، انفجار مسیر، الگوی کد

Abstract

The goal of this thesis is code obfuscation to prevent symbolic execution on it. For this reason, first we describe basic concepts and then by analyzing different challenges of symbolic execution, we use path explosion problem for preventing a successful symbolic execution. In symbolic execution the goal is to parse all paths of application and extracting all possible ones from beginning to the end. Therefore, for finding paths, it is needed to solve constraints of application so the symbolic execution tool can automatically find all paths. The main challenge in path explosion is lack of memory and expanding symbolic tree more than the available system resources. Therefore, in this thesis we present a novel approach that does not contradict with other obfuscation approaches and on the other hand it is not simply reversible by methods like pattern matching and file size comparison. In this approach with injecting some new and unreal conditions in execution path and relating them with main variables, we confuse constraint solver to produce many new and unreal paths in symbolic tree. Evaluations shows that as the result of this obfuscation, symbolic execution tool fails to produce all paths. Also, the added code doesn&#39t affect main code behavior so it is not producing any new behavioral pattern to be recognized. On the other hand, with keeping correctness of constrains only a little overhead added to the runtime of application that actually doesn&#39t count on real executions. This approach studied in details in this thesis and discussed and analyzed from different aspects.

Keywords: Symbolic execution, code obfuscation, path explosion, code pattern

.


حمیدرضا صالحی

   رشته مهندسی کامپیوتر – نرم افزار

استاد راهنما: دکتر سعید پارسا

استاد داور داخلی: دکتر سعید پارسا

استاد داور خارجی: دکتر علیرضا باقری

  تاریخ دفاع: شنبه 24 اسفند ماه 94

  زمان:ساعت 16:30

 

  مکان: دانشکده مهندسی کامپیوتر- طبقه سوم- اتاق سمینار

 از اساتید بزرگوار، دانشجویان گرامی و دیگر متخصصان و علاقه مندان به موضوع دفاعیه دعوت
می شود با حضور خود موجبات غنای علمی و ارتقای کیفی را فراهم سازند.

 

  دانشکده مهندسی کامپیوتر مدیریت تحصیلات تکمیلی

 

 

 

 

 

 

دفعات مشاهده: 1333 بار   |   دفعات چاپ: 197 بار   |   دفعات ارسال به دیگران: 0 بار   |   0 نظر
سایر مطالب این بخش سایر مطالب این بخش نسخه قابل چاپ نسخه قابل چاپ ارسال به دوستان ارسال به دوستان
School of Computer Engineering
Persian site map - English site map - Created in 0.176 seconds with 967 queries by yektaweb 3433