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