image

Column: Waarom ging DigiNotar fout?

vrijdag 16 november 2012, 13:08 door Homme Bitter, 7 reacties

Afgelopen week heb ik de hack van DigiNotar geanalyseerd en een aantal praktische tips gegeven hoe je de dingen die er specifiek niet in orde waren zou kunnen voorkomen. Deze week wil ik kijken naar hoe je structureel kan zorgen dat je nooit in zo'n situatie komt.


Waarom ging DigiNotar fout?
Wat je hier ziet, is een aantal individuele fouten die gecombineerd met elkaar een grote groep mensen en bedrijven in hun privacy en vertrouwelijkheid hebben geschonden. Aangezien het bedrijf wat de fouten maakte als product nou net betrouwbaarheid verkocht, had het bedrijf direct geen bestaansrecht meer. Het product of de dienst die andere bedrijven verkopen is vaak niet direct betrouwbaarheid. Toch zal een inbraak in je systemen vaak veel schade opleveren; aan je bedrijfsproces, maar ook aan het vertrouwen wat je gebruikers of klanten in je hebben.

Het zijn stuk voor stuk geen zeldzame fouten. Ze worden vaak gemaakt op allerlei plaatsen in allerlei organisaties die iets met ICT doen. Vaak zijn er geen of nauwelijks gevolgen omdat er domweg geen hackers zijn, of er zijn maatregelen genomen die op andere plaatsen alsnog ergere problemen voorkomen. Uiteindelijk moet je niet denken dat het een zeldzame combinatie is geweest en dat er in alle andere gevallen niets ernstigs zou zijn gebeurd.

Elke hacker zal proberen om een combinatie van fouten die hij aantreft in z'n voordeel te gebruiken, dus waarschijnlijk had deze hacker als er andere fouten gemaakt waren ook wel een manier gevonden om zijn doel te bereiken. Bijna alle hacks waar je over leest of hoort in het nieuws zijn op deze manier tot stand gekomen; een hacker vindt een gaatje, gaat vanaf daar kijken of hij achter dat gaatje nog iets kan vinden en stukje bij beetje koppelt hij kleine gaatjes aan elkaar en weet er uiteindelijk zijn doel mee te bereiken. Het is slechts heel zelden dat een hacker één levensgroot gat vindt en van daar direct toegang heeft tot alles waar hij bij wil komen.

Structurele oplossingen
Hoe voorkom je nou dat je dit soort problemen in je organisatie en systeem inbouwt? Door ervoor te zorgen dat je in de volledige lifecycle van je product of dienst security meeneemt als integraal onderdeel, in plaats van het er later tegenaan te plakken. Je kan een aantal dingen vrij universeel toepassen in elk automatiseringssysteem, ik benoem ze hier onder.

Compartimenten
Stop geen dingen bij elkaar die elkaar niet absoluut nodig hebben. DigiNotar had voor een aantal totaal onafhankelijke partijen een Certificate Authority. Deze waren bij elkaar gezet en daardoor zijn ze allemaal onderuit gegaan toen de hacker achter één van die CAs aan ging. Knoop geen dingen aan elkaar die daar geen voordeel van hebben, of waar het voordeel niet opweegt tegen het beveiligingsrisico. Een firewall is een poging om verkeer tussen twee aan elkaar gekoppelde compartimenten te controleren en te beperken.

Als die koppeling niet nodig is, moet je hem gewoon niet maken. Als je hem wel moet maken, moet je proberen om de compartimenten die je met elkaar koppelt zelfstandig sterk te maken en de firewall als extra laagje te gebruiken. Elke firewall moet bepaald verkeer nou eenmaal door laten en als dat verkeer vervolgens niet door de compartimenten zelf gecontroleerd wordt, creëer je alsnog een levensgroot gat in je
beveiliging.

