شماره ركورد
18901
شماره راهنما(اين فيلد مربوط به كارشناس ميباشد لطفا آن را خالي بگذاريد)
۱۸۹۰۱
پديد آورنده
آيدين ماهوتچي حسيني
عنوان
توليد كد كحافظ براي محافظت نرم افزار از خود در برابر حملات
مقطع تحصيلي
كارشناسي ارشد
رشته تحصيلي
نرم افزار
تاريخ دفاع
اسفند ۱۳۹۶
استاد راهنما
دكتر سعيد پارسا
دانشكده
كامپيوتر
چكيده
چكيده
مقابله با مهندسي معكوس و تحليل نرمافزار از اهميت بسيار بالايي برخوردار دارد. بسياري از نرمافزارها براي كسب درآمد نوشته ميشوند و در بازارهاي گوناگون فروخته ميشوند. مهندسي معكوس اين نرمافزارها و استفاده از آنها بدون پرداخت وجه، ضررهاي بسياري را به توليدكنندهها متحمل ميكند، بنابراين نرمافزار بايد راهكاري براي دفاع از خود داشته باشد.
علاوه بر آن دفاع از خود ميتواند در قالب دفاع يك بدافزار از خود در برابر يك ضدويروس مطرح باشد. هنگاميكه يك بدافزار به يك برنامه ضدويروس حمله ميكند، بهطور مشخص اين كار نوعي دفاع از خود است. هنگاميكه يك بدافزار رد خود را پاك ميكند، نوع ديگري از دفاع از خود را شاهد هستيم. حتي ميتوان تغيير جزئي كد بدافزار كه بهمنظور جلوگيري از تشخيص توسط ضدويروس انجام ميشود را نوعي دفاع در نظر گرفت. اين نوع از دفاع از خود شامل چندريختي، مبهمسازي و رمزنگاري ميشود. كدهاي بدخواه اين كارها را با استفاده از فشردهسازها، روتكيتها و پنهان شدن در سيستم انجام ميدهند.
يكي ديگر از راهكارها براي پيادهسازي محافظت از خود، ايجاد برنامههاي مقاوم در برابر وصله است. ايجاد برنامههاي مقاوم در برابر وصله سبب ميشود يك مهاجم نتواند بهراحتي آن را تغيير دهد. اين سازوكار شامل راهكارهايي منفعل مانند مبهمسازي كد و راهكارهاي فعال ميشود كه هدف آن تغيير عملكرد برنامه يا اجرا نشدن آن در صورت تغيير برنامه است. مقاومسازي در برابر وصله بايستي در دامنه نرمافزار صورت گيرد و شامل جنبههاي مشتركي با جلوگيري از كپي است.
در اين پاياننامه يك سامانه محافظ براي دفاع از خود در برابر موارد مطرحشده در سيستمعامل ويندوز طراحي و پيادهسازي خواهد شد.
واژههاي كليدي: فشردهساز، محافظ، دفاع از خود، مهندسي معكوس، بدافزار.
تاريخ ورود اطلاعات
1397/02/09
تاريخ بهره برداري
4/29/2018 12:00:00 AM
دانشجوي وارد كننده اطلاعات
ايدين ماهوتچي حسيني
چكيده به لاتين
Abstract:
Defense against software reverse engineering is very important. The reverse engineering of commercial software generates a lot of financial loss to the software developer. So the software must have a solution to defend itself.
Self-defense can also be a malware defense against antivirus. When a malware attacks an antivirus, this is a kind of self-defense. When a malware wipes itself off, it’s another form of self-defense. Even a minor change to the malware code that is done to prevent detection by antivirus is also a kind of self-defense. This kind of self-defense includes code obfuscation, polymorphism and encryption. Malicious codes do this by using Packers, rootkits and hiding in the system.
Another way to implement self-protection is to create a patch-resistant programs.Creating patch-resistant programs make it difficult for an attacker to easily change it. This mechanism includes passive strategies such as code obfuscation and active strategies aimed at changing the function of the program or not running it in the event of a program change. The patch-resistant must be in the software domain and include common aspects of avoiding the copy.
In this thesis, a protector system will be designed and implemented in the Windows operating system to defend executable files against above issues.
Keywords: Packer, Protector, Self-Defense, Reverse Engineering, Malware.