Narrow your search

Library

KU Leuven (17)


Resource type

dissertation (17)


Language

English (15)

Dutch (2)


Year
From To Submit

2024 (1)

2022 (4)

2020 (2)

2019 (5)

2018 (3)

More...
Listing 1 - 10 of 17 << page
of 2
>>
Sort by

Dissertation
Fuzzing Intel SGX Enclaves

Loading...
Export citation

Choose an application

Bookmark

Abstract

When executing a security sensitive application, a developer has to trust many systems, from hardware to software, to ensure the integrity and security of the application. The Trusted Computing Base (TCB) of these systems comprises of complex hardware and many millions lines of code, the security of which cannot be assessed. In order to solve this problem, Intel developed the Software Guard eXtensions (SGX). These extensions give the developer a possibility of running programs inside an isolated space within the processor memory, secure from even the highest software privilege levels, reducing the complexity to a hardware TCB@. However, Intel SGX leaves memory management to the untrusted operating system and explicitly does not include side channels in the threat model. This opens the way for side channels as a means of extracting enclave secrets by monitoring enclave execution. Previous work shows that exploitation of vulnerabilities within enclaves is a well researched topic, but the detection and availability of vulnerabilities is needed to execute these attacks. This work researches a way to automatically detect bugs in Intel SGX Enclaves by a means of fuzzing. Fuzzing is an automated means of finding vulnerabilities by randomising input until interesting behaviour is encountered. Fuzzing Intel SGX enclaves differs from the normal white-box fuzzing, but does not completely fall into the black-box fuzzing category. A bug oracle is developed by combining two available side channels: a page fault side channel and a page table entry bits side channel using access and dirty bits. Memory accesses inside an enclave are monitored with a 4KB granularity. By controlling the accessible pages to the enclave and keeping the working set small, detailed memory footprints are recorded and refined using the page table entry bits. These memory footprints can then be used to detect possible vulnerabilities. The types of detectable vulnerabilities and their influence on the memory footprint graphs are discussed. To enhance input generation by the fuzzer, the input space of enclaves is investigated and smart input for each input channel is discussed, resulting in better vulnerability detection rates. Comparing enclave runs with a chosen difference metric allows the user to find interesting enclave inputs and executions for further research. Finally, an evaluation of the fuzzer and bug oracle is performed on enclave examples. The oracle is able to detect side channels with ease. Ultimately, the bug oracle is tested on a real world enclave, in which the tool was able to find a previously found bug in the edger8r tool from the Intel SGX SDK, showing the real world value of this tool.

Keywords


Dissertation
VulCAN beyond CAN

Loading...
Export citation

Choose an application

Bookmark

Abstract

Connected vehicles have in recent years become a popular research topic. The research field is broad ranging from autonomous driving to 5G communication to V2X (vehicle-to-anything). While V2X solutions are crucial for connected vehicle applications, there are also important associated cyber security risks. Two security requirements are identified for V2X: authentic chain and privacy. Authentic chain is a strong authenticity guarantee enabling end-nodes (such as vehicles) to trace a received message back to the original verified physical entity that sent it (such as a traffic light). Privacy in V2X is tied to identity management, this guarantee requires a notion of anonymity or pseudonymity. Important challenges in implementing these objectives include: resource constraints, performance and availability, heterogeneity, maintainability, and decentralization. Previous V2X solutions for implementing the proposed security objectives fall short in implementing the established security guarantees and addressing the challenges, leading to the proposition of a new design based on DAA (Direct Anonymous Attestation) for securing V2X communication. The design is based on previous research and extends this work by using Intel SGX TEE, enclaves on the issuer side, and RSA key usage. Thus satisfying the authenticity and pseudonimity requirements through the underlying trusted DAAscheme as well as addressing several of the aforementioned challenges. A practical prototype of the design is implemented and a performance evaluation is provided. The implementation is in line with expected benchmarks such as previous work, standardized V2X latency period, and human reaction time showing the feasibility of privacy-preserving attestation with trusted execution in V2X applications.