Laat je niet verleiden door systemen met een gelijke functie bij elkaar te zetten in een enkel compartiment. Bij DigiNotar hebben ze hierdoor verschillende bedrijfsprocessen voor verschillende klanten elkaar laten "besmetten" en is de integriteit van de data van de ene klant niet meer betrouwbaar doordat er bij een andere klant iets fout ging. Quarantaine dient om gezonde levensvormen van mogelijke besmettingshaarden weg te houden en zo moet je je data en je processen binnen je organisatie ook behandelen.

Lagen
Zonder compartimenten en afschermen hangt alles aan de buitenwereld. Er is hoop ik geen uitleg meer nodig om duidelijk te maken dat dat geen goed plan is. Soms heeft het zin om meer dan één laag beveiliging in te bouwen. Goed opgebouwde lagen vertragen inbraakpogingen, waardoor de schade beperkt blijft en de pakkans omhoog gaat. Slecht opgebouwde lagen zijn nutteloos, maar daar heeft Peter Rietveld laatst
ook al een column over geschreven.

Denk dus goed na over hoe je het moeilijker kan maken voor mensen om misbruik te maken van je systemen, ook voor misbruik van binnenuit, zonder dat je het legitieme gebruikers te lastig maakt om van je systeem gebruik te maken. Ze zullen anders methodes gaan proberen te verzinnen om buiten je systeem om te gaan en gaten in je lagen gaan maken. Dan zijn ze nutteloos en kan je weer opnieuw beginnen.

Alarm slaan
Denk goed na over je alarmsysteem. Wat wil je onmiddellijk weten? Wat wil je later nog op kunnen zoeken? Welke gegevens heb je nodig om incidenten in de kiem te smoren en eventueel later te kunnen reconstrueren wat er is gebeurd? Welke gegevens heb je nodig als eventueel juridisch bewijs? Bij DigiNotar hadden ze een duur Intrusion Detection Systeem voor de buitendeur gezet, waardoor het afging bij iedereen die langs kwam, dus dat was in de praktijk redelijk nutteloos.

Een goed alarmsysteem geeft geen valse meldingen, maar gaat pas af als er ook echt ingebroken is en heel belangrijk, alles wat de inbrekers doen wordt buiten hun bereik opgenomen, zodat ze nooit in staat zijn om hun sporen te wissen. Om te zorgen dat je systeem iets te detecteren heeft en je ook nog een kans geeft om inbrekers te pakken, wil je bijna al wel een extra laag beveiliging inbouwen. De buitenste laag dient dan om te zorgen dat mensen niet met onhandig geklooi je alarm telkens af laten gaan en de binnenste dient om ze echt buiten te houden. Zodra iemand door de buitenste laag heen is, wil je het echt wel weten, want dan heb je met een serieuze inbreker te maken. Ook is er dan al een misdrijf gepleegd, dus je kan gelijk de politie erbij halen en het vangen van de boeven overlaten aan de mensen die er voor zijn, nog voordat ze bij je spullen zijn gekomen.

De meeste banken hebben zowel fysiek als digitaal meerdere lagen in hun eigen systemen, waardoor hackers, inbrekers en dergelijke bijna altijd gepakt worden of vluchten voordat ze bij de buit zijn. Niet iedereen heeft een bank te beveiligen, maar vaak zijn gegevens of systemen belangrijk genoeg om er toch behoorlijk serieuze security op te zetten.

Noodprocedures
Wat moet je nou doen als er iets fout gaat? Veel bedrijven hebben daar wel over nagedacht, maar meestal zijn deze plannen niet heel erg uitgewerkt, of achterhaald, of moet bijvoorbeeld de gebouwbeheerder eerst de vuilcontainers voor de nooduitgang weghalen als de jaarlijkse ontruimingsoefening van het BHVteam is. DigiNotar had een uitwijkplan voor als het pand af zou branden, ze hadden een rudimentair incidentenprotocol voor als er een securityprobleem was, maar dat protocol heeft overduidelijk gefaald. Veel bewijs was al gewist, overschreven of gewoon nooit opgeslagen.

