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

David Gens

dblp:164/2771 · DBLP profile ↗
← Back
17ranked-venue papers
2as first author
2since 2021 · last 2023
0009-0000-7096-7426ORCID · reported

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

Security and privacy · 13 · 2 first-authorSystems, architecture and hardware · 3 · 1 since 2021Software engineering, systems software and programming languages · 1 · 1 since 2021

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
11 papers
Systems and software security · 46% Hardware security and side channels · 41% Web and mobile security · 8%
Computer architecture, parallel and distributed computing, and storage systems
3 papers
Electronic design automation · 72% Memory systems · 14% Performance modeling and evaluation · 14%
Software engineering, system software, and programming languages
4 papers
Program analysis · 45% Compilers and program optimization · 37% Runtime systems and virtual machines · 11%

Topics — the 22 heaviest of 28, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
Systems and software security
memory safety
1.132022
PKRU-safe: automatically locking down the heap between safe and unsafe languages · EuroSys 2022
PT-Rand: Practical Mitigation of Data-only Attacks against Page Tables · NDSS 2017
JITGuard: Hardening Just-in-time Compilers with SGX · CCS 2017
Electronic design automation
timing analysis
0.712023
A Highly Scalable, Hybrid, Cross-Platform Timing Analysis Framework Providing Accurate Differential Throughput Estimation via Instruction-Level Tracing · ESEC/SIGSOFT FSE 2023
Hardware security and side channels › fault attacks › fault injection attack
rowhammer attack
0.622018
It's hammer time: how to attack (rowhammer-based) DRAM-PUFs · DAC 2018
CAn't Touch This: Software-only Mitigation against Rowhammer Attacks targeting Kernel Memory · USENIX Security Symposium 2017
Hardware security and side channels
trusted execution environments
0.522019
SANCTUARY: ARMing TrustZone with User-space Enclaves · NDSS 2019
JITGuard: Hardening Just-in-time Compilers with SGX · CCS 2017
Web and mobile security › web security
javascript engine security
0.412020
NoJITsu: Locking Down JavaScript Engines · NDSS 2020
Program analysis › binary analysis
dynamic binary analysis
0.412020
BinRec: dynamic binary lifting and recompilation · EuroSys 2020
Hardware security and side channels › trusted execution environments
ARM TrustZone
0.412019
SANCTUARY: ARMing TrustZone with User-space Enclaves · NDSS 2019
Electronic design automation › hardware verification and test
hardware verification
0.412019
HardFails: Insights into Software-Exploitable Hardware Bugs · USENIX Security Symposium 2019
Systems and software security › memory safety
memory corruption
0.312018
K-Miner: Uncovering Memory Corruption in Linux · NDSS 2018
Hardware security and side channels › hardware security primitives › physical unclonable function
PUF security
0.312018
It's hammer time: how to attack (rowhammer-based) DRAM-PUFs · DAC 2018
Systems and software security
vulnerability discovery
0.312018
K-Miner: Uncovering Memory Corruption in Linux · NDSS 2018
Systems and software security › return-oriented programming defense
code reuse attack defense
0.312017
JITGuard: Hardening Just-in-time Compilers with SGX · CCS 2017
Systems and software security › memory protection
kernel memory protection
0.312017
CAn't Touch This: Software-only Mitigation against Rowhammer Attacks targeting Kernel Memory · USENIX Security Symposium 2017
Systems and software security › exploitation
non-control data attack
0.312017
PT-Rand: Practical Mitigation of Data-only Attacks against Page Tables · NDSS 2017
Systems and software security
operating system security
0.312017
CAn't Touch This: Software-only Mitigation against Rowhammer Attacks targeting Kernel Memory · USENIX Security Symposium 2017
Systems and software security › memory protection
hardware-assisted memory protection
0.212022
PKRU-safe: automatically locking down the heap between safe and unsafe languages · EuroSys 2022
Hardware security and side channels
fault attacks
0.112020
V0LTpwn: Attacking x86 Processor Integrity from Software · USENIX Security Symposium 2020
Web and mobile security
mobile security
0.112019
SANCTUARY: ARMing TrustZone with User-space Enclaves · NDSS 2019
Program analysis
static analysis
0.112018
K-Miner: Uncovering Memory Corruption in Linux · NDSS 2018
Memory systems
DRAM
0.112018
It's hammer time: how to attack (rowhammer-based) DRAM-PUFs · DAC 2018
Memory systems › DRAM
rowhammer
0.112018
It's hammer time: how to attack (rowhammer-based) DRAM-PUFs · DAC 2018
Hardware security and side channels › trusted execution environments
Intel SGX
0.112017
JITGuard: Hardening Just-in-time Compilers with SGX · CCS 2017

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

