<?xml version="1.0" encoding="utf-8"?>
<journal>
<title>Signal and Data Processing</title>
<title_fa>پردازش علائم و داده‌ها</title_fa>
<short_title>JSDP</short_title>
<subject>Engineering &amp; Technology</subject>
<web_url>http://jsdp.rcisp.ac.ir</web_url>
<journal_hbi_system_id>1</journal_hbi_system_id>
<journal_hbi_system_user>admin</journal_hbi_system_user>
<journal_id_issn>2538-4201</journal_id_issn>
<journal_id_issn_online>2538-421X</journal_id_issn_online>
<journal_id_pii></journal_id_pii>
<journal_id_doi>10.66224/jsdp</journal_id_doi>
<journal_id_iranmedex></journal_id_iranmedex>
<journal_id_magiran></journal_id_magiran>
<journal_id_sid>1</journal_id_sid>
<journal_id_nlai>8888</journal_id_nlai>
<journal_id_science></journal_id_science>
<language>fa</language>
<pubdate>
	<type>jalali</type>
	<year>1398</year>
	<month>6</month>
	<day>1</day>
</pubdate>
<pubdate>
	<type>gregorian</type>
	<year>2019</year>
	<month>9</month>
	<day>1</day>
</pubdate>
<volume>16</volume>
<number>2</number>
<publish_type>online</publish_type>
<publish_edition>1</publish_edition>
<article_type>fulltext</article_type>
<articleset>
	<article>


	<language>fa</language>
	<article_id_doi></article_id_doi>
	<title_fa>مهندسی معکوس کد دودویی نرم‌افزارهای شبکه برای شناسایی ساختار و معنای پیام‌های پروتکل</title_fa>
	<title>Reverse Engineering of Network Software Binary Codes for Identification of Syntax and Semantics of Protocol Messages</title>
	<subject_fa>مقالات گروه امنیت اطلاعات</subject_fa>
	<subject>Paper</subject>
	<content_type_fa>پژوهشي</content_type_fa>
	<content_type>Research</content_type>
	<abstract_fa>&lt;div dir=&quot;RTL&quot; style=&quot;text-align: justify;&quot;&gt;&lt;strong&gt;&lt;span style=&quot;font-family:b nazanin;&quot;&gt;مهندسی معکوس برنامه&#8204;های کاربردی شبکه، به&#8204;خصوص از دیدگاه امنیت، بسیار مورد توجه قرار گرفته و اهمیت بالایی دارد. بسیاری از برنامه&#8204;های کاربردی شبکه، از پروتکل&#8204;های خاصی را که ویژگی&#8204;های آنها برای عموم در دسترس نیست، استفاده می&#8204;کنند. مهندسی معکوس این برنامه&#8204;های کاربردی، می&#8204;تواند اطلاعات مورد نیاز برای فهم پروتکل&#8204;های ناشناخته مستقر در آنها فراهم کند؛ دسترسی به این اطلاعات می&#8204;تواند بسیاری از وظایف، از جمله بازبینی عمیق پروتکل در نسل جدید دیواره&#8204;های آتش و تحلیل کدهای دودویی مشکوک را تسهیل کند. با این وجود، اگرچه پژوهش&#8204;های بسیاری در این زمینه انجام شده، اما این پژوهش&#8204;ها در بیش&#8204;تر موارد فقط بر استخراج ساختار نحوی پیام&#8204;های پروتکل متمرکز شده&#8204;اند. در این مقاله، روش&amp;shy;های جدیدی برای بهبود استخراج ساختار نحوی و معنایی پیام&#8204;های پروتکل از طریق مهندسی معکوس کد دودویی برنامه&#8204;های کاربردی شبکه ارائه شده است. برای این کار، از ترکیب تحلیل پویا و ایستای کدهای دودویی استفاده می&#8204;شود. به&#8204;منظور ارزیابی روش&amp;shy;های پیشنهادی، چهار پروتکل مختلف لایه کاربرد شامل &lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span dir=&quot;LTR&quot;&gt;&lt;span style=&quot;font-size:8.0pt;&quot;&gt;DNS&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span style=&quot;font-family:b nazanin;&quot;&gt;، &lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span dir=&quot;LTR&quot;&gt;&lt;span style=&quot;font-size:8.0pt;&quot;&gt;eDonkey&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span style=&quot;font-family:b nazanin;&quot;&gt;، &lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span dir=&quot;LTR&quot;&gt;&lt;span style=&quot;font-size:8.0pt;&quot;&gt;Modbus&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span style=&quot;font-family:b nazanin;&quot;&gt; و &lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span dir=&quot;LTR&quot;&gt;&lt;span style=&quot;font-size:8.0pt;&quot;&gt;Stun&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span style=&quot;font-family:b nazanin;&quot;&gt; تحلیل&lt;span style=&quot;color:black;&quot;&gt; شده است&lt;/span&gt;&lt;/span&gt;. نتیجه آزمایش&#8204;ها نشان می&#8204;دهد که روش&#8204;های پیشنهادی، نه&#8204;تنها می&#8204;توانند ساختار نحوی پیام را کامل&#8204;تر از روش&#8204;های مشابه استخراج کنند، بلکه معانی سودمندی از پیام&#8204;های پروتکل نیز استخراج می&#8204;کنند که در روش&#8204;های قبلی قابل دست&#8204;یابی نیست.&lt;/strong&gt;&lt;strong&gt;&lt;span dir=&quot;LTR&quot;&gt;&lt;span style=&quot;font-size:8.0pt;&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;br&gt;
