← Nieuwste papers
💻 informatica

Extending Layered Attestation into ARM Application Run-Times

Dit artikel presenteert ARA, een ARM-gebaseerde application-runtime anchor die hardwarematige attestatie uitbreidt van laadtijd naar uitvoering door gebruik te maken van Permission Overlay Extensions om een beschermd, geattesteerd domein te creëren voor runtime-integriteitsverificatie en geheime bescherming met minimale prestatieoverhead.

Oorspronkelijke auteurs: Antonio Joia Neto, Bilel Sefsaf, Norrathep Rattanavipanon, Carlos Chinea Perez, Hans Liljestrand, Jan-Erik Ekberg, Ivan De Oliveira Nunes

Gepubliceerd 2026-10-16
📖 6 min leestijd🧠 Diepgaand

Oorspronkelijke auteurs: Antonio Joia Neto, Bilel Sefsaf, Norrathep Rattanavipanon, Carlos Chinea Perez, Hans Liljestrand, Jan-Erik Ekberg, Ivan De Oliveira Nunes

Oorspronkelijk artikel gelicentieerd onder CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). ✨ Dit is een AI-gegenereerde uitleg van het onderstaande artikel. Het is niet geschreven of goedgekeurd door de auteurs. Raadpleeg het oorspronkelijke artikel voor technische nauwkeurigheid. Lees de volledige disclaimer

In de wereld van moderne computing wordt vertrouwen vaak gevestigd op het moment dat een programma start. Wanneer u een app op uw telefoon opent, controleert het apparaat of de software echt is en niet is aangepast voordat deze zelfs maar begint te draaien. Dit proces, bekend als attestatie, rust op een door hardware ondersteunde "root of trust", een veilig fundament dat in de chip zelf is ingebouwd om de identiteit van de software te verifiëren. Echter, zodra die initiële controle is voltooid en de applicatie aan het werk gaat, vervaagt dit hoge niveau van beveiliging vaak. Het apparaat gaat ervan uit dat het programma correct functioneert, waardoor er een gat ontstaat waar kwaadwillende actoren potentieel de gedragingen van de app kunnen wijzigen, geheimen kunnen stelen of gegevens kunnen manipuleren zonder dat het systeem dit merkt. Jarenlang bestond de oplossing voor dit probleem uit het verplaatsen van gevoelige taken naar aparte, geïsoleerde omgevingen, maar hiervoor moest de computer voortdurend schakelen tussen verschillende beveiligingszones, een proces dat traag was en de batterij levensduur opslokte.

Een team onderzoekers van de Universiteit van Zürich en Huawei heeft een nieuwe aanpak ontwikkeld om deze kloof te overbruggen, waardoor beveiliging gedurende de gehele levenscyclus van een applicatie kan voortbestaan zonder de zware prestatiekosten. Ze creëerden een systeem genaamd ARA, dat een veilige, beschermde zone direct binnen de eigen geheugenruimte van de applicatie vestigt. Door gebruik te maken van een recent geïntroduceerde hardwarefunctie in moderne ARM-processors, stelden de onderzoekers de applicatie in staat om haar eigen vertrouwde beveiligingsbewaker te huisvesten die de acties van het programma kan bewaken en gevoelige sleutels in realtime kan beschermen. Hun werk demonstreert dat het mogelijk is om een hoog niveau van beveiliging te handhaven en te verifiëren dat een app correct functioneert terwijl deze draait, terwijl er tegelijkertijd bijna met dezelfde snelheid als een onbeveiligde applicatie wordt geëffectueerd.

De kernuitdaging waar de onderzoekers voor stonden, was hoe ze een vertrouwd beveiligingssysteem geïsoleerd konden houden van een potentieel gecompromitteerde applicatie zonder dat zij via een trage, verre grens met elkaar moesten communiceren. Traditionele methoden vertrouwen vaak op het draaien van de beveiligingsdienst in een volledig apart proces of in een gespecialiseerde hardware-enclave. Hoewel deze methoden veilig zijn, vereisen ze dat de computer de hoofdapplicatie onderbreekt, van context wisselt en communiceert over complexe barrières telkens wanneer een beveiligingscontrole nodig is. Dit constante schakelen creëert een aanzienlijke vertraging, wat het onpraktisch maakt voor taken die frequente, fractie-van-een-seconde beslissingen vereisen, zoals het monitoren van elke stap die een programma zet of het decoderen van een videostream in realtime. De onderzoekers realiseerden zich dat de oplossing lag in een nieuwe hardwarecapaciteit genaamd Permission Overlay Extensions, die een enkele programma in staat stelt om zijn eigen geheugen te verdelen in afzonderlijke, geïsoleerde kamers met verschillende toegangsregels, die allemaal door de processor zelf worden beheerd.

