Netherlands Cyber Defence Initiative

04/01/11

De blinde wapenwedloop

Bij nader inzien loopt Nederland een beetje achter. Wat kunnen we ook, tegen dergelijke cybergrootmachten? We zijn maar een klein land en Nederland (nu ja, onze HDIO dan) ambieert ook helemaal geen leidende rol op het cyberfront voor onze krijgsmacht. In Libië moeten we het immers ook doen met zes bejaarde straaljagers en één zevenentwintig jaar oude mijnenjager. We moeten voor menskracht en meer geld dan ook vooral samenwerken met onze traditionele bondgenoten. En die zijn huppekee in een wapenwedloop gesprongen.

Traditioneel gezien win je een wapenwedloop alleen door outspending. Dat werkt zo: je koopt meer spullen dan je tegenstander, die dan nog meer koopt en jij dan nog meer, tot het moment dat één van de partijen moet afhaken omdat het geld op is. Deze strategie werkt natuurlijk alleen als jij rijker bent. Maar goed, wij zijn het rijke westen, en hullie niet. Dit was de strategie van de 20e eeuw.

In de eeuw van cyberoorlog klopt hier echter geen moer meer van. Exploits en firewalls zijn geen slagschepen of atoomraketten. Materieel overwicht is in de cyberdimensie van nul en generlei waarde; met één exploit op een zeer gangbaar stuk ICT krijg je je tegenstander op de knieën. De levensduur van wapentuig is daarbij zeer onvoorspelbaar en wellicht beperkt; zodra je een exploit gebruikt, weet de tegenstander ervan en kan hem ook tegen jou inzetten. En wellicht onschadelijk maken. Afstand nemen van het verouderde wapenwedloopparadigma is echter duidelijk nog niet gelukt.

