Er penetrasjonstesting verdt pengene?

Er penetrasjonstesting verdt pengene?

Penetrasjonstesting begynner å bli en vanlig geskjeft for bedrifter å benytte. Noen er flinke og kjører penetrasjonstester i løpet av utviklingsløpet, noen er mindre flinke og gjør det først når de skal produksjonsette, noen er litt mindre flinke og gjør det først etter at en app har kjørt en stund, og de verste i klassen gjør det ikke i det hele tatt. Men er pentesting egentlig verdt kostnadene?

En penetrasjonstest er en statusrapport om sikkerhetsrelaterte funn i applikasjonen eller infrastrukturen din akkurat nå. Software er ikke en statisk haug med kode som bare ligger der. Applikasjoner er i evig forvaltning enten direkte med videreutvikling av koden, eller at den blir påvirket grunnet endringer i domenet eller infrastrukturen.

Det er ikke bare i koden dere utvikler og forvalter som endrer seg heller. Det blir daglig funnet nye sårbarheter i mellomvare og biblioteker, som forhåpentligvis blir patchet raskt, men som da igjen endrer tilstanden din. Det er alltid en variabel i endring på et eller annet nivå. En penetrasjonstest blir bare en rapport om hvordan det ser ut akkurat nå. Ikke nødvendigvis hvordan den ser ut i morgen.

 

Krever god forståelse for å lykkes

Kvaliteten på en penetrasjonstest er bare så god som den som utfører testen. I dag er det et hav av kommersielle og gratis verktøy for penetrasjonstesting, sårbarhetsscanning og overvåkning, og mange av de er gode. Noen krever mye konfigurering, mens andre selger seg på at de er klikk-og-kjør. Alle skryter av at de gjør noe de andre ikke gjør, og at de er fullt oppdatert på de siste kjente sårbarhetene.

Som i resten av IT verden i dag er maskinlæring også hot-stuff for tiden. Selv om verktøyene har kommet langt, så yter de begrenset nytte i hendene til noen som ikke har god forståelse av hvordan ting faktisk fungerer og henger sammen. Det å finne gode sikkerhetsfolk er langt ifra enkelt.

Middels og store bedrifter som har levd en stund med IT er litt som låven til bonden. Går du inn der finner du verktøy og ymse redskap som har levd der siden han tok over gården fra dens tidligere eier. Halvveis dekket til borti hjørnet står en nedstøvet gråtass fra 1955 som bonden stolt sier fortsatt starter, mens han til daglig bruker enten Fendt’n eller John Deere’n. «Kan du ikke kvitte deg med den gamle haugen da? Tar jo bare plass?» spør du. Svaret er et blikk som om du er gal.

Akkurat som bonden klarer ikke vi i IT verden å kaste gammel moro. Enten fordi en eller annen stakkar fortsatt ikke har migrert over til det nye (som kom for snart 10 år siden) eller så skal det bare fases ut (en gang i fremtiden). Tenk deg bare all programvaren, ny og gammel, som lever side om side i nettverkene din. Alle regler, tilganger, dataflyttinger, snarveier, hacks og triks, gammelt og nytt, som summer døgnet rundt i de serverlesse serverene i datarommet.

Det er den holistiske summen av alt du har som gjør at dette er nettopp ditt datasenter (spiller ingen rolle om du drifter selv, eller hos leverandør, old school eller i skyen). En rekke valg er gjort basert på tid, penger, ressurser, kompetanse, vilje, og resultatet er det du sitter med i dag. Her er det en drøss med særpreg, falske positiver og positive falskheter som en innleid penetrasjonstester ikke kjenner til. Ved endt test mottar du en rapport som kan inneholde en del støy. Punkter testeren har tatt med fordi han eller hun ikke vet om dette er viktig eller ikke.

Hvordan sikre et stabilt og forutsigbart IT-miljø? Visma Consulting har over 15 års erfaring innen teknisk test, og kan tilby skreddersydde test-team.

Les mer om teknisk test

 

Fortell hvordan de skal gjøre det riktig

Jeg har møtt en del penetrasjonstestere. I gamle dager (90-tallet og tidlig 2000) var de nesten utelukkende mennesker som hadde vært, eller ofte fortsatt var, software utviklere. De var fagfolk som egentlig levde av å utvikle løsninger, men som hadde et higende ønske om å utvikle sikre programmer. På den tiden var det ikke alltid lett å få betalt for å gjøre sikkerhetstester. Utviklere kranglet fortsatt om å få lov til å gjøre enhetstester. Tiden har heldigvis forandret seg.

