Advanced System Resiliency Based on Virtualization Techniques for IoT Devices - Röckl, Jonas; Protsenko, Mykolai; Huber, Monika; Müller, Tilo; Freiling, Felix (ACSAC: Annual Computer Security Applications Conference, 2021)
An increasing number of powerful devices are equipped with network connectivity and are connected to the Internet of Things (IoT). Influenced by the steady growth of computing power of the devices, the paradigm of IoT-based service deployment is expected to change, following the example of cloud-based infrastructure: An embedded platform can be provided as-a-service to several independent application service suppliers. This fosters additional challenges concerning security and isolation. At the same time, recently revealed critical vulnerabilities like Ripple20 and Amnesia:33 show that embedded devices are not spared from wide-spread attacks. In this paper, we define new trusted computing concepts, focusing on privilege separation among several entities sharing one physical device. The concepts guarantee remote recovery capabilities within a bounded amount of time, even if notable portions of the software stack have been compromised. We derive a resilient system architecture suitable for the secure operation of multiple isolated services on one embedded device. We integrate an interface for detecting intrusions and anomalies to enable the automatic recovery of compromised devices and prototype our system on a Nitrogen8M development board. Our evaluation shows that the overhead in terms of network throughput and CPU performance is low so that we believe that our concept is a meaningful step towards more resilient future IoT devices.

Advances in Forensic Data Acquisition - Freiling, Felix; Groß, Tobias; Latzo, Tobias; Müller, Tilo; Palutke, Ralph (IEEE Design & Test, 2018)
Embedded devices like smartphones, navigation systems and home routers are an increasingly important source of digital evidence for law enforcement. To use data from such devices as evidence in a court of law, this data must be acquired in a “sound” way, meaning that risks of accidental or intentional evidence tampering are minimized. The acquisition of such evidence, however, is impeded by the growing diversity of computing devices as well as the increasing use of cryptography and secure hardware. Because “unsound” methods in data acquisition can have dramatic real-world consequences, we believe that users, designers and manufacturers of embedded systems should be aware of the problems and prospects regarding evidence acquisition. We therefore report here on current practices in forensic data acquisition and give an overview of recent research results on the (im)possibilities to authentically acquire data from modern HDDs, SSDs, flash storage and RAM.
UnivIS-Import:2018-09-11:Pub.2018.tech.IMMD.lehrst.advanc
Keywords: D Software/Software Engineering K.4.1.a Abuse and crime involving computers; D.4 Operating Systems; D.4.6 Security and Privacy Protection; K Computing Milieux; K.4 Computers and Societyl; K.4.1 Public Policy Issues

AESSE: A Cold-boot Resistant Implementation of AES - Müller, Tilo; Dewald, Andreas; Freiling, Felix (Proceedings of the Third European Workshop on System Security, 2010)
Cold boot attacks exploit the fact that memory contents fade with time and that most of them can be retrieved after a short power-down (reboot). These attacks aim at retrieving encryption keys from memory to thwart disk drive encryption. We present a method to implement disk drive encryption that is resistant to cold boot attacks. More specifically, we implemented AES and integrated it into the Linux kernel in such a way that neither the secret key nor any parts of it leave the processor. To achieve this, we used the SSE (streaming SIMD extensions) available in modern Intel processors in a non-standard way. We show that the performance penalty is acceptable and present a brief security analysis of the system. Copyright 2010 ACM.
UnivIS-Import:2015-04-16:Pub.2010.tech.IMMD.lehrst.aessea
Keywords: Advanced encryption standard; Cold boot attacks; Linux kernel; Streaming SIMD extensions

Analysing Android's Full Disk Encryption Feature - Götzfried, Johannes; Müller, Tilo (Journal of Wireless Mobile Networks, Ubiquitous Computing, and Dependable Applications, 2014)
Since Android 4.0, which was released in October 2011, users of Android smartphones are provided with a built-in encryption feature to protect their home partitions. In the work at hand, we give a structured analysis of this software-based encryption solution. For example, software-based encryption always requires at least a small part of the disk to remain unencrypted; in Android this is the entire system partition. Unencrypted parts of a disk can be read out and are open to system manipulations. We present a tool named EvilDroid to show that with physical access to an encrypted smartphone only (i.e., without user level privileges), the Android system partition can be subverted with keylogging. Additionally, as it was exemplary shown by attacks against Galaxy Nexus devices in 2012, Android-driven ARM devices are vulnerable to cold boot attacks. Data recovery tools like FROST exploit the remanence effect of RAM to recover data from encrypted smartphones, at worst the disk encryption key. With a Linux kernel module named Armored, we demonstrate that Android's software encryption can be improved to withstand cold boot attacks by performing AES entirely on the CPU without RAM. As a consequence, cold boot attacks on encryption keys can be defeated. We present both a detailed security and a performance analysis of Armored.
UnivIS-Import:2015-04-20:Pub.2014.tech.IMMD.lehrst.analys
Keywords: Android; Cold boot; Cpu-bound encryption; Evil maid

