Ett penetrationstest, ofta kallat "pentest", är en metod för att utvärdera säkerheten hos ett datorsystem, nätverk eller en app genom att simulera ett försök till intrång. Syftet med ett penetrationstest är att upptäcka svagheter i IT-säkerheten och åtgärda bristerna. Under ett penetrationstest kan testaren använda samma tekniker och verktyg som en riktig angripare skulle göra, men med syftet att identifiera och åtgärda bristerna.
Alla som hanterar eller lagrar känslig information bör överväga att genomföra penetrationstester som en del av deras övergripande IT-säkerhet. I många branscher kan det också finnas lagkrav som kräver extra säkerhet. Här är några av de parter som kan dra nytta av penetrationstester.
Det finns specialiserade företag inom IT-säkerhet som utför penetrationstest – Secify till exempel. Dessa företag har erfarna IT-specialister som använder avancerade testverktyg och tekniker för att analyser 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 och hur testet ska genomföras.
Här samlar testaren in så mycket information som möjligt om målsystemet. Beroende på vilken typ av penetrationstest som ska genomföras kan testaren få tillgång till information men testaren kan även behöva samla informationen på egen hand.
Här används olika verktyg och tekniker för att identifiera potentiella sårbarheter i målsystemet. Det kan omfatta manipulering eller av anställda för att få dem att lämna ifrån sig information, phising via e-post med länkar och bilagor med skadlig kod, samt scanning av externa servrar och internettjänster.
Personen som utför penetrationstestet ska nu försöka ta sig in i systemt. Det kan vara genom att göra angrepp på mot wifi, RFID-inpasseringssystem och andra trådlösa enheter, simulering av skadling kod i mejl, QR-koder eller via USB-stickor och fysiska intråg mot interna servrar på anläggningen.
Efter utfört pentest bör analysering och rapportering genomföras. Rapporten bör innehålla information om exakt vilka metoder som använts, vilka angrepp som lyckats och vilka åtgärdes som behöver göras.
Efter utfört test och rapportering ska åtgärderna appliceras. När säkerhetsåtgärderna är på plats bör en uppföljning göras för att se om åtgärderna fungerar och skyddar systemet mot de intrång som tidigare var möjliga.
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.
Black Box innebär att testaren går in helt blind. Personen har ingen förkunskap om systemets inre funktioner och förlitar sig helt på externa metoder för att attackera systemet som testas. Detta simulerar en verklig angripare som försöker bryta sig in i ett system utan tidigare inblick i hur systemet fungerar.
White Box är den mest transparenta metoden. Testaren ges informtion om hur nätverket är uppbyggt och vilkjen mjukvara som finns bakomligganden. Även källkod och dokumentation är tillgängligt. White box fungerar bäst för att hitta sårbarheter i säkerhetssystemet för att sedan åtgärda dem. Det handlar alltså inte lika mycket om att hacka sig in utan mer om att analyser och åtgärda.
Grey Box är en mellanväg mellan white box och black box. Testaren har viss, men inte fullständig, kunskap om systemets inre funktioner. Tilltång till intranätet, interna nätverk och dokumentation kring systemet är vanlig information som testaren har tillgång till när man penenetrationstestar med grey box som strategi.
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 snabbt 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 utbildade IT-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.