Frank van den Berg is technisch directeur van Green Hills Software in de Emea-regio.

1 February 2013

Met de explosieve groei in populariteit van Android wordt beveiliging een steeds belangrijker aspect. Verschillende opzienbarende inbreuken hebben aangetoond dat het Google-OS geen onneembare vesting is. Dit artikel legt uit hoe Arm Trustzone de beveiliging van Android-gebaseerde apparaten drastisch kan verbeteren.

In september 2008 zag de eerste Android-telefoon het levenslicht. Bij die introductie prees Google de beveiliging van zijn OS aan als een van de belangrijkste innovaties ten opzichte van andere smartphonebesturingssystemen. ’Het belangrijkste aspect van de beveiligingsarchitectuur is dat geen enkele toepassing standaard rechten heeft om andere applicaties, het besturingssysteem of de gebruiker nadelig te beïnvloeden‘, aldus de Android-website destijds.

Een paar dagen later stond het eerste goed gedocumenteerde lek in de browser van de telefoon al op internet. De broncode was onderdeel van meer dan een miljoen regels opensource software die de Google-engineers hadden gebruikt zonder de kwaliteit en precieze werking te kennen. In november van 2008 ontdekten hackers een nog veel ernstiger lek in Android, dat het mogelijk maakte om willekeurige software op de telefoon te installeren en uit te voeren. Googles reactie: ’We hebben echt geprobeerd Android goed te beveiligen. We beschouwen dit als een groot lek omdat het de beveiligde omgeving waarin programma‘s kunnen draaien heeft doorbroken.‘

Green Hills Trustzone
Software in de beveiligde zone heeft toegang tot het geheugen van de normale zone, maar niet omgekeerd.

Android heeft zich bewezen als een perfect multimediaplatform, boordevol functionaliteit en met een open ontwikkelomgeving voor innovatieve uitbreidingen. Het is echter geen platform waarop consumenten, bedrijven en leveranciers van bedrijfskritieke infrastructuur kunnen vertrouwen als het gaat om de bescherming van privacygevoelige gegevens of andere data waarvoor beveiliging noodzakelijk is. Erger nog: de meeste gebruikers zijn zich er niet van bewust hoe kwetsbaar sommige applicaties hen maken en wat de mogelijk consequenties zijn.

Waarom zouden we onze digitale identiteit en ons geld toevertrouwen aan een apparaat met een OS dat aantoonbaar tekortschiet in de bescherming tegen geavanceerde hackers? Wat we zouden willen hebben, is een systeem dat we volledig kunnen vertrouwen als we er onze meest persoonlijke data en ons geld op zetten, er onze auto mee openen en er onze bedrijfsdocumenten mee ophalen en bekijken. Helaas is een smartphone of tablet met dit niveau van betrouwbaarheid nog niet voorhanden.

Separation kernel

Met Trustzone biedt Arm hier een oplossing voor. De technologie maakt een gespecialiseerde, hardwaregebaseerde vorm van systeemvirtualisatie mogelijk. Ze onderscheidt twee zones: een ’normale‘ en een ’trusted‘ zone. Programmatuur in het laatste domein heeft toegang tot het geheugen van de eerste zone, maar niet omgekeerd. Zo fungeert de normale zone als een gevirtualiseerde omgeving die onder controle staat van de beveiligde zone.

Die beveiligde zone herbergt het veiligheidskritieke besturingssysteem, dat daarbij is geïmplementeerd als een zogeheten separation kernel. Zo‘n kernel is opgebouwd uit zeer betrouwbare componenten die strikt van elkaar zijn gescheiden en alleen onder streng gecontroleerde condities informatie kunnen uitwisselen. In feite is het een speciale variant van een RTos: de architectuur haalt de hoge verwerkingssnelheid en korte reactietijden van een realtime besturingssysteem en voldoet tegelijkertijd aan de meest stringente eisen voor informatiebeveiliging. De separation kernel draait als enige in de meest beveiligde modus van de Trustzone-enablede processor of systeemchip.

De kracht van een robuuste separation kernel is de mogelijkheid om kritieke software uit te voeren naast minder kritieke (maar voor de gebruiker wel belangrijke) programmatuur. In het laatste geval kan het gaan om een multimediabesturingssysteem zoals Android, dat dan als ’gast‘ in de virtuele machine van de normale zone draait, onder controle van de separation kernel. Die kan daarbij voorzien in een streng gecontroleerd interprocescommunicatiepad naar kritieke services in de beveiligde zone. Via zo‘n beveiligde IPC-pijp kan bijvoorbeeld externe TCP/IP-communicatie eerst door een cryptosubsysteem worden geleid, zodat we niet meer op Android zelf hoeven te vertrouwen voor bescherming van de sleutels.