Mye takket være media, som elsker å dramatisere hackersaker, har sikkerhet blitt et etterspurt kompetanseområde. Dette har gjort at mange kaster seg på sikkerhetsutdanning og hopper ut i en hverdag som ikke ser ut til å gå tom for oppgaver.

Jeg mener ikke å kaste dritt på disse sikkerhetsfolkene. Mange av de er dyktige testere og avdekker ofte grove feil. Dette har selvfølgelig stor verdi. Problemet for mange kommer først når de skal levere rapporten og holde presentasjonen om funnene. De kan si hvorfor de klarte å komme inn et sted, men sjelden inneholder rapportene eller presentasjonene en godt detaljert smørbrødliste over hvordan man skal korrigere feilene.

Det er nemlig ikke alltid bare å følge OWASP sine guider. Hvis kundens TLS implementasjon er feil, så bør du som penetrasjonstester fortelle de hvordan de skal gjøre dette riktig. En sårbarhet i applikasjonen forekommer kanskje fordi den er avhengig av en annen eldre applikasjon. Kanskje ikke løsningen er å modifisere selve applikasjonen, men heller utføre infrastrukturelle eller arkitekturmessige endringer. For å gi gode svar i en rapport kreves en viss erfaring innen utvikling og/eller drift.   

 

Penetrasjonstesting bør gjøres oftere

Mener jeg virkelig at penetrasjonstesting ikke er verdt pengene? Enda jeg ikke har sagt et ord om hva dette vanligvis koster? Nei. Overhodet ikke. Penetrasjonstesting er viktig, og det bør gjøres oftere.

Det jeg mener er at å se på penetrasjonstesting som en helt sær-stilt sak man bare leier noen for å gjøre nå og da er feil. Penetrasjonstesting er noe som skal være en del av applikasjonsutviklingsløpet på lik linje som koding og testing. Det skal være på lik linje som konfigurasjonsstyring i driften av infrastrukturen. Både du og jeg vet at det ikke blir mindre IT å forholde seg til i fremtiden (selv om blåruss-Nostradamusene skulle få rett om at vi er i en boble nå, så forsvinner ikke systemene, dataene du har, dataene du generer, og viktigst av alt, ansvaret ditt, når den sprekker).

Min anbefaling er å ansette penetrasjonstestere som en del av sikkerhetsteamet eller infrastrukturteamet. I hvert fall få inn personell som skal være hos deg over lengre tid. En kompetansesterk sikkerhetstester, altså en som ikke bare lener seg på ferdige verktøy, med utviklererfaring, og som daglig jobber i ditt IT miljø vil gi deg mest nattesøvn for pengene.  

Noen vil kanskje argumentere at en som leies inn i to uker best simulerer en reell angriper. Jeg er ikke enig i det. Det er fordeler med at en uavhengig tredjepart penetrasjonstester applikasjonene dere utvikler, men jeg tror du får mest for pengene ved å ansette egne eller leie inn sikkerhetstestere på lengre avtaler gir mest for pengene.

Innleid på kort-tids oppdrag vil muligens simulere én type hacker, men vil ikke være i nærheten av organisert kriminalitet eller fremmede stater. Dette er to trusselagenter som tar seg god tid og studerer målene sin lenge.

Når du som eier av data og systemer skal gjøre det vanskelig for en inntrenger har du i oppgave å tenke på alt og alle steder hvor et angrep kan forekomme, mens en reell trussel trenger bare finne ett punkt. Selv om en penetrasjonstester skal simulere en angriper så er bakgrunnen for testen forebygging og forsvar. Få hackerne inn som en del av bedriften din og slipp de løs. Jeg er helt sikker på at du allerede har så mye IT at de ikke blir arbeidsledig med det første.

Visma Consulting har et sterkt fagmiljø innenfor test og testledelse, med høyt sertifiserte medarbeidere.

Våre tjenester: Test og testledelse

About

Even Lysen er sikkerhetskonsulent i Visma Consulting AS. Han har fått datamaskiner til å gjøre ting de ikke skal siden glansdagene til Commodore, og jobber i dag med bl.a. sikkerhetstesting, sikkerhetsarkitektur, hendelseshåndtering og ROS analyser.
Connect with Even: