DigiNotar kwam in opspraak, toen bleek dat de digitale certificaten die het uitgaf voor websites, niet waterdicht waren. Hackers konden hierdoor frauduleuze certificaten uitgeven. OPTA, als toezichthouder, was gedwongen DigiNotars certificaten in te trekken en het bedrijf te verbieden nieuwe uit te geven. Geen certificaatbeheer meer, einde DigiNotar! Andere digitale certificatenverstrekkers (Certificate Authorities / CA) zoals Comodo en GlobalSign zijn ook gehackt. Oftewel, de digitale certificatenwereld ligt onder vuur.
Digitale certificaten, waar dienen die eigenlijk voor? Een digitaal certificaat is een computerbestand, dat fungeert als digitaal paspoort voor de eigenaar van dat bestand. Digitale certificaten worden uitgegeven en beheerd in een speciaal systeem: een Public Key Infrastructure (PKI) . Een CA beheert het certificaat voor de eigenaar die het certificaat gebruikt in communicatie met een andere partij. Het certificaat is de identiteit/paspoort van de eigenaar en de CA waarborgt de integriteit en authenticiteit ervan.
Als er een hack plaatsvindt bij diegene die deze identiteiten waarborgt, welke persoon of organisatie heeft dan nog vertrouwen in de identiteit van de partij waarmee het communiceert via het internet? Immers, het certificaat waarmee de andere partij zich digitaal identificeert, kan vervalst zijn , waardoor deze partij een heel andere partij kan zijn dan wat de argeloze persoon/organisatie denkt.
Digitale certificaten worden onder andere in het internetbankieren en bij digitale overheden gebruikt. Misbruik hiervan kan enorme gevolgen hebben zoals te zien was bij de getroffen Iraniërs met hun Google-accounts.
DigiNotar was gehackt. Heeft zo'n organisatie dan geen veiligheidsvoorschriften waaraan het moet voldoen om een hack als deze te voorkomen? De automatisering van de CA's worden geacht aan bepaalde normen te voldoen. Jaarlijkse toetsingen zijn verplicht. Deze toetsingen worden gedaan door grote accountantskantoren zoals PricewaterhouseCoopers (PwC) en KPMG, dieitT-auditors in dienst hebben om de automatisering binnen de CA-organisatie te beoordelen.
Normen, hm… nu word ik nieuwsgierig. Als software tester ben ik ook dagelijks bezig te onderzoeken of bepaalde software aan specifieke normen of specificaties voldoet.
Wat zijn deze certificeringsnormen?
Er zijn twee grote digitale certificeringsorganisaties, een Europese en een Amerikaanse.
Het ETSI (European Telecommunications Standards Institute) vervaardigt globaal toepasbare ICT-standaarden. Standaarden voor CA's zijn hier een onderdeel van.
Het Amerikaanse Webtrust is een geregistreerd merk van de CICA (Canadian Institute of Chartered Accountants), gebaseerd op de Trust Services Principles and Criteria van de CICA en AICPA (American Institute of Certified Public Accountants) en heeft speciale certificeringsprogramma's voor de CA's.
DigiNotar was kennelijk geaccrediteerd conform de ETSI 101 456 (policy requirements CA's) en WebTrust CA – Extended Validation (EV) Certificaten standaarden. Het mag derhalve EV SSL certificaten uitgeven, die automatisch door browsers worden herkend als afkomstig van een vertrouwde uitgever. DigiNotar stond (!) ingeschreven bij de Nederlandse toezichthouder OPTA als leverancier van gekwalificeerde certificaten en voldeed aan het speciaal door de overheid opgezette stelsel voor elektronische communicatie: PKIoverheid. Wat is nu het verband tussen de PKIoverheid, de CA's en de ETSI- en Webtrust-standaarden?
PKIoverheidcertificaten zijn ontworpen voor betrouwbare elektronische communicatie binnen en met de Nederlandse overheid. De uitgevers van de PKIoverheid-certificaten moeten voldoen aan bepaalde eisen, waaronder
1) certificering tegen TTP.NL schema (toetsing ETSI normen, NL wettelijke besluiten en regelingen);
2) een goedkeurende auditverklaring;
3) registratie bij de OPTA.
Prima, maar waar komt een tester bij deze certificering van pas? Dit kan ik het beste uitleggen aan de hand van de voorlopige (!) resultaten uit het interim-rapport van Fox-IT. Dit Nederlands digitaal forensisch onderzoeksbureau was op 30 augustus ingeschakeld door de Nederlandse overheid (Govcert) om de DigiNotar-breach te onderzoeken. Uit het interim-rapport van Fox-IT kwamen vijf voorlopige bevindingen naar voren die ook zeker tijdens een audit naar boven hadden moeten komen:
1) het ontbreken van een kritische scheiding van CA-bedrijfsonderdelen;
2) het ontbreken van adequate authenticatie CA-domeinen;
3) gedateerde en ongepatchte software op de CA-servers;
4) geen antivirus-bescherming op onderzochte servers;
5) geen veilige centrale netwerk logging.
Bij bestudering van vooral de ETSI Normen (ETSI TS 101 456) constateer ik dat alle vijf bevindingen gevonden zouden moeten zijn tijdens de jaarlijkse audit. Immers alle vijf bevindingen zijn afwijkingen van de betreffende (deel)beleidsnormen die in het ETSI TS 101 456-document uitvoerig worden beschreven. Hierdoor voldeed DigiNotar niet aan ETSI TS 101 456. DigiNotar had eigenlijk geen bestaansrecht meer om deel te nemen aan de PKIoverheid.
Nu ga ik PwC, de betreffende auditor niet beschuldigen. Immers, DigiNotar zelf had ervoor moeten zorgen dat het voldeed aan deze ETSI normen. Maar op DigiNotars site was(!)te zien dat PwC in 2008 nog een audit uitgevoerd voor de EV-SSL certificaten en is de ETSI certificering geldig tot 2013, met een jaarlijkse controle. Kennelijk is hier iets mis gegaan.
Hoe kan dit audit-proces verbeterd worden?
Een audit is een momentopname en volgens de wet is de geldigheid van een accreditatie vier jaar met een jaarlijkse verplichte audit. Gezien de security-bevindingen, is het wellicht een idee, naast de jaarlijkse audit, een securitytest meerdere malen per jaar door een onafhankelijke partij zoals een securitytester te doen? Deze kan dan de CA-infrastructuur testen op mogelijke breaches, om hacks zo te voorkomen.
Men kan hiervoor een periodieke security-regressietest uitvoeren. Hierbij wordt, afhankelijk van frequentie, maar vooral ook van risico, de zwaarte bepaald. Bijvoorbeeld wekelijks testen op de meest voorkomende securityrisks, maandelijks een zwaardere regressietest en per kwartaal de zwaarste, waarbij de hele CA-infrastructuur grondig wordt doorgelicht. Hierbij is er alleen een probleem, toegang krijgen en hebben tot de zwaar beveiligde (!) CA-servers. Die heeft een tester niet zomaar. Wellicht is dit alleen mogelijk wanneer de securitytester gecertificeerd is (minstens Certified Ethical Hacker – het ECCCouncil biedt CEH training programma's aan die bij aangesloten opleidingsinstituten in Nederland gevolgd kunnen worden) is. Deze securitytester moet de CA-infrastructuur goed kennen en aan de eisen van de PKIoverheid voldoet om toegang te hebben tot de CA-infrastructuur.
De securitytester zal vooral veel samen werken met de CA-beveiligingsofficier om o.a. specificaties, toegang tot de beveiligde CA-server en contacten met CA-medewerkers te krijgen om zo een goed beeld te krijgen van de CA-infrastructuur. Hierop kan dan de hier bovengenoemde security regressietests op afgestemd worden. Security is, gezien het DigiNotar-incident, van levensbelang voor een CA.
Om miscommunicatie te voorkomen moet er regelmatig overleg plaatsvinden tussen de CA-directie, CA-beveiligingsofficier en security tester. Daarnaast dienen de securitytestrapporten, ten behoeve van de transparantie, ook toegankelijk te zijn voor de klanten van de CA, zoals bv. PKIoverheid, banken en andere instellingen en vanzelfsprekend de auditor.
Gebrek aan transparantie heeft DigiNotar genekt, geef de onafhankelijke security tester daarom 24/7 toegang tot de beveiligde centrale netwerklogging, zodat deze mee kan kijken of er breaches gebeuren. De tester kan dan direct rapporteren aan de stakeholders (twee ogen-principe).
Let wel, deze stappen maken een security test niet goedkoop, het is wel een investering die zich later terugbetaalt. Een CA kan, met medewerking van een securitytester, een breach sneller opsporen, elimineren en erover direct communiceren met haar stakeholders. Dit verhoogt de transparantie, het sneller vinden van bugs/breaches en het allerbelangrijkste: het brengt weer vertrouwen in het certificeringsproces.
Een heel andere rol die een tester kan spelen bij het certificaatbeheer van de PKIoverheid is bij het toetredingsproces van een certificaatverstrekker tot de PKIoverheid. Een van de onderdelen hiervan is het uitvoeren van een acceptatietest 'Aanmaken CSP (Certificate Service Provider) certificaat door de CSP en Getronics' (Programma van Eisen Deel 2: Toetreding tot en toezicht binnen de PKI voor de overheid, v.3.1, 1-7-2011). Een technische test, die productie-like het signing script en sleutelceremonie doorloopt,waarna het testcertificaat door de Policy Authority (PA) van de PKIoverheid wordt gecontroleerd. Dus zowel testinspanning bij de Certificaatverstrekker en bij Getronics. Hiermee kunnen technische fouten in het productielike proces gevonden worden, die zo nog verbeterd kan worden alvorens voor goedkeuring naar PKIoverheid wordt gezonden. Essentieel hierbij is dat de tester voldoet aan de volgende eisen: technische kennis van het aanmaken van een certificaat en gecertificeerd zijn in een voor deze branche toepasbare testmethode.
Testexpertise (in- en extern) kan, naar mijn mening, ook gebruikt worden bij de procesketen van certificaatbeheer. Hieronder valt het al besproken aanmaken, maar ook het proces van veranderen en revoken van een PKIoverheidcertificaat (en andere deelprocessen).
Dit kunnen proces-acceptatietests zijn, maar ook reviews van procesbeschrijvingen horen onderdeel te zijn van het takenpakket van een geschikte tester.
Kortom, genoeg zaken (en wellicht nog meer) waarbij een tester nuttig kan zijn ten behoeve van de audit, veiligheid en kwaliteitsborging van digitaal certificaatbeheer.
Digitaal certificaatbeheer gaat vooral om vertrouwen. Door een gezamenlijke transparante aanpak van CA, overheid, auditor en tester zou dit vertrouwen weer hersteld kunnen worden.
Testen moet een integraal onderdeel zijn van digitaal certificaatbeheer. De investering is laag, het bespaart geld en in het geval van DigiNotar, heel veel geld en reputatieschade.
Cordny mischien zie ik het verkeerd maar ik kreeg de indruk dat jij je aangevallen voelt door de eerste opmerking van edekknga.
Voor het overgrote deel zijn wij hier beroepshalve met automatisering bezig en weten we waar en waarom het fout gaat.
Het is heel goed mogelijk dat jij in een omgeving werkt waar juist dank zij jou werkwijze rampen worden voorkomen,
maar zoals Ewout en mijn naamgenoot al aangeven is het niet overal goed geregeld.
Security by Obscurity is wel een van de meest lachwekkende beveiligings technieken die juist vanwege het ‘verboden op het gras te lopen’ aspect zo onbetrouwbaar is.
Verder kan ik uit eigen ervaring bevestigen dat er zowel met testen als met auditten ontzettend de hand gelicht wordt met de gedachte gang van de regels,
Dit nog even los van de testers zelf (dat zijn bepaald niet alijd academici)
Notabene in je eigen artikel som je een aantal verbeteringen op.
Ik denk dat je een prima artikel hebt neergezet en dat de reacties hierboven dit enkel bevestigen.
@Pascal
Mooi gezegd. Ik ben zelf ook beroepshalve bezig met automatisering en vond dat ik even het beeld wilde rechtzetten wat, naar mijn mening, een goede tester is.
Security by obscurity is een groot probleem en daarom heb ik dit artikel met mijn opgesomde verbeterpunten ook geschreven.
Een beetje jammer vind ik je vergelijking van testers met wel of niet academici zijn, maar dat terzijde.
Dat kunnen we wel een keer onderling bespreken.