Analyzing android’s file-based encryption: Information leakage through unencrypted metadata - Groß, Tobias; Ahmadova, Matanat; Müller, Tilo (Proceedings of the 14th International Conference on Availability, Reliability and Security (ARES 2019), 2019)
We investigate the amount of information leakage through unencrypted metadata in Android’s file-based encryption(FBE) which was introduced as an alternative to the pre- viously dominating full-disk encryption (FDE) in Android 7.0. We propose a generic method, and provide appropriate tool- ing, to reconstruct forensic events on Android smartphones encrypted with FBE. Based on a dataset of 3903 applications, we show that metadata of files can be used to reconstruct the name, version and installation date of all installed apps. Furthermore, we show that, depending on a specific app, information leakages through metadata can even be used to reconstruct a user’s behavior. For the example of WhatsApp, we show that the point of time a user sent or received her last message can be traced back even though the phone was encrypted. Our approach requires access to the raw data of an encrypted disk only but does not require access to a powered-on device or the bootloader, such as known attacks against FDE including cold boot and evil maid. We conclude that FBE is significantly more insecure than FDE and was presumably elected for usability reasons like direct boot.
CRIS-Team Scopus Importer:2019-10-22
Keywords: Android; Digital Forensics; File-Based Encryption; Metadata

An(other) Exercise in Measuring the Strength of Source Code Obfuscation - Zhuang, Yan; Protsenko, Mykolai; Müller, Tilo; Freiling, Felix (1st Workshop on Security in highly connected IT systems, 2014)
UnivIS-Import:2015-04-17:Pub.2014.tech.IMMD.lehrst.measur

ARMORED: CPU-bound Encryption for Android-driven ARM Devices - Götzfried, Johannes; Müller, Tilo (Proceedings of the 8th International Conference on Availability, Reliability and Security, 2013)
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 Android's 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. © 2013 IEEE.
UnivIS-Import:2015-04-16:Pub.2013.tech.IMMD.lehrst.armore
Keywords: AES; Android; ARM; Cold boot; CPU-bound encryption

A Systematic Assessment of the Security of Full Disk Encryption - Müller, Tilo; Freiling, Felix (IEEE Transactions on Dependable and Secure Computing, 2014)
Organizations as well as private users frequently report the loss and theft of mobile devices such as laptops and smartphones. The threat of data exposure in such scenarios can be mitigated by protection mechanisms based on encryption. Full disk encryption (FDE) is an effective method to protect data against unauthorized access. FDE can generally be classified into software- and hardware-based solutions. We assess the practical security that users can expect from these FDE solutions regarding physical access threats. We assume that strong cryptography like AES cannot be broken but focus on vulnerabilities arising from practical FDE implementations. We present the results of a comprehensive and systematic comparison of the security of software- and hardware-based FDE. Thereby, we exhibit attacks on widespread FDE standards in many common scenarios and different system configurations. As a result, we show that neither software- nor hardware-based FDE provides perfect security, nor is one clearly superior to the othe
UnivIS-Import:2015-04-20:Pub.2014.tech.IMMD.lehrst.asyste

Atlas: Application Confidentiality in Compromised Embedded Systems - Maene, Pieter; Götzfried, Johannes; Müller, Tilo; de Clercq, Ruan; Freiling, Felix; Verbauwhede, Ingrid (IEEE Transactions on Dependable and Secure Computing, 2018)
Due to the requirements of the Internet-of-Things, modern embedded systems have become increasingly complex, running different applications. In order to protect their intellectual property as well as the confidentiality of sensitive data they process, these applications have to be isolated from each other. Traditional memory protection and memory management units provide such isolation, but rely on operating system support for their configuration. However, modern operating systems tend to be vulnerable and cannot guarantee confidentiality when compromised. We present Atlas, a hardware-based security architecture, complementary to traditional memory protection mechanisms, ensuring code and data confidentiality through transparent encryption, even when the system software has been exploited. Atlas relies on its zero-software trusted computing base to protect against system-level attackers and also supports secure shared memory. We implemented Atlas based on the LEON3 softcore processor, including toolchain extensions for developers. Our FPGA-based evaluation shows minimal cycle overhead at the cost of a reduced maximum frequency.
UnivIS-Import:2018-09-05:Pub.2018.tech.IMMD.lehrst.atlasa
Keywords: Computer architecture; confidentiality; embedded systems; Encryption; Hardware; Registers; security hardware; Software; Trusted computing

Auf dem Weg verTAN: Über die Sicherheit App-basierter TAN-Verfahren - Haupert, Vincent; Müller, Tilo (Konferenzband der 8. Jahrestagung des Fachbereichs Sicherheit der Gesellschaft für Informatik e.V. (GI), 2016)
UnivIS-Import:2017-12-18:Pub.2016.tech.IMMD.lehrst.aufdem

Cache Attacks on Intel SGX - Götzfried, Johannes; Eckert, Moritz; Schinzel, Sebastian; Müller, Tilo (Proceedings of the Tenth European Workshop on System Security, 2017)
UnivIS-Import:2017-03-24:Pub.2017.tech.IMMD.lehrst.cachea

