EDBT 2026 Demo / reviewers in the wild / expert
Julian Horsch
dblp:142/8337
· DBLP profile ↗
13ranked-venue papers
3as first author
5since 2021 · last 2026
0000-0001-9018-7048ORCID · verified
Domains — the database's venue-derived domains; a paper can count in several
Security and privacy · 13 · 3 first-author · 5 since 2021
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2026 | Memory Tagging with Intra-Object Detection: Bridging the Gap in Fine-Grained Memory Safetyabstract1000 Konrad Hohentanner, Lukas Hertel, Minu Föger, Lukas Auer, Julian Horsch |
AsiaCCS | 5 |
| 2025 | Evaluating the Effectiveness of Memory Safety SanitizersabstractC and C++ are programming languages designed for developing high-performance applications, such as web browsers and operating systems. This performance is partly achieved by sacrificing memory safety, which introduces the risk of memory bugs-the root cause of many of today's most severe vulnerabilities. Numerous solutions have been proposed to detect and prevent memory bugs, with the most effective employing dynamic program analysis to sanitize memory accesses. These memory safety sanitizers vary greatly in their capabilities, covering different memory regions and detecting different subsets of memory bugs. While conceptual classi-fications of these sanitizers exist, practical and quantitative evaluations have primarily focused on performance rather than their actual bug-finding capabilities. To bridge this gap, we present MSET, a tool for evaluating memory safety sanitizers, along with an extensive functional evaluation of the most powerful and widely used memory safety sanitizers. We systematically deconstruct memory safety bugs into distinct properties, such as the memory region, the method of memory corruption, and the type of access to the target buffer. Using this systematization, our tool generates test cases that combine small and unique code templates, covering all typical memory bugs, including various forms of buffer overflows, underflows, and use-after-frees. Our functional eval-uation highlights the differences between the conceptual de-tection potential of sanitization techniques and the bug-finding capabilities of sanitizers with similar objectives. Furthermore, it reveals that multiple sanitizers fail to achieve their conceptual potential due to incomplete or faulty implementations. Our tool is available as open source software, enabling researchers and practitioners to test their sanitizers and uncover lost potential, conceptual shortcomings, and implementation errors. Emanuel Q. Vintila, Philipp Zieris, Julian Horsch |
SP | 3 |
| 2024 | MultiTEE: Distributing Trusted Execution EnvironmentsabstractThe adoption of wearable technologies, such as smartwatches or wristbands, is rising. End-users expect to use all of their devices in an interconnected and seamless manner to conduct digital transactions, e.g., to pay or identify via their smartwatches, and not only via their smartphones. As sensitive transactions are usually protected by hardware-enforced isolation mechanisms, such as Trusted Execution Environments (TEEs), this brings new challenges of interconnecting TEEs to collaboratively conduct such transactions. We therefore propose MultiTEE, a distributed TEE architecture for heterogeneous device clusters, enabling secure data exchange and cooperation between TEEs. MultiTEE relies on lightweight, secure channels between TEEs, combined with remote attestation for the integrity verification of software stacks, as well as a memory-safe implementation. This enables an interface between Trusted Applications (TAs) of the distributed TEE similar to the interfaces of classic, single device TEEs. To demonstrate the feasibility of our solution, we built a Proof of Concept (PoC), partially implementing the upcoming European Digital Identity (EUDI) wallet to show the usage of heterogeneous device clusters for electronic identification. We evaluate our solution regarding performance and security. Simon Ott, Benjamin Orthen, Alexander Weidinger, Julian Horsch, Vijayanand Nayani, Jan-Erik Ekberg |
AsiaCCS | 4 |
| 2024 | Integrating Static Analyses for High-Precision Control-Flow IntegrityabstractMemory corruptions are still one of the most prevalent and severe security vulnerabilities in today’s programs. For this reason, several techniques for mitigating software vulnerabilities exist and are used in production systems. An important mitigation involves the prevention of invalid control flow transfers. Attackers often corrupt function pointers to subvert a forward-edge in a program’s call graph. Forward-edges can be protected using Control-Flow Integrity (CFI), for which practical implementations already exist. However, current CFI implementations are often imprecise, allowing more control flow transfers than necessary. This often leaves sufficient leeway for an attacker to successfully exploit a program. This paper presents High-Precision CFI (HPCFI), a concept and implementation for precise forward-edge CFI protection of indirect calls in C and C++ programs using a combination of type analysis and static data-flow analysis for determining valid forward-edges. HPCFI is implemented as LLVM compiler passes that perform a precise type analysis and utilize the Static Value-Flow (SVF) framework to conduct a static data-flow analysis. The combination of type analysis and static data-flow analysis offers higher precision than conventional heuristic-based approaches. Our evaluation, using all compatible benchmarks from SPEC CPU 2017, demonstrates that HPCFI can be effectively applied to large projects with an average performance overhead of only 1.3%, while improving the precision of established CFI mechanisms, such as Clang CFI, by up to 99% and 40% on average. Florian Kasten, Philipp Zieris, Julian Horsch |
RAID | 3 |
| 2021 | MESH: A Memory-Efficient Safe Heap for C/C++abstractWhile memory corruption bugs stemming from the use of unsafe programming languages are an old and well-researched problem, the resulting vulnerabilities still dominate real-world exploitation today. Various mitigations have been proposed to alleviate the problem, mainly in the form of language dialects, static program analysis, and code or binary instrumentation. Solutions like AdressSanitizer (ASan) and Softbound/CETS have proven that the latter approach is very promising, being able to achieve memory safety without requiring manual source code adaptions, albeit suffering substantial performance and memory overheads. While performance overhead can be seen as a flexible constraint, extensive memory overheads can be prohibitive for the use of such solutions in memory-constrained environments. To address this problem, we propose MESH, a highly memory-efficient safe heap for C/C++. With its constant, very small memory overhead (configurable up to 2 MB on x86-64) and constant complexity for pointer access checking, MESH offers efficient, byte-precise spatial and temporal memory safety for memory-constrained scenarios. Without jeopardizing the security of safe heap objects, MESH is fully compatible with existing code and uninstrumented libraries, making it practical to use in heterogeneous environments. We show the feasibility of our approach with a full LLVM-based prototype supporting both major architectures, i.e., x86-64 and ARM64, in a Linux runtime environment. Our prototype evaluation shows that, compared to ASan and Softbound/CETS, MESH can achieve huge memory savings while preserving similar execution performance. Emanuel Q. Vintila, Philipp Zieris, Julian Horsch |
ARES | 3 |
| 2019 | Extracting Secrets from Encrypted Virtual MachinesabstractAMD SEV is a hardware extension for main memory encryption on multi-tenant systems. SEV uses an on-chip coprocessor, the AMD Secure Processor, to transparently encrypt virtual machine memory with individual, ephemeral keys never leaving the coprocessor. The goal is to protect the confidentiality of the tenants' memory from a malicious or compromised hypervisor and from memory attacks, for instance via cold boot or DMA. The SEVered attack has shown that it is nevertheless possible for a hypervisor to extract memory in plaintext from SEV-encrypted virtual machines without access to their encryption keys. However, the encryption impedes traditional virtual machine introspection techniques from locating secrets in memory prior to extraction. This can require the extraction of large amounts of memory to retrieve specific secrets and thus result in a time-consuming, obvious attack. We present an approach that allows a malicious hypervisor quick identification and theft of secrets, such as TLS, SSH or FDE keys, from encrypted virtual machines on current SEV hardware. We first observe activities of a virtual machine from within the hypervisor in order to infer the memory regions most likely to contain the secrets. Then, we systematically extract those memory regions and analyze their contents on-the-fly. This allows for the efficient retrieval of targeted secrets, strongly increasing the chances of a fast, robust and stealthy theft. Mathias Morbitzer, Manuel Huber 0001, Julian Horsch |
CODASPY | 3 |
| 2019 | Freeze and Crypt: Linux kernel support for main memory encryption
Manuel Huber 0001, Julian Horsch, Junaid Ali 0002, Sascha Wessel |
Comput. Secur. | 2 |
| 2018 | A Leak-Resilient Dual Stack Scheme for Backward-Edge Control-Flow IntegrityabstractManipulations of return addresses on the stack are the basis for a variety of attacks on programs written in memory unsafe languages. Dual stack schemes for protecting return addresses promise an efficient and effective defense against such attacks. By introducing a second, safe stack to separate return addresses from potentially unsafe stack objects, they prevent attacks that, for example, maliciously modify a return address by overflowing a buffer. However, the security of dual stacks is based on the concealment of the safe stack in memory. Unfortunately, all current dual stack schemes are vulnerable to information disclosure attacks that are able to reveal the safe stack location, and therefore effectively break their promised security properties. In this paper, we present a new, leak-resilient dual stack scheme capable of withstanding sophisticated information disclosure attacks. We carefully study previous dual stack schemes and systematically develop a novel design for stack separation that eliminates flaws leading to the disclosure of safe stacks. We show the feasibility and practicality of our approach by presenting a full integration into the LLVM compiler framework with support for the x86-64 and ARM64 architectures. With an average of 2.7% on x86-64 and 0.0% on ARM64, the performance overhead of our implementation is negligible. Philipp Zieris, Julian Horsch |
AsiaCCS | 2 |
| 2017 | Freeze & Crypt: Linux Kernel Support for Main Memory EncryptionabstractS.17-30 Manuel Huber 0001, Julian Horsch, Junaid Ali 0002, Sascha Wessel |
SECRYPT | 2 |
| 2016 | CoKey: fast token-based cooperative cryptography
Julian Horsch, Sascha Wessel, Claudia Eckert 0001 |
ACSAC | 1 |
| 2015 | A Secure Architecture for Operating System-Level Virtualization on Mobile Devices
Manuel Huber 0001, Julian Horsch, Michael Velten, Sascha Wessel |
Inscrypt | 2 |
| 2014 | TrustID: trustworthy identities for untrusted mobile devicesabstractIdentity theft has deep impacts in today's mobile ubiquitous environments. At the same time, digital identities are usually still protected by simple passwords or other insufficient security mechanisms. In this paper, we present the TrustID architecture and protocols to improve this situation. Our architecture utilizes a Secure Element (SE) to store multiple context-specific identities securely in a mobile device, e.g., a smartphone. We introduce protocols for securely deriving identities from a strong root identity into the SE inside the smartphone as well as for using the newly derived IDs. Both protocols do not require a trustworthy smartphone operating system or a Trusted Execution Environment. In order to achieve this, our concept includes a secure combined PIN entry mechanism for user authentication, which prevents attacks even on a malicious device. To show the feasibility of our approach, we implemented a prototype running on a Samsung Galaxy SIII smartphone utilizing a microSD card SE. The German identity card nPA is used as root identity to derive context-specific identities. Julian Horsch, Konstantin Böttinger, Sascha Wessel, Frederic Stumpf |
CODASPY | 1 |
| 2014 | SobrTrA: a software-based trust anchor for ARM cortex application processorsabstractIn this paper, we present SobTrA, a Software-based Trust Anchor for ARM Cortex-A processors to protect systems against software-based attacks. SobTrA enables the implementation of a software-based secure boot controlled by a third party independent from the manufacturer. Compared to hardware-based trust anchors, our concept provides some other advantages like being updateable and also usable on legacy hardware. The presented software-based trust anchor involves a trusted third party device, the verifier, locally connected to the untrusted device, e.g., via the microSD card slot of a smartphone. The verifier is verifying the integrity of the untrusted device by making sure that a piece of code is executed untampered on it using a timing-based approach. This code can then act as an anchor for a chain of trust similar to a hardware-based secure boot. Tests on our prototype showed that tampered and untampered execution of SobTrA can be clearly and reliably distinguished. Julian Horsch, Sascha Wessel, Frederic Stumpf, Claudia Eckert 0001 |
CODASPY | 1 |