Signal and Data Processing
پردازش علائم و دادهها
JSDP
Engineering & Technology
http://jsdp.rcisp.ac.ir
1
admin
2538-4201
2538-421X
10.52547/jsdp
1
8888
fa
jalali
1398
6
1
gregorian
2019
9
1
16
2
online
1
fulltext
fa
مهندسی معکوس کد دودویی نرمافزارهای شبکه برای شناسایی ساختار و معنای پیامهای پروتکل
Reverse Engineering of Network Software Binary Codes for Identification of Syntax and Semantics of Protocol Messages
مقالات گروه امنیت اطلاعات
Paper
پژوهشي
Research
<div dir="RTL" style="text-align: justify;"><strong><span style="font-family:b nazanin;">مهندسی معکوس برنامههای کاربردی شبکه، بهخصوص از دیدگاه امنیت، بسیار مورد توجه قرار گرفته و اهمیت بالایی دارد. بسیاری از برنامههای کاربردی شبکه، از پروتکلهای خاصی را که ویژگیهای آنها برای عموم در دسترس نیست، استفاده میکنند. مهندسی معکوس این برنامههای کاربردی، میتواند اطلاعات مورد نیاز برای فهم پروتکلهای ناشناخته مستقر در آنها فراهم کند؛ دسترسی به این اطلاعات میتواند بسیاری از وظایف، از جمله بازبینی عمیق پروتکل در نسل جدید دیوارههای آتش و تحلیل کدهای دودویی مشکوک را تسهیل کند. با این وجود، اگرچه پژوهشهای بسیاری در این زمینه انجام شده، اما این پژوهشها در بیشتر موارد فقط بر استخراج ساختار نحوی پیامهای پروتکل متمرکز شدهاند. در این مقاله، روش­های جدیدی برای بهبود استخراج ساختار نحوی و معنایی پیامهای پروتکل از طریق مهندسی معکوس کد دودویی برنامههای کاربردی شبکه ارائه شده است. برای این کار، از ترکیب تحلیل پویا و ایستای کدهای دودویی استفاده میشود. بهمنظور ارزیابی روش­های پیشنهادی، چهار پروتکل مختلف لایه کاربرد شامل </span></strong><strong><span dir="LTR"><span style="font-size:8.0pt;">DNS</span></span></strong><strong><span style="font-family:b nazanin;">، </span></strong><strong><span dir="LTR"><span style="font-size:8.0pt;">eDonkey</span></span></strong><strong><span style="font-family:b nazanin;">، </span></strong><strong><span dir="LTR"><span style="font-size:8.0pt;">Modbus</span></span></strong><strong><span style="font-family:b nazanin;"> و </span></strong><strong><span dir="LTR"><span style="font-size:8.0pt;">Stun</span></span></strong><strong><span style="font-family:b nazanin;"> تحلیل<span style="color:black;"> شده است</span></span>. نتیجه آزمایشها نشان میدهد که روشهای پیشنهادی، نهتنها میتوانند ساختار نحوی پیام را کاملتر از روشهای مشابه استخراج کنند، بلکه معانی سودمندی از پیامهای پروتکل نیز استخراج میکنند که در روشهای قبلی قابل دستیابی نیست.</strong><strong><span dir="LTR"><span style="font-size:8.0pt;"></span></span></strong><br>
</div>
<p style="text-align: justify;"><strong>Reverse engineering of network applications especially from the security point of view is of high importance and interest. Many network applications use proprietary protocols which specifications are not publicly available. Reverse engineering of such applications could provide us with vital information to understand their embedded unknown protocols. This could facilitate many tasks including deep protocol inspection in next generation firewalls and analysis of suspicious binary codes</strong><strong><span dir="RTL">. </span></strong><br>
<strong>The goal of protocol reverse engineering is to extract the protocol format and the protocol state machine. The protocol format describes the structure of all messages in protocol and the protocol state machine describes the sequence of messages that the protocol accept. Recently, there has been rising interest in automatic protocol reverse engineering. These works are divided into activities that extract protocol format and activities that extract protocol state machine. They can also be divided into those uses as input network traffic and those uses as input program implements the protocol. However, although there are some researches in this field, they mostly focused on extracting syntactic structure of the protocol messages</strong><strong><span dir="RTL">.</span></strong><br>
<strong>In this paper, some new techniques are presented to improve extracting the format (both the syntax and semantics) of protocol messages via reverse engineering of binary codes of network applications. To do the research, an integration of dynamic and static binary code analysis are used. The field extraction approach first detects length fields and separators and then by applying rules based on compiler principles locates all the fields in the messages. The semantic extraction approach is based on the semantic information available in the program implements of the protocol and also information exists in the environment of the program</strong><strong><span dir="RTL">.</span></strong><br>
<strong>For evaluating the proposed approach, four different network applications including DNS, eDonkey, Modbus, and STUN were analyzed. Experimental results show that the proposed techniques not only could extract more complete syntactic structure of messages than similar works, but also it could extract a set of advantageous semantic information about the protocol messages that are not achievable in previous works.<span dir="RTL"></span></strong><br>
</p>
مهندسی معکوس, استخراج فرمت پیام, اطلاعات معنایی
Reverse engineering, Protocol format extraction, Semantic information
19
40
http://jsdp.rcisp.ac.ir/browse.php?a_code=A-10-961-1&slc_lang=fa&sid=1
Nayere
Momenian
نیره
مومنیان
nmomenyan@yahoo.com
10031947532846007898
10031947532846007898
Yes
مجتمع فناوری اطلاعات، ارتباطات و امنیت، دانشگاه صنعتی مالک اشتر
Behrouz
Tork Ladani
بهروز
ترک لادانی
ladani@eng.ui.ac.ir
10031947532846007899
10031947532846007899
No
گروه کامپیوتر، دانشکده فنی و مهندسی، دانشگاه اصفهان