مبهم سازی کد به منظور جلوگیری از اجرای نمادین | ||
| پدافند الکترونیکی و سایبری | ||
| مقاله 1، دوره 6، شماره 1 - شماره پیاپی 21، 1397، صفحه 1-16 اصل مقاله (1.47 M) | ||
| نویسندگان | ||
| سعید پارسا* ؛ حمیدرضا صالحی؛ محمد هادی علائیان | ||
| دانشگاه علم و صنعت ایران | ||
| چکیده | ||
| امروزه حفاظت از نرمافزار در مقابل تحلیلگران به یکی از مسائل مهم عرصه رایانه تبدیل شده است. در این میان، روش اجرای نمادین بهعنوان رویکردی برای کشف مسیرهای اجرایی و شروط وقوع برنامه، اخیراً مورد توجه قرار گرفته است. لذا، برنامهنویسان جهت محافظت از برنامه خود، مقابله با روشهای تحلیل کد را نیز در نظر میگیرند. یک اجرای نمادین موفق، کلیه مسیرهای اجرایی برنامه به همراه شروط وقوع آنها را در قالب یک درخت نمادین استخراج میکند. بنابراین، با جلوگیری از اجرای نمادین کد، میتوان از یک برنامه حفاظت نمود و مسیرهای اجرایی آن را از دید تحلیلگران پنهان نگه داشت. در این میان، برخی روشها با تکیه بر چالشهای مختلف موجود در اجرای نمادین سعی بر پنهانسازی رفتار کد در مقابل اجرای نمادین دارند. در این مقاله، روشی جهت مبهمسازی شرط وقوع رفتارها در کد برنامه ارائه داده شده است تا درصورت تحلیل نمادین کد، کاربران از شروط واقعی یک رخداد مطلع نگردند. برای این منظور، یک راهکار نوین با اعمال معادلات خطی ارائه داده شده است. در این روش با جایگذاری برخی شروط غیرواقعی و جدید در مسیر برنامه و مرتبطنمودن متغیرهای آن با متغیرهای اصلی برنامه، حلکننده را دچار اشتباه مینماید. این امر موجب ایجاد شاخه-های متعدد و غیرواقعی در درخت نمادین برنامه میگردد. لذا، تحلیل کد را دچار پیچیدگی میکند. ارزیابیها نشان میدهد که این مبهمسازی، ابزار اجرای نمادین کد را در تولید همه مسیرهای اجرایی برنامه با شکست مواجه میکند. | ||
| کلیدواژهها | ||
| اجرای نمادین؛ مبهم سازی کد؛ انفجار مسیر؛ درخت نمادین؛ تفسیر انتزاعی؛ تحلیل ایستای بازه | ||
| مراجع | ||
|
| ||
|
آمار تعداد مشاهده مقاله: 1,288 تعداد دریافت فایل اصل مقاله: 484 |
||