Protecting software through obfuscation: Can it keep pace with progress in code analysis?

S Schrittwieser, S Katzenbeisser, J Kinder… - Acm computing surveys …, 2016 - dl.acm.org
Software obfuscation has always been a controversially discussed research area. While
theoretical results indicate that provably secure obfuscation in general is impossible, its …

A systematic review of fuzzing techniques

C Chen, B Cui, J Ma, R Wu, J Guo, W Liu - Computers & Security, 2018 - Elsevier
Fuzzing is an effective and widely used technique for finding security bugs and
vulnerabilities in software. It inputs irregular test data into a target program to try to trigger a …

Full-speed fuzzing: Reducing fuzzing overhead through coverage-guided tracing

S Nagy, M Hicks - 2019 IEEE Symposium on Security and …, 2019 - ieeexplore.ieee.org
Coverage-guided fuzzing is one of the most successful approaches for discovering software
bugs and security vulnerabilities. Of its three main components:(1) test case generation,(2) …

Cacheaudit: A tool for the static analysis of cache side channels

G Doychev, B Köpf, L Mauborgne… - ACM Transactions on …, 2015 - dl.acm.org
We present CacheAudit, a versatile framework for the automatic, static analysis of cache
side channels. CacheAudit takes as input a program binary and a cache configuration and …

Statically-directed dynamic automated test generation

D Babić, L Martignoni, S McCamant… - Proceedings of the 2011 …, 2011 - dl.acm.org
We present a new technique for exploiting static analysis to guide dynamic automated test
generation for binary programs, prioritizing the paths to be explored. Our technique is a …

[HTML][HTML] A systematic review of fuzzing based on machine learning techniques

Y Wang, P Jia, L Liu, C Huang, Z Liu - PloS one, 2020 - journals.plos.org
Security vulnerabilities play a vital role in network security system. Fuzzing technology is
widely used as a vulnerability discovery technology to reduce damage in advance …

From hack to elaborate technique—a survey on binary rewriting

M Wenzl, G Merzdovnik, J Ullrich… - ACM Computing Surveys …, 2019 - dl.acm.org
Binary rewriting is changing the semantics of a program without having the source code at
hand. It is used for diverse purposes, such as emulation (eg, QEMU), optimization (eg …

Auto-detection of sophisticated malware using lazy-binding control flow graph and deep learning

MH Nguyen, D Le Nguyen, XM Nguyen, TT Quan - Computers & Security, 2018 - Elsevier
To date, industrial antivirus tools are mostly using signature-based methods to detect
malware occurrences. However, sophisticated malware, such as metamorphic or …

Differentiating code from data in x86 binaries

R Wartell, Y Zhou, KW Hamlen, M Kantarcioglu… - … Conference on Machine …, 2011 - Springer
Robust, static disassembly is an important part of achieving high coverage for many binary
code analyses, such as reverse engineering, malware analysis, reference monitor in-lining …

Machine learning-based analysis of program binaries: A comprehensive study

H Xue, S Sun, G Venkataramani, T Lan - IEEE Access, 2019 - ieeexplore.ieee.org
Binary code analysis is crucial in various software engineering tasks, such as malware
detection, code refactoring, and plagiarism detection. With the rapid growth of software …