Preshuf: Pre-shuffling binaries in secure hardware

dc.contributorAalto-yliopistofi
dc.contributorAalto Universityen
dc.contributor.advisorNiemi, Arto
dc.contributor.authorBalint, Armand
dc.contributor.schoolPerustieteiden korkeakoulufi
dc.contributor.schoolSchool of Scienceen
dc.contributor.supervisorGunn, Lachlan
dc.date.accessioned2025-12-17T18:05:13Z
dc.date.available2025-12-17T18:05:13Z
dc.date.issued2025-11-24
dc.description.abstractFine-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.extent92
dc.format.mimetypeapplication/pdfen
dc.identifier.urihttps://aaltodoc.aalto.fi/handle/123456789/141283
dc.identifier.urnURN:NBN:fi:aalto-202512179392
dc.language.isoenen
dc.programmeMaster's Programme in Computer, Communication and Information Sciencesen
dc.programmeMaster's Programme in Computer, Communication and Information Sciencesfi
dc.programmeMaster's Programme in Computer, Communication and Information Sciencessv
dc.programme.majorComputer Scienceen
dc.subject.keywordASLRen
dc.subject.keywordOS hardeningen
dc.subject.keywordmemory protectionen
dc.subject.keywordTEEen
dc.subject.keywordcryptographyen
dc.subject.keywordpreloadersen
dc.titlePreshuf: Pre-shuffling binaries in secure hardwareen
dc.typeG2 Pro gradu, diplomityöfi
dc.type.ontasotMaster's thesisen
dc.type.ontasotDiplomityöfi
local.aalto.electroniconlyyes
local.aalto.openaccessyes

Files

Original bundle

Now showing 1 - 1 of 1
Loading...
Thumbnail Image
Name:
master_Balint_Armand_2025.pdf
Size:
3.03 MB
Format:
Adobe Portable Document Format