Compiler-Aided Development of Trusted Enclaves with Rust - Dreissig, Felix; Röckl, Jonas; Müller, Tilo (ACM International Conference Proceeding Series, 2022)
To optimally utilize Intel SGX, programs must be partitioned into trusted and untrusted parts. Writing the trusted part of a program with Intel's SDK, however, requires manual effort that often becomes an obstacle for programmers. In this work, we investigate how compiler-level tooling can assist with the semi-automatic separation of code into a trusted and an untrusted partition. We present Cadote, a solution that generates SGX enclaves from programs written in Rust. Application developers are expected to mark functions as trusted, for which enclaves are then generated automatically. All other functions remain untrusted and are executed outside Intel SGX in the normal world. We implemented this concept using compiler optimization passes of the LLVM framework. Targeting Rust as input language allows us to benefit from high-level concepts, such as memory safety, which enable us to safely copy function parameters between the normal and trusted world in practice.
CRIS-Team Scopus Importer:2022-09-09
Keywords: Intel Software Guard Extensions (SGX); LLVM; Partitioning; Rust; TEEs

Conditional Network Availability: Enhancing Connectivity Guarantees for TEE-Based Services - Röckl, Jonas; Lindenmeier, Christian; Schulze, Sven Matti; Müller, Tilo (2024 IEEE European Symposium on Security and Privacy Workshops (EuroS&PW), 2024)
Trusted Execution Environments (TEEs) are widely available, allowing the isolation of security-sensitive trusted services from an untrusted commodity OS. Driven by manifold use cases, more and more trusted services requiring network connectivity are developed. Typically, the traffic of trusted services is routed through the OS, while cryptography ensures confidentiality and integrity. However, the extent to which TEEs can also help to provide network availability for trusted services remains underexplored. We introduce Conditional Network Availability (CNA) as a novel concept for TEE-based networking, ensuring that a trusted service can process network traffic, whenever the potentially malicious OS can do so. Our concept prevents an attacker from monopolizing the network channel (e.g., for a botnet campaign). TEE-based remote device management, system monitoring, and intrusion detection systems can profit from our concept. Proposing a split-driver model, we implement a proof-of-concept on real hardware, multiplexing a complex Ethernet interface between the OS and the ARM TrustZone TEE. Our evaluation shows that our system achieves near-native throughput while keeping the additions to the TCB small.<br
Keywords: Multiplexing; Manifolds; Program processors; Intrusion detection; Ethernet; Telecommunication traffic; Throughput

Evaluating Spread of 'Gasless Send' in Ethereum Smart Contracts - Prechtel, David; Groß, Tobias; Müller, Tilo (10th IFIP International Conference on New Technologies, Mobility & Security (NTMS 2019), 2019)

Exzess: Hardware-based RAM encryption against physical memory disclosure - Würstlein, Alexander; Gernoth, Michael; Götzfried, Johannes; Müller, Tilo (29th International Conference on Architecture of Computing Systems, ARCS 2016, 2016)
The main memory of today’s computers contains lots of sensitive data, in particular from applications that have been used recently. As data within RAM is stored in cleartext, it is exposed to attackers with physical access to a system. In this paper we introduce Exzess, a hardware-based mitigation against physical memory disclosure attacks such as, for example, cold boot and DMA attacks. Our FPGA-based prototype with accompanying software components demonstrates the viability, security and performance of our novel approach for partial main memory encryption via memory proxies. The memory proxy approach will be compared to other existing mitigation techniques and possible further uses beyond encryption will be discussed, as well. Exzess effectively protects against physical attacks on main memory while being transparent to applications and the operating system after initializatio
Keywords: Memory disclosure; Memory encryption; Physical attacks

Fast Software Encryption with SIMD (How to speed up symmetric block ciphers with the AVX/AVX2 instruction set) - Götzfried, Johannes; Müller, Tilo (Proceedings of the Third European Workshop on System Security, 2013)
UnivIS-Import:2015-04-16:Pub.2013.tech.IMMD.lehrst.fastso

Hardware-Based Trusted Computing Architectures for Isolation and Attestation - Maene, Pieter; Götzfried, Johannes; de Clercq, Ruan; Müller, Tilo; Freiling, Felix; Verbauwhede, Ingrid (IEEE Transactions on Computers, 2017)
UnivIS-Import:2017-03-24:Pub.2017.tech.IMMD.lehrst.hardwa

Honey, I Shrunk Your App Security: The State of Android App Hardening - Haupert, Vincent; Maier, Dominik; Schneider, Nicolas; Kirsch, Julian; Müller, Tilo (Detection of Intrusions and Malware, and Vulnerability Assessment, 2018)
The continued popularity of smartphones has led companies from all business sectors to use them for security-sensitive tasks like two-factor authentication. Android, however, suffers from a fragmented landscape of devices and versions, which leaves many devices unpatched by their manufacturers. This security gap has created a vital market of commercial solutions for Runtime Application Self-Protection (RASP) to harden apps and ensure their integrity even on compromised devices. In this paper, we assess the RASP market for Android by providing an overview of the available products and their features. Furthermore, we describe an in-depth case study for a leading RASP product—namely Promon Shield—which is being used by approximately 100 companies to protect over 100 million end users worldwide. We demonstrate two attacks against Promon Shield: The first removes the entire protection scheme statically from an app, while the second disables all security measures dynamically at runtime.

