A Guided Search for Races Based on Data Flow Patterns - Neubaum, Andreas; Al Sardy, Loui; Spisländer, Marc; Saglietti, Francesca; Kretschmer, Sara (Lecture Notes in Computer Science (LNCS), 2022)
A strategy for searching for exploitable races is derived, implemented and evaluated. It aims at the detection of inconsistent behaviour due to irregularly interleaved instructions of concurrent threads. The search for internal races focuses on particular data flow patterns targeting the occurrence of internal races by enforcing different orders of reading and writing operations; it is guided by symbolic expressions of interleaved paths and constraint solving. The possibility of propagating internal races to system races is subsequently considered. An exemplifying application of the approach proposed illustrates its practicality.
CRIS-Team Scopus Importer:2022-10-14
Keywords: Constraint solving; Data flow pattern; Interleaving; Race; Scheduling; Software vulnerability; Symbolic execution; Thread

Comparative Evaluation of Security Fuzzing Approaches - Al Sardy, Loui; Neubaum, Andreas; Saglietti, Francesca; Rudrich, Daniel (Computer Safety, Reliability, and Security SAFECOMP 2019 Workshops, ASSURE, DECSoS, SASSUR, STRIVE, and WAISE, 2019)
This article compares security fuzzing approaches with respect to different characteristics commenting on their pro and cons concerning both their potential for exposing vulnerabilities and the expected effort required to do so. These preliminary considerations based on abstract reasoning and engineering judgement are subsequently confronted with experimental evaluations based on the application of three different fuzzing tools characterized by diverse data generation strategies on examples known to contain exploitable buffer overflows. Finally, an example inspired by a real world application illustrates the importance of combining different fuzzing concepts in order to generate data in case fuzzing requires the generation of a plausible sequence of meaningful messages to be sent over a network to a software-based controller as well as the exploitation of a hidden vulnerability by its execution. <br
Keywords: security fuzzing; software vulnerability; buffer overflow; integer constraint analysis; random testing; structural coverage.

SEVGuard: Protecting User Mode Applications using Secure Encrypted Virtualization - Palutke, Ralph; Neubaum, Andreas; Götzfried, Johannes (SecureComm 2019 Proceedings, 2019)
We present SEVGuard, a minimal virtual execution environment that protects the condentiality of applications based on AMD's Secure Encrypted Virtualization (SEV). Although SEV was primarily designed for the protection of VMs, we found a way to overcome this limitation and exclusively protect user mode applications. Therefore, we migrate the application into a hardware-accelerated VM and encrypt both its memory and register state. To avoid the overhead of a typical hypervisor, we built our solution on top of the plain Linux Kernel Virtual Machine (KVM) API. With the help of an advanced trapping mechanism, we fully support system and library calls from within the encrypted guest. Furthermore, we allow unmodied code to be transparently virtualized and encrypted by appropriate memory mappings. The memory needed for our minimal VM can be directly allocated within SEVGuard's address space. We evaluated our execution environment regarding correctness and performance, conrming that SEVGuard can be practically used to protect existing legacy applications.
Keywords: AMD SEV; virtual machine encryption; confidentiality

Testing for IT Security: a Guided Search Pattern for Exploitable Vulnerability Classes - Neubaum, Andreas; Al Sardy, Loui; Spisländer, Marc; Saglietti, Francesca; Biener, Yves (SAFECOMP 2021 Workshop on Dependable Smart Embedded Cyber-Physical Systems and Systems-of-Systems (DECSoS 2021), 2021)
This article presents a generic structured approach supporting the detection of exploitable software vulnerabilities of given type. Its applicability is illustrated for two weakness types: buffer overflowing and race conditions. <br