Doelen waren niet duidelijk en er werd meer aandacht besteed aan het onder de pet houden van de problemen dan aan het oplossen daarvan. Bedenk je heel goed wat de gevolgen van de diverse mogelijke incidenten in je organisatie zijn, zowel op korte als lange termijn. Doe een risicoanalyse en een business impact analyse. Bepaal aan de hand daarvan je noodprocedures, laat ze controleren door een onafhankelijke partij en oefen ze, regelmatig en serieus. Als ze niet goed blijken te werken tijdens de oefening, moet je ze aanpassen, net zolang tot ze vlekkeloos lopen. De brandweer oefent veel, zodat ze ook als er geen brand is, toch ervaring hebben en krijgen. Je wilt geoefende brandweermensen met een doordacht plan om te blussen als je huis in brand staat. Zoiets wil je ook voor je IT als je gehackt bent, dus zorg er voor dat je mensen geoefend hebben en het plan deugt.

Afbreken
Als je systeem uiteindelijk niet meer gebruikt wordt, moet je het netjes afbreken en zorgen dat de gegevens die er op staan nog steeds netjes behandeld worden. Zorg ervoor dat er geen dingen open blijven staan waardoor inbrekers of hackers bij gegevens of nog actieve systemen kunnen komen en daar schade aan kunnen richten. Als je wat gaat zoeken op internet, vind je bijvoorbeeld genoeg websites van oude marketingcampagnes van bedrijven die nog gewoon draaien, omdat opruimen geld kost.

Omdat ze niet meer boeiend zijn, geeft ook niemand geld uit aan controles of ze nog wel veilig zijn. In veel serverruimtes staan nog oude servers of diensten aan, omdat niemand de moeite heeft genomen om ze uit te zetten en de boel netjes te wissen. Je hoort regelmatig van tweedehands computers die gekocht worden waar nog gegevens op blijken te staan. Zorg er dus voor dat je al als je een nieuwe dienst of product neerzet, je in de plannen ook al benoemt wat er moet gebeuren om de dienst netjes op te ruimen als hij niet meer voldoet. Zo voorkom je dat iets wat je niet eens meer gebruikt je alsnog meer geld gaat kosten dan dat je begroot hebt, of het nou door opruimkosten is of door een incident.

Mensen
Mensen hebben de neiging om het zichzelf niet te moeilijk te maken. Ze laten pasjes in authenticatieapparaten zitten, zetten servers niet elke dag uit als ze naar huis gaan en ruimen onnodige firewall-rules niet op. Documenteren van netwerkontwerpen staat al jaren op het todo-lijstje, maar komt er nooit van. Even snel een dingetje ergens tegen aanplakken werkt ook prima, dus die hele designcyclus doorlopen is helemaal niet nodig. Die updates kunnen ook tijdens het volgende onderhoudsvenster worden gedaan, want om nou 's nachts een heel protocol door te lopen voor één simpele update is ook zonde van je tijd.

Totdat het fout gaat. Want dan hebben ze er spijt van dat ze niet toch even de moeite hebben gedaan destijds. Hou jezelf en de mensen om je heen scherp door de risico's en de impact duidelijk te hebben. Laat je scherp houden door anderen daar opdracht toe te geven. Laat die audits gewoon wel doen en als er geen verbeterpunten uit komen, moet je je afvragen of de partij die de audits gedaan heeft wel z'n best heeft gedaan, of dat je de verkeerde opdracht hebt gegeven. Je hoeft daar niet perse externe consultants voor in te huren, maar zorg er wel voor dat degene die je vraagt er belang bij heeft om jou scherp te houden en je niet naar de mond te praten.

