Een gids voor Web Applicatie Penetratie Testen
Web applicatie penetratie testen zijn noodzakelijk voor het beveiligen van web apps. Van E-commerce tot gezondheidszorg, web pen testing is vandaag de dag essentieel voor bedrijven.
Hoofdpunten
- Penetratietests voor webtoepassingen zijn essentieel voor de bescherming van gegevens, en staan los van andere cyberbeveiligingskwesties.
- Penetratietests voor websites moeten worden uitgevoerd tijdens de ontwikkelingscyclus van de software om de kosten te drukken.
- Nadat een applicatie is gelanceerd, kunnen geautomatiseerde tools worden gebruikt om regelmatig webpen-tests uit te voeren.
Webapplicaties zijn een uitstekende manier om gemakkelijker met klanten samen te werken, diensten online toegankelijker te maken voor klanten en zelfs werknemers betere toegang te geven tot informatie zoals gezondheidszorg en pensioenplannen. Maar webapplicaties bieden hackers en criminelen ook een andere manier om uw bedrijf aan te vallen. En omdat de apps online staan en vaak toegankelijk zijn voor het publiek, vereisen webapplicaties specifieke overwegingen op het gebied van cyberbeveiliging en een uniek type tests om ze te beschermen.
Webapplicatiepenetratietests, of webpenetests, zijn een manier voor een bedrijf om de eigen software te testen door cyberaanvallen na te bootsen om kwetsbaarheden te vinden en te verhelpen voordat de software openbaar wordt gemaakt. Er komt dus meer bij kijken dan alleen maar de deuren op stelten zetten en de digitale vensters van de online applicaties van uw bedrijf rammelen. Het maakt gebruik van een methodologische aanpak waarbij bekende, veelgebruikte bedreigingsaanvallen en tools worden gebruikt om webapps te testen op potentiële kwetsbaarheden. Daarbij kunnen ook programmeerfouten en -fouten aan het licht komen, kan de algehele kwetsbaarheid van de applicatie worden beoordeeld en kunnen zelfs problemen met ondersteunende backend-systemen aan het licht komen.
Waarom worden er pentests op webtoepassingen uitgevoerd?
Webapplicaties omvatten front-ends voor e-commerce, applicaties voor de gezondheidszorg, mobiele apps, en zo ongeveer alle soorten gevoelige informatie die je maar kunt bedenken. Bedrijven moeten die apps dus beveiligen om de creditcardgegevens en persoonlijke informatie van klanten te beschermen, maar ook hun eigen IT-systemen, die via een webapplicatie kunnen worden aangevallen.
Naast cyberbeveiliging hebben pentests voor webtoepassingen nog een ander voordeel. Dergelijke tests tijdens het softwareontwikkelingsproces zullen ook leiden tot een beter, meer gepolijst eindproduct of -dienst. Webpen-tests kunnen onbedoelde crashes of bugs in applicaties aan het licht brengen voordat klanten en cliënten erover beginnen te klagen.
Uiteindelijk zullen webtoepassingen gevoelige gegevens bevatten, waaronder financiële en medische informatie, die bijzonder aantrekkelijk is voor aanvallers. En omdat webapplicaties van nature openstaan voor meer gebruikers, hebben ze extra bescherming nodig.
Ten slotte is cyberbeveiliging een bewegend doelwit. Er worden voortdurend nieuwe technologieën geïntroduceerd en er is geen tekort aan cybercriminelen die op zoek zijn naar nieuwe manieren om ze uit te buiten. Daarom moeten er regelmatig webpen-tests worden gepland voor alle apps die uw bedrijf heeft geïmplementeerd.
Penetratietypen en testfasen
Penetratietests voor webtoepassingen kunnen worden uitgevoerd op verschillende momenten tijdens de ontwikkeling van de toepassing en door verschillende partijen, waaronder ontwikkelaars, hosts en klanten. Er zijn twee essentiële soorten webpenetests:
- Intern: Tests worden uitgevoerd op het netwerk van de onderneming terwijl de app nog relatief veilig is en kunnen LAN-kwetsbaarheden en gevoeligheid voor een aanval door een werknemer aan het licht brengen.
- Extern: Het testen gebeurt buiten via het internet, waardoor beter wordt benaderd hoe klanten - en hackers - de app zouden tegenkomen als die eenmaal live is.
Hoe vroeger in de softwareontwikkelingsfase met webpen-testen wordt begonnen, hoe efficiënter en kosteneffectiever het zal zijn. Door problemen op te lossen tijdens de bouw van een applicatie, in plaats van nadat deze klaar en online is, bespaart u tijd, geld en potentiële schade aan de reputatie van een bedrijf.
Het webpen-testproces omvat doorgaans vier fasen:
- Informatieverzameling en planning: Dit omvat het formuleren van doelstellingen voor het testen, zoals welke systemen onder de loep zullen worden genomen, en het verzamelen van nadere informatie over de systemen die de web app zullen hosten (omdat zij ook doelwitten worden).
- Onderzoek en scannen: Alvorens een werkelijke aanval na te bootsen, kan veel geleerd worden door de statische code van de toepassing te scannen. Dit kan duidelijke kwetsbaarheden aan het licht brengen. Daarnaast zal een dynamische scan van de toepassing bij daadwerkelijk gebruik online aantonen hoe de toepassing in de praktijk werkt en of er sprake is van extra zwakke punten.
- Access and Exploitation: Met behulp van een standaardreeks hackingaanvallen, gaande van SQL-injectie tot het kraken van wachtwoorden, wordt in dit deel van de test geprobeerd eventuele kwetsbaarheden uit te buiten en te gebruiken om na te gaan of informatie kan worden gestolen of ongeoorloofde toegang kan worden verkregen tot andere systemen.
- Reporting and Recommendations: In dit stadium wordt een analyse uitgevoerd om de soorten en de ernst van eventuele kwetsbaarheden aan te tonen, het soort gegevens dat mogelijk is blootgesteld en of een cybercrimineel ongemerkt toegang zou kunnen krijgen.
- Remediation and Further Testing: Voordat de web app wordt gelanceerd, zullen patches en fixes moeten worden uitgevoerd om de ontdekte kwetsbaarheden te verhelpen. En er moeten aanvullende pentests worden uitgevoerd om te bevestigen dat eventuele mazen in de wet zijn gedicht en er geen nieuwe problemen zijn ontstaan.
Penetratie test methodes
Gelukkig zijn er verschillende gevestigde protocollen voor het uitvoeren van pentests voor webtoepassingen. Enkele voorbeelden van richtlijnen voor de beveiligingsindustrie zijn:
Hoe te beveiligen met de PCI Data Security Standard. [i] Van de PCI Security Standards Council en gericht op elke organisatie die betalingen via krediet- en debetkaarten aanvaardt, richt PCI zich op e-commerce. Het werd in 2006 opgericht door American Express, Discover, JCB International, MasterCard en Visa.
Methodologieën voor penetratietesten. [ii] Van het non-profit Open Web Application Security Project (OWASP), waarvan afdelingen over de hele wereld lid zijn, biedt dit gedetailleerde technische richtlijnen voor webpenetratietesten, inclusief een aparte bespreking van het testen van mobiele apps en zelfs firmware.
Open Source Security Testing Methodology Manual. [iii] Van het Institute for Security and Open Methodologies (ISECOM) bevat deze pagina diverse open rapporten over best practices op het gebied van cyberbeveiliging, waaronder materiaal over webpen-testen en een cyberbeveiligingsplaybook dat het midden- en kleinbedrijf "een gericht, compleet, aanpasbaar IT-beveiligingsplan ter bescherming tegen cyberaanvallen en gegevensdiefstal" belooft.
Hoewel deze normen een uitstekend uitgangspunt vormen voor web pentests, moeten bedrijven erkennen dat elke web app uniek is. Verschillende soorten bedrijven kunnen verschillende soorten tests vereisen. Bijvoorbeeld, een app voor de gezondheidszorg die moet voldoen aan de HIPAA-vereisten kan een andere mate van testen vereisen dan een app voor het configureren en kopen van een fiets.
Verder is er een grote verscheidenheid aan aanvallen die bij webpen-testen in aanmerking komen, zoals:
- Cross-site Scripting (XSS), een techniek die hackers gebruiken om schadelijke scripts in een webapplicatie te injecteren, die vervolgens andere klanten die die webapplicatie gebruiken, kunnen infecteren of hacken.
- SQL Injection, een methode om data queries in een web app in te voegen met als doel toegang te krijgen tot de backend database van het bedrijf.
- Het kraken van wachtwoorden, dat een verscheidenheid aan technieken omvat om wachtwoorden te achterhalen. Dit type aanval kan een webapp gebruiken om te proberen ongeoorloofde toegang te krijgen tot bedrijfsgegevens en -systemen.
Hulpmiddelen bij het uitvoeren van penetratietesten
Bij elke fase van penetratietests voor webapplicaties horen bijbehorende tools. Het gebruik van dergelijke softwaretools helpt het proces te versnellen door tests te automatiseren, en kan rigoureuze pentestprocedures toepassen op een verscheidenheid van verschillende webapplicaties.
In het algemeen werken de beschikbare web pentesting tools door de code van de applicatie te scannen op zoek naar kwetsbaarheden om uit te buiten. Vaak zijn ze gespecialiseerd in het identificeren van een bepaald type kwetsbaarheid. Veel gangbare gratis tools, zoals Nmap, zijn bijvoorbeeld beschikbaar om details over de app te achterhalen, zoals de gebruikte scripttaal. [iv] Netwerkscanners worden gebruikt om de geolocatie van de host te achterhalen, het type serversoftware dat wordt gebruikt en de poortnummers die open staan. Probe scanners automatiseren het proces van het zoeken naar kwetsbaarheden, zoals of de app op een server staat waarop verouderde software draait. Er zijn ook diverse tools die op zoek gaan naar specifieke exploitaties, zoals SQL Map, dat SQL-injecties uitvoert om te proberen databases over te nemen. [v]
De kern van de zaak
Webapplicaties vormen een uniek en potentieel kwetsbaar doelwit voor cybercriminelen. Het doel van de meeste webapps is om diensten, producten en taken gemakkelijker te maken voor klanten en werknemers. Maar het is ook van cruciaal belang dat webapplicaties het voor criminelen niet gemakkelijker maken om in te breken in systemen. Dat is de reden waarom webapplicatie penetr
[i] " Hoe te beveiligen met de PCI-gegevensbeveiligingsnorm ," De PCI-raad voor beveiligingsnormen
[ii] " Penetratietestmethodologieën ," OWASP
[iii] " Open Source Security Testing Methodology Manual ," ISECOM
Abonneer u op Cyber Resilience Insights voor meer artikelen zoals deze
Ontvang al het laatste nieuws en analyses over de cyberbeveiligingsindustrie rechtstreeks in uw inbox
Succesvol aanmelden
Dank u voor uw inschrijving om updates van onze blog te ontvangen
We houden contact!