ACM SURE Workshop

ACM SURE Workshop

@sureworkshop.bsky.social

The Workshop on Software Understanding and Reverse Engineering (SURE). Co-located at ACM CCS 2025 in Taiwan. https://sure-workshop.org/

31 followers1 following74 posts

CCS has come to a close, and so has the first-ever SURE Workshop. We want to thank the authors, the PC, @moyix, our panel, and CCS for making SURE a success. We felt the support for this research area (the room was packed out for more than half the day). See you all next year!

We're so back, and on our last session: Applications & Future Work. Changyu "Thomason" Zhao is presenting "LibIHT: A Hardware-Based Approach to Efficient and Evasion-Resistant Dynamic Binary Analysis". He is presenting virtually.

View full thread

We're so back, and on our last session: Applications & Future Work. Changyu "Thomason" Zhao is presenting "LibIHT: A Hardware-Based Approach to Efficient and Evasion-Resistant Dynamic Binary Analysis". He is presenting virtually.

Often, when static analysis tools do not work, you need to get down in the weeds of a program and start dynamically analyzing it. In Thomason's work, he explores a way to be more robust and efficient by utilizing hardware features for dynamic analysis.

View full thread

Now, you got your crazy code, how do you select which functions in the code to obfuscate and evaluate on? Functions must be "sensitive" and "central". Sensitive: has sensitive info like a uid or gid or a password. Central: many other functions should depend on it (calls).

View full thread

An interesting observation: obfuscation is really expensive on the CPU. Real programs don't obfuscate the entire program; they only obfuscate critical code locations like license checks. So they construct their dataset with that in mind.

Real world programs in their set need: - unique functionality - complex code - ... Some real programs: OpenSSL, QEMU, SQLite, curl, ... all difficult targets that are already hard to analyze, so they are not obfuscated.

Dongpeng argues that many modern works in deobfuscation don't work on large complex programs. Instead, they are mostly tested on toy programs that are not real-world. To make a more useful evaluation, they explore how real obfuscation is used.

View full thread
View full thread

Some results: you train on obfuscation, and it turns out the model does do better (with BinShot) on obfuscated code. However, training it on specific types of obfuscation tech matters. For instance, training on control flow flattening may not help at all with MBA.

They evaluate public obfuscation tools such as an LLVM obfuscator and the classic tool Tigress. They have a few questions, one interesting one is: Does training on obfuscated code actually make the models better at reasoning on them?

Speaking of evaluating things, how do you evaluate if your decompilation (or other tool) is actually helping you more in understanding software? Florian Magin is back to present: "Towards Scalable Evaluation of Software Understanding: A Methodology Proposal"

View full thread

Speaking of evaluating things, how do you evaluate if your decompilation (or other tool) is actually helping you more in understanding software? Florian Magin is back to present: "Towards Scalable Evaluation of Software Understanding: A Methodology Proposal"

View full thread

Something cool: You get the following choices: A: return *(x + 8) B: return x._length Both give you a similar probability of being chosen as `getLength` on a random test, which is unexpected. This is why you need stronger decoys!

Speaking of evaluating things, how do you evaluate if your decompilation (or other tool) is actually helping you more in understanding software? Florian Magin is back to present: "Towards Scalable Evaluation of Software Understanding: A Methodology Proposal"

View full thread

Type inference research focuses on recovering high-level types in binary code that humans often find useful. However, there is not much work exploring whether our current approaches are effective and on what data we should test them.

So you are thinking about approaching decompilation in the non-C sense, but you are not sure if it is impactful? Well, Florian Magin, is presenting "Measuring While Playing Fair: An Empirical Analysis of Language and Framework Usage in the iOS App Store" to answer that!

View full thread

So you are thinking about approaching decompilation in the non-C sense, but you are not sure if it is impactful? Well, Florian Magin, is presenting "Measuring While Playing Fair: An Empirical Analysis of Language and Framework Usage in the iOS App Store" to answer that!

View full thread
View full thread