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. Secify har en gedigen erfarenhet av att utföra olika typer av penetrationstest för företag och organisationer. Deras uppdrag spänner från tester i enklare miljöer till mycket komplexa system. De genomför sina uppdrag med mycket erfarna specialister enligt en väl beprövad metodik och olika branschpraxis.
Oavsett om du behöver testa webbapplikationer, mobilapplikationer, infrastruktur eller API:er, har Secify kompetensen och verktygen för att skräddarsy ett penetrationstest utifrån dina specifika behov. En fördel är att de följer industristandard och olika metoder för penetrationstest, såsom OWASP, OSSTMM, NIST, Mitre Att&ck, SANS och ISACA med flera.
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 pentest ä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. Denna metod kan snabbt identifiera yttre sårbarheter, men riskerar att missa djupgående problem som skulle upptäckas med mer insikt i systemet.
White Box pentest ä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. Med denna fullständiga insikt kan testaren upptäcka sårbarheter som kanske inte är uppenbara från systemets yta. Men denna metod kan också vara tidskrävande eftersom det finns så mycket information att granska.
Grey Box pentest ä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. Denna metod kombinerar det bästa av båda världarna: testaren kan använda sin insikt i systemet för att effektivt rikta sina tester, samtidigt som de simulerar ett mer realistiskt attackscenario där angriparen har begränsad information.
På Secify.com går det att läsa mer om dessa olika typer av pentest.
Penetrationstest 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.