How Android’s UI Security is Undermined by Accessibility - Kalysch, Anatoli; Bove, Davide; Müller, Tilo (Proceedings of the 2nd Reversing and Offensive-oriented Trends Symposium, 2018)
Android’s accessibility API was designed to assist users with dis- abilities, or preoccupied users unable to interact with a device, e.g., while driving a car. Nowadays, many Android apps rely on the accessibility API for other purposes, including password managers but also malware. From a security perspective, the accessibility API is precarious as it undermines an otherwise strong principle of sandboxing in Android that separates apps. By means of an acces- sibility service, apps can interact with the UI elements of another app, including reading from its screen and writing to its text fields. As a consequence, design shortcomings in the accessibility API and other UI features such as overlays have grave security implications. We reveal flaws in the accessibility design of Android allowing information leakages and denial of service attacks against fully patched systems. With an enabled accessibility service, we are able to sniff sensitive data from apps, including the password of An- droid’s own lock screen. To evaluate the effectiveness of our attacks against third-party apps, we examined the 1100 most downloaded apps from Google Play and found 99.25 % of them to be vulnera- ble. Although app-level protection measures against these attacks can be implemented, e.g., to prevent information leakage through password fields, the number of affected apps proves that these kind of vulnerabilities must be tackled by Google rather than app developers. From December 2017 to March 2018, we submitted seven bug reports to Google, from which three have been marked as won’t fix while four are progressed but ranked with either low severity or no security bulletin class. We conclude our paper with a list of best practices for app-level protections for the time those bugs remain unfixed by Google.<br
Keywords: Security and privacy; Mobile platform security; Penetration testing; UI Security

HyperCrypt: Hypervisor-based Encryption of Kernel and User Space - Götzfried, Johannes; Dörr, Nico; Palutke, Ralph; Müller, Tilo (11th International Conference on Availability, Reliability and Security, 2016)
UnivIS-Import:2017-12-18:Pub.2016.tech.IMMD.lehrst.hyperc
Keywords: Cold boot; Memory disclosure attacks; Memory encryption

Investigating Characteristics of Attacks on Public Cloud Systems - Bove, Davide; Müller, Tilo (2019 6th IEEE International Conference on Cyber Security and Cloud Computing (CSCloud), 2019)
In this work, honeypots were set up on several public cloud infrastructures of Amazon, Microsoft and Google located in different regions around the world, including North America, Asia and Europe. The honeypots, simulating different popular services like SSH and VNC, were used to collect data over a period of two month, resulting in over 170 million log entries. Further analysis of the log entries regarding attack patterns and geographic characteristics are presented in this paper. For example, the attacks originated from 216 countries involving 268,614 unique IPs, dominated by China with a share of 25.83%.
Keywords: cloud computing; security; public cloud; attack; intrusion detection; honeypot

Isolating Operating System Components with Intel SGX - Richter, Lars; Götzfried, Johannes; Müller, Tilo (1st Workshop on System Software for Trusted Execution, 2016)
UnivIS-Import:2017-01-09:Pub.2016.tech.IMMD.lehrst.isolat

Lumus: Dynamically Uncovering Evasive Android Applications - Afonso, Vitor; Kalysch, Anatoli; Müller, Tilo; Oliveira, Daniela; Grégio, Andre; De Geus, Paulo Lício (Information Security - 21th International Conference, 2018)
Dynamic analysis of Android malware suffers from techniques that identify the analysis environment and prevent the malicious behavior from being observed. While there are many analysis solutions that can thwart evasive malware on Windows, the application of similar techniques for Android has not been studied in-depth. In this paper, we present Lumus, a novel technique to uncover evasive malware on Android. Lumus compares the execution traces of malware on bare metal and emulated environments. We used Lumus to analyze 1,470 Android malware samples and were able to uncover 192 evasive samples. Comparing our approach with other solutions yields better results in terms of accuracy and false positives. We discuss which information are typically used by evasive malware for detecting emulated environments, and conclude on how analysis sandboxes can be strengthened in the futur
UnivIS-Import:2018-09-06:Pub.2018.tech.IMMD.lehrst.lumusd

Mutual Authentication and Trust Bootstrapping towards Secure Disk Encryption - Götzfried, Johannes; Müller, Tilo (ACM Transactions on Information and System Security, 2014)
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, passwordbased authentication schemes become attackable. The current technological response, as enforced by Bit- Locker, 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.
UnivIS-Import:2015-04-20:Pub.2014.tech.IMMD.lehrst.mutual
Keywords: Full disk encryption; Mutual authentication; Trust bootstrapping

On App-based Matrix Code Authentication in Online Banking - Haupert, Vincent; Müller, Tilo (Proceedings of the 4th International Conference on Information Systems Security and Privacy, 2018)
UnivIS-Import:2018-02-22:Pub.2018.tech.IMMD.lehrst.onappb

