Network


Latest external collaboration on country level. Dive into details by clicking on the dots.

Hotspot


Dive into the research topics where Johannes Götzfried is active.

Publication


Featured researches published by Johannes Götzfried.


Proceedings of the 10th European Workshop on Systems Security | 2017

Cache Attacks on Intel SGX

Johannes Götzfried; Moritz Eckert; Sebastian Schinzel; Tilo Müller

For the first time, we practically demonstrate that Intel SGX enclaves are vulnerable against cache-timing attacks. As a case study, we present an access-driven cache-timing attack on AES when running inside an Intel SGX enclave. Using Neve and Seiferts elimination method, as well as a cache probing mechanism relying on Intel PMC, we are able to extract the AES secret key in less than 10 seconds by investigating 480 encrypted blocks on average. The AES implementation we attack is based on a Gladman AES implementation taken from an older version of OpenSSL, which is known to be vulnerable to cache-timing attacks. In contrast to previous works on cache-timing attacks, our attack is executed with root privileges running on the same host as the vulnerable enclave. Intel SGX, however, was designed to precisely protect applications against such root-level attacks. As a consequence, we show that SGX cannot withstand its designated attacker model when it comes to side-channel vulnerabilities. To the contrary, the attack surface for side-channels increases dramatically in the scenario of SGX due to the power of root-level attackers, for example, by exploiting the accuracy of PMC, which is restricted to kernel code.


availability, reliability and security | 2013

ARMORED: CPU-Bound Encryption for Android-Driven ARM Devices

Johannes Götzfried; Tilo Müller

As recently shown by attacks against Android-driven smart phones, ARM devices are vulnerable to cold boot attacks. At the end of 2012, the data recovery tool FROST was released which exploits the remanence effect of RAM to recover user data from a smart phone, at worst its disk encryption key. Disk encryption is supported in Android since version 4.0 and is today available on many smart phones. With ARMORED, we demonstrate that Androids disk encryption feature can be improved to withstand cold boot attacks by performing AES entirely without RAM. ARMORED stores necessary keys and intermediate values of AES inside registers of the ARM microprocessor architecture without involving main memory. As a consequence, cold boot attacks on encryption keys in RAM appear to be futile. We developed our implementation on a Panda Board and tested it successfully on real phones. We also present a security and a performance analysis for ARMORED.


IEEE Transactions on Computers | 2018

Hardware-Based Trusted Computing Architectures for Isolation and Attestation

Pieter Maene; Johannes Götzfried; Ruan de Clercq; Tilo Müller; Felix C. Freiling; Ingrid Verbauwhede

Attackers target many different types of computer systems in use today, exploiting software vulnerabilities to take over the device and make it act maliciously. Reports of numerous attacks have been published, against the constrained embedded devices of the Internet of Things, mobile devices like smartphones and tablets, high-performance desktop and server environments, as well as complex industrial control systems. Trusted computing architectures give users and remote parties like software vendors guarantees about the behaviour of the software they run, protecting them against software-level attackers. This paper defines the security properties offered by them, and presents detailed descriptions of twelve hardware-based attestation and isolation architectures from academia and industry. We compare all twelve designs with respect to the security properties and architectural features they offer. The presented architectures have been designed for a wide range of devices, supporting different security properties.


ACM Transactions on Information and System Security | 2014

Mutual Authentication and Trust Bootstrapping towards Secure Disk Encryption

Johannes Götzfried; Tilo Müller

The weakest link in software-based full disk encryption is the authentication procedure. Since the master boot record must be present unencrypted in order to launch the decryption of remaining system parts, it can easily be manipulated and infiltrated by bootkits that perform keystroke logging; consequently, password-based authentication schemes become attackable. The current technological response, as enforced by BitLocker, verifies the integrity of the boot process by use of the trusted platform module. But, as we show, this countermeasure is insufficient in practice. We present STARK, the first tamperproof authentication scheme that mutually authenticates the computer and the user in order to resist keylogging during boot. To achieve this, STARK implements trust bootstrapping from a secure token to the whole PC. The secure token is an active USB drive that verifies the integrity of the PC and indicates the verification status by an LED to the user. This way, users can ensure the authenticity of the PC before entering their passwords.


