DATE | All times in PDT (UTC-7) |
---|---|
8:45 - 9:00AM | Welcome and Introductory Remarks |
9:00 - 10:00AM |
Abstract: Patching binary code dates back to some of the earliest computer systems. Binary code patching allows access to a program without having access to the source code, obviating the need to recompile, re-link, and, in the dynamic case, re-execute.
In the early days, it was a bold technique used by serious programmers to avoid the long recompile/reassemble and link steps. Code patching required an intimate knowledge of the instruction set and its binary representation. Great advances have been made in simplifying the use of code patching, making it less error prone and more flexible. "Binary rewriters" were a great advance in the technology for modifying a binary before its execution. Early tools, such as OM, EEL, and Vulcan, enabled the building of tools for tracing, simulation, testing, and sandboxing.
Moving beyond static patching, we developed "dynamic instrumentation", the ability to patch code into a running program. Dynamic instrumentation provided the ability to adapt the code to the immediate need, dynamically control overhead costs. We applied this technology to both user programs and operating system kernels producing the Dyninst and Kerninst tool kits. This technology formed the foundation of the Paradyn Performance Tools.
Dynamic code patching continued to get more aggressive. We developed "self-propelled instrumentation", which inserts instrumentation code that propagates itself along the program's control flow as the program executes. At its best, this technique can provide very low overhead, detailed instrumentation in support of fault isolation and identification of intermittent performance issues.
More recently, we have addressed a wide variety of issues related to binary code patching including analyzing and patching defensive and obfuscated malware, parallelizing the binary code parsing process to quickly patch huge (GB+) binaries, and efficient analysis and instrumentation of GPU binaries.
Key to both static and dynamic patching are the interfaces. There is a difficult balance between providing an interface that abstracts the details of the code, often using control- and data-flow graphs and instruction categories, and an interface that exposes the details of the instruction set. Our primary interface is based on editing of the control flow graph, based on an editing algebra that is closed under valid control flow graphs.
In this talk, I will discuss the development of code patching over the years, with examples from the various technologies (including our tools) and present results from our latest work in self- propelled instrumentation. I will also discuss interface abstractions and our work towards the goal of multi-platform interfaces and tools.
|
10:00 - 10:30AM | Break |
10:30 - 12:00PM | Session 1: Disassembly and Firmware Analysis |
Evaluating Disassembly Ground Truth Through Dynamic Tracing Lambang Akbar (National University of Singapore), Yuancheng Jiang (National University of Singapore), Roland Yap (National University of Singapore), Zhenkai Liang (National University of Singapore), Liu Zhuohao (National University of Singapore) | |
SURGEON: Performant, Flexible and Accurate Re-Hosting via Transplantation Florian Hofhammer (EPFL), Marcel Busch (EPFL), Qinying Wang (EPFL and Zhejiang University), Manuel Egele (Boston University), Mathias Payer (EPFL) | |
FirmDiff: Improving the Configuration of Linux Kernels Geared Towards Firmware Re-hosting Ioannis Angelakopoulos (Boston University), Gianluca Stringhini (Boston University), Manuel Egele (Boston University) | |
FirmLine: a Generic Pipeline for Large-Scale Analysis of Non-Linux Firmware Alexander Balgavy (Independent), Marius Muench (University of Birmingham) | |
12:00 - 1:30PM | Lunch |
1:30 - 2:30PM |
Abstract: Binary analysis serves as a foundational technique for a wide array of cybersecurity tasks, including vulnerability identification and malware analysis. While these methods have evolved to become incredibly powerful, they are inherently bounded by the limitations of what can be inferred solely from the binary data within a file. This talk aims to provide an in-depth exploration of both the capabilities and the constraints of binary analysis, dissecting the fundamental goals that drive its usage and to explore potential solutions to these constraints.
We will investigate the common objectives of binary analysis, such as code understanding, bug hunting, and threat analysis, and evaluate how these goals often remain unmet when confined to mere binary introspection. This talk will argue that while binary analysis is indispensable, it cannot be the sole methodology employed for a comprehensive solution.
The presentation will advocate for the integration of external data sources, contextual information, runtime behavior, and most importantly machine learning and large language models as essential components for enriching the output of binary analysis tools. By fusing binary data with external inputs, we can transcend the inherent limitations and offer a more nuanced, accurate, and actionable analysis for our users.
|
2:30 - 3:00PM | Break |
3:00 - 4:30PM | Session 2: New Frontiers in Binary Analysis |
LibAFL QEMU: A Library for Fuzzing-oriented Emulation Romain Malmain (EURECOM), Andrea Fioraldi (EURECOM), Aurelien Francillon (EURECOM) | |
Efficient Normalized Reduction and Generation of Equivalent Multivariate Binary Polynomials Arnau Gàmez-Montolio (City, University of London; Activision Research), Enric Florit (Universitat de Barcelona), Martin Brain (City, University of London), Jacob M. Howe (City, University of London) | |
CBAT: A Comparative Binary Analysis Tool Chloe Fortuna (STR), Chris Casinghino (Jane Street), Sam Lasser (Draper), JT Paasch (STR), Cody Roux (AWS), Philip Zucker (Draper) | |
GTrans: Graph Transformer-Based Obfuscation-resilient Binary Code Similarity Detection Yun Zhang (Hunan University), Yuling Liu (Hunan University), Ge Cheng (Xiangtan University), Bo Ou (Hunan University) | |
4:30 - 5:00PM | Best Paper Award and Closing Remarks |