Penetrationstest

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.

Vem behöver göra penetrationstester?

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.

  • Företag och organisationer: Oavsett storlek kan företag vara mål för cyberattacker. Större företag kan vara lockande mål på grund av den stora mängden data de hanterar, medan mindre företag kan ses som lättare mål på grund av potentiellt svagare säkerhetsåtgärder.
  • Finansinstitut: Banker, försäkringsbolag och andra finansinstitut hanterar känslig finansiell information som kan vara mycket värdefull för cyberbrottslingar.
  • Hälso- och sjukvårdsorganisationer Dessa organisationer hanterar patientdata, vilket kan vara mycket känsligt och kräver därför hög cybersäkerhet.
  • Webbplatser: Webbplatser som hanterar kundinformation, särskilt betalningsinformation, behöver säkerställa att deras system är säkra mot intrång.
  • Skolor och universitet: Utbildningsinstutioner kan vara mål för hackers på grund av den personliga information om studenter och personal som lagras.
  • Statliga organisationer: Dessa kan vara mål för allt från hacktivister till utländska stater som försöker samla in information eller störa tjänster.
  • Teknikföretag: Företag som utvecklar programvara eller hårdvara bör genomföra penetrationstest på sina produkter för att säkerställa att de inte har några sårbarheter som kan utnyttjas av illvilliga aktörer.
  • Utvecklare av appar: Innan en app lanseras bör den testas för säkerhetsbrister för att skydda användardata och försäkra sig om att appen inte kan hackas

Gör ett test

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:

  • OSSTMM
  • NIST
  • Mitre Att&ck
  • SANS
  • ISACA

Pentest i 6 steg

1

Förberedelser

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.

2

Insamling av information

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.

3

Identifiering av sårbarheter

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.

4

Testaren simulerar ett cyberangrepp

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.

5

Rapportering och analys

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.

6

Uppföljning

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.

Olika sätt att testa säkerheten

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

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

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

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.

Automatiserade eller manuella penetrationstest?

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.

Automatiserade

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.

Fördelar:

  • Snabbhet: Kan skanna stora system på kort tid.
  • Konsekvent: Ger konsekventa resultat eftersom de baseras på fördefinierade kriterier.
  • Täckning: Kan identifiera ett brett spektrum av kända sårbarheter.

Nackdelar:

  • Begränsad insikt: Kan missa nya eller okända sårbarheter som inte finns i databasen.
  • Falska positiva: Kan ibland rapportera sårbarheter som inte faktiskt utgör ett hot.
  • Brist på kontext: Kan inte alltid förstå affärslogik eller unika aspekter av en applikation.

Manuella

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.

Fördelar:

  • Djupgående insikt: Kan identifiera komplexa sårbarheter som kräver en kombination av tekniker.
  • Anpassningsbar: Kan anpassa angreppet baserat på systemets unika egenskaper.
  • Mindre falska positiva: Eftersom testaren aktivt utvärderar varje potentiell sårbarhet.

Nackdelar:

  • Tidskrävande: Kan ta längre tid jämfört med automatiserade penetrationstest.
  • Beroende av expertis: Kvaliteten på testet beror starkt på testarens kunskap och erfarenhet.