Keywords


Dissertation
Formally verifying data race freedom of FreeRTOS based applications using VeriFast

Loading...
Export citation

Choose an application

Bookmark

Abstract

This thesis discusses the formal verification of applications built on top of FreeRTOS, a free, real-time operating system that has been specifically designed for microprocessors with limited hardware. The main focus of these verifications will be on providing strong guarantees with respect to correct resource management and the absence of data races, both important aspects for applications that handle many resources concurrently. This is often the case in an IoT setting for which FreeRTOS specifically forms a steady basis. These guarantees will be obtained using the VeriFast program verifier, a formal verification tool currently in development at the KU Leuven that is based on a descendant of Hoare logic called separation logic. The result of this thesis is twofold: first, a real world application that has been provided by SmartNodes, a company active in the smart lighting sector, will be verified for data race and deadlock freedom in the form of a case study. This will most importantly show the applicability of VeriFast as a formal verification tool for FreeRTOS based applications. Secondly, the specifications used to perform this verification will be extracted and generalized for use in other verifications of similar applications, contributing these generalizations to the field of formal verification. While all verifications were successful, some assumptions had to be made to keep the scope manageable. Additionally, difficulties were encountered due to the limitations of VeriFast in terms of low-level code support and special data type support. As a result, FreeRTOS services that were written on an assembly level could not be verified, and certain data types such as unions had to be replaced for the verification to succeed. Finally, a relevant paper by Chandrasekaran et al. is discussed that describes a FreeRTOS version with support for multi-core processors and deals with a comparable problem of proving data race and deadlock freedom for this extension, this time using a different formal verification tool named SPIN.

Keywords


Dissertation
Secure BLE Device Authentication for Wireless Patient Monitoring

Loading...
Export citation

Choose an application

Bookmark

Abstract

The goal of this thesis is to develop an IoT gateway that uses Bluetooth low energy to securely communicate with sensors and input devices and that protects against external intrusion. Secure in this context means providing protection against eavesdropping attacks, spoofing attacks and Man In The Middle (MITM) attacks. A high level architectural diagram based on the scenarios provides by the main stakeholder of the case study will serve as the basis for a STRIDE security analysis. Using a selection of the most important threats, a prototype implementation is made. Throughout the thesis several refinements are made to make a final prototype that complies with the requirements provided by the main stakeholder. The envisioned application of the final design is a nurse-call system with strict security requirements. The resulting prototype mitigates the attacks that were possible in the original problem. A core contribution of the solution is the authentication protocol using lightweight certificates, and while there is an initial time cost to the authentication protocol, the long term cost of using this protocol is minimal.

Keywords


Dissertation
Robust Authentication for Automotive Control Networks through Covert Bandwidth

Loading...
Export citation

Choose an application

Bookmark

Abstract

Recent advancements in the automotive industry have extended vehicles with elaborate systems for entertainment and navigation, that are connected to wide-range networks like the internet. With the onboard embedded devices that enable those novelties therefore becoming remotely accessible, internal vehicle networks are exposed with them, and by extension all components they connect. Controller Area Networks (CAN) are in widespread use for governing communication within vehicle boundaries, and inherently offer little resistance against the security threats that come with remote, possibly malicious, parties gaining access to them. Considering the safety-critical application domain of CAN, remote attackers could however cause great harm when unrestricted in their actions. Several existing security mechanisms are effective in hardening CAN nodes, and embedded devices in general, against such increased malicious activity. For instance, cryptographic protocols have been put in place to establish the authenticity of CAN traffic. However, such communication-specific security measures come at the cost of bandwidth, computational resources, and real-time guarantees. Their repercussions on performance and timeliness go against the very nature of automotive applications, thus implying their own effects on vehicle safety. Taking those considerations into account, recent research proposes to implement CAN communication security measures using covert channels, which in essence are collateral transmission forms that do not increase network load, to enable strong security guarantees without harming safety as much as existing solutions. This master's thesis further explores that approach, in three main areas. First, an overview of covert, and covert-like, bandwidth sources applicable to CAN is constructed, which extends the set of covert channels considered in existing work. Second, a timing based covert channel is selected from that overview, and assessed in different practical implementations, each designed to yield stronger guarantees of performance and reliability than its precedent. Third, an extension to an existing security framework for CAN applications is proposed, which hardens its message authentication mechanism against packet loss through that same timing channel. The security implications of that approach are analysed, and found not to harm that framework's original security guarantees. This master's thesis investigates and assesses covert bandwidth opportunities in CAN, and migrates their use to the practical context of enhancing an existing security framework's approach to CAN message authentication.

