Demonstration venue · read-only. Every page can be browsed; the buttons that would change it are switched off. Create an account to run TaxoReview on your own data. A simulation from public publication records: the people listed were not invited and did not agree to review.
? Tutorial for this page

Dennis Andriesse

dblp:131/5092 · DBLP profile ↗
← Back
14ranked-venue papers
5as first author
0since 2021 · last 2020
—ORCID · none

Domains — the database's venue-derived domains; a paper can count in several

Security and privacy · 12 · 4 first-authorSystems, architecture and hardware · 1 · 1 first-authorComputer networks · 1 · 1 first-authorSoftware engineering, systems software and programming languages · 1

Expertise — from the expertise taxonomy: the topics of the expert's papers under the CCF categories. A weight counts papers with recency: 1 for a paper about the topic, 0.3 when the topic is its context, halved every five years.

Network and information security
7 papers
Systems and software security · 57% Hardware security and side channels · 25% Malware analysis · 11%
Computer architecture, parallel and distributed computing, and storage systems
1 paper
Hardware reliability and fault tolerance · 87% Memory systems · 13%
Software engineering, system software, and programming languages
2 papers
Program analysis · 100%

Topics — the 19 heaviest of 20, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
Hardware security and side channels › microarchitectural attacks
cache attacks
0.412020
: Practical Cache Attacks from the Network · SP 2020
Hardware security and side channels
microarchitectural attacks
0.412020
: Practical Cache Attacks from the Network · SP 2020
Systems and software security
exploitation
0.422017
The Dynamics of Innocent Flesh on the Bone: Code Reuse Ten Years Later · CCS 2017
Practical Context-Sensitive CFI · CCS 2015
Hardware reliability and fault tolerance
rowhammer attacks
0.312018
ZebRAM: Comprehensive and Compatible Software Protection Against Rowhammer Attacks · OSDI 2018
Hardware reliability and fault tolerance
soft errors
0.312018
ZebRAM: Comprehensive and Compatible Software Protection Against Rowhammer Attacks · OSDI 2018
Systems and software security › exploitation
code reuse attack
0.312017
The Dynamics of Innocent Flesh on the Bone: Code Reuse Ten Years Later · CCS 2017
Systems and software security › exploitation › code reuse attack
return-oriented programming
0.312017
The Dynamics of Innocent Flesh on the Bone: Code Reuse Ten Years Later · CCS 2017
Systems and software security
binary analysis
0.212016
An In-Depth Analysis of Disassembly on Full-Scale x86/x64 Binaries · USENIX Security Symposium 2016
Network security › attack resilience › attack mitigation › botnet defense
botnet takedown
0.222015
SoK: P2PWNED - Modeling and Evaluating the Resilience of Peer-to-Peer Botnets · IEEE Symposium on Security and Privacy 2013
Reliable Recon in Adversarial Peer-to-Peer Botnets · Internet Measurement Conference 2015
Systems and software security › software protection
binary protection
0.212015
StackArmor: Comprehensive Protection From Stack-based Memory Error Vulnerabilities for Binaries · NDSS 2015
Malware analysis › botnet
botnet analysis
0.212015
Reliable Recon in Adversarial Peer-to-Peer Botnets · Internet Measurement Conference 2015
Systems and software security › memory safety
control-flow integrity
0.212015
Practical Context-Sensitive CFI · CCS 2015
Systems and software security
memory safety
0.212015
StackArmor: Comprehensive Protection From Stack-based Memory Error Vulnerabilities for Binaries · NDSS 2015
Program analysis
binary analysis
0.212015
StackArmor: Comprehensive Protection From Stack-based Memory Error Vulnerabilities for Binaries · NDSS 2015
Malware analysis
botnet
0.212013
SoK: P2PWNED - Modeling and Evaluating the Resilience of Peer-to-Peer Botnets · IEEE Symposium on Security and Privacy 2013
Memory systems
DRAM
0.112018
ZebRAM: Comprehensive and Compatible Software Protection Against Rowhammer Attacks · OSDI 2018
Systems and software security › return-oriented programming defense
code reuse attack defense
0.112017
The Dynamics of Innocent Flesh on the Bone: Code Reuse Ten Years Later · CCS 2017
Program analysis › binary analysis
disassembly
0.112016
An In-Depth Analysis of Disassembly on Full-Scale x86/x64 Binaries · USENIX Security Symposium 2016
Systems and software security
return-oriented programming defense
0.112015
Practical Context-Sensitive CFI · CCS 2015