Volgens mij heb ik in deze hele column niets nieuws verteld maar alleen maar open deuren ingetrapt. Toch hoop ik dat mensen hierdoor wat beter gaan nadenken en hackers het voortaan wat moeilijker krijgen en niet overal gewoon maar naar binnen kunnen wandelen. Voor DigiNotar is het nu te laat, maar hopelijk kunnen anderen van deze fouten leren.

Reacties (7)
16-11-2012, 13:18 door Anoniem
Server uitzetten als je naar huis gaat ?
16-11-2012, 14:31 door Anoniem
Ik ben bang dat je een belangrijk onderdeel hebt overgeslagen. Toen het binnen het bedrijf bekend werd dat er certificaten waren uitgegeven heeft het management 6 weken lang willens en wetens dit niet naar buiten gebracht of zelf adequate acties genomen (of kunnen nemen?). De schade door het misbruik van de valse certificaten is pas weken later ontstaan. De schade heeft zeer waarschijnlijk de levens van enkele (kritische) Iranezen gekost of sterk beïnvloed.
18-11-2012, 10:59 door S-q.
"...Server uitzetten als je naar huis gaat ?..."

Oh ja hoor en daar zijn best grote bedrijven bij die niet toe staan/accepteren dat je hun s'avonds of in het weekend een mail stuurt. Ook, dat je niet "Mijn.... " opent.

En raar, dat lukt dan op maandag-/ochtend dan dus weer wel.
19-11-2012, 02:33 door Anoniem
Eigenlijk is het laatste stukje 'mensen' het belangrijkste. Want dit was heel duidelijk een cultuur probleem, als zelfs het management het allemaal geen reet interesseert dan kun je nooit verwachten dat het personeel alle andere 'open deuren' wel netjes implementeert.

Welke columnist/journalist zoekt dat eens goed uit, hoe is deze cultuur eigenlijk ontstaan (vreemde gedwongen winkelnering vanuit overheid waardoor geen verantwoording noodzakelijk was?) en hoe heeft dat zelfs in deze ellende kunnen eindigen? Hoe kan het dat een bedrijf als Vasco deze BV heeft overgenomen zonder klaarblijkelijk enige serieuze controle uit te voeren op de basis van het bedrijf?
19-11-2012, 09:31 door Anoniem
Zonder wetgeving die het management aansprakelijk stelt zal het altijd zo lijven. Als een olierafinaderij in de fik gaat stelt men het management wel aansprakelijk omdat fysiek duidelijk en aantoonbaar is. Als er mensen worden omgebracht of gemarteld omdat men achteloos omgaat met gegevens is dat een serieuze zaak die blijkbaar met het grootste gemak in de lade verdwijnt... Het is en blijft de verantwoordlijkheid van de wetgevers om ook de rol uit te zoeken van de certificerende partijen alsmede of de certificeringen niet voorzien moeten zijn van een echte technische keuring ipv van de huidige controle op de aanwezigheid van een proces.

Het ontbreken van patch management, correcte omgang met authorisatie procedures , etc is allemaal echt meetbaar. Misschien wordt het eens tijd voor een niewe beveiligingsstandaard die is opgesteld door technische mensen die echt verstand van zaken hebben ipv de boekhouders met een "security hobby"... Die men "toevallig" kreeg omdat er geld mee te verdienen viel:

http://en.wikipedia.org/wiki/History_of_information_technology_auditing

My two cents....
21-11-2012, 22:28 door Anoniem
hahaha:

http://www.nu.nl/internet/2963876/oprichter-diginotar-begint-beveiligingsbedrijf.html
25-11-2012, 17:14 door Anoniem
Ik sluit mij helemaal aan bij de eerste reactie: SERVER UITZETTEN????
Sloven wij ons uit om die 99,9% uptime te halen, gaan we de server gewoon uitzetten?
Of gaat het hier een specifiek soort server met een andere functie (kan ik me nog niet voorstellen dat je die moedwillig uitzet, maar goed), wat wordt hier bedoeld?
Reageren

Deze posting is gelocked. Reageren is niet meer mogelijk.