Using Static and Dynamic Binary Analysis with Ret-Sync
Total Page:16
File Type:pdf, Size:1020Kb
Load more
Recommended publications
-
Fill Your Boots: Enhanced Embedded Bootloader Exploits Via Fault Injection and Binary Analysis
IACR Transactions on Cryptographic Hardware and Embedded Systems ISSN 2569-2925, Vol. 2021, No. 1, pp. 56–81. DOI:10.46586/tches.v2021.i1.56-81 Fill your Boots: Enhanced Embedded Bootloader Exploits via Fault Injection and Binary Analysis Jan Van den Herrewegen1, David Oswald1, Flavio D. Garcia1 and Qais Temeiza2 1 School of Computer Science, University of Birmingham, UK, {jxv572,d.f.oswald,f.garcia}@cs.bham.ac.uk 2 Independent Researcher, [email protected] Abstract. The bootloader of an embedded microcontroller is responsible for guarding the device’s internal (flash) memory, enforcing read/write protection mechanisms. Fault injection techniques such as voltage or clock glitching have been proven successful in bypassing such protection for specific microcontrollers, but this often requires expensive equipment and/or exhaustive search of the fault parameters. When multiple glitches are required (e.g., when countermeasures are in place) this search becomes of exponential complexity and thus infeasible. Another challenge which makes embedded bootloaders notoriously hard to analyse is their lack of debugging capabilities. This paper proposes a grey-box approach that leverages binary analysis and advanced software exploitation techniques combined with voltage glitching to develop a powerful attack methodology against embedded bootloaders. We showcase our techniques with three real-world microcontrollers as case studies: 1) we combine static and on-chip dynamic analysis to enable a Return-Oriented Programming exploit on the bootloader of the NXP LPC microcontrollers; 2) we leverage on-chip dynamic analysis on the bootloader of the popular STM8 microcontrollers to constrain the glitch parameter search, achieving the first fully-documented multi-glitch attack on a real-world target; 3) we apply symbolic execution to precisely aim voltage glitches at target instructions based on the execution path in the bootloader of the Renesas 78K0 automotive microcontroller. -
INFILTRATE Ghidra
Three Heads Are Better Than One: Mastering NSA's Ghidra Reverse Engineering Tool Alexei Bulazel Jeremy Blackthorne @0xAlexei @0xJeremy github.com/0xAlexei/INFILTRATE2019 Disclaimer This material is based on the publicly released Ghidra, there is no classified information in this presentation Alexei Bulazel @0xAlexei ● Senior Security Researcher at River Loop Security ● Research presentations and publications: ○ Presentations at REcon (MTL & BRX), SummerCon, DEFCON, Black Hat, etc. ○ Academic publications at USENIX WOOT and ROOTS ○ Cyber policy in Lawfare, etc. ● Collaborated with Jeremy on research at RPI, MIT Lincoln Laboratory, and Boston Cybernetics Institute ● Proud RPISEC alumnus Jeremy Blackthorne @0xJeremy ● Instructor at the Boston Cybernetics Institute ● PhD candidate at RPI focused on environmental keying ● Former researcher at MIT Lincoln Laboratory ● United States Marine Corps 2002 - 2006 ● RPISEC alumnus Outline 1. Intro 2. Interactive Exercises a. Manual Static Analysis b. Scripting Ghidra 3. P-Code & SLEIGH 4. Discussion 5. Conclusion Participating 1. Install OpenJDK 11, add its bin directory to your PATH ● jdk.java.net/11 2. Download Ghidra ● ghidra-sre.org ● github.com/NationalSecurityAgency/ghidra/releases 3. Download our demo scripts and binaries ● github.com/0xAlexei/INFILTRATE2019 Ghidra ● Java-based interactive reverse engineering tool developed by US National Security Agency - similar in functionality to IDA Pro, Binary Ninja, etc… ○ Static analysis only currently, debugger support promised to be coming soon ○ Runs on Mac, Linux, and Windows ● All credit for creating Ghidra goes to the developers at NSA ● Released open source at RSA in March 2019 ○ 1.2M+ lines of code ● NSA has not discussed the history of the tool, but comments in source files go as far back as February 1999 Outline 1. -
Challenges in Firmware Re-Hosting, Emulation, and Analysis
Challenges in Firmware Re-Hosting, Emulation, and Analysis CHRISTOPHER WRIGHT, Purdue University WILLIAM A. MOEGLEIN, Sandia National Laboratories SAURABH BAGCHI, Purdue University MILIND KULKARNI, Purdue University ABRAHAM A. CLEMENTS, Sandia National Laboratories System emulation and firmware re-hosting have become popular techniques to answer various security and performance related questions, such as, does a firmware contain security vulnerabilities or meet timing requirements when run on a specific hardware platform. While this motivation for emulation and binary analysis has previously been explored and reported, starting to either work or research in the field is difficult. To this end, we provide a comprehensive guide for the practitioner or system emulation researcher. We layout common challenges faced during firmware re-hosting, explaining successive steps and surveying common tools used to overcome these challenges. We provide classification techniques on five different axes, including emulator methods, system type, fidelity, emulator purpose, and control. These classifications and comparison criteria enable the practitioner to determine the appropriate tool for emulation. We use our classifications to categorize popular works in the field and present 28 common challenges faced when creating, emulating and analyzing a system, from obtaining firmwares to post emulation analysis. CCS Concepts: • Computer systems organization → Embedded and cyber-physical systems; Firmware; Embedded hardware; Embedded software; Real-time systems; • Hardware → Simulation and emulation. Additional Key Words and Phrases: Firmware re-hosting, system emulation, embedded systems, emulation fidelity, emulator classification, binary analysis, reverse engineering, emulation challenges ACM Reference Format: Christopher Wright, William A. Moeglein, Saurabh Bagchi, Milind Kulkarni, and Abraham A. Clements. 2020. Challenges in Firmware Re-Hosting, Emulation, and Analysis. -
Ghidra Vs Radare2
Ghidra Vs Radare2 Radare2 – is a framework built for reverse engineering and analyzing binaries. js File size differs 2462470 vs 2461765 Buffer truncated to 2461765 byte(s) (705 not compared) 86611 So… the WebAssembly is essentially generating JavaScript on-the-fly. With the addition, the latest UFC 257 lineup includes: Conor McGregor vs. Plugin manager for x64dbg. radare2 tools. Я открываю программу в Cutter — GUI для radare2 со встроенным декомпилятором ghidra, имеющим возможность эмуляции, а с недавних пор и отладки. Plugin manager for x64dbg. 7 місяців тому. Watch the UFC 257 "McGregor vs. With radare2 you can analyze, disassemble. The podcast is published every weekday and designed to get you ready for the day with a brief, usually 5 minute long, summary of current network security related events. radare2 was added by Tim_B in Sep 2016 and the latest update was made in Apr 2018. Free and Open Source RE Platform powered by Rizin. Ve srovnání s komerčním IDA je pomalejší a má víc chyb. Even if you know how to disassemble a Brown iron, this will not help. IDA Pro is a programmable, interactive, and multi-processor disassembler combined with a local and remote debugger and augmented by a complete plugin programming environment. 0 has been released!. We are using radare2 together with avr-gdb and simavr to reverse engineer the challenge "Jumpy" which implemets a password checking algorithm В видео речь пойдет про Ida Pro (free) x64dbg (плагины snowmen, x64dbg2ghidra) Ghidra Radare2 Затрону поверхностно windbg, binary ninja. pdf - Free ebook download as PDF File (. Patching Binaries (with vim, Binary Ninja, Ghidra and radare2) - bin 0x2F. -
An Empirical Study on ARM Disassembly Tools
An Empirical Study on ARM Disassembly Tools Muhui Jiang Yajin Zhou∗ Xiapu Luo [email protected] [email protected] [email protected] The Hong Kong Polytechnic Zhejiang University The Hong Kong Polytechnic University China University China China Ruoyu Wang Yang Liu Kui Ren [email protected] [email protected] [email protected] Arizona State University Nanyang Technological University Zhejiang University USA Singapore China Institute of Computing Innovation, Zhejiang University China ABSTRACT CCS CONCEPTS With the increasing popularity of embedded devices, ARM is becom- • Software and its engineering ! Assembly languages. ing the dominant architecture for them. In the meanwhile, there is a pressing need to perform security assessments for these devices. KEYWORDS Due to different types of peripherals, it is challenging to dynami- Disassembly Tools, ARM Architecture, Empirical Study cally run the firmware of these devices in an emulated environment. Therefore, the static analysis is still commonly used. Existing work ACM Reference Format: Muhui Jiang, Yajin Zhou, Xiapu Luo, Ruoyu Wang, Yang Liu, and Kui Ren. usually leverages off-the-shelf tools to disassemble stripped ARM 2020. An Empirical Study on ARM Disassembly Tools. In Proceedings of binaries and (implicitly) assume that reliable disassembling binaries the 29th ACM SIGSOFT International Symposium on Software Testing and and function recognition are solved problems. However, whether Analysis (ISSTA ’20), July 18–22, 2020, Virtual Event, USA. ACM, New York, this assumption really holds is unknown. NY, USA, 14 pages. https://doi.org/10.1145/3395363.3397377 In this paper, we conduct the first comprehensive study on ARM disassembly tools. -
Authentication Protocols
SECURING THE IN-VEHICLE NETWORK BY ANDREEA-INA RADU A thesis submitted to University of Birmingham for the degree of DOCTOR OF PHILOSOPHY School of Computer Science College of Engineering and Physical Sciences University of Birmingham October 2019 University of Birmingham Research Archive e-theses repository This unpublished thesis/dissertation is copyright of the author and/or third parties. The intellectual property rights of the author or third parties in respect of this work are as defined by The Copyright Designs and Patents Act 1988 or as modified by any successor legislation. Any use made of information contained in this thesis/dissertation must be in accordance with that legislation and must be properly acknowledged. Further distribution or reproduction in any format is prohibited without the permission of the copyright holder. Abstract Recent research into automotive security has shown that once a single electronic ve- hicle component is compromised, it is possible to take control of the vehicle. These components, called Electronic Control Units, are embedded systems which manage a significant part of the functionality of a modern car. They communicate with each other via the in-vehicle network, known as the Controller Area Network, which is the most widely used automotive bus. In this thesis, we introduce a series of novel proposals to improve the security of both the Controller Area Network bus and the Electronic Control Units. The Controller Area Network suffers from a number of shortfalls, one of which is the lack of source authentication. We propose a protocol that mitigates this funda- mental shortcoming in the Controller Area Network bus design, and protects against a number of high profile media attacks that have been published. -
Sok: All You Ever Wanted to Know About X86/X64 Binary Disassembly but Were Afraid to Ask
SoK: All You Ever Wanted to Know About x86/x64 Binary Disassembly But Were Afraid to Ask Chengbin Pang∗z§ Ruotong Yu∗ Yaohui Cheny Eric Koskinen∗ Georgios Portokalidis∗ Bing Maoz Jun Xu∗ ∗Stevens Institute of Technology yFacebook Inc. zNanjing University TABLE I: The group of open-source tools that our study covers Abstract—Disassembly of binary code is hard, but necessary and representative works that use those tools. for improving the security of binary software. Over the past few decades, research in binary disassembly has produced many Tool (Version) Source (Release Date) Public Use tools and frameworks, which have been made available to PSI (1.0) Website [63] (Sep 2014) [50, 88, 111] researchers and security professionals. These tools employ a UROBOROS (0.11) Github [93] (Nov. 2016) [103] variety of strategies that grant them different characteristics. DYNINST (9.3.2) Github [79] (April 2017) [7, 18, 69, 73, 96] The lack of systematization, however, impedes new research in OBJDUMP (2.30) GNU [47] (Jan. 2018) [21, 103, 111] the area and makes selecting the right tool hard, as we do GHIDRA (9.0.4) Github [75] (May 2019) [24, 45, 91] not understand the strengths and weaknesses of existing tools. MCSEMA (2.0.0) Github [13] (Jun. 2019) [22, 41, 44] In this paper, we systematize binary disassembly through the ANGR (8.19.7.25) Github [8] (Oct. 2019) [20, 71, 81, 98, 112] study of nine popular, open-source tools. We couple the manual BAP (2.1.0) Github [26] (Mar. 2020) [10, 16, 64] examination of their code bases with the most comprehensive RADARE2 (4.4.0) Github [89] (April 2020) [4, 31, 52, 58] experimental evaluation (thus far) using 3,788 binaries. -
Malware Reverse Engineering Handbook
Malware Reverse Engineering Handbook Ahmet BALCI Dan UNGUREANU Jaromír VONDRUŠKA NATO CCDCOE Tallinn 2020 CCDCOE The NATO Cooperative Cyber Defence Centre of Excellence (CCDCOE) is a NATO-accredited cyber defence hub focusing on research, training and exercises. It represents a community of 25 nations and providesing a 360- degree view of cyber defence, with expertise in the areas of technology, strategy, operations and law. The heart of the Centre is a diverse group of international experts from military, government, academia and industry backgrounds. The CCDCOE is home to the Tallinn Manual 2.0, the most comprehensive guide on how International Law applies to cyber operations. The Centre organises the world’s largest and most complex international live-fire cyber defence exercise, Locked Shields, and hosts the International Conference on Cyber Conflict, CyCon, a unique annual event in Tallinn, bringing together key experts and decision-makers in the global cyber defence community. As the Department Head for Cyberspace Operations Training and Education, the CCDCOE is responsible for identifying and coordinating education and training solutions in the field of cyber defence operations for all NATO bodies across the Alliance. The Centre is staffed and financed by its member nations – currently Austria, Belgium, Bulgaria, the Czech Republic, Denmark, Estonia, Finland, France, Germany, Greece, Hungary, Italy, Latvia, Lithuania, the Netherlands, Norway, Poland, Portugal, Romania, Slovakia, Spain, Sweden, Turkey, the United Kingdom and the United States. NATO-accredited centres of excellence are not part of the NATO Command Structure. www.ccdcoe.org [email protected] Disclaimer This publication is a product of the NATO Cooperative Cyber Defence Centre of Excellence (the Centre). -
Reverse a Binary Code with Ghidra
Reverse a Binary Code with Ghidra Romain Brenaget, Jérôme Blanchard, Mathieu Dolmen and Pierre Fontaine Master Cybersecurity of Embedded Systems Faculté des Sciences et Sciences de l’Ingénieur Université de Bretagne Sud, Lorient, France {brenaget.e1803332,blanchard.e1804130,dolmen.e1700417,fontaine.e1800982}@etud.univ-ubs.fr Abstract—This paper aims to demonstrate how a binary code As imagined, the binary did not give the victorious message. named qualification.out can be reversed using a Software We have to dive deeper in the inner working of that binary Reverse Engineering (SRE) suite of tools developed by NSA’s with static and dynamic analysis. Research Directorate, named Ghidra. First, some preliminary tests have been done on the binary to evaluate it. Then, a static III. BINARY STATIC ANALYSIS WITH GHIDRA analysis has been realized with Ghidra followed by a dynamic analysis with Angr, both of which have successfully led to find the A. Gathering information flag (or secret). Finally, techniques which can be used to dump Ghidra [1] is able to provide a lot of information about the a firmware and debug it are presented. Index Terms—Ghidra, reverse engineering, angr, firmware, executable (cf. Listing. 2) as it could be done using the file embedded systems, security command. 1 Program Name: qualification.out I. INTRODUCTION 2 Language ID: x86:LE:64:default (2.8) 3 Compiler ID: gcc The number of embedded devices is significantly increasing, 4 Processor: x86 for most of us they are part of our daily lives. By defini- 5 Endian: Little tion, those objects are ubiquitous and are often physically 6 [...] 7 # of Functions: 22 accessible. -
All You Ever Wanted to Know About X86/X64 Binary Disassembly but Were Afraid to Ask
SoK: All You Ever Wanted to Know About x86/x64 Binary Disassembly But Were Afraid to Ask Chengbin Pang∗z§ Ruotong Yu∗ Yaohui Cheny Eric Koskinen∗ Georgios Portokalidis∗ Bing Maoz Jun Xu∗ ∗Stevens Institute of Technology yFacebook Inc. zNanjing University TABLE I: The group of open-source tools that our study covers Abstract—Disassembly of binary code is hard, but necessary and representative works that use those tools. for improving the security of binary software. Over the past few decades, research in binary disassembly has produced many Tool (Version) Source (Release Date) Public Use tools and frameworks, which have been made available to PSI (1.0) Website [63] (Sep 2014) [50, 88, 111] researchers and security professionals. These tools employ a UROBOROS (0.11) Github [93] (Nov. 2016) [103] variety of strategies that grant them different characteristics. DYNINST (9.3.2) Github [79] (April 2017) [7, 18, 69, 73, 96] The lack of systematization, however, impedes new research in OBJDUMP (2.30) GNU [47] (Jan. 2018) [21, 103, 111] the area and makes selecting the right tool hard, as we do GHIDRA (9.0.4) Github [75] (May 2019) [24, 45, 91] not understand the strengths and weaknesses of existing tools. MCSEMA (2.0.0) Github [13] (Jun. 2019) [22, 41, 44] In this paper, we systematize binary disassembly through the ANGR (8.19.7.25) Github [8] (Oct. 2019) [20, 71, 81, 98, 112] study of nine popular, open-source tools. We couple the manual BAP (2.1.0) Github [26] (Mar. 2020) [10, 16, 64] examination of their code bases with the most comprehensive RADARE2 (4.4.0) Github [89] (April 2020) [4, 31, 52, 58] experimental evaluation (thus far) using 3,788 binaries. -
Brno University of Technology Multiplatform
BRNO UNIVERSITY OF TECHNOLOGY VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ FACULTY OF INFORMATION TECHNOLOGY FAKULTA INFORMAČNÍCH TECHNOLOGIÍ DEPARTMENT OF INFORMATION SYSTEMS ÚSTAV INFORMAČNÍCH SYSTÉMŮ MULTIPLATFORM LINUX SANDBOX FOR ANALYZING IOT MALWARE LINUXOVÉ VÍCEPLATFORMNÍ ODDĚLENÉ BĚHOVÉ PROSTŘEDÍ PRO ANALÝZU MALWARE V IOT BACHELOR’S THESIS BAKALÁŘSKÁ PRÁCE AUTHOR DANIEL UHŘÍČEK AUTOR PRÁCE SUPERVISOR Doc. Dr. Ing. DUŠAN KOLÁŘ VEDOUCÍ PRÁCE BRNO 2019 Brno University of Technology Faculty of Information Technology Department of Information Systems (DIFS) Academic year 2018/2019 Bachelor's Thesis Specification Student: Uhříček Daniel Programme: Information Technology Title: Multiplatform Linux Sandbox for Analyzing IoT Malware Category: Security Assignment: 1. Get acquainted with the IoT malware and state of the art in ELF binary analysis. Focus on sandboxing methods, static and network analysis. 2. Analyze existing solutions of *nix sandboxes and ELF analysis methods. 3. Propose an implementation of a sandbox system to analyze ELF binaries. Design crucial components and consider use of known tools. 4. Implement proposed methods of analysis and prepare a sandbox environment. 5. Thoroughly test your solutions on real IoT malware samples. 6. Verify and validate your solution if it meets requirements described in point (3). 7. Discuss the achieved results and possible future work. Recommended literature: Cozzi, E., Graziano, M., Fratantonio, Y., & Balzarotti, D. (2018). Understanding Linux Malware. In: 2018 IEEE Symposium on Security and Privacy (SP), 161-175. According to the recommendation of the supervisor and the consultant Requirements for the first semester: First three items and elaboration of the fourth item. Detailed formal requirements can be found at http://www.fit.vutbr.cz/info/szz/ Supervisor: Kolář Dušan, doc. -
Analysis of Obfuscation Transformations on Binary Code Matthieu Tofighi Shirazi
Analysis of obfuscation transformations on binary code Matthieu Tofighi Shirazi To cite this version: Matthieu Tofighi Shirazi. Analysis of obfuscation transformations on binary code. Cryptography and Security [cs.CR]. Université Grenoble Alpes, 2019. English. NNT : 2019GREAM069. tel-02907117 HAL Id: tel-02907117 https://tel.archives-ouvertes.fr/tel-02907117 Submitted on 6 Jan 2021 HAL is a multi-disciplinary open access L’archive ouverte pluridisciplinaire HAL, est archive for the deposit and dissemination of sci- destinée au dépôt et à la diffusion de documents entific research documents, whether they are pub- scientifiques de niveau recherche, publiés ou non, lished or not. The documents may come from émanant des établissements d’enseignement et de teaching and research institutions in France or recherche français ou étrangers, des laboratoires abroad, or from public or private research centers. publics ou privés. THÈSE Pour obtenir le grade de DOCTEUR DE LA COMMUNAUTÉ UNIVERSITÉ GRENOBLE ALPES Spécialité : Mathématiques et Informatique Arrêté ministérial : 25 mai 2016 Présentée par Ramtine TOFIGHI SHIRAZI Thèse dirigée par Philippe ELBAZ-VINCENT préparée au sein du Laboratoire Institut Fourier dans l’École Doctorale MSTII Evaluation des méthodes d’obscurcissement de binaire Thèse soutenue publiquement le 16 décembre 2019, devant le jury composé de : M, Louis GOUBIN Professeur à l’Université Versailles-Saint-Quentin-en-Yvelines, Versailles, Rapporteur M, Aurélien FRANCILLON Professeur associé à EURECOM, Biot, Rapporteur M, Sébastien