JIT hardening · 0.9hardware bug analysis · 0.8static analysis · 0.7modeling attack · 0.7instruction-level tracing · 0.7denial-of-service attack · 0.7memory protection keys · 0.6PKRU · 0.6software-based fault injection · 0.4dynamic disassembly · 0.4software-only mitigation · 0.3Intel SGX · 0.3
YearPublicationVenuePosition
2023 A Highly Scalable, Hybrid, Cross-Platform Timing Analysis Framework Providing Accurate Differential Throughput Estimation via Instruction-Level Tracing
abstract
Differential throughput estimation, i.e., predicting the performance impact of software changes, is critical when developing applications that rely on accurate timing bounds, such as automotive, avionic, or industrial control systems. However, developers often lack access to the target hardware to perform on-device measurements, and hence rely on instruction throughput estimation tools to evaluate performance impacts.
Min-Yih Hsu, Felicitas Hetzelt, David Gens, Michael Maitland, Michael Franz
ESEC/SIGSOFT FSE3
2022 PKRU-safe: automatically locking down the heap between safe and unsafe languages
abstract
After more than twenty-five years of research, memory safety violations remain one of the major causes of security vulnerabilities in real-world software. Memory-safe languages, like Rust, have demonstrated that compiler technology can assist developers in writing efficient low-level code without the risk of memory corruption. However, many memory-safe languages still have to interface with unsafe code to some extent, which opens up the possibility for attackers to exploit memory-corruption vulnerabilities in the unsafe part of the system and subvert the safety guarantees provided by the memory-safe language.
Paul Kirth, Mitchel Dickerson, Stephen Crane, Per Larsen, Adrian Dabrowski, David Gens, Yeoul Na, Stijn Volckaert, Michael Franz
EuroSys6
2020 CoDaRR: Continuous Data Space Randomization against Data-Only Attacks
abstract
The widespread deployment of exploit mitigations such as CFI and shadow stacks are making code-reuse attacks increasingly difficult. This has forced adversaries to consider data-only attacks against which the venerable ASLR remains the primary deployed defense.Data-Space Randomization (DSR) techniques raise the bar against data-only attacks by making it harder for adversaries to inject malicious data flows into vulnerable applications. DSR works by masking memory load and store instructions. Masks are chosen (i) to not interfere with intended data flows and (ii) such that masking likely interferes with unintended flows introduced by malicious program inputs.
Prabhu Rajasekaran, Stephen Crane, David Gens, Yeoul Na, Stijn Volckaert, Michael Franz
AsiaCCS3
2020 BinRec: dynamic binary lifting and recompilation
abstract
Binary lifting and recompilation allow a wide range of install-time program transformations, such as security hardening, deobfuscation, and reoptimization. Existing binary lifting tools are based on static disassembly and thus have to rely on heuristics to disassemble binaries.
Anil Altinay, Joseph Nash, Taddeus Kroes, Prabhu Rajasekaran, Dixin Zhou, Adrian Dabrowski, David Gens, Yeoul Na, Stijn Volckaert, Cristiano Giuffrida, Herbert Bos, Michael Franz
EuroSys7
2020 NoJITsu: Locking Down JavaScript Engines
Taemin Park, Karel Dhondt, David Gens, Yeoul Na, Stijn Volckaert, Michael Franz
NDSS3
2020 V0LTpwn: Attacking x86 Processor Integrity from Software
Zijo Kenjar, Tommaso Frassetto, David Gens, Michael Franz, Ahmad-Reza Sadeghi
USENIX Security Symposium3
2019 RIP-RH: Preventing Rowhammer-based Inter-Process Attacks
abstract
Run-time attacks pose a continuous threat to the security of computer systems. These attacks aim at hijacking the operation of a computer program by subverting its execution at run time. While conventional run-time attacks usually require memory-corruption vulnerabilities in the program, hardware bugs represent an increasingly popular attack vector. Rowhammer represents a vulnerability in the design of DRAM modules that allows an adversary to modify memory locations in physical proximity to attacker-controlled memory on the module without accessing them. This is a serious threat to real-world systems, since DRAM is used as main memory on virtually all platforms. Recent research proposed defenses against rowhammer, such by patching the memory controller in hardware, or statically partitioning physical memory to protect the operating system kernel from a user space adversary. However, sharing DRAM memory securely between a number of different entities currently remains as an open problem. In this paper, we present RIP-RH, a DRAM-aware memory allocator that allows for dynamic management of multiple user-space processes. RIP-RH ensures that the memory partitions belonging to individual processes are physically isolated. In our detailed evaluation we demonstrate that our prototype implementation of RIP-RH incurs a modest run-time overhead of 3.17% for standard benchmarks and offers practical performance in a number of real-world scenarios.
Carsten Bock, Ferdinand Brasser, David Gens, Christopher Liebchen, Ahmad-Reza Sadeghi
AsiaCCS3
2019 SANCTUARY: ARMing TrustZone with User-space Enclaves
Ferdinand Brasser, David Gens, Patrick Jauernig, Ahmad-Reza Sadeghi, Emmanuel Stapf
NDSS2
2019 FastKitten: Practical Smart Contracts on Bitcoin
Poulami Das 0003, Lisa Eckey, Tommaso Frassetto, David Gens, Kristina Hostáková, Patrick Jauernig, Sebastian Faust, Ahmad-Reza Sadeghi
USENIX Security Symposium4
2019 HardFails: Insights into Software-Exploitable Hardware Bugs
Ghada Dessouky, David Gens, Patrick Haney, Garrett Persyn, Arun K. Kanuparthi, Hareesh Khattri, Jason M. Fung, Ahmad-Reza Sadeghi, Jeyavijayan Rajendran
USENIX Security Symposium2
2018 It's hammer time: how to attack (rowhammer-based) DRAM-PUFs
abstract
Physically Unclonable Functions (PUFs) are still considered promising technology as building blocks in cryptographic protocols. While most PUFs require dedicated circuitry, recent research leverages DRAM hardware for PUFs due to its intrinsic properties and wide deployment. Recently, a new memory-based PUF was proposed that utilizes the infamous Rowhammer effect in DRAM. In this paper, we show two remote attacks on DRAM-based PUFs. First, a DoS attack that exploits the Rowhammer effect to manipulate PUF responses. Second, a modeling attack that predicts PUF responses by observing few challenge-response pairs. Our results indicate that DRAM may not be suitable for PUFs.
Shaza Zeitouni, David Gens, Ahmad-Reza Sadeghi
DAC2
2018 K-Miner: Uncovering Memory Corruption in Linux
David Gens, Simon Schmitt, Lucas Davi, Ahmad-Reza Sadeghi
NDSS1
2017 JITGuard: Hardening Just-in-time Compilers with SGX
abstract
Memory-corruption vulnerabilities pose a serious threat to modern computer security. Attackers exploit these vulnerabilities to manipulate code and data of vulnerable applications to generate malicious behavior by means of code-injection and code-reuse attacks. Researchers already demonstrated the power of data-only attacks by disclosing secret data such as cryptographic keys in the past. A large body of literature has investigated defenses against code-injection, code-reuse, and data-only attacks. Unfortunately, most of these defenses are tailored towards statically generated code and their adaption to dynamic code comes with the price of security or performance penalties. However, many common applications, like browsers and document viewers, embed just-in-time compilers to generate dynamic code. The contribution of this paper is twofold: first, we propose a generic data-only attack against JIT compilers, dubbed DOJITA. In contrast to previous data-only attacks that aimed at disclosing secret data, DOJITA enables arbitrary code-execution. Second, we propose JITGuard, a novel defense to mitigate code-injection, code-reuse, and data-only attacks against just-in-time compilers (including DOJITA). JITGuard utilizes Intel's Software Guard Extensions (SGX) to provide a secure environment for emitting the dynamic code to a secret region, which is only known to the JIT compiler, and hence, inaccessible to the attacker. Our proposal is the first solution leveraging SGX to protect the security critical JIT compiler operations, and tackles a number of difficult challenges. As proof of concept we implemented JITGuard for Firefox's JIT compiler SpiderMonkey. Our evaluation shows reasonable overhead of 9.8% for common benchmarks.
Tommaso Frassetto, David Gens, Christopher Liebchen, Ahmad-Reza Sadeghi
CCS2
2017 PT-Rand: Practical Mitigation of Data-only Attacks against Page Tables
Lucas Davi, David Gens, Christopher Liebchen, Ahmad-Reza Sadeghi
NDSS2
2017 LAZARUS: Practical Side-Channel Resilient Kernel-Space Randomization
David Gens, Orlando Arias, Dean Sullivan, Christopher Liebchen, Yier Jin, Ahmad-Reza Sadeghi
RAID1
2017 CAn't Touch This: Software-only Mitigation against Rowhammer Attacks targeting Kernel Memory
Ferdinand Brasser, Lucas Davi, David Gens, Christopher Liebchen, Ahmad-Reza Sadeghi
USENIX Security Symposium3
2015 Privately Computing Set-Union and Set-Intersection Cardinality via Bloom Filters
Rolf Egert, Marc Fischlin, David Gens, Sven Jacob, Matthias Senker, Jörn Tillmanns
ACISP3