One key to rule them all: Recovering the master key from RAM to break Android's file-based encryption - Groß, Tobias; Busch, Marcel; Müller, Tilo (Proceedings of the Eighth Annual DFRWS Europe, 2021)
As known for a decade, cold boot attacks can break software-based disk encryption when an attacker has physical access to a powered-on device, including Android smartphones. Raw memory images can be obtained by resetting a device and rebooting it with a malicious boot loader, or—on systems where this is not possible due to secure boot or restrictive BIOS settings—by a physical transplantation of RAM modules into a system under the control of the attacker. Based on the memory images of a device, different key recovery algorithms have been proposed in the past to break Full Disk Encryption (FDE), including BitLocker, dm-crypt, and also Android's FDE. With Google's switch from FDE to File-based Encryption (FBE) as the standard encryption method for recent Android devices, however, existing tools have been rendered ineffective. To close this gap, and to re-enable the forensic analysis of encrypted Android disks, given a raw memory image, we present a new key recovery method tailored for FBE. Furthermore, we extend The Sleuth Kit (TSK) to automatically decrypt file names and file contents when working on FBE-enabled EXT4 images, as well as the Plaso framework to extract events from encrypted EXT4 partitions. Last but not least, we argue that the recovery of master keys from FBE partitions was particularly easy due to a flaw in the key derivation method by Google.<br
Keywords: Android; EXT4; File-based encryption (FBE); Disk forensics; Memory forensics; Cold boot attacks

On the Evolution of Security Issues in Android App Versions - Kalysch, Anatoli; Schilling, Joschua; Müller, Tilo (ACNS: International Conference on Applied Cryptography and Network Security, 2020)
Since its launch in 2008, the Android platform has seen a lot of development and improvements to this day. Android developer studios had to refine their understanding and available codebases considerably in the past decade since Android’s conception. For example, they had to handle monumental changes in the OS, like the introduction of ART or the continually evolving permission system. With this study, we look into the code-base of 1,250 apps from 57 different development studios and analyze the evolution of security-related issues in past versions of an app. To analyze a total of 11,002 APKs, we build on popular vulnerability assessment tools like QARK and drozer and extend them with our own security checks. We discover that the attack surface of an app usually grows over time, including issues that are open for a long time or remain unclosed. Considering the false positive rate of automated vulnerability scanners like QARK or drozer, the total number of vulnerabilities in an app must be taken with care, but nevertheless our study substantiates that the number of security issues typically grows with code complexity and size, rather than shrinking over time.
Keywords: App security; Mobile security; IPC; UI security

Paying the Price for Disruption: How a FinTech Allowed Account Takeover - Haupert, Vincent; Maier, Dominik; Müller, Tilo (Reversing and Offensive-oriented Trends Symposium, 2017)
UnivIS-Import:2017-12-18:Pub.2017.tech.IMMD.lehrst.paying

Physically Secure Code and Data Storage in Autonomously Booting Systems (Short Paper) - Götzfried, Johannes; Hampel, Johannes; Müller, Tilo (10th International Conference on Availability, Reliability and Security, 2015)
UnivIS-Import:2015-07-08:Pub.2015.tech.IMMD.lehrst.physic

Profiling with trust: system monitoring from trusted execution environments - Eichler, Christian; Röckl, Jonas; Jung, Benedikt; Schlenk, Ralph; Müller, Tilo; Hönig, Timo (Design Automation For Embedded Systems, 2024)
Large-scale attacks on IoT and edge computing devices pose a significant threat. As a prominent example, Mirai is an IoT botnet with 600,000 infected devices around the globe, capable of conducting effective and targeted DDoS attacks on (critical) infrastructure. Driven by the substantial impacts of attacks, manufacturers and system integrators propose Trusted Execution Environments (TEEs) that have gained significant importance recently. TEEs offer an execution environment to run small portions of code isolated from the rest of the system, even if the operating system is compromised. In this publication, we examine TEEs in the context of system monitoring and introduce the Trusted Monitor (TM), a novel anomaly detection system that runs within a TEE. The TM continuously profiles the system using hardware performance counters and utilizes an application-specific machine-learning model for anomaly detection. In our evaluation, we demonstrate that the TM accurately classifies 86% of 183 tested workloads, with an overhead of less than 2%. Notably, we show that a real-world kernel-level rootkit has observable effects on performance counters, allowing the TM to detect it. Major parts of the TM are implemented in the Rust programming language, eliminating common security-critical programming errors.<br
Keywords: Trusted execution environment; Hardware performance counter; Machine learning; Anomaly detection; Malware detection; Rust

Protecting JavaScript Apps from Code Analysis - Groß, Tobias; Müller, Tilo (4th Workshop on Security in highly connected IT systems, 2017)
UnivIS-Import:2017-12-18:Pub.2017.tech.IMMD.lehrst.protec
Keywords: Google Closure Compiler; Hybrid Apps; JavaScript; Obfuscation

Providing security on demand using invasive computing - Drescher, Gabor; Erhardt, Christoph; Freiling, Felix; Götzfried, Johannes; Lohmann, Daniel; Maene, Pieter; Müller, Tilo; Verbauwhede, Ingrid; Weichslgartner, Andreas; Wildermann, Stefan (it - Information Technology, 2016)

RamCrypt: Kernel-based Address Space Encryption for User-mode Processes - Götzfried, Johannes; Müller, Tilo; Drescher, Gabor; Nürnberger, Stefan; Backes, Michael (11th ACM Asia Conference on Computer and Communications Security, 2016)
UnivIS-Import:2016-06-01:Pub.2016.tech.IMMD.lehrst.ramcry

