Het hang- en sluitwerk van Windows 8: Metro als nieuw fort
Windowsversies tot en met XP staan bekend om boterzacht hang- en sluitwerk. Vista en W7 krijgen betere cijfers, maar veel mensen voelen zich veiliger achter een Mac of Linux-pc. Tot nu toe was het dominante marktaandeel van Windows een groot deel van het probleem. Krakers ontbrak het aan motivatie om veel werk te steken in iets anders. Microsoft had daardoor het excuus van de schietschijf op zijn rug - en zat misschien ook te comfortabel op zijn troon. Meer dan 90 procent van een markt in handen hebben stimuleert geen bijzondere inspanning.
Verder ging en gaat de zwarte piet te makkelijk naar de gebruikers, die meer fouten maken dan de techniek. Ook dat werkt als excuus en niet terecht; besturingssystemen en andere software maken het ons onnodig moeilijk om veilig om te gaan met pc en internet. Er kan en moet veel meer worden gedaan om krakers bijtijds af te stoppen.
Keerpunt
In december 2009 werden servers van tientallen grote organisaties en bedrijven gekraakt, waaronder Adobe Systems en Google. De vermoedelijk Chinese krakers mikten met hun Operatie Aurora vooral op de broncode van software geproduceerd door hun slachtoffers. Ze kregen volledige toegang tot die broncode en konden rustig op zoek naar exploiteerbare bugs. Ze hadden zelfs de mogelijkheid om ongemerkt achterdeuren in te bouwen voor eigen gebruik, in nieuwe versies van bijvoorbeeld Chrome en Flash.
Het was een buitengewoon pijnlijke kraak. En Microsoft kreeg terecht een groot deel van de schuld. De criminelen of spionnen konden de macht over de pc's van hun slachtoffers geruisloos overnemen dankzij een zwakke plek in versies 6, 7 en 8 van Internet Explorer, exploiteerbaar in XP SP2 of ouder en zelfs in een vroege Vista. Exploitatie was mogelijk zonder fouten van de gebruiker. Zodra een ogenschijnlijk normale, geïnfecteerde webpagina werd bezocht, ging de malware ongemerkt aan de slag met een volledige kraak als onvermijdelijk resultaat. Slachtoffers werden naar de malafide pagina gelokt met zorgvuldige 'social engineering'; een link in e-mail of instant messaging op maat. Het valt de gebruikers niet te verwijten dat ze daarin trapten. Bovendien gaf Microsoft toe dat het defect al sinds september 2009 op de lijst stond voor een patch, die volgens plan pas in januari zou uitkomen.
Drievoudige tang
Wereldwijd keken grote klanten met andere ogen naar de producten van Microsoft. Niet alleen bedrijven. De Duitse, Franse en Australische overheden adviseerden hun burgers om Internet Explorer te mijden en althans voorlopig een andere browser te gebruiken. IE verloor op dat moment al terrein, maar beheerste in Europa nog bijna de helft van de markt.
Nu is het aandeel slechts circa 30 procent, ondanks de automatische installatie op bijna elke nieuwe pc. Chrome, de browser waarmee Google een nieuwe standaard voor kraakvastheid zette, groeide in die periode van 6 procent naar gelijkspel met IE.
Net als de jongste versie van Chrome is IE-9 nog steeds een prooi voor bekwame krakers, zoals de Pwn2Own hackingwedstrijd afgelopen maart liet zien. Maar IE-10/W8 zet de indringers straks klem in een drievoudige tang.
1 - Veel beter beschermd werkgeheugen
Fouten in software maken delen van het geheugen toegankelijk voor een kraker. Voor hem is het de kunst om daar een vorm van malware in te plaatsen en die te laten draaien. De fouten zelf zijn onvermijdelijk; in de miljoenen regels code van moderne software zoals browsers en tekstverwerkers zitten duizenden bugs, ook na de allerlaatste patch. Sinds circa 2004 bestaat een groot deel van de beveiliging daarom uit technieken die geplaatste malware het draaien beletten.
DEP (data execution prevention) was een van de eerste vestingwallen. Het is een methode om geheugen te reserveren voor data óf uitvoerbare instructies. Software kan niet draaien in data-geheugen. Krakers reageerden onder andere met malware opgebouwd uit verwijzingen naar fragmenten van bonafide code die al aanwezig is, zoals de aangevallen software zelf of dll's (dynamic link libraries) in het systeem. Dat lukt alleen als de adressen van die fragmenten van tevoren bekend zijn. Vista was de eerste Windowsversie die zich verdedigde met ASLR (address space layout randomization), om adressen onvoorspelbaar te maken.
Maar compatibiliteit kreeg voorrang. DEP en ASLR konden slechts een deel van de processen bewaken, want oudere software mocht niet struikelen. Browsers maken gebruik van ASLR voor hun eigen code. Lang niet alle plugins, add-ons, toolbars en dergelijke doen mee, zodat een doortastende kraker altijd wel een gaatje vindt. W8 introduceert 'ForceASLR', waarmee software kan eisen dat alle samenstellende delen zoals dll's, plugins enzovoort op willekeurig gekozen adressen worden geladen, ook als ze vragen om een vast adres. IE-10 stelt die eis. Als een plugin daar niet tegen kan is dat jammer - beveiliging krijgt voorrang boven compatibiliteit.
De Metro-versie van IE-10 gaat nog aanzienlijk verder door helemaal geen plugins of andere toevoegingen te accepteren. Daarmee wordt het probleem van minder veilige software afkomstig van derden radicaal opgelost. Flash blijft, maar als een vast ingebouwde module, net als in Chrome. Bovendien wordt het gebruik beperkt tot betrouwbaar geachte websites.
2 - Alles in een zandbak
Moderne krakers zijn goed opgeleid en steken veel tijd in hun werk. Pwn2Own werd dit jaar overtuigend gewonnen door Vupen, een bedrijf dat eigen kraakwerk voor veel geld verkoopt aan overheden. 'IE-10 wordt waarschijnlijk een heel veilige browser, veel moeilijker te kraken dan IE-9', zegt Vupens Chaouki Bekrar. Maar het blijft slechts een kwestie van harder werken. Ondanks alles zullen krakers hun malware naar binnen smokkelen en draaiend krijgen.
Vroeger zou de malware zonder meer de rechten van de gebruiker overnemen. Dat hoeft niet de admin of root te zijn. De rechten van een gebruiker zijn voldoende om een keylogger te installeren voor het stelen van inloggegevens, voor de verzending van spam, voor het infecteren van aangesloten mobiele hardware enzovoort. Vandaar de 'sandbox' of 'protected mode', die de rechten van de malware beperkt. Opslag op schijf en veranderingen in het register worden niet toegestaan, andere vensters op de desktop zijn beperkt toegankelijk. Dat laat weinig mogelijkheden voor meer dan kattenkwaad. Bovendien kan de malware de huidige sessie niet overleven. Uitloggen is voldoende om de indringer volledig te verwijderen.
Ontsnapping uit de protected mode van Windows bleek echter mogelijk via de communicatielijnen tussen afzonderlijke processen binnen en buiten de zandbak. Daar iets aan doen stuit, alweer, op de plugins. Chrome lost het op door plugins buiten de zandbak te draaien, maar dat geeft andere kansen op lekkage.
IE-10 Metro benut de 'enhanced protected mode' van W8, die veel meer beperkingen oplegt. Het register en bestanden op schijf zijn vanuit de zandbak totaal onzichtbaar - de rechten voor schrijven én lezen ontbreken. Bovendien zijn er geen communicatielijnen naar processen buiten de zandbak.
Het Metro-deel van W8 wordt ongetwijfeld een bijzonder harde noot om te kraken. Maar W8 op een pc heeft ook een desktop-zijde, waar een heel andere versie van IE-10 wel plugins en andere uitbreidingen van derden accepteert. De beveiliging is minder volledig, ook als enhanced protected mode daar wordt ingeschakeld.
3 - Reputatie als filter
Bekrar zegt toe dat Vupen 'een volledige kraak van IE-10 zal aanbieden als onderdeel van zijn offensieve dienstverlening, op de dag waarop Windows 8 voor het eerst op de markt verschijnt'. IE-10 desktop, Metro of allebei? We gaan het zien. Maar een kraak zoals gedemonstreerd tijdens Pwn2Own is hoe dan ook nooit volledig, want daar kan de te kraken browser de webpagina met malware niet ontlopen. In werkelijkheid laat het noodlot zich wél vermijden - zonder dat de gebruiker een fijne neus voor het kwaad nodig heeft.
Microsoft verdedigt IE met Smartscreen, onder andere gebaseerd op een database in de cloud waarin 'reputaties' van websites en downloadbare programma's worden bijgehouden. Smartscreen beoordeelt websites op verdachte eigenschappen en eerdere ervaringen. Lijkt de zaak niet in orde, dan wordt de gebruiker gewaarschuwd voordat de browser een pagina in beeld probeert te brengen of een download wordt gestart. Verreweg de meeste websites waar een gebruiker normaal mee te maken krijgt hebben een goede reputatie en worden zonder commentaar getoond. Vals alarm komt weinig voor, zodat de waarschuwing effectief blijft.
Smartscreen is effectiever dan filters die alleen uitgaan van een zwarte lijst, want die reageren pas nadat een slechte reputatie is opgebouwd - en dat kost minstens uren. In de praktijk blijken gebruikers van IE9 duurzaam voorzichtig om te gaan met als dubieus aangemerkte sites en downloads. W8 integreert Smartscreen dieper in Windows zelf, zodat ook downloads via andere software dan IE het filter moeten passeren.
De prijs van veiligheid
Vooral W8 Metro legt een zwaar accent op veiligheid, en dat is nuttig voor zowel consumenten als zakelijke gebruikers. W8 accepteert Metro-apps alleen als ze cryptografisch aantoonbaar afkomstig zijn van de door Microsoft bewaakte Windows Store, of, als het gaat om 'line-of-business' (LOB) apps, van een specifieke IT-afdeling. Windows RT wordt nog strenger bewaakt, met een 'secure boot' die geen indringers toelaat; de hardware draait alleen het besturingssysteem van Microsoft.
IE-10 Metro laat zich niet uitbreiden met software van derden en gebruik van Smartscreen betekent dat Microsoft meekijkt over je schouders. De adressen van bezochte websites, gebruikte zoekwoorden, informatie over je pc en over je gebruik van Smartscreen, naam en adres van bestanden die je van het web haalt; dat alles en meer wordt gerapporteerd.
In W8 Metro houdt Microsoft de teugels even strak als Apple in iOS. De prijs van veiligheid is een zeker gebrek aan vrijheid. Maar W8 op een pc heeft twee gezichten. De schijnbaar in Metro opgesloten desktop biedt dezelfde mogelijkheden en risico's als W7. Wat zal de markt het meest waarderen?