Factsheet Penetratietest Webapplicaties
‘Since the proof of the pudding is in the eating’
DUIJNBORGH - FORTIVISION Stadionstraat 1a ● 4815NC Breda +31 (0) 88 16 1780 ● www.db-fortivision.nl ●
[email protected]
Dit document is een bijlage bij de overkoepelende dienstbeschrijving “Penetratietest Informatievoorziening”. FortiVision kent een aantal verschillende verschijningsvormen van “penetratietest”. Deze bijlage beschrijft de penetratietesten waarvan het doelobject een webapplicatie is.
Webapplicaties Steeds meer organisaties maken gebruik van webapplicaties. Door applicaties via een webinterface beschikbaar te stellen kan de functionaliteit op een effectieve manier aan een grote doelgroep worden aangeboden. Dit heeft zowel voor de organisatie als voor de gebruikers grote voordelen. Een webapplicatie kan bijvoorbeeld worden gebruikt om eindgebruikers online goederen of diensten af te laten nemen of hun eigen gegevens bij te laten werken. Door de eindgebruiker wordt dit als een extra service ervaren, terwijl het voor een organisatie veel efficiënter kan zijn dan wanneer deze informatie telefonisch of schriftelijk zou moeten worden verwerkt. Webapplicaties kunnen op deze manier een kostenbesparend en klantvriendelijk bedrijfsmiddel zijn. Vaak zal de gebruikersgroep bestaan uit eindgebruikers die de webapplicatie via Internet kunnen benaderen. De webapplicatie kan echter ook aan een afgeschermde groep gebruikers beschikbaar worden gesteld, zoals eigen medewerkers of tussenpersonen. Webapplicaties kunnen dan ook zeer breed worden ingezet, bijvoorbeeld via een extranet, om aan eindgebruikers informatie over aan hen geleverde of te leveren diensten te verstrekken of om goederen en diensten te verkopen. Hierdoor verwerken Webapplicaties vaak vertrouwelijke informatie. Dit kan informatie over de eindgebruikers zijn, zoals aan hen geleverde goederen of diensten of hun NAW-gegevens, maar ook interne informatie van een bedrijf zoals financiële informatie, gegevens over klanten enof medewerkers, kritieke bedrijfsprocessen of de beveiliging van het pand en de ICT-infrastructuur.
Verantwoordelijkheid De eigenaar van de webapplicatie, en daarmee van de informatie, is verantwoordelijk voor de beveiliging van deze informatie. Wanneer vertrouwelijke informatie via de webapplicatie uitlekt kan dat ernstige gevolgen hebben. Zo kunnen vertrouwelijke bedrijfsgegevens of gegevens over klanten bij concurrenten terecht komen. Een dergelijk incident levert vaak, ongeacht de aard en omvang van de uitgelekte informatie, schade op aan het imago van een organisatie. Wanneer persoonsgegevens door een applicatie worden verwerkt bestaat tegenover de gebruikers niet alleen een morele plicht om zorgvuldig met hun informatie om te gaan, maar ook op grond van de Wet Bescherming Persoonsgegevens dienen passende beveiligingsmaatregelen te worden getroffen.
Duijnborgh-FortiVision BV
Factsheet Penetratietest Informatievoorziening 2.0
Pagina 2 van 6
Soms is ook de beschikbaarheid van de webapplicatie van groot belang voor een organisatie en kan tijdelijke of langdurige uitval vervelende, al dan niet financiële, consequenties hebben. Kwetsbare webapplicaties kunnen een bedreiging vormen voor de overige servers van een organisatie of zelfs voor het gehele interne netwerk.
De penetratietest Daar waar besturingssystemen en webservers generiek zijn en de beveiliging ervan door de ontwikkelaars en de vele gebruikers met grote regelmaat wordt getest, is dat bij webapplicaties meestal niet het geval. Webapplicaties worden immers over het algemeen voor één specifieke gebruiker ontwikkeld. Hierdoor is de kans dat eventueel aanwezige kwetsbaarheden door anderen reeds zijn gevonden en verholpen zeer klein. Het testen van het systeem met alleen een kwetsbaarheidscanner zal dan ook niet de gewenste inzichten bieden. Een effectief middel om toch de kwetsbaarheden in een webapplicatie te vinden en ze te verhelpen vóór een kwaadwillende ze weet te achterhalen en te misbruiken, is de penetratietest. Een penetratietest op een webapplicatie kan worden gezien als een praktische toetsing van de beveiliging. Zo’n test biedt inzicht in de effectiviteit van de getroffen beveiligingsmaatregelen en toont de punten waar aanvullende beveiligingsmaatregelen wenselijk zijn. Bovendien wordt met de penetratietest duidelijk gemaakt wat de gevolgen van aanwezige kwetsbaarheden zijn terwijl tevens wordt aangegeven hoe ze kunnen worden verholpen. Voorbeelden van testonderdelen bij een penetratietest zijn: Identificatie/authenticatie – is het mogelijk om als niet-gebruiker toch toegang te krijgen? Of kan een gebruiker zich voordoen als een andere gebruiker; Fouten in de applicatie die kunnen leiden tot het verkrijgen van ongewenste toegangsrechten; SQL injectiemogelijkheden – de mogelijkheid tot het aanpassen van gebruikte SQL queries en zodoende het direct bevragen/aanpassen van de achterliggende database; File disclosure mogelijkheden – de mogelijkheid om bestanden in te zien die niet voor publicatie bedoeld waren (bijvoorbeeld bestanden met accountgegevens); Remote file include mogelijkheden – is het mogelijk om bestanden van buitenaf in de applicatie te plaatsen om daarmee ongewenste handelingen te verrichten of meer controle over het systeem te krijgen; Cross Site Scripting mogelijkheden – zijn er mogelijkheden aanwezig om andere gebruikers geïnjecteerde code te laten uitvoeren in hun webbrowser om hen zo onbewust handelingen te laten verrichten of zijn sessie over te nemen ; Inferentie – het indirect kunnen afleiden van informatie uit het gedrag van de applicatie. Hierbij wordt gebruik gemaakt van verschillende technieken die speciaal zijn toegesneden op het type applicatie dat getest wordt. De consultants van FortiVision beschikken over een goede tooling verzameling om deze testen uit te voeren, maar bovenal hebben zij over het vermogen dat elke goede hacker kenmerkt: een gezonde dosis creativiteit om “on the spot” nieuwe technieken te bedenken
Duijnborgh-FortiVision BV
Factsheet Penetratietest Informatievoorziening 2.0
Pagina 3 van 6
in combinatie met een goede beheersing van diverse script- en programmeertalen om tooling op maat te ontwikkelen.
Varianten Zoals bij elk onderzoek het geval is zal ook een penetratietest slechts de gewenste antwoorden opleveren wanneer de juiste onderzoeksvragen worden gesteld. Enkele voorbeelden van onderzoeksvragen zijn:
Is het mogelijk om zonder gebruikersaccount toegang te krijgen tot de applicatie en/of daarin aanwezige informatie? o Is het mogelijk om als gebruiker toegang te krijgen tot informatie of (beheer)componenten van de applicatie waarvoor geen autorisatie is verleend, zoals persoonsgegevens van andere gebruikers? o Is het mogelijk om op enige wijze onrechtmatig toegang te krijgen tot de server waarop de applicatie draait en/of tot overige systemen binnen de infrastructuur? o
Penetratietesten kunnen in verschillende varianten worden uitgevoerd. Aan de hand van het doel van de webapplicatie en de onderzoeksvragen kan worden vastgesteld wat de meest efficiënte aanpak is. In hoofdlijnen zijn drie varianten van de penetratietest te onderscheiden: 1. Black box: Hierbij spelen de consultants van FortiVision de rol van “blinde” aanvaller zonder enige voorinformatie over het doelobject, anders dan de informatie die nodig is om de test tot het doelobject te kunnen beperken. 2. Gray box: Hierbij spelen de consultants van FortiVision de rol van (meestal) reguliere gebruiker. Zij hebben dan geen directe administratieve toegang tot de doelobjecten en hebben ook geen toegang tot de broncode van applicaties of configuratiebestanden. Wel hebben zij twee of meer gebruikeraccounts en een zekere hoeveelheid voorinformatie. De exacte hoeveelheid voorinformatie kan van test tot test verschillen, afhankelijk van het exacte doel. 3. Crystal box (ook wel Glass box of White box genoemd): Hierbij hebben de consultants volledige toegang tot alle informatie over het te testen object. Zij kunnen de broncode van de applicatie(s) inzien, configuratiebestanden opvragen, enzovoorts. In principe zijn de penetratietesten intrusive, wat wil zeggen dat er daadwerkelijk zal worden geprobeerd om zwakke plekken uit te buiten. Wanneer dat niet wenselijk is, kan voor een non-intrusive aanpak worden gekozen. Overigens worden doelgerichte Denial of Service aanvallen expliciet uitgesloten van de penetratietesten; een penetratietest is er immers op gericht schade te voorkomen en niet om die te veroorzaken.
De rapportage De resultaten van de penetratietest worden opgeleverd in een rapport, bestaande uit een managementsamenvatting, inleiding (kaderstelling), Duijnborgh-FortiVision BV
Factsheet Penetratietest Informatievoorziening 2.0
Pagina 4 van 6
bevindingen, conclusies en aanbevelingen. FortiVision beoogt haar rapporten zodanig op te stellen dat ze niet alleen voor niet-technisch onderlegde personen goed leesbaar zijn, maar dat ze zeker ook goed bruikbaar zijn om eventuele technische problemen te verhelpen. In een managementsamenvatting wordt kort en begrijpelijk weergegeven wat er is getest, wat de globale bevindingen zijn en, indien van toepassing, met welke inspanning de tekortkomingen kunnen worden verholpen. Vervolgens worden de bevindingen van de uitgevoerde penetratietest weergegeven. Hierbij wordt geen opsomming gegeven van elk onderzocht systeem met de eventueel daarop aanwezige beveiligingsproblemen, maar worden beveiligingsproblemen gegroepeerd per getest onderdeel. Het oplossen van de beveiligingsproblemen vraagt zeker op infrastructuurniveau een integrale aanpak waarmee wordt voorkomen dat reeds verholpen beveiligingsproblemen snel weer terugkomen. Vervolgens worden de conclusies die uit de bevindingen kunnen worden getrokken beschreven. De aanbevelingen worden op basis van de bevindingen geprioriteerd opgenomen in de rapportage. Bij de prioriteitsstelling wordt rekening gehouden met de ernst van het aangetroffen beveiligingsprobleem en de inspanning inclusief eventuele kosten voor het verhelpen ervan.
Methodiek De door FortiVision uitgevoerde penetratietesten op infrastructuren en webapplicaties zijn gebaseerd op de internationaal erkende standaard Open Source Security Testing Methodology Manual (OSSTMM). Door het hanteren van deze methodiek wordt een waarborg gecreëerd dat het netwerk op alle binnen de scope van het onderzoek vallende beveiligingsaspecten wordt getoetst. De bevindingen van penetratietesten die volgens deze methodiek zijn uitgevoerd worden over het algemeen door auditende partijen geaccepteerd, wat vaak niet het geval is bij penetratietesten die niet volgens een vastgelegde methodiek worden uitgevoerd.
Kwalificatie FortiVision heeft een ruime ervaring met de uitvoering van penetratietesten, zowel gericht op de beveiliging van een ICT infrastructuur, applicaties alsook gebouwen (fysieke penetratietesten in de vorm van de dienst MysteryMan). De penetratietesten worden uitgevoerd door consultants die kunnen putten uit een zeer ruime ervaring (meer dan 10 jaar), en hebben een diepgaande kennis van zowel de theorie als de praktijk achter de verschillende beveiligings- en aanvalstechnieken. Omdat de consultants van FortiVision met grote regelmaat met (soms zeer) vertrouwelijke informatie in aanraking komen, weten zij hoe zij hier mee om dienen te gaan. Alle consultants hebben een geheimhoudingsverklaring getekend die ook betrekking heeft op informatie verkregen bij opdrachten van opdrachtgevers. Een geheimhoudingsverklaring tussen FortiVision en zijn opdrachtgevers is standaard opgenomen in onze Algemene Voorwaarden.
Duijnborgh-FortiVision BV
Factsheet Penetratietest Informatievoorziening 2.0
Pagina 5 van 6
Meer informatie Gebruik de onderstaande gegevens voor het stellen van vragen via telefoon of email:
Adres :
Stadionstraat 1a 4815NC Breda
Telefoon: Fax:
088 - 160 1780 088 - 160 1790
E-mail: Website:
[email protected] http://www.db-fortivision.nl
Meer uitgebreide vragen laten zich het beste in een persoonlijk gesprek beantwoorden. Neem gerust contact met ons op voor het maken van een afspraak.
Duijnborgh-FortiVision BV
Factsheet Penetratietest Informatievoorziening 2.0
Pagina 6 van 6