Ett penetrationstest, ofta kallat "pentest", är en metod för att utvärdera säkerheten hos ett datorsystem, nätverk eller webbapplikation genom att försöka utnyttja sårbarheter. Syftet med ett penetrationstest är att upptäcka svagheter innan illvilliga aktörer gör det och att ge organisationer en klar bild av eventuella risker i deras system. Under ett penetrationstest kan testaren använda samma tekniker och verktyg som en riktig angripare skulle göra, men med syftet att identifiera och rapportera problemen snarare än att utnyttja dem.
I grund och botten bör alla som hanterar eller lagrar känslig information överväga att göra penetrationstester som en del av deras övergripande säkerhetsstrategi. I många branscher och regioner kan det också finnas lagkrav eller branschstandarder som kräver regelbundna säkerhetstester. Här är några av de parter som kan dra nytta av penetrationstester.
Det finns specialiserade företag som erbjuder penetrationstest – Secify till exempel. Dessa företag har erfarna säkerhetsexperter som använder avancerade verktyg och tekniker för att testa dina system på ett säkert och kontrollerat sätt.
Oavsett om du behöver testa webbapplikationer, mobilapplikationer, infrastruktur eller API:er, har Secify och liknande företag kompetensen och verktygen för att skräddarsy ett penetrationstest utifrån dina specifika behov. En fördel är att de följer industristandard för OWASP och de andra vanligaste modellerna:
Ett penetrationstest inleds med en förberedelsefas där målen och omfattningen av testet klargörs. Detta innebär att bestämma exakt vilka system, nätverk eller applikationer som ska testas. Ett viktigt steg i denna fas är att skapa ett avtal eller ett skriftligt tillstånd att testa. Detta dokument säkerställer att alla inblandade parter förstår och godkänner vad som kommer att hända under testet.
Här samlar testaren in så mycket information som möjligt om målsystemet. Detta kan göras passivt, till exempel genom att använda sökmotorer för att hitta offentlig information, eller aktivt, genom att direkt interagera med målsystemet för att identifiera öppna portar eller körda tjänster.
Här används olika verktyg och tekniker för att identifiera potentiella sårbarheter i målsystemet. Detta kan inkludera allt från att skanna portar till att granska applikationskod för svagheter.
Här försöker testaren aktivt utnyttja de identifierade sårbarheterna för att bryta sig in i systemet. Detta kan göras manuellt, genom att kombinera olika tekniker och metoder, eller automatiskt med hjälp av specialiserade verktyg. Därefter utforskar testaren systemet ytterligare för att se hur mycket skada de kan göra, vilken typ av data de kan komma åt, och om det finns några ytterligare sårbarheter att utnyttja.
Här sammanställs alla fynd och observationer i en detaljerad rapport. Denna rapport beskriver de sårbarheter som hittades, hur de utnyttjades, och ger rekommendationer för hur de kan åtgärdas. Ofta skapas både en teknisk rapport för IT-teamet och en övergripande ledningsrapport för företagsledningen.
Efter att rapporten har levererats kan det vara nödvändigt med en uppföljningsfas där testaren hjälper organisationen att implementera rekommenderade åtgärder och säkerställa att sårbarheterna har åtgärdats korrekt.
När det gäller pentest och säkerhetstestning refererar termerna "white box", "grey box" och "black box" till mängden information som testaren har tillgång till om det system som ska testas. Varje metod har sina egna fördelar och nackdelar, och valet av metod beror ofta på testets mål, den tid och de resurser som är tillgängliga, samt den specifika säkerhetsprofilen för det system som testas. Ofta kan en kombination av dessa metoder ge den mest omfattande bilden av ett systems säkerhet.
Black Box är där testaren går in helt blind. De har ingen förkunskap om systemets inre funktioner och förlitar sig helt på externa metoder för att sondera och attackera systemet. Detta simulerar en verklig angripare som försöker bryta sig in i ett system utan förhandskunskap.
White Box är den mest transparenta metoden. Här har testaren full insyn i systemet, inklusive tillgång till källkod, databasscheman, arkitekturdiagram och annan intern information. Detta ger testaren möjlighet att utföra en mycket detaljerad och djupgående analys av systemet.
Grey Box är en mellanväg mellan white box och black box. Testaren har viss, men inte fullständig, kunskap om systemets inre funktioner. Detta kan inkludera begränsad tillgång till källkod eller viss information om systemets arkitektur.
På Secify.com går det att läsa mer om dessa olika typer av pentest.
Testen kan vara automatiserade eller manuella och kan riktas mot olika delar av ett system, från infrastruktur och nätverk till applikationer och användarupplevelse. Målet är att identifiera sårbarheter som kan utnyttjas av angripare och att rekommendera åtgärder för att åtgärda dessa sårbarheter.
I praktiken kombinerar många organisationer både manuella och automatiska penetrationstest för att dra nytta av fördelarna med båda metoderna. Medan automatiserade verktyg kan ge en snabb översikt över kända sårbarheter, kan manuella tester ge en djupare förståelse för hur en riktig angripare kan tänkas agera.
Automatiska penetrationstest använder programvara eller verktyg för att automatiskt skanna och identifiera sårbarheter i ett system. Dessa verktyg kan snabbt skanna stora nätverk eller applikationer och identifiera kända sårbarheter baserat på databaser med kända sårbarheter.
Manuella penetrationstest utförs av mänskliga experter som aktivt försöker bryta sig in i ett system, precis som en riktig angripare skulle göra. Istället för att förlita sig på automatiserade verktyg använder de sin kunskap, erfarenhet och kreativitet för att identifiera och utnyttja sårbarheter.