Penetrationstest – så beställer du rätt

Av Weapp · Uppdaterad

Att beställa ett penetrationstest innebär att låta en säkerhetsexpert aktivt försöka ta sig in i ditt system, till skillnad från en automatisk sårbarhetsskanning. Testaren bör vara oberoende av utvecklingsleverantören för att granskningen ska bli ärlig. Fynden prioriteras efter allvar och åtgärdas enligt en rimlig tidplan, där de farligaste hålen täpps först.

Förr eller senare ställs frågan: är vårt system faktiskt säkert? Ett penetrationstest är sättet att få ett ärligt svar. I stället för att gissa låter du en säkerhetsexpert försöka bryta sig in, precis som en riktig angripare skulle göra, och rapportera vad hen hittade. Men ett test är bara så bra som hur det beställs. Den här guiden går igenom vad du faktiskt köper, varför testaren måste vara oberoende och hur du hanterar fynden så att de gör nytta.

Sårbarhetsskanning eller riktigt penetrationstest

Det första att reda ut är vad du egentligen ber om, för två ganska olika saker kallas ibland samma sak. Skillnaden är stor nog att påverka både pris och värde.

En sårbarhetsskanning är ett automatiskt verktyg som går igenom systemet och matchar det mot en lista på kända svagheter. Den är snabb, billig och bra på att fånga det uppenbara – föråldrade komponenter, kända hål, felaktiga inställningar. Men den är ytlig. Den kan inte tänka, kombinera flera små svagheter till en allvarlig, eller förstå logiska brister i hur just ert system fungerar.

Ett penetrationstest är en människa. En erfaren testare försöker aktivt ta sig in, prövar oväntade vägar, kedjar ihop svagheter och resonerar som en angripare med ett mål. Det hittar sådant en skanning aldrig ser: att en användare kan nå en annans data genom att manipulera ett anrop, eller att flera i sig harmlösa detaljer tillsammans öppnar en dörr. Ett vanligt misstag är att köpa en skanning i tron att man fått ett pentest. Skanningen har sin plats, men den ersätter inte en riktig granskning.

Varför testaren bör vara oberoende

En avgörande fråga är vem som utför testet. Den frestande genvägen är att låta utvecklingsleverantören testa sitt eget bygge – de kan ju systemet bäst. Just därför är det fel väg.

Ingen är bra på att hitta fel i sitt eget arbete. Den som byggt systemet granskar det med samma antaganden och blinda fläckar som präglade bygget, och har dessutom ett omedvetet intresse av att allt ska se bra ut. En oberoende testare kommer in utan att ha något att försvara och letar förutsättningslöst efter det som är trasigt. Oberoendet är också det som gör resultatet trovärdigt utåt – för en kund, en investerare eller en revisor betyder ett godkänt test från en extern part något helt annat än leverantörens eget ord på att allt är säkert. Att skilja på den som bygger och den som granskar är en enkel princip med stor effekt.

Prioritera och åtgärda fynden

Ett penetrationstest slutar i en rapport, men rapporten är inte målet – de rättade bristerna är det. En rapport som läses en gång och sedan glöms har inte gjort systemet någon grad säkrare. Nyckeln är att omsätta fynden i handling, i rätt ordning.

De flesta rapporter graderar fynden efter allvar, och den graderingen styr tempot:

AllvarsgradRimlig hantering
KritiskÅtgärdas omgående, helst innan systemet går live
HögRättas snarast enligt en tydlig och kort tidplan
MedelPlaneras in i det närmaste utvecklingsarbetet
LågÅtgärdas när tillfälle ges eller vid nästa större insats

Poängen är att inte lamslås av en lång lista. Ett fåtal kritiska och höga fynd är det som verkligen betyder något, och de ska bort först. Resten kan hanteras metodiskt över tid. Efter att de allvarliga bristerna rättats är det klokt att låta testaren verifiera att hålen faktiskt är täppta – en fix som inte kontrolleras är bara en förhoppning om att felet är borta.

Ett konkret scenario

En verksamhet skulle lansera en tjänst som hanterade personuppgifter och betalningar. Utvecklingsleverantören försäkrade att säkerheten var i ordning, men ledningen ville ha ett oberoende besked innan tjänsten gick live. De anlitade en extern testare för ett penetrationstest av applikationen, med god marginal före lanseringsdatumet.

Testet hittade två allvarliga brister som en automatisk skanning hade missat, båda i logiken för hur användare kom åt data. Fynden var obekväma men ovärderliga – de hade kunnat bli ett verkligt läckage efter lansering. Utvecklaren rättade de kritiska hålen, testaren verifierade fixarna, och de lägre prioriterade fynden planerades in i det löpande arbetet. Tjänsten lanserades med ett dokumenterat, oberoende säkerhetsbesked i ryggen – värt långt mer än vad testet kostat.

Beställ testet så att det gör nytta

Ett penetrationstest ger mest värde när du vet vad du köper, låter någon oberoende utföra det och faktiskt agerar på fynden. Köp ett riktigt test snarare än bara en skanning där det behövs, håll testaren skild från utvecklaren, och prioritera åtgärderna efter allvar. Då blir testet inte en pappersprodukt utan en verklig höjning av säkerheten.

Vi på Weapp bygger med säkerhet i åtanke och välkomnar oberoende granskning av det vi levererar, som en naturlig del av våra tjänster. Närmar ni er en lansering och vill veta att systemet håller? Hör av dig så resonerar vi kring hur ett test bäst läggs upp för just er tjänst.

Vanliga frågor

Vad är skillnaden mellan en sårbarhetsskanning och ett penetrationstest?

En sårbarhetsskanning är ett automatiskt verktyg som letar efter kända svagheter och producerar en lista. Ett penetrationstest är en människa som aktivt försöker ta sig in, kombinerar svagheter och tänker som en angripare. Skanningen är bred och billig men ytlig; testet är djupare och hittar sådant verktyg missar, till exempel logiska brister i hur systemet är byggt.

Varför bör testaren vara oberoende av utvecklingsleverantören?

För att ingen är bäst på att hitta fel i sitt eget arbete. Låter man den som byggt systemet också testa det, granskas koden av samma ögon som skrev den, med samma blinda fläckar. En oberoende testare har inget att försvara och letar förutsättningslöst efter brister. Oberoendet är det som gör resultatet trovärdigt, både för er själva och för kunder eller revisorer.

När i projektet ska ett penetrationstest göras?

Oftast innan lansering, när systemet är färdigt nog att spegla hur det ska köras skarpt, men med marginal att åtgärda fynden före driftsättning. För tjänster som hanterar känsliga uppgifter bör testet återkommande upprepas, eftersom både systemet och hotbilden förändras. Ett test är en ögonblicksbild – det säger något om säkerheten just då, inte för all framtid.

Vad gör man med rapporten från ett penetrationstest?

Man prioriterar och åtgärdar. Rapporten graderar vanligen fynden efter allvar, från kritiska till mindre. De allvarligaste hålen ska täppas snabbt, gärna före lansering, medan lägre prioriterade kan planeras in över tid. Poängen med testet är inte rapporten i sig utan att bristerna faktiskt rättas – en rapport som läggs i en låda har inte gjort systemet en enda grad säkrare.

Vad kostar ett penetrationstest?

Det beror på systemets omfattning och hur djupt testet ska gå – en avgränsad webbapplikation är ett mindre uppdrag än en hel plattform med många delar. Priset sätts oftast efter den tid testet kräver. För ett system som hanterar känsliga uppgifter eller betalningar är kostnaden liten i förhållande till vad ett verkligt intrång skulle kosta i pengar och förtroende.