Artikel
Webapplicatie-onderzoek bij de Rijksoverheid Kwetsbaarheden in beeld? Johan Schuyl en Ad Buckens
Internet is niet meer weg te denken uit onze maatschappij. Nederland loopt voorop als breedbandland en het aantal online transacties door consumenten neemt gestaag toe. Commerciële instellingen maken op grote schaal gebruik van webapplicaties en de overheid volgt snel. Toepassingen die door de overheid worden ingezet zijn bijvoorbeeld DigiD en de elektronische gemeenteloketten die op veel plaatsen beschikbaar zijn. EDP AUDIT POOL komt in haar onderzoeken steeds vaker webapplicaties tegen waar burgers en bedrijven transacties mee uit kunnen voeren. In dit artikel beschrijven wij wat de risico’s zijn van webapplicaties, hoe EDP AUDIT POOL webapplicatie-onderzoek uitvoert en welke stappen in dit onderzoek worden doorlopen. Het artikel is primair bedoeld voor personen die in algeme-
E
DP AUDIT POOL heeft begin 2005 de webapplicatieonderzoeken opgestart om een aantal redenen. Tijdens audits naar de beveiliging van netwerken en internetkoppelingen troffen wij steeds meer webapplicaties aan. Daarnaast neemt de interactiviteit van webapplicaties binnen de overheid toe. Onder andere gesteund door projecten van het overheidsprogramma ‘Andere Overheid’, krijgen burgers en bedrijven steeds meer de mogelijkheid direct te communiceren met de overheid; tot voor kort werden in overheidsland webapplicaties voornamelijk gebruikt om burgers en bedrijven te informeren. Naast het toenemende gebruik van webapplicaties, kwamen vanuit het werkveld van beveiligingsspecialisten en penetratietesters steeds meer geluiden dat de webapplicaties zelf kwetsbaarheden bevatten, waarmee de beveiliging kon worden omzeild. Bij de netwerkonderzoeken zoals ze tot op dat moment werden uitgevoerd, werden de specifieke kwetsbaarheden in een webapplicatie niet geraakt.
naleerd en waarover is gepubliceerd.
De auditdiensten van de ministeries zagen door deze signalen meer en meer de noodzaak om de beveiliging van de aanwezige webapplicaties te onderzoeken. EDP AUDIT POOL, een interdepartementaal samenwerkingsverband van auditdiensten binnen de Rijksoverheid op het gebied van IT-auditing, voert dergelijke specialistische onderzoeken uit voor de verschillende ministeries, mede met het oog op efficiency.
Drs. J. (Johan) Schuyl RE is
Drs. A.J.J.G. (Ad) Buckens RE
Overigens beperkt het webapplicatie-onderzoek zich niet tot internettoepassingen. De onderzoeken richten zich op applicaties die op internettechnologie zijn gebaseerd, dus ook op intranettoepassingen, die dezelfde kwetsbaarheden kunnen bevatten. Een goed voorbeeld van intranetapplicaties die vaak vertrouwelijke gegevens bevatten, zijn de ‘doe-hetzelf’-arbeidsvoorwaardenportalen. Voor deze portalen is het interessant om na te gaan in hoeverre deze toepassingen kwetsbaar zijn, omdat ontevreden werknemers hier eventueel misbruik van kunnen maken. De voorbeelden die we in dit artikel zullen gebruiken, zijn afkomstig uit diverse sectoren, maar het risico dat soortgelijke situaties zich binnen de overheid voor zullen doen, is niet kleiner.
sinds december 2001 werk-
is sinds april 2005 werk-
zaam bij EDP AUDIT POOL.
zaam bij EDP AUDIT POOL.
ne zin meer te weten willen komen over dit onderwerp. In dit stuk worden enkele voorbeelden aangehaald waarbij andere organisaties dan de overheid figureren, het gaat hierbij om risico’s die in de praktijk zijn gesig-
Praktijk In de anderhalf jaar dat EDP AUDIT POOL webapplicatieonderzoeken uitvoert, is gebleken dat het aantal webapplicaties groot is en in veel gevallen het totaaloverzicht van aanwezige applicaties met hun functionaliteiten ontbreekt. Daarnaast is een grote verscheidenheid aan technologieën in gebruik. De technologieën bevinden zich op verschillende 23 | de EDP-Auditor nummer 3 | 2006
Artikel
De verscheidenheid aan technologieën en het aantal verschillende componenten dat aanwezig is in een webapplicatie, maakt dat voor het uitvoeren van webapplicatie-onderzoek een grote hoeveelheid kennis nodig is. Daarnaast is het aantal kwetsbaarheden waarop moet worden getoetst aanzienlijk en voortdurend groeiende. Dit alles maakt het uitvoeren van een handmatig onderzoek een bijzonder tijd– rovende zaak zodat geautomatiseerde oplossingen moeten worden ingezet. Bij sommige organisaties bestaat nog het idee dat de kwetsbaarheden die met een webapplicatie-onderzoek worden aangetoond niet van toepassing zijn, omdat de infrastructuur met een firewall is beveiligd. Mogelijk heeft de organi-
satie hier gelijk, maar veelal berust dit gevoel van veiligheid op een misverstand. Veel gebruikte firewalls filteren verkeer op basis van verzoeken, en controleren daarbij het ip-adres en het poortnummer. De firewalls voeren geen controle uit op de inhoud van de http- of https-verzoeken die worden gedaan aan de webserver (veelal op poort 80 of 443). Om een applicatie te kunnen laten functioneren moeten verzoeken van buitenaf kunnen doordringen tot de database waar het antwoord kan worden gegeven en dat antwoord moet vervolgens weer worden teruggestuurd. Dit betekent dus dat een zekere opening in de firewall noodzakelijk is om de webapplicatie te kunnen laten functioneren. Figuur 1 toont een schematische weergave van het pad dat een verzoek aan een webapplicatie doorloopt. Als het om een internetapplicatie gaat, is de herkomst van een verzoek (ip-adres) van te voren niet vast te stellen, waardoor de applicatie in principe beschikbaar wordt gesteld aan een grote, oncontroleerbare groep gebruikers. De mogelijkheid om de inhoud van verzoeken aan de webapplicatie te controleren bestaat wel en is aanwezig in zogenoemde application level firewalls. Deze specifieke firewalls komen al lang voor in de topologie van firewalls, maar worden in de praktijk nog weinig toegepast. De functionaliteit is als module beschikbaar voor bijvoorbeeld Checkpoint Firewall 1 en
"ACKOFFICE SYSTEMEN
lagen in het OSI-model en om een globaal inzicht te geven in de genoemde technologieën volgt hier een kort en absoluut niet als volledig bedoeld overzicht: • webapplicatie-software (Oracle Applications, WebSphere, zelfbouw etc.); • webapplicatie-programmeertalen (.Net, PHP, etc.); • content-managementsystemen (Tridion, Typo3, etc.); • webserver software (Apache, IIS, etc.); • besturingssystemen (Linux, Windows, etc.); • database software (Oracle, MySQL, etc.).
!PPLICATIELAAG .ETWERKLAAG
!PPLICATIE AANVAL
7EBAPPLICATIE
!PPLICATIE SERVER 7EB SERVER
&IREWALL
&IREWALL
"ESTURINGSSYSTEEM
Figuur 1 | Het pad van de applicatie aanval
24 | de EDP-Auditor nummer 3 | 2006
Apache, maar ook als dedicated systeem. De application level firewalls scannen de inhoud van verzoeken die aan webapplicaties worden gedaan en laten het verkeer aan de hand van voorgedefinieerde regels al dan niet toe. Voor dit artikel strekt het te ver om de functionaliteit van deze apparatuur nader te behandelen.
Website Wilders kwetsbaar voor ‘low-tech hack’ Dinsdag 15 maart 2005, 15:32 - De website van het onafhankelijke kamerlid Geert Wilders blijkt niet bestand tegen zogeheten ‘lowtech hacks’. Door wat te knutselen met de link http://www.geertwilders.nl/ index.php?id=Personalia kunnen bezoekers eenvoudig nieuwe
Voordat we ingaan op de wijze van onderzoek willen we eerst de risico’s van webapplicaties bespreken. Is het tenslotte wel de moeite waard om hier tijd en (belasting)geld aan te spenderen? Veel reguliere maatwerkapplicaties worden tenslotte ook niet aan een aparte beveiligingsscan onderworpen.
afbeeldingen en teksten aan de bestaande personaliapagina van Wilders toevoegen, zo ontdekte het weblog Retecool. Als bewijs zet het weblog een foto van Mohammed B. (de waarschijnlijke moordenaar van Theo van Gogh) en de tekst ‘Mohammed is ok ole, ole!’ boven het curriculum vitae van Wilders. De ontdekking van Retecool.com is voor bezoekers van het weblog
Risico’s Definiëren we het risico dat de overheid loopt ten aanzien van webapplicaties als kans maal schade, dan komen we tot een aantal punten waar we in de praktijk veel mee worden geconfronteerd. Overigens betreft het hier naast technische problemen met webapplicaties soms ook functionele problemen die de algehele beveiliging in gevaar brengen. Schade
De aanvallen op webapplicaties kunnen vele vormen van schade voor een organisatie veroorzaken. Deze paragraaf zal ingaan op een aantal vormen van schade die zich voor kunnen doen na een aanval op een webapplicatie. Aanvallen op internetapplicaties kunnen afhankelijk van de aard van de hack snel bekend zijn bij een groot publiek. Een defacement (het vervormen van het uiterlijk van de webapplicatie) heeft als doel zoveel mogelijk mensen te bereiken waarbij duidelijk wordt gemaakt dat het de hacker is gelukt om de beveiliging van de website te doorbreken, dan wel een politieke of religieuze boodschap af te geven. De schade is in dat geval met name imagoschade, naast de schade die de organisatie oploopt door het uitvoeren van herstelacties. Acties waarbij klanten of, in het geval van de overheid, burgers worden opgeroepen tot het uitvoeren van bepaalde handelingen, zoals het verstrekken van gebruikersnaam en wachtwoord, kunnen mogelijk financiële consequenties hebben. Een voorbeeld zijn de phishing-aanvallen die de laatste tijd worden uitgevoerd op een aantal banken. Klanten van de banken worden ertoe verleid op een link te klikken, waarna ze worden gevraagd hun inloggegevens in te geven. In een aantal gevallen werd gebruik gemaakt van kwetsbaarheden in de webapplicatie waardoor een zogenaamde Cross Site Scripting aanval mogelijk werd. Ook de website van de heer Wilders bleek na onderzoek naar aanleiding van onderstaand artikel een dergelijke kwetsbaarheid te bevatten. De schade die kan worden toegebracht door het gebruik van internet kan groot zijn en hoeft niet noodzakelijkerwijs voort te komen uit technische kwetsbaarheden. Een voorbeeld daarvan is de Kamer van Koophandel (KvK) waar de functionaliteit van de webapplicatie werd misbruikt voor doeleinden waar de organisatie zelf niet bij stil had gestaan.
reden om zelf aan de slag te gaan met de site van Wilders. Daardoor lijkt het bijvoorbeeld net alsof de vroegere Irakese minister van Informatie, Muhammed Saeed al-Sahaf, de nieuwe perschef van Wilders is geworden. Bron: WebWereld
De website van de KvK bood de mogelijkheid handtekeningen van beslissingsbevoegden van organisaties in te zien. Kwaadwillenden konden deze handtekeningen downloaden en misbruiken om namens de organisatie overeenkomsten te sluiten. Door deze mogelijkheid is het vertrouwen van ondernemers in de KvK geschaad. Uit dit voorbeeld blijkt dat initieel niet voldoende aandacht is gegeven aan de beveiliging en de nadelige neveneffecten van de aangeboden functionaliteit. Kans De meest gestelde vraag bij webapplicatie-onderzoeken is: ‘Hoe vaak komen dergelijke aanvallen voor?’ Een plausibele vraag voor een manager die moet bepalen of de inzet van middelen om de kwaliteit van de beveiliging te verhogen noodzakelijk is. Het antwoord op deze vraag is geen simpele rekensom waarmee aan de hand van enkele factoren een kans kan worden berekend. Het inherente gevaar van een internetapplicatie is de blootstelling aan een grote oncontroleerbare groep. Natuurlijk worden autorisatie- en authenticatiemechanismen toegepast om (delen van) webapplicaties af te schermen, maar om functionaliteit te garanderen zal de voordeur veelal zichtbaar blijven en de achterdeur wellicht ongewild ook. Of kwaadwillenden uit de grote oncontroleerbare groep ook daadwerkelijk proberen zich toegang te verschaffen tot de applicatie hangt af van de aantrekkelijkheid van de webapplicatie en het doel van de aanvaller. Grofweg maken we een indeling in drie groepen aanvallers: • (cyber)criminelen: gericht op halen van financieel gewin; • (cyber)terroristen: gericht op het dereguleren van de maatschappij; • hackers: gericht op het aantonen van beveiligingslekken. Een webapplicatie die een koppeling heeft met de achterliggende systemen en de mogelijkheid heeft financieel gewin te
25 | de EDP-Auditor nummer 3 | 2006
halen, is interessant voor criminelen. Voor terroristen en met name hackers is het financiële gewin van minder belang. Terroristen die opereren met als doel het dereguleren van de samenleving en de overheid kijken dus met andere ogen naar de webapplicatie dan criminelen of hackers. Hackers trachten veelal aan te tonen dat de beveiliging van de aangevallen sites slecht op orde is of willen aan mede-hackers aantonen dat zij het vak verstaan. Overigens worden cyberterroristen en -criminelen vaak onder deze groep geschaard. In het vervolg van het artikel spreken we van hackers als verzameling van bovengenoemde groepen. Opvallend is dat misdaden uit de normale wereld zich steeds meer voordoen in de cyberwereld. Denk hierbij aan de volgende delicten: chantage, diefstal, gijzeling, maar ook de moderne vormen van oplichting als phishing-aanvallen en Nigerian scams. Inmiddels zijn chantagegevallen bekend waarbij wordt gedreigd met het onbereikbaar maken van webapplicaties in de vorm van Distributed Denial Of Service aanvallen, al dan niet gebruikmakend van botnets. Een bot is een programma dat zelfstandig ‘geautomatiseerd werk’ kan uitvoeren. Als uw computer is geïnfecteerd met een bot, maakt deze vaak onderdeel uit van een grootschalig en wereldwijd botnetwerk. Dit netwerk noemt men ook wel een botnet. Een persoon kan een botnet vanuit een centraal punt op het internet besturen. Daarnaast zijn inmiddels gevallen bekend van het gijzelen van bestanden om losgeld te verkrijgen (zie tekstkader).
‘Gijzeling’ computerbestanden Associated Press maakt melding van een nieuwe bedreiging via Internet: afpersing door computerbestanden van een slachtoffer ‘in
een aantal diensten op internet beschikbaar dat beveiligingslekken publiceert. Een aantal van deze sites levert tevens de programmacode om de kwetsbaarheden uit te buiten (exploits), inclusief de handleidingen die vertellen hoe deze programma’s moeten worden gebruikt. Dergelijke kennisuitwisseling maakt het uitbuiten van kwetsbaarheden steeds makkelijker. Tevens blijkt uit allerhande onderzoeken dat hackers hun aandacht steeds meer hebben verlegd naar hogere lagen in het OSI-model en steeds minder firewalls en routers aanvallen en steeds vaker de kwetsbaarheden in webapplicaties misbruiken. Het jaarlijkse Symantec Internet Security Threat Report toont een stijging aan in het aantal aanvallen op webapplicaties.
Steeds meer aanvallen Of the vulnerabilities disclosed between July and December 2005, 69% were associated with Webapplications. This represents a 15% increase over the first half of 2005 where they made up 60% of all vulnerabilities. Bron: Symantec Internet Security Threat report
In de media verschijnen de laatste tijd in toenemende mate berichten over webapplicatiegerelateerde aanvallen. Naar aanleiding hiervan kunnen we de conclusie trekken dat aanvallen voorkomen en dat aanvallen zich de afgelopen tijd steeds meer richten op webapplicaties. Hoe vaak dit daadwerkelijk bij de overheid (ons werkterrein) het geval is, blijft onduidelijk. Statistiek ontbreekt, maar gevallen van aanvallen zijn bekend.
gijzeling’ te nemen. Minstens één Amerikaans bedrijf zou er al slachtoffer van zijn geworden. De afperser slaagde erin zijn slachtoffer te verlokken om naar een speciaal geprepareerde website te gaan, en wist vervolgens gebruik te maken van een lek in de browser van zijn slachtoffer om een programma te installeren dat een vijftiental bestandstypes versleutelde. Ook liet het programma een bericht achter met de mededeling dat de bestanden versleuteld waren, en dat de sleutel via een bepaald e-mailadres gekocht kon worden. Als flessetrek-
Concluderend kunnen we vaststellen dat aanvallen voorkomen die momenteel met name imagoschade kunnen veroorzaken, afgezien van de kosten die gemaakt worden voor herstelacties. Voor ons is dit voldoende reden om onderzoeken uit te voeren naar de beveiliging van webapplicaties, met name met het doel om het management bewust te maken van de risico’s zodat voor toekomstige applicaties hieraan extra aandacht kan worden besteed.
kersmethode is de inbraak niet erg geslaagd, omdat de betaling een spoor zou achterlaten dat zeer snel naar de afperser zou leiden.
Uitvoering
Maar de overlast van dit soort aanvallen op computers is voor de
Scope
slachtoffers wel erg groot. Overigens slaagde een beveiligingsex-
Een onderzoek naar de beveiliging van webapplicaties kan zich toespitsen op de procedures, richtlijnen en handleidingen die van toepassing zijn bij de totstandkoming van de webapplicatie. EDP AUDIT POOL heeft ervoor gekozen initieel de aandacht te vestigen op het daadwerkelijk testen van de webapplicatie. Het testen van de webapplicatie geeft naar onze mening snel inzicht in de daadwerkelijk aanwezige kwetsbaarheden. Bovendien is de acceptatie van de bevindingen groter bij het management als het onderzoek vanuit een aanvalsperspectief wordt uitgevoerd, omdat dit een herkenbaar scenario is.
pert er in het beschreven geval wel in de versleuteling ongedaan te maken zonder ‘hulp’ van de afperser. Bron: Associated Press
Internet zorgt er niet alleen voor dat de gebruikers die de webapplicatie bezoeken (nagenoeg) niet te controleren zijn, maar biedt ook hulpmiddelen voor het uitvoeren van hacks. Internet kent een groot aantal uitwisselingsdiensten die zich aan de duistere kant van het internet bevinden. Daarnaast is
26 | de EDP-Auditor nummer 3 | 2006
EDP AUDIT POOL ziet het bewust maken van het management als eerste stap in het beveiligen van webapplicaties. Op het moment dat het management zich bewust is van de risico’s van webapplicaties ontstaat tevens de ruimte om aandacht te gaan besteden aan de kwaliteit van het totstandkomingsproces en het beheer van de webapplicatie. De daadwerkelijke oorzaak van de beveiligingsproblemen ligt namelijk veelal op deze twee terreinen. Overigens is het ontwikkelen van een webapplicatie een dermate complex proces dat een fout snel is gemaakt, waardoor het testen van een webapplicatie altijd van belang zal blijven. Naast de kwaliteit van het totstandkomingsproces en het beheer van de webapplicaties zouden de instellingen van de verschillende componenten onderwerp van onderzoek kunnen zijn. Tot slot heeft de samenhang tussen de ver– schillende componenten nog een belangrijke invloed op de kwaliteit van de webapplicatie.
Hack van 21.549 websites record
Om het grote aantal bekende kwetsbaarheden te kunnen testen, wordt gebruik gemaakt van een geautomatiseerd hulpmiddel. Handmatig zou een dergelijk onderzoek veel tijd in beslag nemen. Begin 2005 heeft EDP AUDIT POOL een pakketselectie uitgevoerd om de juiste tool aan te schaffen. Destijds waren niet veel webapplicatiescanners beschikbaar om uit te kiezen. De belangrijkste criteria voor de keuze van de scanner die we nu hanteren zijn: • het regelmatig beschikbaar komen van updates met nieuwe kwetsbaarheden en nieuwe tests van al bekende kwetsbaarheden; • de duidelijke verslaglegging van de testen, waarbij de verzoeken aan de applicatie en de antwoorden die terugkomen, kunnen worden getoond, zodat ontwikkelaars een goed inzicht krijgen op welke punten aanpassingen moeten worden gedaan; • de uitleg over gevonden kwetsbaarheden, de risico’s en de plaatsen waar meer informatie is te vinden; • de mogelijkheid om zelf tests te bouwen.
De Turkse hacker Iskorpitx heeft een record aantal websites gehackt. Hij wist namelijk 21.549 websites in één keer te hacken en defacen. Alsof dit nog niet genoeg was heeft hij de volgende dag nog eens 17.000 websites gedefaced. Iskorpitx plaatste een foto van een Turkse vlag met een afbeelding van AtaTurk. Verder werd de volgende tekst geplaatst:
Momenteel is de keuze in het assortiment van webapplicatiescanners groter dan ten tijde van de selectie. Wij blijven de ontwikkelingen bij de verschillende scanners actief volgen om zo nodig over te kunnen schakelen naar een scanner die duidelijke voordelen biedt ten opzichte van de huidige keuze. Aanpak Onze aanpak van een webapplicatie-onderzoek is opgedeeld in een aantal fasen. Hieronder volgt een beschrijving van de onderzoeksfasen.
“HACKED BY iSKORPiTX (TURKISH HACKER) FUCKED ARMANIAN-FUCKED FRANCE-FUCKED GREECE-FUCKED PKK
Identificeren webapplicaties
TERROR iscorpitx, marque du monde, présente ses salutations à tout le monde.” Iskorpitx begon zijn controversiële hackercarrière in 2003 en was de eerste Turkse defacer. Inmiddels heeft hij meer dan 117.000 websites gehackt, waaronder verschillende overheidssites. Wat betreft
In het vooronderzoek worden de kritieke webapplicaties gedefinieerd. Deze identificatie gebeurt in samenwerking met de opdrachtgever en de beheerders van de ICT-organisatie. Vaak blijkt dat een organisatie van meer webapplicaties gebruikmaakt dan het management in eerste instantie aangeeft. Naast de ‘corporate’ website gebruikt men vaak web– applicaties voor het delen van informatie met ketenpartners.
de 21.549 websites is het niet bekend op welk niveau de aanval plaatsvond (root of webserver), zo laat Zone-H weten. Volgens
Bepalen tijdstip van onderzoek
insiders zou de Turkse defacer 45 jaar oud zijn en wordt hij bij
Nadat de kritieke webapplicaties zijn bepaald, wordt allereerst afgesproken of een test- of productieomgeving wordt gescand. De testomgeving wordt veelal gescand in een prelive situatie. De webapplicatie is nog niet in productie en voorafgaand daaraan wordt de beveiliging doorgelicht. In dat geval zal de testomgeving waarop de test moet worden uitgevoerd, beschikbaar moeten zijn. Indien een webapplicatie al operationeel is, wordt veelal de productieomgeving onderzocht. Eén van de redenen hiervoor is het feit dat productieen testomgevingen in de praktijk toch op bepaalde punten van elkaar verschillen. Het testen van een productieomgeving moet in principe op ieder willekeurig moment mogelijk zijn, omdat wij ervan uitgaan dat ook hackers op elk moment
sommige defacements geholpen door een andere “senior cracker”, de 42-jarige Metlak.
Bron: Beveiligingsnieuws
27 | de EDP-Auditor nummer 3 | 2006
kunnen toeslaan en niet wachten tot het weekend of de avonduren. Overigens wordt veelal vooraf gecommuniceerd dat de test plaats zal vinden. Dit om blokkering van het ipadres, waar de vele duizenden verzoeken vandaan worden verstuurd, door alerte firewall-beheerders, te voorkomen.
Categorieën De rapportage is ingedeeld in risicocategorieën ten aanzien van webapplicaties. EDP AUDIT POOL maakt gebruik van een opdeling in vier categorieën die het resultaat is van bevindingen naar aanleiding van onze onderzoeken.
Verkenning van de webapplicatie en de gebruikte technieken
Deze categorieën zijn een samenvatting van de top tien van kwetsbaarheden voor webapplicaties die door het Open Web Application Security Project (OWASP) is vastgesteld (zie tekstkader).
Dit is een eerste handmatige verkenning van de webapplicatie waarbij met behulp van de browser wordt nagegaan welke technologieën worden toegepast en op welke manier bepaalde fouten door de webapplicatie worden afgehandeld. Aan de hand van deze verkenning kan ook de geautomatiseerde tool worden ingericht.
OWASP top tien kwetsbaarheden • Non-validated input - Attackers can use information not validated
Geautomatiseerde test van de webapplicatie
before used by a Web application to reach backend components.
Nadat de handmatige verkenning van de webapplicatie is afgerond, wordt de geautomatiseerde scan van de applicatie opgestart. De duur van de test is afhankelijk van de grootte van de website en kan variëren van enkele uren tot enkele dagen. De geautomatiseerde scan resulteert in een lijst van potentiële kwetsbaarheden, ingedeeld op basis van de kans dat met een kwetsbaarheid toegang tot de gegevens kan worden verkregen of de applicatie onderuit kan worden gehaald.
• Broken access control - Results from improper enforcement of restrictions on what authenticated users are allowed to do; attackers exploit to access other accounts or use unauthorized functions. • Broken authentication and session management - Account credentials and session tokens not properly protected, allowing attackers to compromise passwords, keys, session cooker or tokens, and assume the identities of other users. • Cross site scripting - The Web application is used as a mechanism to transport an attack to the end user’s browser. A successful
Handmatige verificatie van de resultaten van de geautomatiseerde test
attack can disclose the end user’s session token or spoof content to fool the user.
Omdat de resultaten die door de geautomatiseerde tool worden geleverd niet altijd correct zijn (false positives), moeten deze handmatig worden geverifieerd. Bij de controle proberen wij of het daadwerkelijk mogelijk is om de gerapporteerde kwetsbaarheid uit te buiten met de ons bekende exploits. De enige kwetsbaarheid die we niet zullen uitbuiten, is degene die kan leiden tot een denial of service. We zullen een dergelijke kwetsbaarheid slechts rapporteren.
• Buffer overflows - Web application components written in languages that do not properly validate input can crash and in some cases, be used to take control of a process. These components can include CGI, libraries, drivers and Web application server components. • Injection flaws - Web applications pass parameters when they access external system or the local OS. If an attacker embeds malicious commands in the parameters, the external system may execute those commands on behalf of the Web application. • Improper error handling - Refers to error conditions that occur during normal operations that are not handled properly. Attackers
Afstemming met de gecontroleerde
can use these to gain detailed system information, deny service,
Op het moment dat het onderzoek is afgerond zullen de bevindingen worden afgestemd met de gecontroleerde, zoals dat gebruikelijk is in ons vakgebied.
• Insecure storage - Web applications that use cryptographic func-
Rapportage
• Denial of service - As mentioned above, attackers consume Web
and cause security mechanisms to fail or crash the server. tions to protect information and credentials have proven difficult to code properly, resulting in weak protection.
De webapplicatie-onderzoeken die door EDP AUDIT POOL worden uitgevoerd zijn allen OSW-opdrachten (Overeengekomen Specifieke Werkzaamheden). Concreet betekent dit dat het onderzoek uitmondt in een rapportage van bevindingen en aanbevelingen en dat hieraan geen conclusie wordt verbonden. De voornaamste reden hiervoor is dat door de enorme dynamiek waarmee kwetsbaarheden bekend worden en wijzigingen op webapplicaties worden doorgevoerd, het onmogelijk is een gedetailleerd normenkader samen te stellen. Waar een webapplicatie vandaag veilig lijkt te zijn, kan over diezelfde applicatie morgen een kwetsbaarheid worden gepubliceerd. Het management is dus zelf sterk verantwoordelijk om in te schatten of de organisatie de beschreven risico’s wil lopen.
application resources o the point where other legitimate users can no longer access or use the application. Attackers can also lock users out of their accounts or cause an application to fail. • Insecure configuration management - Web servers have many configuration options that effect security and are not secure out of the box. Having a strong configuration standard is critical. Bron: OWASP
Bestands- en directory toegang
Op de server aanwezige bestanden bieden aanvallers mogelijk extra informatie om de server aan te vallen. Dit geldt zowel voor bestanden die alleen informatie bevatten als voor programma’s voor test- of beheerdoeleinden. Tijdens de test
28 | de EDP-Auditor nummer 3 | 2006
naar voorbeeldbestanden of backups van bestanden met een bekende extensies als ‘.old’ of ‘.bak’. Controle van invoervariabelen
Figuur 2 | Verkondigen van een religieuze boodschap op een gehackte website
wordt gezocht naar veel voorkomende bestanden en directories die niet via links op de website bereikbaar zijn. Dit gebeurt door bekende directorynamen te proberen, zoals admin, administrator et cetera. Een dergelijke test wordt tevens doorlopen voor bestanden. Hierbij wordt gezocht
Aandacht voor de controle van invoervariabelen is bij webapplicaties van groot belang. De programmeur moet er vanuit gaan dat alle invoer onbetrouwbaar is. Overigens is dit niet anders dan bij niet-webapplicaties. Echter, de client die de webapplicatie benadert, valt buiten de invloedsfeer van de organisatie en kan daarmee niet worden gebruikt om invoer te controleren, dit moet op de server gebeuren. Tijdens de test wordt invoer aan de webapplicatie aangeboden die voor bijvoorbeeld databases een speciale betekenis heeft. Als de invoervariabelen niet worden gecontroleerd, betekent dit dat het mogelijk is om commando’s uit te voeren die een ontwikkelaar of ontwerper nooit heeft bedoeld. Componentafhankelijke kwetsbaarheden
De componentafhankelijke kwetsbaarheden zijn een vergaarbak van alle bekende kwetsbaarheden die voor verschillende componenten bekend zijn. Dat kan uiteenlopen van
Voorbeeld van een Cross Site Script De basis van een Cross Site Script (XSS) ligt in het gegeven dat een webapplicatie invoer van de gebruiker retourneert in de browser. Denk hierbij bijvoorbeeld aan het antwoord van een zoekmachine, waarbij de zoekterm opnieuw wordt getoond. Wanneer de invoer niet goed wordt gecontroleerd, kan een hacker hier misbruik van maken. In dit voorbeeld beschrijven wij hoe met een GET request een XSS kan worden misbruikt voor het tonen van misleidende informatie op de aangevallen website. Het risico van dit misbruik ligt vooral in het feit dat het voor de gebruiker lijkt of de informatie afkomstig is van de bonafide website. De hacker injecteert als het ware een eigen site in de website. In ons voorbeeld gebruiken wij de Google website. De kwetsbaarheid is echter ondertussen opgelost. De aanval Bij een GET request worden de variabelen meegestuurd in het URL. In het geval van Google is dit de parameter q die de zoekterm bevat: http://www.google.com/search?hl=en&q=xss De parameter hl bepaalt de taal, in dit geval Engels. Het verzoek kan eenvoudig worden veranderd, ofwel door in het zoekveld de scriptcode mee te geven ofwel door scriptcode achter de para– meters in de adresbalk van de browser in te tikken: In bovenstaand verzoek opent de code (<iframe%20src=http://www.aanvaller.com%20height=700%20width=700>) een venster naar een pagina op een andere site in dit geval www.aanvaller.com. Daarnaast worden parameters meegegeven om de hoogte en breedte van het venster te configureren. Het bovenstaande verzoek leidde in het geval van Google tot het tonen van de volgende pagina:
29 | de EDP-Auditor nummer 3 | 2006
kwetsbaarheden in webservers (Apache, IIS, etc.) tot databases en programmeertalen (.Net, Java, etc.). Tijdens de test worden bekende kwetsbaarheden getest op de applicatie en de onderliggende componenten.
Literatuurlijst 1. S. Deleersnyder, Common web applications vulnerabilities, ASCURE (webartikel; is inmiddels niet meer op het Internet te vinden) A. Kumar, Phishing, A new age weapon, OWASP, 2005 . 2. R. McRee, SELinux, Apache, and Tomcat, A securely implemented
Beveiliging logingegevens
web application server, OWASP, 2006.
De webapplicatie wordt vaak afgeschermd door middel van een authenticatiemechanisme. De sterkte van dit mechanisme bepaalt voor een groot gedeelte het beveiligingsniveau van de webapplicatie. Tijdens de test wordt nagegaan of er mogelijkheden zijn om de authenticatie te omzeilen of te kraken.
3. R. Fijneman, E.R. Lindgreen, P. Veltman, Grondslagen IT-auditing,
Tot slot Het gebruik van webapplicaties zal bij de overheid in de toekomst zeker toenemen. Dit is onder andere mogelijk doordat burgers en bedrijfsleven de beschikking hebben over digitale technologie en dit kunnen toepassen in het dagelijkse leven. Het gebruik van internet als communicatiekanaal door de overheid zal steeds verder worden ontwikkeld waardoor meer applicaties beschikbaar komen. Daarnaast zal de integratie van webapplicaties met achterliggende systemen steeds verder toenemen. Het toenemende aantal webapplicaties dat interactie heeft met de achterliggende systemen vergroot het risico dat vertrouwelijke gegevens die opgeslagen zijn in die systemen door onbevoegden worden ontsloten.
7. M. Reijnders, Website Wilders kwetsbaar voor ‘low-tech hack’,
Academic Service, 2005. 4. Symantec, Symantec Internet Security Threat Report, Trends for July 2005, Symantec, December 2005. 5. www.ap.org, 2006. 6. Redactie Beveiligingsnieuws.nl, Turk hackt 21.549 websites in één keer, www.beveiligingsnieuws.nl, 19 mei 2006. twww.webwereld.nl, 15 maart 2005. 8. J. Williams, OWASP’s Ten Most Critical Web Application Security Vulnerabilities, OWASP, 2004. Websites www.beveiligingsnieuws.nl www.owasp.org www.techzine.nl www.webwereld.nl www.waarschuwingsdienst.nl
Doordat de media de laatste tijd meer aandacht besteden aan beveiliging lijkt het erop dat ook binnen het management meer bewustzijn ontstaat voor het onderwerp. In onze onderzoeken komen we steeds vaker tegen dat het management vragen stelt bij de beveiliging van webapplicaties. De onderzoeken die we hebben uitgevoerd tonen aan dat geen enkele ICT-oplossing statisch is en nieuwe kwetsbaarheden dagelijks worden gepubliceerd, waardoor de kans op misbruik altijd aanwezig blijft. Hierdoor is het niet alleen noodzakelijk om voor het in productie nemen van een webapplicatie inzicht te hebben in het beveiligingsniveau van de applicatie, maar ook om het niveau van beveiliging periodiek te toetsen bij applicaties die al een tijd in productie staan en na te gaan of deze kwetsbaar zijn voor nieuw gepubliceerde kwetsbaarheden. ■
30 | de EDP-Auditor nummer 3 | 2006