A4 Article in conference proceedings
ISAdetect : Usable Automated Detection of CPU Architecture and Endianness for Executable Binary Files and Object Code (2020)


Kairajärvi, S., Costin, A., & Hämäläinen, T. (2020). ISAdetect : Usable Automated Detection of CPU Architecture and Endianness for Executable Binary Files and Object Code. In CODASPY '20 : Proceedings of the 10th ACM Conference on Data and Application Security and Privacy (pp. 376-380). ACM. https://doi.org/10.1145/3374664.3375742


JYU authors or editors


Publication details

All authors or editorsKairajärvi, Sami; Costin, Andrei; Hämäläinen, Timo

Parent publicationCODASPY '20 : Proceedings of the 10th ACM Conference on Data and Application Security and Privacy

Place and date of conferenceNew Orleans, USA16.-18.3.2020

ISBN978-1-4503-7107-0

Publication year2020

Pages range376-380

Number of pages in the book381

PublisherACM

Place of PublicationNew York

Publication countryUnited States

Publication languageEnglish

DOIhttps://doi.org/10.1145/3374664.3375742

Research data linkhttps://github.com/kairis/isadetect

Publication open accessNot open

Publication channel open access

Publication is parallel published (JYX)https://jyx.jyu.fi/handle/123456789/68398

Additional informationJulkaisuun liittyvä tutkimusdata: https://etsin.fairdata.fi/dataset/80fa69af-addb-4f9a-b45c-c16011bae366


Abstract

Static and dynamic binary analysis techniques are actively used to reverse engineer software's behavior and to detect its vulnerabilities, even when only the binary code is available for analysis. To avoid analysis errors due to misreading op-codes for a wrong CPU architecture, these analysis tools must precisely identify the Instruction Set Architecture (ISA) of the object code under analysis. The variety of CPU architectures that modern security and reverse engineering tools must support is ever increasing due to massive proliferation of IoT devices and the diversity of firmware and malware targeting those devices. Recent studies concluded that falsely identifying the binary code's ISA caused alone about 10% of failures of IoT firmware analysis. The state of the art approaches detecting ISA for executable object code look promising, and their results demonstrate effectiveness and high-performance. However, they lack the support of publicly available datasets and toolsets, which makes the evaluation, comparison, and improvement of those techniques, datasets, and machine learning models quite challenging (if not impossible). This paper bridges multiple gaps in the field of automated and precise identification of architecture and endianness of binary files and object code. We develop from scratch the toolset and datasets that are lacking in this research space. As such, we contribute a comprehensive collection of open data, open source, and open API web-services. We also attempt experiment reconstruction and cross-validation of effectiveness, efficiency, and results of the state of the art methods. When training and testing classifiers using solely code-sections from executable binary files, all our classifiers performed equally well achieving over 98% accuracy. The results are consistent and comparable with the current state of the art, hence supports the general validity of the algorithms, features, and approaches suggested in those works.


Keywordsdata securityInternet of thingsmalwareprocessors


Contributing organizations


Related projects

  • APPIOTS
      • CostinAndrei
    • Business Finland
    01/07/2018-31/12/2019


Ministry reportingYes

Reporting Year2020

JUFO rating1


Last updated on 2024-22-04 at 12:21