Uit reacties op mijn stukje over het vinden van software via ranzige .ru en .lv domeinen blijkt dat er nogal hoge verwachtingen bestaan over de ethiek van de Security consultant. Kennelijk vinden sommige lezers het onwenselijk dat een senior consultant kennis heeft van de wat meer duistere zijden van het Internet. De kreet jeugdzonde is gevallen. Dank, dank, zo jong ben ik niet meer....
Maar het aangesneden punt, ethiek, is wel belangrijk en verdient zeker aandacht. Er zijn al tal van schrijfsels over en het onderwerp heeft zelfs geleid tot een aparte beroepsgroep, de 'Ethical Hackers'. In de jaren 90 dook het begrip al eerder op, waarbij de huidige variant impliceert dit niet alleen ethisch verantwoord bezig te zijn maar dat ook gecertificeerd te doen. Als ik de EC Council moet geloven is een ethical hacker een gecertificeerde persoon die, gewapend met 'dezelfde kennis als een hacker' de beheerder bijstaat. Iemand dus die denkt als een dief om zo dieven te vangen maar zelf niet steelt. Klinkt helemaal toppie.
Om dit body te geven hebben ze er een opleiding voor gestart - die van alles vertelt over allerlei types aanval, maar helaas erg gemakkelijk voorbijgaat aan het 'niet stelen'. Zoals de meeste mensen weten maakt de gelegenheid de dief: als je in staat bent in te breken voor je eigen baan, waarom zou je dat dan niet doen om indruk te maken op dat pittige meisje en haar antiglobalistenvriendjes? Daar gaat de EC Council in haar curriculum voor de Certified Ethical Hacker (CEH) niet op in - wel een beetje jammer.
Ik wil hier even dat traditionele religieuze debat over hackers en crackers maar het laat zich niet helemaal vermijden. Waar het vaak op neerkomt is het volgende: Crackers zijn illegaal en passen alleen domme tooltjes toe voor verderfelijke, criminele of commerciële zaken, hackers hebben een aura van intelligentie en integriteit. Om aangeduid te worden als hacker geeft dus ook dat aura. Omdat niet iedereen dat gelijk doorheeft, kun je dat aura versterken door dit expliciet te maken, bijvoorbeeld met een voorvoegsel als über of leet, of meer van deze tijd, Ethical.
Terug naar de CEH. Blijkbaar is er voor hackers een standaard 'Body Of Knowledge', zoals er ook bestaat voor de project manager. Welke kennis zit daar in? Volgens Ankit Fadia in de tweede uitgave van zijn officieuze gids voor 'Ethical' Hacking uit januari 2005, is de essentie van een ethical hacker dat hij over de volle breedte van het veld elementaire kennis heeft en alle tooltjes kent. Niks mis met SAINT en NATAS, maar om het anno 2005 nog als serieuze hulpmiddelen te positioneren.... Maar goed, Ankit is als professional zeer omstreden, omdat hij zijn materiaal bij elkaar gegoogled zou hebben. Bij hem schittert de beroepsethiek door afwezigheid, terwijl het vak nota bene gedefinieerd wordt als een ethische activiteit. Nu moge Ankit omstreden zijn, ISECOM is dat zéker niet. ISECOM geeft in haar trainingen voor tiener hackers (www.hackerhighschool.org) diep weg in het opleidingsmateriaal een schets van de werkwijze van een ethische hacker. Ook hier hetzelfde patroon: een volgorde van zeven stappen van een aanval over het internet .... en daar houdt het hoofdstuk op. Het zelfde overkomt je bij een bezoekje aan www.ethicalhacker.net; geen spoor van denken over ethiek. Het enige wat je ziet zijn mensen die lekker willen hacken, maar dan 'legaal'.
De 'ethische' cursussen schetsen het volgende beeld van een aanvaller: hij is goed thuis in 'UNIX', kan scripten en proggen, beschikt over een breed arsenaal aan tools en weet ongeveer wat hij ermee kan doen. Dat is blijkbaar de Body Of Knowledge van de hacker, die verdacht veel lijkt op die van allerlei andere security opleidingen. Een hacker weet dus hetzelfde als een consultant.
Mijn ervaring is anders. Een aanvaller hoeft maar een beperkt aantal trucjes te kennen in een smal stukje, maar wél heel erg goed. Vergelijk het met een fietsendief. Hij hoeft maar van één type gangbaar slot één manier te weten om hem open te krijgen en hij kan aan het werk. Er staat altijd wel ergens een fiets met het slot dat hij kan kraken. Bovendien zijn niet alle trucjes technisch. De über-fietsendief weet waar z'n collega's de opengebroken fietsen die ze nog moeten verkopen, verstoppen. Die steelt hij, zonder ooit een slot te kraken. Of is dit nu juist een ethische fietsendief?
Het beeld van een aanvaller die op een Unix prompt van een doos die hij zojuist geroot heeft 'dir' intypt wordt vaak gebruikt om de effectiviteit van toolies versus de onkunde van de scriptkiddie te onderstrepen. Dat kán inderdaad zo zijn, maar het kan net zo goed betekenen dat de aanvaller nu eenmaal weinig weet van Unix maar heel veel van de ISA-box of de content switch die in de stap daarvoor gehacked is. De gangbare definitie van een 'echte hacker' als iemand met in ieder geval verstand van Unix en C is écht passé. Je hebt andere skills nodig, als je de Blackberry van Balkenende wil kraken.
De protagonisten van 'Ethical' Hacking laten wel meer steken vallen. Zo wordt erop gewezen dat een penetratietester bijna hetzelfde is als een hacker, maar het verschil wordt nergens uitgelegd. Een penetratietest is een ondersoort van het fenomeen testen en maakt gebruik van een gestructureerde methodiek. In alle stukken van de ethische hackers gaat het over hoe de tools werken, niet over wat en hoe je test, of wat de waarde is van de testresultaten.
Samengevat: Blijkbaar is ethisch hacken hetzelfde als de wet niet overtreden. De protagonisten van ethisch hacken hebben uit marketingoverwegingen de kreet gekozen, zonder enige moeite te doen om eens te kijken wat er mee bedoeld wordt. Aan de vervolgens geboden brede, oppervlakkige en enigszins verouderde technische kennis en de ongestructureerde werkwijze is echter niets ethisch. Eerder het tegendeel: ondermaats werk voor te veel geld.
Ethiek is iets anders dan het zich al dan niet houden aan de wet. Tussen je aan de wet houden (de legaliteit) en maatschappelijk verantwoord gedrag (hoe het hoort) zit een groot verschil. De wet is in veel gevallen ook niet heel expliciet dus je moet per situatie interpreteren. En over wat maatschappelijk verantwoord is, lopen de meningen ook wel eens uiteen. Dit is nu het speelveld van de ethiek.
Blijkbaar is dit lastig, dus ik zal het even uitleggen met een voorbeeld. Je zit de avond na de InfoSecurity beurs tijdens een hevige onweersbui in een taxi van Utrecht naar Den Haag. De chauffeur vloekt hartgrondig, omdat iemand zonder licht 90 rijdt op de middenbaan van een verder uitgestorven A12. Wat doe je? Bel je het taxibedrijf om te klagen over het gedrag van de chauffeur, omdat de chauffeur de bestuurder van de andere auto voor lid van een etnische minderheid met een dodelijke ziekte uitmaakt? Doe je aangifte wegens discriminatie? Of ben je blij dat de chauffeur er niet tegenaan gereden is en geef je hem extra fooi?
En zo komen we terug bij de oorspronkelijke vraag; wat zouden de ethische standaarden van een consultant in beveiligingsland dán moeten zijn. Volgens leidende instanties in het vakgebied is een beveiligingsconsultant een lichtend voorbeeld, iemand die door de zuiverheid van zijn daden anderen weerhoudt van het overtreden van regels. Zo moeten leden van de ISSA (Information Systems Security Association) de 'hoogste ethische standaarden toepassen', 'de wet niet overtreden' en 'intellectueel eigendom beschermen'. Bovendien moeten zij de 'algemeen geaccepteerde' beveiligingstandaarden en 'best practices' uitdragen. Wat niet wordt toegelicht wélke hoge standaarden, best practices en intellectueel eigendom, al dan niet ethisch of beveiligingsgeoriënteerd... De ISSA wil toch niet beweren dat je niet naar closed source mag kijken of er toevallig een gat in zit, omdat de vendor dat in de EULA heeft gezet? ISC2, bekend van de CISSP, doet het in haar code al heel wat beter. Maar door in het geheel niet op in te gaan op intellectueel eigendom, blijven actuele en belangrijke vakspecifieke vragen open en dat is erg jammer.
Praktisch gezien gaat de ethiekdiscussie hierover: hoe vind je dat je je kennis op niveau moet houden? Hoe weet je van gangbare en nieuwe aanvalstechnieken zonder bepaalde sites en communities mee te lezen? Hoe weet je welk internetgedrag riskant is als je de websites niet kent? Hoe weet je of een systeem veilig is? Of hoef je alleen maar bij te houden wat de 'best practices' en productcertificeringen voorschrijven, en laat je de donkere zijde over aan de onbekenden die de best practices en de default rules van je IDS opstellen? Ik houd mijn handen schoon en ik kijk neer op de mensen die dat niet doen? Wie zo denkt, accepteert een structurele kennisachterstand van járen. Dat mag natuurlijk. Maar nu wordt het nog ethischer: dan moet je wél je klant vertellen dat je hem alleen beschermt tegen aanvallen tot pakweg 2005.
Nee, dat is niet aardig. Maar wil je goed genoeg zijn, dan zul je je hackerskennis up-to-date moeten houden. Met een mes kun je ook hele nare dingen doen. Toch is een mes an sich geen moordwapen. Als we messen gaan verbieden omdat je er iemand mee kan neersteken, hoe snijden we dan onze uien?
Okee, okee, virale code is iets anders dan een mes. Als niemand zou weten hoe virussen in elkaar zitten, zouden ze er niet zijn. Er is geen ander nut voor virale code. Dat is over het algemeen wel juist, ja. Kennis verdwijnt echter niet omdat dat moreel beter is, en virussen gaan écht niet meer weg. Om virussen te kunnen onderscheppen moet je écht heel goed weten hoe ze werken; zelfs een junior bij een firma als Kaspersky zal meer van virussen (moeten) weten dan de meeste virusbakkers in het wild. Pogingen om kennis te verbieden, ook in een recent verleden door onze regering, zijn een zekere koers om moreel verheven naar de bliksem te gaan.
De ethische vragen waar je in de praktijk voor komt te staan, zijn gewoon niet eenvoudig. Ze gaan bovendien niet alleen over het opdoen van kennis maar ook over daden. Mag je je kennis inzetten voor een organisatie die wellicht kwaad in de zin heeft? Mag je de systemen van zo'n 'kwade organisatie' opzettelijk zwak laten? Laat je je rekruteren om stiekem iets in het systeem van een ver buitenland te doen? Mag je de details van een gat in een stuk software publiek maken als de leverancier niet thuis geeft? Mag je een worm uitbrengen die andere aanvallen voorkomt of de schade herstelt? Kun je het maken om een systeem in een ver land wat dieper te bekijken om vast te stellen of het een zombie is of misschien de doos van de aanvaller zélf? Breek je bij forensisch onderzoek de veiligheidsmaatregelen van de verdachte? Doe je dat ook als je het vermoeden hebt dat er politieke motieven meespelen? Als je een exploit verkocht hebt, wat doe je als blijkt dat de exploit ook na zes maanden nog niet is doorgegeven aan de maker van de software, zodat het gat blijft bestaan en de hele wereld kwetsbaar blijft?
Een specialist die op al deze vragen direct een pasklaar antwoord heeft, is hetzij helderziend, hetzij arrogant en gemakzuchtig. Iedere situatie kent nuances, en in iedere situatie handel je - zeker in het begin - met onvolledige en deels onjuiste informatie. Een zinvolle beroepsethiek zal dan ook hiermee moeten samenhangen: blijf onderzoeken, blijf nadenken, en blijf communiceren, ook over je twijfels en de onvermijdelijke fouten. En voor de omgang met 'de duistere zijde' geldt het aloude adagium: wel ín de wereld maar niet ván de wereld, met alle verleiding van dien. Mensen die er prat op gaan dat ze bepaalde kennis niet willen opdoen vanwege 'morele' overwegingen, kun je maar beter mijden.
Peter Rietveld, Senior Security consultant bij Traxion - The Identity Management Specialists -
Vorige columns van Peter
Deze posting is gelocked. Reageren is niet meer mogelijk.