Methods — techniques the papers use, named apart from their topics

binary instrumentation · 0.7empirical analysis · 0.5reverse engineering · 0.4prime+probe · 0.4software protection · 0.3survey · 0.3historical analysis · 0.3path tracking · 0.2crawler and sensor anomaly detection · 0.2percolation theory · 0.2graph modeling · 0.2
YearPublicationVenuePosition
2020 : Practical Cache Attacks from the Network
abstract
Increased peripheral performance is causing strain on the memory subsystem of modern processors. For example, available DRAM throughput can no longer sustain the traffic of a modern network card. Scrambling to deliver the promised performance, instead of transferring peripheral data to and from DRAM, modern Intel processors perform I/O operations directly on the Last Level Cache (LLC). While Direct Cache Access (DCA) instead of Direct Memory Access (DMA) is a sensible performance optimization, it is unfortunately implemented without care for security, as the LLC is now shared between the CPU and all the attached devices, including the network card.In this paper, we reverse engineer the behavior of DCA, widely referred to as Data-Direct I/O (DDIO), on recent Intel processors and present its first security analysis. Based on our analysis, we present NetCAT, the first Network-based PRIME+PROBE Cache Attack on the processor's LLC of a remote machine. We show that NetCAT not only enables attacks in cooperative settings where an attacker can build a covert channel between a network client and a sandboxed server process (without network), but more worryingly, in general adversarial settings. In such settings, NetCAT can enable disclosure of network timing-based sensitive information. As an example, we show a keystroke timing attack on a victim SSH connection belonging to another client on the target server. Our results should caution processor vendors against unsupervised sharing of (additional) microarchitectural components with peripherals exposed to malicious input.
Michael Kurth, Ben Gras, Dennis Andriesse, Cristiano Giuffrida, Herbert Bos, Kaveh Razavi
SP3
2019 VPS: excavating high-level C++ constructs from low-level binaries to protect dynamic dispatching
abstract
Polymorphism and inheritance make C++ suitable for writing complex software, but significantly increase the attack surface because the implementation relies on virtual function tables (vtables). These vtables contain function pointers that attackers can potentially hijack and in practice, vtable hijacking is one of the most important attack vector for C++ binaries.
Andre Pawlowski, Victor van der Veen, Dennis Andriesse, Erik van der Kouwe, Thorsten Holz, Cristiano Giuffrida, Herbert Bos
ACSAC3
2019 SoK: Benchmarking Flaws in Systems Security
abstract
Properly benchmarking a system is a difficult and intricate task. Even a seemingly innocuous mistake can compromise the guarantees provided by a systems security defense and threaten reproducibility and comparability. Moreover, as many modern defenses trade security for performance, the damage caused by benchmarking mistakes is increasingly worrying. To analyze the magnitude of the phenomenon, we identify 22 benchmarking flaws that threaten the validity of systems security evaluations, and survey 50 defense papers published in top venues. We show that benchmarking flaws are widespread even in papers published at tier-1 venues; tier-1 papers contain an average of five benchmarking flaws and we find only a single paper in our sample without any benchmarking flaws. Moreover, the scale of the problem appears constant over time, suggesting that the community is not yet taking sufficient countermeasures. This threatens the scientific process, which relies on reproducibility and comparability to ensure that published research advances the state of the art. We hope to raise awareness and provide recommendations for improving benchmarking quality and safeguard the scientific process in our community.
Erik van der Kouwe, Gernot Heiser, Dennis Andriesse, Herbert Bos, Cristiano Giuffrida
EuroS&P3
2018 Now You See Me: Real-time Dynamic Function Call Detection
abstract
Efficient detection and instrumentation of function calls is fundamental for a variety of dynamic analysis techniques, including dynamic callgraph construction, control-flow integrity, and automatic vulnerability discovery. A common way of detecting calls at the machine code level is to look for CALL instructions. However, optimizing compilers frequently implement function tail calls with JMP instructions instead, and distinguishing an intra-procedural jump from a JMP-based function call is not straightforward. Despite the importance of making this distinction, prior research has not produced a reliable solution. In this paper, we address the problem of dynamic function call detection in real-time. We propose a heuristic-based approach named iCi to efficiently and automatically instrument calls, including conventional CALLs and JMP-based calls, at runtime. iCi does not rely on source code, debug information, symbol tables or static analysis. We show that iCi achieves an f-score of 0.95 in the worst case, regardless of optimization level. We open-source our implementation as well as the oracle we used for our evaluation.1
Franck de Goër, Sanjay Rawat 0001, Dennis Andriesse, Herbert Bos, Roland Groz
ACSAC3
2018 ZebRAM: Comprehensive and Compatible Software Protection Against Rowhammer Attacks
Radhesh Krishnan Konoth, Marco Oliverio, Andrei Tatar, Dennis Andriesse, Herbert Bos, Cristiano Giuffrida, Kaveh Razavi
OSDI4
2017 The Dynamics of Innocent Flesh on the Bone: Code Reuse Ten Years Later
abstract
In 2007, Shacham published a seminal paper on Return-Oriented Programming (ROP), the first systematic formulation of code reuse. The paper has been highly influential, profoundly shaping the way we still think about code reuse today: an attacker analyzes the "geometry" of victim binary code to locate gadgets and chains these to craft an exploit. This model has spurred much research, with a rapid progression of increasingly sophisticated code reuse attacks and defenses over time. After ten years, the common perception is that state-of-the-art code reuse defenses are effective in significantly raising the bar and making attacks exceedingly hard.
Victor van der Veen, Dennis Andriesse, Manolis Stamatogiannakis, Xi Chen 0038, Herbert Bos, Cristiano Giuffrida
CCS2
2017 Compiler-Agnostic Function Detection in Binaries
abstract
We propose Nucleus, a novel function detection algorithm for binaries. In contrast to prior work, Nucleus is compiler-agnostic, and does not require any learning phase or signature information. Instead of scanning for signatures, Nucleus detects functions at the Control Flow Graph-level, making it inherently suitable for difficult cases such as non-contiguous or multi-entry functions. We evaluate Nucleus on a diverse set of 476 C and C ++ binaries, compiled with gcc, clang and Visual Studio for x86 and x64, at optimization levels O0-O3. We achieve consistently good performance, with a mean F-score of 0.95.
Dennis Andriesse, Asia Slowinska, Herbert Bos
EuroS&P1
2016 An In-Depth Analysis of Disassembly on Full-Scale x86/x64 Binaries
Dennis Andriesse, Xi Chen 0038, Victor van der Veen, Asia Slowinska, Herbert Bos
USENIX Security Symposium1
2015 Practical Context-Sensitive CFI
abstract
Current Control-Flow Integrity (CFI) implementations track control edges individually, insensitive to the context of preceding edges. Recent work demonstrates that this leaves sufficient leeway for powerful ROP attacks. Context-sensitive CFI, which can provide enhanced security, is widely considered impractical for real-world adoption. Our work shows that Context-sensitive CFI (CCFI) for both the backward and forward edge can be implemented efficiently on commodity hardware. We present PathArmor, a binary-level CCFI implementation which tracks paths to sensitive program states, and defines the set of valid control edges within the state context to yield higher precision than existing CFI implementations. Even with simple context-sensitive policies, PathArmor yields significantly stronger CFI invariants than context-insensitive CFI, with similar performance.
Victor van der Veen, Dennis Andriesse, Enes Göktas, Ben Gras, Lionel Sambuc, Asia Slowinska, Herbert Bos, Cristiano Giuffrida
CCS2
2015 Parallax: Implicit Code Integrity Verification Using Return-Oriented Programming
abstract
Parallax is a novel self-contained code integrity verification approach, that protects instructions by overlapping Return-Oriented Programming (ROP) gadgets with them. Our technique implicitly verifies integrity by translating selected code (verification code) into ROP code which uses gadgets scattered over the binary. Tampering with the protected instructions destroys the gadgets they contain, so that the verification code fails, thereby preventing the adversary from using the modified binary. Unlike prior solutions, Parallax does not rely on code checksumming, so it is not vulnerable to instruction cache modification attacks which affect checksumming techniques. Further, unlike previous algorithms which withstand such attacks, Parallax does not compute hashes of the execution state, and can thus protect code with non-deterministic state. Parallax limits performance overhead to the verification code, while the protected code executes at its normal speed. This allows us to protect performance-critical code, and confine the slowdown to other code regions. Our experiments show that Parallax can protect up to 90% of code bytes, including most control flow instructions, with a performance overhead of under 4%.
Dennis Andriesse, Herbert Bos, Asia Slowinska
DSN1
2015 Reliable Recon in Adversarial Peer-to-Peer Botnets
abstract
The decentralized nature of Peer-to-Peer (P2P) botnets precludes traditional takedown strategies, which target dedicated command infrastructure. P2P botnets replace this infrastructure with command channels distributed across the full infected population. Thus, mitigation strongly relies on accurate reconnaissance techniques which map the botnet population. While prior work has studied passive disturbances to reconnaissance accuracy ---such as IP churn and NAT gateways---, the same is not true of active anti-reconnaissance attacks. This work shows that active attacks against crawlers and sensors occur frequently in major P2P botnets. Moreover, we show that current crawlers and sensors in the Sality and Zeus botnets produce easily detectable anomalies, making them prone to such attacks. Based on our findings, we categorize and evaluate vectors for stealthier and more reliable P2P botnet reconnaissance.
Dennis Andriesse, Christian Rossow, Herbert Bos
Internet Measurement Conference1
2015 StackArmor: Comprehensive Protection From Stack-based Memory Error Vulnerabilities for Binaries
Xi Chen 0038, Asia Slowinska, Dennis Andriesse, Herbert Bos, Cristiano Giuffrida
NDSS3
2014 Instruction-Level Steganography for Covert Trigger-Based Malware - (Extended Abstract)
Dennis Andriesse, Herbert Bos
DIMVA1
2013 SoK: P2PWNED - Modeling and Evaluating the Resilience of Peer-to-Peer Botnets
abstract
Centralized botnets are easy targets for takedown efforts by computer security researchers and law enforcement. Thus, botnet controllers have sought new ways to harden the infrastructures of their botnets. In order to meet this objective, some botnet operators have (re)designed their botnets to use Peer-to-Peer (P2P) infrastructures. Many P2P botnets are far more resilient to takedown attempts than centralized botnets, because they have no single points of failure. However, P2P botnets are subject to unique classes of attacks, such as node enumeration and poisoning. In this paper, we introduce a formal graph model to capture the intrinsic properties and fundamental vulnerabilities of P2P botnets. We apply our model to current P2P botnets to assess their resilience against attacks. We provide assessments on the sizes of all eleven active P2P botnets, showing that some P2P botnet families contain over a million bots. In addition, we have prototyped several mitigation strategies to measure the resilience of existing P2P botnets. We believe that the results from our analysis can be used to assist security researchers in evaluating mitigation strategies against current and future P2P botnets.
Christian Rossow, Dennis Andriesse, Tillmann Werner, Brett Stone-Gross, Daniel Plohmann, Christian Dietrich 0005, Herbert Bos
IEEE Symposium on Security and Privacy2