software and compilers for embedded systems | 2016

Design-Time/Run-Time Mapping of Security-Critical Applications in Heterogeneous MPSoCs

Andreas Weichslgartner; Stefan Wildermann; Johannes Götzfried; Felix C. Freiling; Michael Glaß; Jürgen Teich

Different applications concurrently running on modern MPSoCs can interfere with each other when they use shared resources. This interference can cause side channels, i.e., sources of unintended information flow between applications. To prevent such side channels, we propose a hybrid mapping methodology that attempts to ensure spatial isolation, i.e., a mutually-exclusive allocation of resources to applications in the MPSoC. At design time and as a first step, we compute compact and connected application mappings (called shapes). In a second step, run-time management uses this information to map multiple spatially segregated shapes to the architecture. We present and evaluate a (fast) heuristic and an (exact) SAT-based mapper, demonstrating the viability of the approach.


computer and communications security | 2016

RamCrypt: Kernel-based Address Space Encryption for User-mode Processes

Johannes Götzfried; Tilo Müller; Gabor Drescher; Stefan Nürnberger; Michael Backes

We present RamCrypt, a solution that allows unmodified Linux processes to transparently work on encrypted data. RamCrypt can be deployed and enabled on a per-process basis without recompiling user-mode applications. In every enabled process, data is only stored in cleartext for the moment it is processed, and otherwise stays encrypted in RAM. In particular, the required encryption keys do not reside in RAM, but are stored in CPU registers only. Hence, RamCrypt effectively thwarts memory disclosure attacks, which grant unauthorized access to process memory, as well as physical attacks such as cold boot and DMA attacks. In its default configuration, RamCrypt exposes only up to 4 memory pages in cleartext at the same time. For the nginx web server serving encrypted HTTPS pages under heavy load, the necessary TLS secret key is hidden for 97% of its time.


availability, reliability and security | 2017

VMAttack: Deobfuscating Virtualization-Based Packed Binaries

Anatoli Kalysch; Johannes Götzfried; Tilo Müller

We present VMAttack, a deobfuscation tool for virtualization-packed binaries based on automated static and dynamic analysis, which offers a simplified view of the disassembly. VMAttack is implemented as a plug-in for IDA Pro and as such, integrates seamlessly with manual reverse engineering. The complexity of the disassembly view is notably reduced by analyzing the inner working principles of the VM layer of protected binaries. Using static analysis, complex bytecode sequences of the VM are mapped to easy-to-read pseudo-code instructions, based on an intermediate representation specifically designed for stack-based virtual machines. Using dynamic analysis, we identify structural components like the interpreter loop and compress instruction sequences by filtering out semantically redundant instructions of the execution trace. The integrated result, which rates both static and dynamic analysiss results, provides the reverse engineer with a deobfuscated disassembly that tolerates weaknesses of a single analysis technique. VMAttack is currently limited to stack-based virtual machines like VMProtect. We evaluated VMAttack using binaries obfuscated with VMProtect and achieved an average execution trace reduction of 89.86% for the dynamic and 96.67% for the combined static and dynamic analysis.


annual computer security applications conference | 2015

Soteria: Offline Software Protection within Low-cost Embedded Devices

Johannes Götzfried; Tilo Müller; Ruan de Clercq; Pieter Maene; Felix C. Freiling; Ingrid Verbauwhede

Protecting the intellectual property of software that is distributed to third-party devices which are not under full control of the software author is difficult to achieve on commodity hardware today. Modern techniques of reverse engineering such as static and dynamic program analysis with system privileges are increasingly powerful, and despite possibilities of encryption, software eventually needs to be processed in clear by the CPU. To anyhow be able to protect software on these devices, a small part of the hardware must be considered trusted. In the past, general purpose trusted computing bases added to desktop computers resulted in costly and rather heavyweight solutions. In contrast, we present Soteria, a lightweight solution for low-cost embedded systems. At its heart, Soteria is a program-counter based memory access control extension for the TI MSP430 microprocessor. Based on our open implementation of Soteria as an openMSP430 extension, and our FPGA-based evaluation, we show that the proposed solution has a minimal performance, size and cost overhead while effectively protecting the confidentiality and integrity of an applications code against all kinds of software attacks including attacks from the system level.


