Preshuf: Pre-shuffling binaries in secure hardware
| dc.contributor | Aalto-yliopisto | fi |
| dc.contributor | Aalto University | en |
| dc.contributor.advisor | Niemi, Arto | |
| dc.contributor.author | Balint, Armand | |
| dc.contributor.school | Perustieteiden korkeakoulu | fi |
| dc.contributor.school | School of Science | en |
| dc.contributor.supervisor | Gunn, Lachlan | |
| dc.date.accessioned | 2025-12-17T18:05:13Z | |
| dc.date.available | 2025-12-17T18:05:13Z | |
| dc.date.issued | 2025-11-24 | |
| dc.description.abstract | Fine-grained randomization of code is an effective countermeasure to code-reuse attacks, but its practical deployment is hindered by the high performance overhead of the randomization itself. This thesis presents Preshuf, an architecture that is trying to mitigate this performance-security trade-off by separating the computationally costly randomization from the startup sequence of the application. Preshuf implements an asynchronous model where a background daemon makes use of a hardware-isolated Trusted Execution Environment on ARM64 to continuously pre-shuffle binaries at a function-granular level and encrypt them using AEAD cryptography. At runtime, a lightweight preloader only manages a fast and secure decryption before executing the program, therefore making the shift of overhead from the permutation logic to a much more lightweight set of cryptographic operations. The system was implemented and evaluated on both emulated and physical platforms, through QEMU and a Raspberry Pi 3. The results demonstrate that this approach introduces a minimal load-time latency that can be less than a fourth of the required overhead for the randomization itself for larger binaries on representative hardware. Additionally, the ongoing re-randomization produces a "refreshing defense" that makes leaked runtime information ephemeral, thereby forcing the attacker into Just-In-Time exploit development within a set time window. The work shows that the asynchronous pre-shuffling model does make high-entropy moving target defenses more practical without the need of compromising security for performance. | en |
| dc.format.extent | 92 | |
| dc.format.mimetype | application/pdf | en |
| dc.identifier.uri | https://aaltodoc.aalto.fi/handle/123456789/141283 | |
| dc.identifier.urn | URN:NBN:fi:aalto-202512179392 | |
| dc.language.iso | en | en |
| dc.programme | Master's Programme in Computer, Communication and Information Sciences | en |
| dc.programme | Master's Programme in Computer, Communication and Information Sciences | fi |
| dc.programme | Master's Programme in Computer, Communication and Information Sciences | sv |
| dc.programme.major | Computer Science | en |
| dc.subject.keyword | ASLR | en |
| dc.subject.keyword | OS hardening | en |
| dc.subject.keyword | memory protection | en |
| dc.subject.keyword | TEE | en |
| dc.subject.keyword | cryptography | en |
| dc.subject.keyword | preloaders | en |
| dc.title | Preshuf: Pre-shuffling binaries in secure hardware | en |
| dc.type | G2 Pro gradu, diplomityö | fi |
| dc.type.ontasot | Master's thesis | en |
| dc.type.ontasot | Diplomityö | fi |
| local.aalto.electroniconly | yes | |
| local.aalto.openaccess | yes |
Files
Original bundle
1 - 1 of 1
Loading...
- Name:
- master_Balint_Armand_2025.pdf
- Size:
- 3.03 MB
- Format:
- Adobe Portable Document Format