Nederland loopt op het cyberwarfront weliswaar achter, maar eigenlijk is dat achterlopen niet zo’n probleem. Wél een probleem is dat onze bondgenoten blijkbaar niet helemaal door hebben waar het om draait en wij - zoals altijd - afwachtend aan tafel zitten tot we gevraagd worden mee te doen, op hun manier en op hun voorwaarden. Ook dat is een diepgewortelde gewoonte: wij bouwen onze defensie zo dat hij zo veel mogelijk aansluit op die van onze verwachte bondgenoten. Dat deden we al vóór de NAVO en zelfs lang voor de Tweede Wereldoorlog, terwijl we officieel nog helemaal geen bondgenoten hadden. Zelfstandig nadenken over hoe je oorlog moet voeren is feitelijk sinds de vestingwet van 1874 (http://nl.wikipedia.org/wiki/Vestingwet) in ons land niet meer vertoond.

Het is erg jammer dat de Nederlandse ambities op het cyberfront door Defensie op voorhand op een heel laag niveau worden geplaatst. Het is een nieuw operatiegebied voor de NATO, en iedereen is zoekende. Het beleid is nu dat we even wachten tot het iedereen duidelijk is wat er moet gebeuren. Dit lijkt mij een beleidsbeslissing die niet aan een hoger ambtenaar van een uitvoeringsministerie als Defensie is, maar aan de politiek. Daarbij zou ook naar de bredere belangen gekeken moeten worden, onder meer dat er een geheel nieuwe wapenindustrie te ontwikkelen is. Reken maar dat daar ook goed geld mee te verdienen is.

Cyberwar staat nog in de kinderschoenen. Dat wordt snel duidelijk als je de discussies en de programma’s nader bekijkt. Laten we beginnen bij de aanleiding, Stuxnet, het computervirus dat het Iranese kernprogramma onderuit geschoffeld heeft. Stuxnet leidde tot een whodunnit in de beste tradities van de BBC detective.

Stuxnet gebruikt maar liefst 4 zero day gaten in Windows, is dus zeer complex en zeer verfijnd, en moet dan ook gemaakt zijn door een grote groep met significante hulpbronnen. De enige partijen die een dergelijke capaciteit in huis hebben, zijn China, de VS en Israël. En omdat China niets heeft tegen Iran, hebben dus de Israëli’s óf de Amerikanen het gedaan. En omdat die twee altijd samen optrekken, zullen ze het wel samen gedaan hebben, volgens gezaghebbende deskundigen althans. Deze analyse is – zonder de landnamen weliswaar – opgenomen in de Nederlandse Cyber Security strategie. Niet gek, want op het eerste gezicht is het best overtuigend.

Maar de analyse is bij nadere beschouwing afhankelijk van een aantal forse aannames. Aannames die aantoonbaar onjuist zijn.

De belangrijkste verkeerde aanname is die over de benodigde hulpbronnen. Lees hiervoor het historische voorbeeld van L0pht, zoals beschreven in het onvolprezen boek ‘Beautiful Security’. Daarin beschrijft Mudge de ‘confirmation trap’ (in goed Nederlands: tunnelvisie) aan de hand van zijn persoonlijke ervaringen rond L0pthcrack. Deze geschiedenis vertoont verontrustend veel overeenkomsten met het hele Stuxnet-verhaal. Volgens Mudge stelde een NSA-agent dat L0phtcrack “not possible” zou zijn “without nation-state-type funding”. En dat terwijl L0pht niet meer was dan een paar techneuten zonder geld, maar met tijd, kennis en vooral slimme ideeën. Voor zero days heb je blijkbaar geen digitaal regiment met een budget van een paar miljoen per maand nodig. Wat je nodig hebt is een paar slimme mensen met een paar doorsnee computers. Een klein groep researchers bewees dat dit anno 2011 nog steeds geldt, door in korte tijd 34 nieuwe exploits voor SCADA te onthullen.

De analyses van Stuxnet tonen naast deze cruciale confirmation trap nog meer kritieke denkfouten. Deze zitten in een verkeerde perceptie van het vulnerability management. Vulnerability management is het beheer van gaten in je systemen en het fixen (patchen is maar één manier) ervan. Vulnerabilities zijn de basis voor de meeste offensieve digitale ‘wapens’ en de fixes de belangrijkste operationele defensieve wapens.

Een goed beeld van hoe de wereld van vulnerabilities in elkaar zit is essentieel voor hoe we ons voorbereiden op de toekomst met onze nationale cyberstrategie en militair georganiseerde cyberlegers. Als we niet weten welk slagveld we betreden en wat de wapens en de realiteiten daar zijn, is onze overlevingskans gelijk aan nul. En daar heeft het alle schijn van. Voor deze fouten zullen we op enig moment stevig moeten bloeden.

De meest opvallende fout is de inschatting dat 4 zero days heel bijzonder is. Dit is een categorische denkfout over hoe de wereld van vulnerabilities en exploits in elkaar zit. Overigens is dit een fout die vrijwel iedereen in de beveiligingsindustrie maakt. Hoe zit dat?

Om te beginnen is het inzicht dat de wereld van security mondiaal is, geheel afwezig. De security industrie wordt – net als de hele ICT - gedomineerd door Amerikaanse bedrijven en gaat volledig uit van het Anglo-Amerikaanse wereldbeeld en de Engelse taal. Als een niet-westerse onderzoeker een gat aanmeldt in een westers product, zal dat vrijwel altijd in het Engels moeten. Als de onderzoeker die taal niet beheerst, of het te veel moeite vindt om het uit te zoeken, dan wordt de vulnerability niet gemeld. Zeker als de leverancier niet zit te wachten op een kritische melding over een product, is de receptie en bijbehorende afhandeling van een melding al niet erg behulpzaam, zeg maar ronduit irritant. En laten we wel wezen, de meeste leveranciers zitten er inderdaad niet op te wachten. Bedenk vervolgens dat meer dan de helft van de internetgebruikers (en dus computergebruikers) geen Engels kan lezen of schrijven. Het resultaat is dat het gat niet gemeld en dus niet gefixed wordt.

Als de goedwillende Azerbeidzjaan, Egyptenaar of Pakistani dan maar op Full Disclosure of een ander forum in krakkemikkig Engels de bevinding meldt, is een welwillend oor zeer ongebruikelijk. In de regel wordt zo iemand volledig weggeflamed. Ook securitymensen zijn xenofoob. Dat doet de niet-westerse persoon in de regel dus ook maar één keer. Met als netto resultaat: de bevindingen raken hier niet bekend en worden niet gerepareerd. Het aantal gaten dat hier een zero day is, maar in de rest van de wereld niet, is waarschijnlijk niet gering en zal zonder ingrijpende veranderingen in hoe wij security bedrijven, alleen maar veel groter worden.

Er schuilt nog een kritieke fout in de disclosure wereld. Dit beeld ken ik uit eigen observatie – in projecten bij klanten kun je tegen zaken aanlopen, die je niet mag melden aan de leverancier omdat dan op enig moment formeel bekend zal worden wat het gat is en de klant dan juist kwetsbaar wordt. Dit speelt vooral bij grote klanten met verstand van beveiliging; zij weten dat het verschijnen van een patch via reverse engineering leidt tot exploitatie in het wild, terwijl ze ook weten dat de patch niet zo één-twee-drie over alle systemen uit te rollen is. Deze ‘no-disclosure’ policy heeft zeer verregaande gevolgen. Het zal immers meer voorkomen bij typische Enterprise software dan bij een populair appje voor thuis. Gaten worden dus eerder bekend gemaakt van populaire maar minder belangrijke applicaties, dan van de kritieke infrastructuur van grote bedrijven en overheden. Dat zie je ook heel goed aan de statistieken van bekendgemaakte vulnerabilities: de bulk van de gemelde gaten betreft veelgebruikte desktop- en webserversoftware. Je zou haast concluderen dat Acrobat veel meer fouten bevat dan SAP Netweaver. Dat is natuurlijk hoogst onwaarschijnlijk; grote, samengestelde en normaliter gecustomiseerde producten zijn veel complexer en veel moeilijker te beveiligen. Zij bevatten per definitie veel meer fouten dan kleine producten. Dat bewijzen Stuxnet en de recente vondsten in SCADA ook weer.

Grote en complexe producten worden gemaakt door grote en complexe bedrijven. Die zijn van nature gevoeliger voor tunnelvisie dan kleinere en jonge bedrijven. De kans dat een gat in de software of de systemen niet gezien wordt, is bij de gevestigde orde dan ook veel groter. Dit is recent nog eens te zien geweest bij de hack van RSA, één van de grootste gespecialiseerde spelers in security.

Nu kun je denken dat de ontbrekende kennis over vulnerabilities dan wel aangevuld zou worden uit analyse van de aanvallen die in het wild voorkomen. Nou, dan moet ik je toch teleurstellen. Wat er in het wild met exploits gebeurt, geeft juist een zeer onvolledig beeld. Bij de meeste organisaties worden kapotte zaken hersteld, maar ontbreekt de technische kennis en vaak ook de interesse om vast te stellen of er ingebroken is, dan wel of er een storing is geweest. Wat organisaties volgens het boekje moeten doen is vaststellen wat de gebruikte methode is en verifiëren of deze al bekend is. Als de methode niet bekend is, dan is het een zero day en moet er aan de bel getrokken worden. Als dit gehele moeizame traject doorlopen wordt – wat vrijwel nergens ooit gebeurt - geldt vervolgens hetzelfde als bij disclosure: willen ze het melden, mogen ze het melden en kunnen ze het melden, gegeven de taal? We moeten er van uitgaan dat het overgrote deel van de aanvallen die in het wild voorkomen, niet in de wijde wereld bekend wordt.

De conclusie van dit lange betoog: het geheel aan bekende exploits is hoogstwaarschijnlijk niet representatief voor de gaten die er zijn. Het gebruik van 4 zero days in Stuxnet is dus helemaal niet bijzonder en er hoeft helemaal geen grote organisatie met een megabudget achter te zitten. Dat betekent overigens niet dat cyberwar niet bestaat. Maar het bewijst wel dat de invloedrijkste ICT-security experts lijden aan tunnelvisie en dat zij essentiële zaken over het hoofd zien.

Voor de actieplannen die de NAVO-militaire-denkhoofden samen met deze leidende ICT-security experts opstellen doet dit het ergste vrezen. Dit gaat niet leiden tot veel resultaat. Wel leidt het tot een groeiende berg publiek-private samenwerkingsovereenkomsten. Zo’n praat- en processenfabriek is heel fijn voor de security markt, maar niet voor het beoogde resultaat. Dus mocht Nederland ooit gevraagd – of gedwongen - worden mee te doen, dan zullen onze cyberlegers net zo hard de verkeerde kant op marcheren als die van onze bondgenoten.