نام پژوهشگر: افشین رشیدی
افشین رشیدی رضا ابراهیمی آتانی
یکی از ویژگیهای کامپیوترهای شخصی ماهیت باز و در دسترس بودن آنهاست؛ به این معنی که هردوی سخت افزار و نرم افزار در اینگونه سیستمها برای نظارت بر نحوه عملکرد در اختیار کاربران نهایی قرار دارند. کاربران مخرب می توانند با نظارت بر کد و روند اجرای نرم افزار، در نقش مهاجم ظاهر شده و حملاتی نظیر مهندسی معکوس و دستکاری روی نرم افزار انجام دهند یا با نقض قوانین مالکیت معنوی به دزدی نرم افزار بپردازند. تاکنون تکنیکهایی برای محافظت از نرم افزار در برابر حملات ایستا و پویا ارائه شده است که هر کدام با استفاده از روشی و از یک جنبه ی خاص به مقابله با تهدیدات موجود می پردازند، اما هیچ کدام از آنها نتوانسته است هردو معیار امنیت و کارایی را به صورت همزمان به طور مناسبی پوشش دهند و برخی از آنها عملا به صورت کاربردی قابل استفاده نیستند. در این پایان نامه تکنیکی ترکیبی از مبهم سازی کد و روشهای تحمل پذیری خطا و برنامه نویسی چندنسخه ای ارائه می شود که سعی دارد علاوه بر افزایش امنیت نرم افزار در برابر حملات مهندسی معکوس و دستکاری کد هم به صورت ایستا و هم پویا، دارای کارایی قابل قبولی باشد.