ارائه رویکردی جدید در تشخیص آسیب‌پذیری نوع نشتی حافظه در زبان¬های برنامه‌نویسی C/C++

نوع: Type: پایان نامه

مقطع: Segment: کارشناسی ارشد

عنوان: Title: ارائه رویکردی جدید در تشخیص آسیب‌پذیری نوع نشتی حافظه در زبان¬های برنامه‌نویسی C/C++

ارائه دهنده: Provider: اسماعیل زیوری مراد - رشته کامپیوتر

اساتید راهنما: Supervisors: دکتر مهدی سخایی نیا

اساتید مشاور: Advisory Professors: دکتر محمد نصیری

اساتید ممتحن یا داور: Examining professors or referees: دکتر محرم منصوری زاده -دکتر مرتضی یوسف صنعتی

زمان و تاریخ ارائه: Time and date of presentation: 1401/12/02 14:00

مکان ارائه: Place of presentation: سالن آمفی تئاتر دانشکده مهندسی

چکیده: Abstract: نشت حافظه یکی از مشکلات اصلی است که به دلیل کهولت نرم‌افزار رخ می دهد. علیرغم اقدامات متقابل اخیر در زبان های برنامه‌نویسی C/C++ مانند اشاره‌گرهای هوشمند، نقص های مربوط به نشت حافظه همچنان در کدها مشکل‌ساز است. امروزه یکی از چالش های حوزه امنیت نرم‌افزار وجود نشتی حافظه در زمان اجرای کد است. پلتفرم‌هایی با مدیریت خودکار حافظه، مانند JVM، معمولاً عاری از نشت حافظه در نظر گرفته می‌شوند. بااین‌حال، نشت حافظه ممکن است در چنین محیط‌هایی اتفاق بیفتد، زیرا جمع‌آورنده زباله نمی‌تواند اشیایی که دیگر توسط برنامه استفاده نمی‌شوند اما همچنان به آن‌ها ارجاع داده می‌شوند را آزاد کند. چنین اشیاء بلااستفاده‌ای درنهایت می¬توانند پشته را پر کنند و برنامه را خراب کنند. اگرچه این مشکل به‌طور گسترده موردمطالعه قرارگرفته است، با این‌وجود، هنوز فضاهای زیادی برای بهبود در این زمینه وجود دارد. در این رساله رویکردی برای تشخیص خودکار نشت حافظه در برنامه‌های C/C++ معرفی شده است که بر اساس مشخص کردن مکان‌های تخصیص حافظه در برنامه را از طریق ویژگی سنی و عمر تکه‌های حافظه اختصاص‌یافته توسط این مکان¬ها عمل می¬کند. در این رویکرد فراخوانی¬های تخصیص و آزادسازی حافظه در کد برنامه ردیابی شده و برای هر مکان تخصیص داده‌هایی را در مورد تعداد قطعات حافظه اختصاص‌یافته، طول عمر و اندازه آن‌ها جمع‌آوری می‌شود. بر اساس این داده‌ها، بردارهای ویژگی محاسبه شده و یک طبقه‌بندی کننده یادگیری ماشین آموزش داده می¬شود تا بین سایت‌های تخصیص نشتی و بدون نشتی تمایز قائل شود. ارزیابی رویکرد پیشنهادی از برنامه‌هایی از مجموعه محک SPEC CPU2006 با نشت‌های حافظه تزریق‌شده شبیه به نشت واقعی استفاده می‌کند. نتایج نشان می‌دهد که الگوریتم‌ طبقه‌بندی روش ارائه شده می‌تواند به‌ سطح بالایی در مقادیر دقت و بازنمایی به ترتیب 90.1% و 90.5% دست می یابد.

فایل: ّFile: تنزيل فایل