&amp;nbsp;&lt;/div&gt;
</abstract_fa>
	<abstract>&lt;p style=&quot;text-align: justify;&quot;&gt;&lt;strong&gt;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&lt;/strong&gt;&lt;strong&gt;&lt;span dir=&quot;RTL&quot;&gt;. &lt;/span&gt;&lt;/strong&gt;&lt;br&gt;
&lt;strong&gt;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&lt;/strong&gt;&lt;strong&gt;&lt;span dir=&quot;RTL&quot;&gt;.&lt;/span&gt;&lt;/strong&gt;&lt;br&gt;
&lt;strong&gt;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&lt;/strong&gt;&lt;strong&gt;&lt;span dir=&quot;RTL&quot;&gt;.&lt;/span&gt;&lt;/strong&gt;&lt;br&gt;
&lt;strong&gt;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.&lt;span dir=&quot;RTL&quot;&gt;&lt;/span&gt;&lt;/strong&gt;&lt;br&gt;
&amp;nbsp;&lt;/p&gt;
</abstract>
	<keyword_fa>مهندسی معکوس, استخراج فرمت پیام, اطلاعات معنایی</keyword_fa>
	<keyword>Reverse engineering, Protocol format extraction, Semantic information</keyword>
	<start_page>19</start_page>
	<end_page>40</end_page>
	<web_url>http://jsdp.rcisp.ac.ir/browse.php?a_code=A-10-961-1&amp;slc_lang=fa&amp;sid=1</web_url>


<author_list>
	<author>
	<first_name>Nayere</first_name>
	<middle_name></middle_name>
	<last_name>Momenian</last_name>
	<suffix></suffix>
	<first_name_fa>نیره</first_name_fa>
	<middle_name_fa></middle_name_fa>
	<last_name_fa>مومنیان</last_name_fa>
	<suffix_fa></suffix_fa>
	<email>nmomenyan@yahoo.com</email>
	<code>10031947532846007898</code>
	<orcid>10031947532846007898</orcid>
	<coreauthor>Yes
</coreauthor>
	<affiliation></affiliation>
	<affiliation_fa>مجتمع فناوری اطلاعات، ارتباطات و امنیت، دانشگاه صنعتی مالک اشتر</affiliation_fa>
	 </author>


	<author>
	<first_name>Behrouz</first_name>
	<middle_name></middle_name>
	<last_name>Tork Ladani</last_name>
	<suffix></suffix>
	<first_name_fa>بهروز</first_name_fa>
	<middle_name_fa></middle_name_fa>
	<last_name_fa>ترک لادانی</last_name_fa>
	<suffix_fa></suffix_fa>
	<email>ladani@eng.ui.ac.ir</email>
	<code>10031947532846007899</code>
	<orcid>10031947532846007899</orcid>
	<coreauthor>No</coreauthor>
	<affiliation></affiliation>
	<affiliation_fa>گروه کامپیوتر، دانشکده فنی و مهندسی، دانشگاه اصفهان</affiliation_fa>
	 </author>


</author_list>


	</article>
</articleset>
</journal>