Proceedings of the 1st Workshop on System Software for Trusted Execution | 2016

Isolating Operating System Components with Intel SGX

Lars Richter; Johannes Götzfried; Tilo Müller

In this paper, we present a novel approach on isolating operating system components with Intel SGX. Although SGX has not been designed to work in kernel mode, we found a way of wrapping Linux kernel functionality within SGX enclaves by moving parts of it to user space. Kernel components are strictly isolated from each other such that a vulnerability in one kernel module cannot escalate into compromising the entire kernel. We provide a proof-of-concept implementation which protects an exemplary kernel function, namely full disk encryption, using an Intel SGX enclave. Besides integrity of the disk encryption, our implementation ensures that the confidentiality of the disk encryption key is protected against all software level attacks as well as physical attacks. In addition to the user password, we use a second authentication factor for deriving the encryption key which is stored sealed and bound to the platform. Thus, stealing the hard drive and sniffing the user password is insufficient for an attacker to break disk encryption. Instead, the two factor authentication scheme requires an attacker to additionally obtain the actual machine to be able to break encryption.


ACM Transactions on Privacy and Security (TOPS) | 2017

Sancus 2.0: A Low-Cost Security Architecture for IoT Devices

Job Noorman; Jo Van Bulck; Jan Tobias Mühlberg; Frank Piessens; Pieter Maene; Bart Preneel; Ingrid Verbauwhede; Johannes Götzfried; Tilo Müller; Felix C. Freiling

The Sancus security architecture for networked embedded devices was proposed in 2013 at the USENIX Security conference. It supports remote (even third-party) software installation on devices while maintaining strong security guarantees. More specifically, Sancus can remotely attest to a software provider that a specific software module is running uncompromised and can provide a secure communication channel between software modules and software providers. Software modules can securely maintain local state and can securely interact with other software modules that they choose to trust. Over the past three years, significant experience has been gained with applications of Sancus, and several extensions of the architecture have been investigated—both by the original designers as well as by independent researchers. Informed by these additional research results, this journal version of the Sancus paper describes an improved design and implementation, supporting additional security guarantees (such as confidential deployment) and a more efficient cryptographic core. We describe the design of Sancus 2.0 (without relying on any prior knowledge of Sancus) and develop and evaluate a prototype FPGA implementation. The prototype extends an MSP430 processor with hardware support for the memory access control and cryptographic functionality required to run Sancus. We report on our experience using Sancus in a variety of application scenarios and discuss some important avenues of ongoing and future work.

Collaboration


Dive into the Johannes Götzfried's collaboration.

Top Co-Authors

Avatar

Tilo Müller

University of Erlangen-Nuremberg

View shared research outputs
Top Co-Authors

Avatar

Felix C. Freiling

University of Erlangen-Nuremberg

View shared research outputs
Top Co-Authors

Avatar

Ingrid Verbauwhede

Katholieke Universiteit Leuven

View shared research outputs
Top Co-Authors

Avatar

Pieter Maene

Katholieke Universiteit Leuven

View shared research outputs
Top Co-Authors

Avatar

Ruan de Clercq

Katholieke Universiteit Leuven

View shared research outputs
Top Co-Authors

Avatar

Andreas Weichslgartner

University of Erlangen-Nuremberg

View shared research outputs
Top Co-Authors

Avatar

David Übler

University of Erlangen-Nuremberg

View shared research outputs
Top Co-Authors

Avatar

Gabor Drescher

University of Erlangen-Nuremberg

View shared research outputs
Top Co-Authors

Avatar

Johannes Hampel

University of Erlangen-Nuremberg

View shared research outputs
Top Co-Authors

Avatar

Stefan Wildermann

University of Erlangen-Nuremberg

View shared research outputs
Researchain Logo
Decentralizing Knowledge