TY - JOUR JF - jsdp JO - JSDP VL - 16 IS - 2 PY - 2019 Y1 - 2019/9/01 TI - Reverse Engineering of Network Software Binary Codes for Identification of Syntax and Semantics of Protocol Messages TT - مهندسی معکوس کد دودویی نرم‌افزارهای شبکه برای شناسایی ساختار و معنای پیام‌های پروتکل N2 - مهندسی معکوس برنامه‌های کاربردی شبکه، به‌خصوص از دیدگاه امنیت، بسیار مورد توجه قرار گرفته و اهمیت بالایی دارد. بسیاری از برنامه‌های کاربردی شبکه، از پروتکل‌های خاصی را که ویژگی‌های آنها برای عموم در دسترس نیست، استفاده می‌کنند. مهندسی معکوس این برنامه‌های کاربردی، می‌تواند اطلاعات مورد نیاز برای فهم پروتکل‌های ناشناخته مستقر در آنها فراهم کند؛ دسترسی به این اطلاعات می‌تواند بسیاری از وظایف، از جمله بازبینی عمیق پروتکل در نسل جدید دیواره‌های آتش و تحلیل کدهای دودویی مشکوک را تسهیل کند. با این وجود، اگرچه پژوهش‌های بسیاری در این زمینه انجام شده، اما این پژوهش‌ها در بیش‌تر موارد فقط بر استخراج ساختار نحوی پیام‌های پروتکل متمرکز شده‌اند. در این مقاله، روش­های جدیدی برای بهبود استخراج ساختار نحوی و معنایی پیام‌های پروتکل از طریق مهندسی معکوس کد دودویی برنامه‌های کاربردی شبکه ارائه شده است. برای این کار، از ترکیب تحلیل پویا و ایستای کدهای دودویی استفاده می‌شود. به‌منظور ارزیابی روش­های پیشنهادی، چهار پروتکل مختلف لایه کاربرد شامل DNS، eDonkey، Modbus و Stun تحلیل شده است. نتیجه آزمایش‌ها نشان می‌دهد که روش‌های پیشنهادی، نه‌تنها می‌توانند ساختار نحوی پیام را کامل‌تر از روش‌های مشابه استخراج کنند، بلکه معانی سودمندی از پیام‌های پروتکل نیز استخراج می‌کنند که در روش‌های قبلی قابل دست‌یابی نیست. SP - 19 EP - 40 AU - Momenian, Nayere AU - Tork Ladani, Behrouz AD - KW - Reverse engineering KW - Protocol format extraction KW - Semantic information UR - http://jsdp.rcisp.ac.ir/article-1-502-fa.html DO - 10.29252/jsdp.16.2.19 ER -