13 mars, 2019

Varför sårbarhetsskanningar inte räcker

Jag har märkt en intressant sak: många företag och organisationer blandar ihop säkerhetsskanningar med pentest. Ett pentest är när man på ett kontrollerat sätt försöker bryta sig in i ett system, medan en sårbarhetsskanning bara försöker hitta möjliga sårbarheter. Detta är mycket märkligt, men jag har sett det många gånger. Felet verkar även finnas bland de som jobbar inom området. För ett antal månader sedan hjälpte jag till att intervjua en arbetssökande till en tjänst som pentestare. Han berättade att han sökte tjänsten eftersom han var intresserad av säkerhet. Jag frågade vad han hade gjort för typer av säkerhetarbeten. Han sa att han kört programmet Nessus ett par gånger och lämnat över resultaten till någon annan att tolka. Nessus är ett program som hittar vanliga miskonfigurationer och säkerhetshål i tjänster. Ganska uppenbart kanske, men han fick inte jobbet.

Jag läste på ett forum för pentestare där en del personer beklagade av säkerhetsföretag säljer sårbarhetsskanningar som pentester. De betalar ett företag för att skanna av deras tjänster och komma med en automatgenererad rapport över ”allvarliga säkerhetshål”. Detta är knappt ett halvt pentest om ens det.

Betänk att pentest är en förkortning av penetrationstest, vilket innebär som ovan skrivet är att en inhyrd konsult eller flera försöker ta sig in i systemet. Lyckas de, lämnar de över en rapport som förklarar hur de tog sig in. Om ett försök att faktiskt hacka systemet inte görs, är det inte ett pentest. När jag gör pentester brukar jag faktiskt lämna in även hittade sårbarheter och miskonfigurationer, för att jag hittade dem på vägen när jag analyserade systemet för sårbarheter. Det tycker jag ingår i ett bra test även om det inte är huvudsyftet med det.

Så varför är inte en sårbarhetsskanning tillräcklig? Jo, för att den inte hittar problem med systemlogiken. Den kan se att en programvara har sårbarheter som potentiellt skulle kunna användas för att ta sig in. Men den kan inte hitta felaktigheter i hur t.ex. en webbapplikation hanterar inloggningen, som möjliggör att man tar över sessionen.

Sen är sårbarhetsskanningar dåliga på att hitta alla fel. Jag gjorde en gång ett pentest mot en webbapp och min programvara, Burp suite hittade ingenting. När jag klistrade in lite javaskriptkod direkt i ett inmatningsfält, hittade jag en möjlighet att köra javaskriptkod hos andra användare och läcka ut information den vägen. På så sätt kunde jag få ut data från andra användares ärenden (det var ett ärendehanteringssystem). Ett automatiserat program hade aldrig kunnat förstå vidden av problemet.

En annan attack jag gjorde mot en kund var att ladda upp ett dokument som i själva verket var ett litet program. Men detta kunde jag på under fem minuter ta över servern som körde webbapplikationen och även hela nätverket. Alla dessa attacker är värda oändligt mycket mer än att bara lämna in en rapport där det står att HTTP-protokollet stöder version 3.0 av SSL vilket inte är bra.

Om du anlitar någon att göra ett pentest på din miljö, se då till att du verkligen får vad du betalar för. Som jag skrev förut finns det många som säljer dåliga tjänster därute.

2 comments

  1. Erling Mattsson skriver:

    Håller helt med om att man missbrukar och blandar ihop nivåerna av säkerhetskontroller man kan och bör göra för att säkra IT systemen. Jag tror det både är okunskap, men absolut också lathet och pengar som styr detta, trots att man vet konsekvenserna av att slarva med säkerhet!
    Säkerhetsskanning och penetrationstester är ju dessutom bara två av de åtminstone 20 åtgärder och aktiviteter man kontinuerligt bör utföra i sina IT plattformar. Sedan tillkommer ju att säkra lokaler och den personal som arbetar i IT systemen också. Mänskliga faktorn är nog den största säkerhetsrisken tyvärr!

    Erling

  2. Erik Zalitis skriver:

    Jo, det är nog en hel del slarv och missriktad sparsamhet här. När man slarvar med säkerhet är det som att balasera på kanten till ett stup. De flesta gånger går det bra och ingenting händer. Det är den där sista gången som det inte går så bra.

    > Mänskliga faktorn är nog den största säkerhetsrisken tyvärr!

    Det är en bra fråga, faktiskt. Det är ju vi människor som sätter upp systemen och konfigurerar dem, så det är nog sant. 🙂

    //Erik Zalitis

Lämna ett svar

E-postadressen publiceras inte. Obligatoriska fält är märkta *

Scroll to top