ReFuzz — Structure Aware Fuzzing of the Resilient File System (ReFS) - Groß, Tobias; Schleier, Tobias; Müller, Tilo (Proceedings of the 2022 ACM Asia Conference on Computer and Communications Security (ASIA CCS '22), 2022)
The Resilient File System (ReFS) from Microsoft promises new features such as increased performance and resilience compared to the New Technology File System (NTFS). On the downside, the ReFS drivers are growing more extensive and more complex, increasing the attack surface of the Windows kernel. Attackers can often use security-critical bugs in file system drivers to escalate privileges by mounting a file system. In this work, we present ReFuzz, a structure-aware fuzzer that uses hardware-assisted code coverage to identify bugs in the ReFS driver. The ReFS file system offers several challenges to fuzzing because first, while ReFS is not documented, it exhaustively uses checksums. Second, the minimal size of a ReFS partition is 2GB, notably decreasing the performance of naive fuzzing approaches. We demonstrate the effectiveness of our fuzzing approach by finding 27 unique payloads that panic the Windows kernel when mounting or accessing ReFS partitions. Furthermore, we find 162 unique payloads that lead to a system hang-up. Microsoft confirmed those bugs and acknowledged ten unique issues which are security-critical, eight of them allowing remote code execution attacks and got assigned with a CVE numbe
Keywords: ReFS; File Systems; Kernel Driver Fuzzing; Structure-aware Fuzzing

Rest In Protection: A Kernel-Level Approach to Mitigate RIP Tampering - Haupert, Vincent; Müller, Tilo (Proceedings of the 3rd International Conference on Information Systems Security and Privacy, 2017)
UnivIS-Import:2017-12-18:Pub.2017.tech.IMMD.lehrst.restin

Sancus 2.0: A Low-Cost Security Architecture for IoT Devices - Noorman, Job; Van Bulck, Jo; Muhlberg, Jan Tobias; Piessens, Frank; Maene, Pieter; Preneel, Bart; Verbauwhede, Ingrid; Götzfried, Johannes; Müller, Tilo; Freiling, Felix (ACM Transactions on Privacy and Security, 2017)
UnivIS-Import:2017-07-10:Pub.2017.tech.IMMD.lehrst.sancus

Secure garbage collection: Preventing malicious data harvesting from deallocated Java objects inside the Dalvik VM - Anikeev, Maxim; Freiling, Felix; Götzfried, Johannes; Müller, Tilo (Journal of Information Security and Applications, 2015)
UnivIS-Import:2015-04-20:Pub.2014.tech.IMMD.lehrst.secure

Secure Remote Computation using Intel SGX - Übler, David; Götzfried, Johannes; Müller, Tilo (Sicherheit 2018, 2018)
UnivIS-Import:2018-02-22:Pub.2018.tech.IMMD.lehrst.secure

Selective Imaging of File System Data on Live Systems - Faust, Fabian; Thierry, Aurelien; Müller, Tilo; Freiling, Felix (Forensic Science International: Digital Investigation, 2021)
In contrast to the common habit of taking full bitwise copies of storage devices before analysis, selective imaging promises to alleviate the problems created by the increasing capacity of storage devices. Imaging is selective if only selected data objects from an image that were explicitly chosen are included in the copied data. While selective imaging has been defined for post-mortem data acquisition, performing this process live, i.e., by using the system that contains the evidence also to execute the imaging software, is less well defined and understood. We present the design and implementation of a new live Selective Imaging Tool for Windows, called SIT, which is based on the DFIR ORC framework and uses AFF4 as a container format. (c) 2021 The Author(s). Published by Elsevier Ltd.
CRIS-Team WoS Importer:2021-04-30

Soteria: Offline Software Protection within Low-cost Embedded Devices - Götzfried, Johannes; Müller, Tilo; de Clercq, Ruan; Maene, Pieter; Freiling, Felix; Verbauwhede, Ingrid (Proceedings of the 31th Annual Computer Security Applications Conference, 2015)
UnivIS-Import:2015-10-26:Pub.2015.tech.IMMD.lehrst.soteri

STARK Tamperproof Authentication to Resist Keylogging - Müller, Tilo; Spath, Hans; Mäckl, Richard; Freiling, Felix (Proceedings of FC2013, 2013)
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 combines two ideas in a novel way: (1) Stark implements trust bootstrapping from a secure token (a USB flash drive) to the whole PC. (2) In Stark, users can securely verify the authenticity of the PC before entering their password by using one-time boot prompts, that are updated upon successful boot. © 2013 Springer-Verlag.
UnivIS-Import:2015-04-16:Pub.2013.tech.IMMD.lehrst.starkt
Keywords: Authentication; Disk Encryption; Evil Maid Attacks; TPM

Tackling Android's Native Library Malware with Robust, Efficient and Accurate Similarity Measures - Kalysch, Anatoli; Milisterfer, Oskar; Protsenko, Mykolai; Müller, Tilo (Proceedings of the 13th International Conference on Availability, Reliability and Security, 2018)
Code similarity measures create a comparison metric showing to what degree two code samples have the same functionality, e.g., to statically detect the use of known libraries in binary code. They are both an indispensable part of automated malware analysis, as well as a helper for the detection of plagiarism (IP protection) and the illegal use of open-source libraries in commercial apps. The centroid similarity metric extracts control-flow features from binary code and encodes them as geometric structures before comparing them. In our paper, we propose novel improvements to the centroid approach and apply it to the ARM architecture for the first time. We implement our approach as a plug-in for the IDA Pro disassembler and evaluate it regarding efficiency, accuracy and robustness on Android. Based on a dataset of 508,745 APKs, collected from 18 third-party app markets, we achieve a detection rate of 89% for the use of native code libraries, with an FPR of 10.8%. To test the robustness of our approach against the compiler version, optimization level, and other code transformations, we obfuscate and recompile known open-source libraries to evaluate which code transformations are resisted. Based on our results, we discuss how code re-use can be hidden by obfuscation and conclude with possible improvement
UnivIS-Import:2018-09-06:Pub.2018.tech.IMMD.lehrst.tackli
Keywords: Code Similarity; Android Static Analysis; Reverse Engineering

TeeFilter: High-Assurance Network Filtering Engine for High-End IoT and Edge Devices based on TEEs - Röckl, Jonas; Bernsdorf, Nils; Müller, Tilo (Proceedings of the 19th ACM Asia Conference on Computer and Communications Security, 2024)
Large botnets like Mirai, with 600,000 infected devices, prove that cyber criminals have recognized the potential of attacks against the fast-growing Internet of Things. Moreover, recent critical vulnerabilities like Ripple20 and Amnesia:33 show that taking over a remote system via the network is a real threat. Alarmingly, modern strains of malware rely on exploiting such vulnerabilities to spread, with an increasing tendency. Hence, effective techniques to mitigate the consequences of modern IoT malware are necessary. To that end, we propose TeeFilter, a novel network filtering engine that allows manufacturers and operators of IoT devices to restrict the network traffic of their devices. By selectively executing parts of the network stack in a Trusted Execution Environment, TeeFilter remains untampered even if the operating system is compromised. The operators can specify filtering rules in an LLVM-compatible programming language and compile them into eBPF code. Subsequently, TeeFilter can load and enforce the rules. We formally verify the majority of TeeFilter for correctness and memory safety to eradicate whole classes of vulnerabilities and prototype our system on real hardware to show that the network overhead is negligible. Therefore, we believe that our system is an impactful step to enhance the resiliency of future IoT infrastructure.
Keywords: ARM TrustZone; traffic filtering; ethernet drivers; eBPF

TEEshift: Protecting Code Confidentiality by Selectively Shifting Functions into TEEs - Lazard, Titouan; Götzfried, Johannes; Müller, Tilo; Santinelli, Gianni; Lefebvre, Vincent (3rd Workshop on System Software for Trusted Execution, 2018)
UnivIS-Import:2018-09-06:Pub.2018.tech.IMMD.lehrst.teeshi

Template-based Android inter-process communication fuzzing - Kalysch, Anatoli; Deutel, Mark; Müller, Tilo (Proceedings of the 15th International Conference on Availability, Reliability and Security, 2020)
Fuzzing is a test method in vulnerability assessments that calls the interfaces of a program in order to find bugs in its input processing. Automatically generated inputs, based on a set of templates and randomness, are sent to a program at a high rate, collecting crashes for later investigation. We apply fuzz testing to the interprocess communication (IPC) on Android in order to find bugs in the mechanisms how Android apps communicate with each other. The sandboxing principle on Android usually ensures that apps can only communicate to other apps via programmatic interfaces. Unlike traditional operating systems, two Android apps running in the same user context are not able to access the data of each other(security) or quit the other app (safety). Our IPC fuzzer for Android detects the structure of data sent within Intents between apps by disassembling and analyzing an app’s bytecode. It relies on multiple mutation engines for input generation and supports post-mortem analysis for a detailed insight into crashes. We tested 1488 popular apps from the Google Play-Store, enabling us to crash 450 apps with intents that could be sent from any unprivileged app on the same device, thus undermining the safety guarantees given by Android. We show that any installed app on a device could easily crash a series of other apps, effectively rendering them useless. Even worse, we discovered flaws in popular frameworks like Unity, the Google Services API, and the AdjustSDK. Comparing our implementation to previous research shows improvements in the depth and diversity of our detected crashe
Keywords: Fuzzing; Android Security; Inter-Process Communication

TRESOR Runs Encryption Securely Outside RAM - Müller, Tilo; Freiling, Felix; Dewald, Andreas (Proceedings of the 20th USENIX Security Symposium, 2011)
UnivIS-Import:2015-04-16:Pub.2011.tech.IMMD.lehrst.tresor

TreVisor – OS-Independent Software-Based Full Disk Encryption Secure Against Main Memory Attacks - Müller, Tilo; Taubmann, Benjamin; Freiling, Felix (International Conference on Applied Cryptography and Network Security, 2012)
Software-based disk encryption techniques store necessary keys in main memory and are therefore vulnerable to DMA and cold boot attacks which can acquire keys from RAM. Recent research results have shown operating system dependent ways to overcome these attacks. For example, the TRESOR project patches Linux to store AES keys solely on the microprocessor. We present TreVisor, the first software-based and OS-independent solution for full disk encryption that is resistant to main memory attacks. It builds upon BitVisor, a thin virtual machine monitor which implements various security features. Roughly speaking, TreVisor adds the encryption facilities of TRESOR to BitVisor, i. e., we move TRESOR one layer below the operating system into the hypervisor such that secure disk encryption runs transparently for the guest OS. We have tested its compatibility with both Linux and Windows and show positive security and performance results. © 2012 Springer-Verlag.
UnivIS-Import:2015-04-16:Pub.2012.tech.IMMD.lehrst.trevis

Trusted Monitor: TEE-Based System Monitoring - Jung, Benedikt; Eichler, Christian; Röckl, Jonas; Schlenk, Ralph; Hönig, Timo; Müller, Tilo (Brazilian Symposium on Computing Systems Engineering, 2022)

Unearthing the TrustedCore: A critical review on huawei's trusted execution environment - Busch, Marcel; Westphal, Johannes; Müller, Tilo (WOOT 2020 - 14th USENIX Workshop on Offensive Technologies, co-located with USENIX Security 2020, 2020)
Trusted Execution Environments (TEEs) are an essential building block in the security architecture of modern mobile devices. In this paper, we review a TEE implementation, called TrustedCore (TC), that has been used on Huawei phones for several years. We unveil multiple severe design and implementation flaws in the software stack of this TEE, which affect devices including the popular Huawei P9 Lite, released in 2016, and partially the more recent Huawei P20 Lite, released in 2018. First, we reverse-engineer TC's components, their interconnections, and their integration with the Android system, focusing on security aspects. Second, we examine the Trusted Application (TA) loader of the TC platform and reveal multiple design flaws. These flaws allow us to decrypt any TA found on our target devices and, thus, break code confidentiality. Third, we describe the design of Huawei's keystore system, the heart of all services using hardware-backed cryptography. We found severe vulnerabilities in this keystore system and demonstrate the leakage of export-protected keys from the TEE, which considerably weakens full-disk encryption. Fourth, along with these findings, we additionally discovered an exploitable memory corruption within Huawei's keymaster TA, enabling us to execute arbitrary code within the ARM TrustZone at the highest privilege level. The exploit requires us to bypass several mitigation techniques such as stack canaries and Address Space Layout Randomization (ASLR), which are all flawed in this TEE's design. We reported our findings to Huawei in a responsible disclosure procedure and publicly discuss our analyses for the first time in this paper.
CRIS-Team Scopus Importer:2020-10-23

Universal Trusted Execution Environments for Securing SDN/NFV Operations - Lefebvre, Vincent; Santinelli, Gianni; Müller, Tilo; Götzfried, Johannes (ARES 2018: International Conference on Availability, Reliability and Security, 2018)
UnivIS-Import:2018-09-06:Pub.2018.tech.IMMD.lehrst.univer

Urheberrecht ./. Sicherheitsanalyse - Müller, Nico; Müller, Tilo; Freiling, Felix (SICHERHEIT 2020, 2020)

VANDALIR: Vulnerability Analyses Based on Datalog and LLVM-IR - Schilling, Joschua; Müller, Tilo (DETECTION OF INTRUSIONS AND MALWARE, AND VULNERABILITY ASSESSMENT, DIMVA 2022, 2022)
CRIS-Team WoS Importer:2022-11-18

Veto: Prohibit Outdated Edge System Software from Booting - Röckl, Jonas; Wagenhäuser, Adam; Müller, Tilo (In Proceedings of the 9th International Conference on Information Systems Security and Privacy (ICISSP), 2023)
Edge computing emerges as a trend, forming a link between the Internet of Things and cloud-based services. Large-scale edge deployments are already in place today in the context of communication network providers that offload more and more tasks to the edge to ensure high flexibility and low latencies. By relying on remote attestation and disk encryption techniques, we design a novel system architecture that protects confidential data on edge nodes in the case of device theft. Recent vulnerabilities like Ripple20 and Amnesia:33 show the consequences and costs of critical security bugs stemming from outdated system software. Thus, we design our system in a way that a node can derive its decryption key if and only if a trusted remote party (e.g., a network operator) can verify that it is running the latest software. This is a security feature that prevalent implementations like Linux’s dm-crypt lack. To secure the early-boot communication, we rely on a trusted execution environment, hardware offloading, and Rust device drivers. We prototype our system on two recent ARMv8 devices and show that the performance overhead (≈ 2%) and the boot delay (1s) are low. Thus, we believe that our concept is a meaningful step towards more secure future edge devices. <br
Keywords: Trusted Execution Environment; Full Disk Encryption; Remote Attestation; Edge Computing.

VMAttack: Deobfuscating Virtualization-Based Packed Binaries - Kalysch, Anatoli; Götzfried, Johannes; Müller, Tilo (12th International Conference on Availability, Reliability and Security, 2017)
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 analysis's 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 analysi
UnivIS-Import:2017-12-18:Pub.2017.tech.IMMD.lehrst.vmatta
Keywords: Deobfuscation; Dynamic analysis; Reverse engineering; Static analysis; Virtualization-based obfuscation

Welcome Message from ARES Program Committee Co-Chairs - Reinhardt, Delphine; Müller, Tilo (ACM International Conference Proceeding Series, 2021)
CRIS-Team Scopus Importer:2021-08-27