Keywords


Dissertation
Security Enhanced LLVM

Loading...
Export citation

Choose an application

Bookmark

Abstract

In today's technology-driven world, computers are ubiquitous and we expect them to behave in a correct and secure way. We rely on computing devices to control critical infrastructure. An increasing number of applications are being trusted with security-critical information. The computer security community is continuously looking for innovative defensive measures against a wide range of security threats to protect our computing infrastructure from tampering and theft. Secure compilation and PMAs are two such novel research areas. Secure compilers aim to preserve the security properties of high-level programming language abstractions after compilation, allowing to reason about application security at a comfortable abstraction level. PMAs are able to provide an efficient mechanism to enforce some of these properties. This type of security architectures makes it possible to isolate security-critical modules to protect them from their enclosing application. Implementations are typically realized with a low-level security mechanism and a product-specific compiler. This master's thesis explores the feasibility of a secure compiler infrastructure where security properties can be represented and manipulated in a generic way at the different layers of abstraction. A generic compiler infrastructure where common programming models and common algorithms for analysis and transformation can support a wide range of programming languages and target architectures. The main contribution of this master's thesis is the proposal of such a generic secure compiler infrastructure. A proof of concept implementation of this proposal is provided in the form of an LLVM extension for the property of software module isolation, supporting the C and Rust programming languages and the Sancus and Intel SGX PMAs. The work presented in this master's thesis demonstrates that by sharing a common infrastructure, improvements in uniformity, reusability, programmability and performance can lead to more secure applications.

Keywords


Dissertation
Geautomiseerd fuzzen op open source-software

Loading...
Export citation

Choose an application

Bookmark

Abstract

Het bouwen van veilige software is de dag van vandaag belangrijker dan ooit. Heel veel belangrijke toepassingen steunen op een correcte werking van software. Foutloze software afleveren is echter niet eenvoudig. Er kruipt zeer veel tijd in het schrijven van testen en manueel de geschreven code nakijken. Fuzzers kunnen een zeer interessante meerwaarde zijn bij het testen van het programma op softwarefouten. Dit zijn tools die op een geautomatiseerde manier op zoek gaan naar fouten in een programma. Dit doen ze door het programma op zoveel mogelijk verschillende manieren te doen lopen op basis van verschillende invoer. Twee verschillende types van zo’n tools komen aan bod. Enerzijds een mutatiege- baseerde fuzzer, AFL, en anderzijds een fuzzer die gebruik maakt van symbolische executie, KLEE. Beide zijn ze bedoeld om zoveel mogelijk fouten op te sporen, en zoveel mogelijk code te testen. Deze tools hebben hetzelfde doel, maar intern werken ze op een heel verschillende manier. Deze masterproef doet een vergelijkende studie naar de performantie en de bruikbaar- heid tussen deze twee verschillende manieren om aan fuzzing te doen. Deze studie gebruikt hiervoor een testomgeving, om objectief deze tools te kunnen vergelijken. Deze testomgeving bevat enkele van de meest voorkomende en gevaarlijkste fouten. Verder komen beide fuzzers aan bod in een casestudy op het archiveerprogramma 7-zip. Deze casestudy gaat dieper in op het gebruik van de fuzzers op een echte applicatie. Uit deze experimenten vloeien enkele resultaten die meer inzichten verschaffen in het gebruik van beide types van fuzzers. Deze inzichten omvatten eventuele aanpassingen aan de te testen software om de performantie van de fuzzers te verhogen.