De separation kernel kan ook native applicaties hosten. Dit in tegenstelling tot traditionele hypervisors, die alleen andere OS‘en als gast kunnen hebben. De beveiligingsmechanismen van de kernel houden de applicaties strikt gescheiden van andere systeemcomponenten, en de mechanismen voor resource scheduling zien er nauwlettend op toe dat ze niet meer processortijd, geheugenruimte en I/O-toegang gebruiken dan een vooraf toegewezen maximum.

Omdat de beveiligde zone een complete logische Arm-core is, heeft het ingebedde besturingssysteem ook toegang tot de MMU. Door deze te gebruiken, kan het OS een verdere partitionering in zogeheten metazones maken, waarbinnen softwarecomponenten op verschillende beveiligingsniveaus kunnen draaien. In de ene metazone kan bijvoorbeeld de gecertificeerde cryptografische bescherming voor de authenticatie en uitwisseling van betalingsgegevens actief zijn en in de andere een module voor het digitale rechtenbeheer (DRM) van multimedia. Het OS in de beveiligde zone garandeert dat ze elkaar niet in de wielen rijden.

Of een multimediabesturingssysteem zoals Android nu mét (dus gevirtualiseerd) of zonder Trustzone draait, op de snelheid heeft dat geen invloed. Dat is het grote verschil met hardwarevirtualisatietechnologieën à la Intel VT. Hiermee slecht Trustzone een van de barrières voor de omarming van virtualisatie in apparaten waar energieverbruik (performance per watt) van groot belang is.

Green Hills metazones
Een besturingssysteem in de beveiligde zone kan de Arm-MMU gebruiken om een verdere partitionering in zogeheten metazones maken, waarbinnen softwarecomponenten op verschillende beveiligingsniveaus kunnen draaien.

Alle moderne Arm-processoren hebben Trustzone aan boord, waaronder de Arm1176, de Cortex-A5, de Cortex-A8 en de Cortex-A15. Het is echter niet zo dat de technologie ook volledig werkt op alle systeemchips die zijn gebaseerd op deze CPU‘s. Halfgeleiderfabrikanten moeten de partitionering van geheugen en I/O-randapparatuur in verschillende zones wel toestaan en de uitvoer van software van derden (in dit geval de leverancier van een beveiligd besturingssysteem) in de beveiligde zone mogelijk maken. Voorbeelden van Socs met volledig functionele Trustzone-technologie zijn de Cortex-A8-gebaseerde I.MX53 van Freescale en de Cortex-A9-gebaseerde Omap4430 van Texas Instruments.

Certificering

Bij Green Hills werken we met leveranciers van Trustzone-enablede processoren en systeemchips samen aan een totaalplatform. De kern hiervan wordt gevormd door veilige hardware en software met cryptografische bescherming zoals beveiligde netwerkprotocollen (SSL/TLS), software voor DRM en sleutelbeheer en een virtueel keypad waarmee wachtwoorden en beveiligingssleutels veilig zijn in te geven. Daarnaast voorziet het platform in een complete ontwikkelomgeving om op basis van open standaarden veilige mobiele applicaties te bouwen.

Belangrijk aandachtspunt bij de ontwikkeling van dit totaalplatform is certificering van de informatiebeveiliging. De internationale standaard hiervoor is bekend als Common Criteria (Iso/IEC 15408). Deze onderscheidt verschillende zekerheidsniveaus, Evaluation Assurance Levels geheten, lopend van 1 tot en met 7. Besturingssystemen als Android, VMWare en Windows en producten als firewalls en webservers komen niet verder dan EAL4, waarmee ze effectief beschermen tegen onbedoelde, min of meer toevallige pogingen om de toegangsbeveiliging te breken. Software van niveau 6+ of 7 kan aanvallen weerstaan van zeer geavanceerde hackers met een grote financiële slagkracht en zelfs de staatsveiligheid bewaren. Green Hills‘ separation kernel Integrity was het eerste besturingssysteem met een EAL6+-certificaat.

Het gebruik van Trustzone levert ook voordelen bij de certificering, bijvoorbeeld voor elektronisch bankieren. Doordat de scope beperkt kan blijven tot de code in de beveiligde zone, kan het proces aanzienlijk sneller, en dus goedkoper, verlopen. Bovendien kan het complexe (en vaak onhaalbare) certificeringstraject voor een multimediabesturingssysteem als Android achterwege blijven.

Een verdere kostenreductie is te realiseren door een reeds gecertificeerd OS in de beveiligde zone te gebruiken. Een dergelijk besturingssysteem gaat vergezeld van alle ontwerp- en testdocumentatie die een certificeringsinstantie vereist. Als die documenten nog moeten worden geproduceerd, kan dat aardig in de papieren gaan lopen.

Edited by Nieke Roos