Demo Data from EDBT 2026 / reviewers in the wild / expert
Christopher Liebchen
dblp:131/5096
· DBLP profile ↗
16ranked-venue papers
0as first author
0since 2021 · last 2019
—ORCID · none
Domains — the database's venue-derived domains; a paper can count in several
Security and privacy · 15Computer networks · 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
13 papers |
Systems and software security · 87% Hardware security and side channels · 12% Web and mobile security · 1% | |
| Software engineering, system software, and programming languages
2 papers |
Operating systems · 57% Compilers and program optimization · 43% |
Topics — the 21 heaviest of 25, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Systems and software security › exploitation
code reuse attack |
1.1 | 5 | 2017 | Address Oblivious Code Reuse: On the Effectiveness of Leakage Resilient Diversity · NDSS 2017 Counterfeit Object-oriented Programming: On the Difficulty of Preventing Code Reuse Attacks in C++ Applications · IEEE Symposium on Security and Privacy 2015 Readactor: Practical Code Randomization Resilient to Memory Disclosure · IEEE Symposium on Security and Privacy 2015 |
Systems and software security
memory safety |
1.0 | 4 | 2017 | PT-Rand: Practical Mitigation of Data-only Attacks against Page Tables · NDSS 2017 JITGuard: Hardening Just-in-time Compilers with SGX · CCS 2017 Leakage-Resilient Layout Randomization for Mobile Devices · NDSS 2016 |
Systems and software security › exploitation › code reuse attack
return-oriented programming |
0.7 | 3 | 2015 | Readactor: Practical Code Randomization Resilient to Memory Disclosure · IEEE Symposium on Security and Privacy 2015 Isomeron: Code Randomization Resilient to (Just-In-Time) Return-Oriented Programming · NDSS 2015 It's a TRaP: Table Randomization and Protection against Function-Reuse Attacks · CCS 2015 |
Systems and software security
exploitation |
0.6 | 3 | 2015 | Counterfeit Object-oriented Programming: On the Difficulty of Preventing Code Reuse Attacks in C++ Applications · IEEE Symposium on Security and Privacy 2015 It's a TRaP: Table Randomization and Protection against Function-Reuse Attacks · CCS 2015 Just-In-Time Code Reuse: On the Effectiveness of Fine-Grained Address Space Layout Randomization · IEEE Symposium on Security and Privacy 2013 |
Systems and software security
code randomization |
0.4 | 2 | 2015 | Readactor: Practical Code Randomization Resilient to Memory Disclosure · IEEE Symposium on Security and Privacy 2015 Isomeron: Code Randomization Resilient to (Just-In-Time) Return-Oriented Programming · NDSS 2015 |
Systems and software security › exploitation
control-flow hijacking |
0.4 | 2 | 2015 | Counterfeit Object-oriented Programming: On the Difficulty of Preventing Code Reuse Attacks in C++ Applications · IEEE Symposium on Security and Privacy 2015 Losing Control: On the Effectiveness of Control-Flow Integrity under Stack Attacks · CCS 2015 |
Systems and software security › memory safety
memory corruption |
0.4 | 2 | 2015 | Counterfeit Object-oriented Programming: On the Difficulty of Preventing Code Reuse Attacks in C++ Applications · IEEE Symposium on Security and Privacy 2015 Losing Control: On the Effectiveness of Control-Flow Integrity under Stack Attacks · CCS 2015 |
Hardware security and side channels
trusted execution environments |
0.3 | 2 | 2017 | Regulating ARM TrustZone Devices in Restricted Spaces · MobiSys 2016 JITGuard: Hardening Just-in-time Compilers with SGX · CCS 2017 |
Systems and software security › memory safety
memory isolation |
0.3 | 1 | 2018 | IMIX: In-Process Memory Isolation EXtension · USENIX Security Symposium 2018 |
Systems and software security › return-oriented programming defense
code reuse attack defense |
0.3 | 1 | 2017 | JITGuard: Hardening Just-in-time Compilers with SGX · CCS 2017 |
Systems and software security › memory protection
kernel memory protection |
0.3 | 1 | 2017 | 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.3 | 1 | 2017 | PT-Rand: Practical Mitigation of Data-only Attacks against Page Tables · NDSS 2017 |
Systems and software security
operating system security |
0.3 | 1 | 2017 | CAn't Touch This: Software-only Mitigation against Rowhammer Attacks targeting Kernel Memory · USENIX Security Symposium 2017 |
Hardware security and side channels › fault attacks › fault injection attack
rowhammer attack |
0.3 | 1 | 2017 | CAn't Touch This: Software-only Mitigation against Rowhammer Attacks targeting Kernel Memory · USENIX Security Symposium 2017 |
Systems and software security › memory safety
control-flow integrity |
0.3 | 2 | 2015 | Losing Control: On the Effectiveness of Control-Flow Integrity under Stack Attacks · CCS 2015 Counterfeit Object-oriented Programming: On the Difficulty of Preventing Code Reuse Attacks in C++ Applications · IEEE Symposium on Security and Privacy 2015 |
Hardware security and side channels › trusted execution environments
ARM TrustZone |
0.2 | 1 | 2016 | Regulating ARM TrustZone Devices in Restricted Spaces · MobiSys 2016 |
Hardware security and side channels › trusted execution environments
Intel SGX |
0.1 | 1 | 2017 | JITGuard: Hardening Just-in-time Compilers with SGX · CCS 2017 |
Systems and software security
software diversity |
0.1 | 1 | 2017 | Address Oblivious Code Reuse: On the Effectiveness of Leakage Resilient Diversity · NDSS 2017 |
Web and mobile security
mobile security |
0.1 | 1 | 2016 | Leakage-Resilient Layout Randomization for Mobile Devices · NDSS 2016 |
Systems and software security › exploitation
control-flow attack |
0.1 | 1 | 2015 | Isomeron: Code Randomization Resilient to (Just-In-Time) Return-Oriented Programming · NDSS 2015 |
Systems and software security › exploitation
memory disclosure attacks |
0.0 | 1 | 2013 | Just-In-Time Code Reuse: On the Effectiveness of Fine-Grained Address Space Layout Randomization · IEEE Symposium on Security and Privacy 2013 |
Methods — techniques the papers use, named apart from their topics
in-process isolation · 0.7trusted computing base · 0.5remote memory operations · 0.5exploit development · 0.4software-only mitigation · 0.3leakage resilient diversity · 0.3Intel SGX · 0.3table randomization · 0.2shadow stack analysis · 0.2exploit construction · 0.2execute-only memory · 0.2code pointer hiding · 0.2
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2019 | RIP-RH: Preventing Rowhammer-based Inter-Process AttacksabstractRun-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 |
AsiaCCS | 4 |
| 2018 | IMIX: In-Process Memory Isolation EXtension
Tommaso Frassetto, Patrick Jauernig, Christopher Liebchen, Ahmad-Reza Sadeghi |
USENIX Security Symposium | 3 |
| 2017 | JITGuard: Hardening Just-in-time Compilers with SGXabstractMemory-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 |
CCS | 3 |
| 2017 | PT-Rand: Practical Mitigation of Data-only Attacks against Page Tables
Lucas Davi, David Gens, Christopher Liebchen, Ahmad-Reza Sadeghi |
NDSS | 3 |
| 2017 | Address Oblivious Code Reuse: On the Effectiveness of Leakage Resilient Diversity
Robert Rudd, Richard Skowyra, David Bigelow, Veer Dedhia, Thomas Hobson, Stephen Crane, Christopher Liebchen, Per Larsen, Lucas Davi, Michael Franz, Ahmad-Reza Sadeghi, Hamed Okhravi |
NDSS | 7 |
| 2017 | LAZARUS: Practical Side-Channel Resilient Kernel-Space Randomization
David Gens, Orlando Arias, Dean Sullivan, Christopher Liebchen, Yier Jin, Ahmad-Reza Sadeghi |
RAID | 4 |
| 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 Symposium | 4 |
| 2016 | Regulating ARM TrustZone Devices in Restricted SpacesabstractSmart personal devices equipped with a wide range of sensors and peripherals can potentially be misused in various environments. They can be used to exfiltrate sensitive information from enterprises and federal offices or be used to smuggle unauthorized information into classrooms and examination halls. One way to prevent these situations is to regulate how smart devices are used in such restricted spaces. In this paper, we present an approach that robustly achieves this goal for ARM TrustZone-based personal devices. In our approach, restricted space hosts use remote memory operations to analyze and regulate guest devices within the restricted space. We show that the ARM TrustZone allows our approach to obtain strong security guarantees while only requiring a small trusted computing base to execute on guest devices. Ferdinand Brasser, Daeyoung Kim 0004, Christopher Liebchen, Vinod Ganapathy, Liviu Iftode, Ahmad-Reza Sadeghi |
MobiSys | 3 |
| 2016 | Leakage-Resilient Layout Randomization for Mobile Devices
Kjell Braden, Lucas Davi, Christopher Liebchen, Ahmad-Reza Sadeghi, Stephen Crane, Michael Franz, Per Larsen |
NDSS | 3 |
| 2016 | Selfrando: Securing the Tor Browser against De-anonymization ExploitsabstractAbstract Tor is a well-known anonymous communication system used by millions of users, including journalists and civil rights activists all over the world. The Tor Browser gives non-technical users an easy way to access the Tor Network. However, many government organizations are actively trying to compromise Tor not only in regions with repressive regimes but also in the free world, as the recent FBI incidents clearly demonstrate. Exploiting software vulnerabilities in general, and browser vulnerabilities in particular, constitutes a clear and present threat to the Tor software. The Tor Browser shares a large part of its attack surface with the Firefox browser. Therefore, Firefox vulnerabilities (even patched ones) are highly valuable to attackers trying to monitor users of the Tor Browser. In this paper, we present selfrando-an enhanced and practical load-time randomization technique for the Tor Browser that defends against exploits, such as the one FBI allegedly used against Tor users. Our solution significantly improves security over standard address space layout randomization (ASLR) techniques currently used by Firefox and other mainstream browsers. Moreover, we collaborated closely with the Tor Project to ensure that selfrando is fully compatible with AddressSanitizer (ASan), a compiler feature to detect memory corruption. ASan is used in a hardened version of Tor Browser for test purposes. The Tor Project decided to include our solution in the hardened releases of the Tor Browser, which is currently undergoing field testing. Mauro Conti, Stephen Crane, Tommaso Frassetto, Andrei Homescu, Georg Koppen, Per Larsen, Christopher Liebchen, Mike Perry, Ahmad-Reza Sadeghi |
Proc. Priv. Enhancing Technol. | 7 |
| 2015 | Losing Control: On the Effectiveness of Control-Flow Integrity under Stack AttacksabstractAdversaries exploit memory corruption vulnerabilities to hijack a program's control flow and gain arbitrary code execution. One promising mitigation, control-flow integrity (CFI), has been the subject of extensive research in the past decade. One of the core findings is that adversaries can construct Turing-complete code-reuse attacks against coarse-grained CFI policies because they admit control flows that are not part of the original program. This insight led the research community to focus on fine-grained CFI implementations. In this paper we show how to exploit heap-based vulnerabilities to control the stack contents including security-critical values used to validate control-flow transfers. Our investigation shows that although program analysis and compiler-based mitigations reduce stack-based vulnerabilities, stack-based memory corruption remains an open problem. Using the Chromium web browser we demonstrate real-world attacks against various CFI implementations: 1)~against CFI implementations under Windows 32-bit by exploiting unprotected context switches, and 2)~against state-of-the-art fine-grained CFI implementations (IFCC and VTV) in the two premier open-source compilers under Unix-like operating systems. Both 32 and 64-bit x86 CFI checks are vulnerable to stack manipulation. Finally, we provide an exploit technique against the latest shadow stack implementation. Mauro Conti, Stephen Crane, Lucas Davi, Michael Franz, Per Larsen, Marco Negro, Christopher Liebchen, Mohaned Qunaibit, Ahmad-Reza Sadeghi |
CCS | 7 |
| 2015 | It's a TRaP: Table Randomization and Protection against Function-Reuse AttacksabstractCode-reuse attacks continue to evolve and remain a severe threat to modern software. Recent research has proposed a variety of defenses with differing security, efficiency, and practicality characteristics. Whereas the majority of these solutions focus on specific code-reuse attack variants such as return-oriented programming (ROP), other attack variants that reuse whole functions, such as the classic return-into-libc, have received much less attention. Mitigating function-level code reuse is highly challenging because one needs to distinguish a legitimate call to a function from an illegitimate one. In fact, the recent counterfeit object-oriented programming (COOP) attack demonstrated that the majority of code-reuse defenses can be bypassed by reusing dynamically bound functions, i.e., functions that are accessed through global offset tables and virtual function tables, respectively. Stephen Crane, Stijn Volckaert, Felix Schuster, Christopher Liebchen, Per Larsen, Lucas Davi, Ahmad-Reza Sadeghi, Thorsten Holz, Bjorn De Sutter, Michael Franz |
CCS | 4 |
| 2015 | Isomeron: Code Randomization Resilient to (Just-In-Time) Return-Oriented Programming
Lucas Davi, Christopher Liebchen, Ahmad-Reza Sadeghi, Kevin Z. Snow, Fabian Monrose |
NDSS | 2 |
| 2015 | Readactor: Practical Code Randomization Resilient to Memory DisclosureabstractCode-reuse attacks such as return-oriented programming (ROP) pose a severe threat to modern software. Designing practical and effective defenses against code-reuse attacks is highly challenging. One line of defense builds upon fine-grained code diversification to prevent the adversary from constructing a reliable code-reuse attack. However, all solutions proposed so far are either vulnerable to memory disclosure or are impractical for deployment on commodity systems. In this paper, we address the deficiencies of existing solutions and present the first practical, fine-grained code randomization defense, called Read actor, resilient to both static and dynamic ROP attacks. We distinguish between direct memory disclosure, where the attacker reads code pages, and indirect memory disclosure, where attackers use code pointers on data pages to infer the code layout without reading code pages. Unlike previous work, Read actor resists both types of memory disclosure. Moreover, our technique protects both statically and dynamically generated code. We use a new compiler-based code generation paradigm that uses hardware features provided by modern CPUs to enable execute-only memory and hide code pointers from leakage to the adversary. Finally, our extensive evaluation shows that our approach is practical -- we protect the entire Google Chromium browser and its V8 JIT compiler -- and efficient with an average SPEC CPU2006 performance overhead of only 6.4%. Stephen Crane, Christopher Liebchen, Andrei Homescu, Lucas Davi, Per Larsen, Ahmad-Reza Sadeghi, Stefan Brunthaler 0001, Michael Franz |
IEEE Symposium on Security and Privacy | 2 |
| 2015 | Counterfeit Object-oriented Programming: On the Difficulty of Preventing Code Reuse Attacks in C++ ApplicationsabstractCode reuse attacks such as return-oriented programming (ROP) have become prevalent techniques to exploit memory corruption vulnerabilities in software programs. A variety of corresponding defenses has been proposed, of which some have already been successfully bypassed -- and the arms race continues. In this paper, we perform a systematic assessment of recently proposed CFI solutions and other defenses against code reuse attacks in the context of C++. We demonstrate that many of these defenses that do not consider object-oriented C++ semantics precisely can be generically bypassed in practice. Our novel attack technique, denoted as counterfeit object-oriented programming (COOP), induces malicious program behavior by only invoking chains of existing C++ virtual functions in a program through corresponding existing call sites. COOP is Turing complete in realistic attack scenarios and we show its viability by developing sophisticated, real-world exploits for Internet Explorer 10 on Windows and Fire fox 36 on Linux. Moreover, we show that even recently proposed defenses (CPS, T-VIP, vfGuard, and VTint) that specifically target C++ are vulnerable to COOP. We observe that constructing defenses resilient to COOP that do not require access to source code seems to be challenging. We believe that our investigation and results are helpful contributions to the design and implementation of future defenses against control flow hijacking attacks. Felix Schuster, Thomas Tendyck, Christopher Liebchen, Lucas Davi, Ahmad-Reza Sadeghi, Thorsten Holz |
IEEE Symposium on Security and Privacy | 3 |
| 2013 | Just-In-Time Code Reuse: On the Effectiveness of Fine-Grained Address Space Layout RandomizationabstractFine-grained address space layout randomization (ASLR) has recently been proposed as a method of efficiently mitigating runtime attacks. In this paper, we introduce the design and implementation of a framework based on a novel attack strategy, dubbed just-in-time code reuse, that undermines the benefits of fine-grained ASLR. Specifically, we derail the assumptions embodied in fine-grained ASLR by exploiting the ability to repeatedly abuse a memory disclosure to map an application's memory layout on-the-fly, dynamically discover API functions and gadgets, and JIT-compile a target program using those gadgets -- all within a script environment at the time an exploit is launched. We demonstrate the power of our framework by using it in conjunction with a real-world exploit against Internet Explorer, and also provide extensive evaluations that demonstrate the practicality of just-in-time code reuse attacks. Our findings suggest that fine-grained ASLR may not be as promising as first thought. Kevin Z. Snow, Fabian Monrose, Lucas Davi, Alexandra Dmitrienko, Christopher Liebchen, Ahmad-Reza Sadeghi |
IEEE Symposium on Security and Privacy | 5 |