Keywords


Dissertation
Modelling and verifying the behaviour of autonomous drones using NuSMV

Loading...
Export citation

Choose an application

Bookmark

Abstract

In this thesis the NuSMV model checking tool is explored as a way to formally verify behavioural models of autonomous drones. Such a behavioural model is a table mapping all the states of an autonomous drone to zero or more actions of the drone. We want to formally verify it in order to make sure that the autonomous drone behaves correctly, meaning that it completes its tasks while adhering to certain safety and liveness properties. To represent the behavioural model in NuSMV three different NuSMV models are proposed, they differ in the way the environment is modelled. The first model has an implicit environment, the second model has an explicit discrete cube shaped grid environment as a state variable and the third model has an explicit discrete cube shaped grid environment as a defined symbol. Each of these models has a different balance between its level of abstraction and the size of its state space. Models with a lower level of abstraction and thus a higher expressivity have a bigger state space. The second model with the explicit environment as a state variable is the most expressive one, but its resulting bigger state space makes it suffer from the state explosion problem so it is not feasible for verification purposes. On the other two models safety and liveness properties were verified. This shows that NuSMV can be used to do formal verification of behavioural models of autonomous drones. There were however some difficulties, most of them were related to the lack of support for eventuality in NuSMV's input language and the state explosion problem.

Keywords


Dissertation
Software integrity checks on open platforms

Loading...
Export citation

Choose an application

Bookmark

Abstract

Smartphone devices are used more and more for tasks that rely on sensitive data, online banking, e-health and so on. While this is a natural evolution with respect to functionality, the security features of a smartphone are not as extensive as those of a personal computer. Many smartphone devices have an ARM System on Chip, equipped with ARM TrustZone by which the manufacturer attempts to increase the security of these devices. ARM TrustZone is a hardware security solution which provides a Trusted Execution Environment. With this capability, features like secure memory, trusted Input and Output, and process execution isolation are available. Smartphone manufacturers like Samsung utilize this ARM TrustZone framework to build up a security solution like Samsung KNOX. The downside of these solutions is that the manufacturer stays in control of the smartphone even after it has been sold. They decide which software is allowed to run on the device and which is not. To return the control and ownership to the users, the PinePhone has been introduced, an open smartphone with ARM TrustZone features. To access these Trusted Execution Environment functionalities a kernel is required. For this, there are also open source solutions like OP-TEE. The tools to obtain a secure open smartphone device exist, but they need to be put together along with security implementations to become a complete product. In this work, a crucial part of Remote Attestation has been looked at, namely measuring the integrity of applications running in the Normal World of the ARM TrustZone framework. Lots of research has been done to isolate applications in the Secure World from the rich Operating System. Also securing the data storage or the Input and Output channels related to these applications are common practice and well understood. Of course, the security of these applications is of utmost importance but this Secure World could also increase the security guarantees for the Normal World. One way of doing this is by allowing the Secure World to attest processes in the Normal World.

Keywords


Dissertation
Anti-reverse-engineeringtechnieken in malware : n.v.t.

Loading...
Export citation

Choose an application

Bookmark

Abstract

Deze thesis heeft als hoofddoel een overzicht te geven van de verschillende middelen waarover een aanvaller beschikt om zijn malwarecode tegen analyse te beschermen. Ook worden een aantal eenvoudige mogelijkheden uitgeprobeerd om het gebruik van deze middelen te detecteren: patroonherkenning en entropie-analyse. Beide middelen blijken inadequaat om betrouwbare classifiers op te stellen.

Keywords

Listing 1 - 10 of 17 << page
of 2
>>
Sort by