Met behulp van deze technologie bouwden het team ARA om te fungeren als een veilig anker binnen de adresruimte van de applicatie. Wanneer de applicatie wordt opgestart, stelt een vertrouwde loader eerst de omgeving in, waarbij het geheugen wordt verdeeld in drie afzonderlijke gebieden: één voor de onvertrouwde applicatiecode, één voor een gecontroleerd toegangspunt, en één voor de beveiligde beveiligingsdiensten. De processor krijgt vervolgens de instructie om strikte regels op deze gebieden af te dwingen. De hoofdapplicatie kan haar eigen gegevens lezen en schrijven, maar is volledig verboden om het geheugen aan te raken waar de beveiligingsdiensten leven. Cruciaal is dat de applicatie deze regels niet op eigen initiatief kan wijzigen. Zelfs als een hacker erin slaagt om kwaadaardige code in de applicatie te injecteren, is die code fysiek niet in staat om het beveiligde gebied te bereiken of de machtigingen die het veilig houden te wijzigen. De enige manier waarop de applicatie met de beveiligingsdiensten kan interageren, is via een specifieke, vooraf goedgekeurde deur die het beveiligingssysteem controleert.

De onderzoekers testten dit systeem met twee verschillende scenario's om te zien hoe het in de echte wereld presteerde. In het eerste geval simuleerden ze een mediastreambedrijf dat videocontent moest decoderen met behulp van een geheime sleutel. Ze vergeleken hun nieuwe systeem met de standaardmethode van het gebruik van een apart proces voor decryptie. De resultaten lieten zien dat het nieuwe systeem aanzienlijk sneller was. Voor een videobestand van twee uur voegde de traditionele methode enkele seconden vertraging toe door het constante schakelen tussen processen, terwijl het nieuwe systeem slechts een fractie van een seconde toevoegde. In het tweede geval testten ze een systeem dat constant het gedrag van de applicatie monitort om te garanderen dat deze het juiste pad volgt, een taak die duizenden beveiligingscontroles per seconde vereist. Hier was het nieuwe systeem ongeveer dertig tot vijfentwintig keer sneller dan de traditionele methode. De snelheidswinst kwam voort uit het elimineren van de noodzaak om tussen verschillende processen te schakelen of de hulp van het besturingssysteem in te roepen; de beveiligingscontroles vonden rechtstreeks plaats binnen de eigen flow van de applicatie, beschermd door de hardware.

De studie behandelde ook hoe dit systeem past binnen het bestaande beveiligingslandschap van mobiele apparaten. Moderne telefoons gebruiken al hardware om te verifiëren of een app legitiem is wanneer deze voor het eerst wordt geïnstalleerd of gelanceerd. De onderzoekers ontwierpen hun systeem om dit bestaande vertrouwensketen uit te breiden. Wanneer de app start, verifieert het apparaat de beveiligde beveiligingsdiensten net zoals het de app zelf verifieert. Dit betekent dat een externe server er zeker van kan zijn dat de beveiligingscontroles die binnen de app plaatsvinden echt zijn en niet zijn aangepast. Het systeem bevat ook een methode voor het veilig leveren van geheime sleutels aan de applicatie. Een server kan een versleutelde sleutel sturen die alleen door de specifieke, geverifieerde instantie van de applicatie ontcijferd kan worden, wat ervoor zorgt dat zelfs als de applicatie op een gecompromitteerd apparaat draait, het geheim veilig blijft binnen de beschermde geheugenzone.

Hoewel het systeem veelbelovend is, merkten de onderzoekers op dat de vereiste hardwarefunctie nog niet beschikbaar is in commerciële apparaten. Ze bouwden hun prototype met behulp van een gesimuleerde omgeving en een aangepaste fysieke processor om het concept te bewijzen. Ze erkenden ook dat hun huidige ontwerp ervan uitgaat dat de applicatie op een enkele thread draait, en dat het ondersteunen van meerdere gelijktijdige threads aanvullende engineering vereist om ervoor te zorgen dat de beveiligingsregels correct voor elke thread worden gehandhaafd. Ondanks deze beperkingen biedt het werk een praktisch blauwdruk voor een toekomst waarin applicaties zowel snel als veilig kunnen zijn. Het suggereert dat de langdurige afruil tussen prestaties en bescherming niet onvermijdelijk is, en dat we met de juiste hardwareondersteuning applicaties kunnen hebben die hun eigen geheimen beschermen en hun eigen integriteit verifiëren zonder de gebruikerservaring te vertragen.

Verdrinkt u in papers in uw vakgebied?

Ontvang dagelijkse digests van de nieuwste papers die bij uw onderzoekswoorden passen — met technische samenvattingen, in uw taal.

Probeer Digest →