Sikkerhetstest: Finn riktig penetrasjonstest for din bedrift

Penetrasjonstesting er en ideell metode for din virksomhet når du trenger å vurdere effektiviteten til dine sikkerhetsprotokoller.

Ved å simulere realistiske angrep, kan ditt IT-team oppdage svakheter i systemene, utnytte dem og dermed skaffe seg innsikt i hvordan man best håndterer disse sårbare områdene. Hvis du ønsker en grundig forståelse av prosessen, kan du lese vår veiledning om trinnene i penetrasjonstesting.

En penetrasjonstest simulerer ulike angrepsvektorer, enten den utføres internt eller eksternt. Ved et eksternt angrep vil en ekstern aktør forsøke å identifisere informasjon som er tilgjengelig for utenforstående. En intern test, som utføres i etterkant av en ekstern, fokuserer på å kartlegge hva en hacker kan oppnå med intern tilgang til systemet.

Avhengig av målene for penetrasjonstesten, kan testeren ha varierende grad av kjennskap til miljøet som testes. Hvis testeren har detaljert kunnskap om systemet, kalles det en «hvit boks»-test. Alternativt kan penetrasjonstester være rettet mot spesifikke områder som applikasjoner, nettverkstjenester, sosial manipulering, trådløse nettverk eller til og med fysisk sikkerhet.

Uansett type penetrasjonstest du velger, vil en grundig gjennomført test alltid avdekke sårbarheter og bidra til å styrke systemets svakheter. Det kan imidlertid være en tidkrevende prosess å velge den rette testen for din organisasjon, spesielt med det store utvalget av alternativer.

Denne artikkelen gir en oversikt over forskjellige typer penetrasjonstesting, beskriver hva hver test innebærer og når det er mest hensiktsmessig å bruke en bestemt test. Til slutt vil du lære noen nyttige tips for å velge den beste penetrasjonstesten for din organisasjons behov.

Webapplikasjon Penetrasjonstesting

Kilde: synopsys.com

Denne typen penetrasjonstest har som mål å avsløre sårbarheter i nettsteder og webapplikasjoner, slik som e-handelssystemer, kundeforholdssystemer (CRM) og innholdsstyringssystemer (CMS).

Gjennom en grundig undersøkelse av en applikasjons sikkerhet, dens spesifikke funksjoner og kjernefunksjonalitet, identifiseres metoder for å forhindre sikkerhetsbrudd, økonomiske tap og identitetstyveri. Før testingen starter, får testeren tilgang til de relevante applikasjonene, de forskjellige inndatafeltene som skal analyseres, samt en oversikt over de statiske og dynamiske sidene for å evaluere design- og utviklingsfeil på en effektiv måte.

Vanlige sårbarheter som finnes i webapplikasjoner er blant annet cross-site scripting (XSS), databaseinjeksjon og ødelagt autentisering. For å få et dypere innblikk i nettsikkerhet, anbefales det å studere Open Web Application Security Project (OWASP), en anerkjent ressursside. OWASP publiserer data om hyppigheten og alvorlighetsgraden av nettfeil basert på informasjon samlet inn fra tusenvis av applikasjoner.

Dersom din bedrift benytter seg av nettbaserte ressurser, bør du vurdere å gjennomføre web-penetrasjonstester. I dagens organisasjoner er webapplikasjoner essensielle for lagring og overføring av informasjon, og det er derfor nødvendig med grundig testing. Ifølge statistikken har nettkriminalitet økt i etterkant av Covid-19-pandemien.

Nettverkspenetrasjonstesting

Kilde: synopsys.com

Nettverkspenetrasjonstester er sikkerhetsrevisjoner som retter seg mot en organisasjons nettverksinfrastruktur, enten den er plassert lokalt eller i skyen. Disse testene undersøker en rekke sikkerhetsmekanismer, inkludert krypteringssårbarheter, manglende sikkerhetsoppdateringer og usikre konfigurasjoner. Målet er å sikre at viktige forretningsdata er beskyttet.

Nettverkstesting kan utføres enten internt eller eksternt. I en ekstern test har testeren ingen forhåndskunnskap om systemet og benytter internett for å samle informasjon på samme måte som en hacker ville gjort. En intern test fokuserer på å undersøke sårbarheter i det interne nettverket. For eksempel kan testeren utnytte svakheter i internettbaserte systemer for å forsøke å få tilgang til sensitiv informasjon eller forstyrre driften.

Nettverkspenetrasjonstester bidrar til å beskytte din virksomhet mot vanlige nettverksangrep, som for eksempel feilkonfigurasjon, brannmur-omgåelse, ruterangrep, DNS-angrep (Domain Name System), databaseangrep og proxy-serverangrep. Nettverkstesting er spesielt viktig for virksomheter som overfører store mengder data. Med tanke på hvor viktig nettverkstjenester er for en virksomhet, anbefales det å utføre nettverkstester minst en gang i året.

Penetrasjonstesting for mobilapplikasjoner

Ved penetrasjonstesting av mobilapplikasjoner, undersøkes applikasjoner som kjører på ulike operativsystemer (Android og iOS), samt deres interaksjon med API-er. En grundig test innebærer dekompilering av applikasjonens kildekode for å få mest mulig informasjon.

Fokus er rettet mot applikasjonsarkitektur – ved å dekode den før man utfører manuelle tester for å avdekke usikker design og nettverkskommunikasjon – datatransport, datalagring og personvern – for å sikre samsvar ettersom de fleste applikasjoner lagrer kritisk informasjon som passord og API-nøkler i string.xml-filer, autentisering og øktadministrasjon – der testere overvåker sesjonsadministrasjonsprosesser, som avslutning av økter, tokens gyldighet, passordoppdateringer og eventuelle feilkonfigurasjoner i multifaktorautentisering.

Dersom din bedrift fokuserer på utvikling av mobilapplikasjoner, for eksempel spill, finansielle tjenester eller e-handel, kan det være hensiktsmessig å gjennomføre penetrasjonstester før et produkt lanseres offentlig eller før nye oppdateringer rulles ut.

Trådløs penetrasjonstesting

Trådløs testing fokuserer på en organisasjons trådløse nettverk og enhetene som er koblet til disse, som for eksempel smarttelefoner, nettbrett, datamaskiner og andre IoT-enheter (Internet of Things).

Ved hjelp av penetrasjonstester kan du vurdere sikkerhetsnivået til trådløse sikkerhetstiltak, oppdage og utnytte sårbarheter, forstå trusler som er tilknyttet hvert tilgangspunkt og utvikle datadrevne strategier for å håndtere sårbarheter.

Før testprosessen startes, bør omfanget av testen avgrenses ved å definere gjeste- og trådløse nettverk, samt hvilke tjenestesettidentifikatorer (SSID-er) som skal testes. Selv om denne prosessen er mer maskinvarebasert, kan den også gjennomføres ved hjelp av programvareverktøy i open source-operativsystemer som Kali Linux. For å opprettholde et godt sikkerhetsnivå, anbefales det at bedrifter gjennomfører trådløse tester to ganger i året.

API-penetrasjonstesting

API-penetrasjonstesting (noen ganger i kombinasjon med mikrotjenester) benyttes for å avdekke svakheter i API-er. Bruken av API-er har økt i popularitet fordi mange selskaper gir tredjeparter tilgang til deler av sine data og tjenester.

Testene bekrefter at GraphQL, REST, webtjenester og andre API-er er sikre og kontrolleres mot kjente sårbarheter. Testing av API-er har likhetstrekk med testing av nettapplikasjoner, noe som gjør at de samme verktøyene kan benyttes. Imidlertid kan nye verktøy, som for eksempel Postman og Swagger, også være relevante.

Hvis du ønsker å lære mer om dette, kan du sjekke vår sjekkliste over API-utviklings- og testverktøy. Disse verktøyene får ofte tilgang til en «blåkopi» av et API, deretter modelleres grunnleggende API-forespørsler som sendes mot produktet.

Dersom din bedrift benytter seg av web- eller mobilapplikasjoner med en API-backend, kan hyppige API-tester bidra til å avsløre eksponering eller dårlig kodedesign som kan danne utgangspunkt for angrep.

Sosial Manipulering Penetrasjonstesting

I motsetning til andre teknikker som fokuserer på tekniske feil, benytter sosial manipulering seg av menneskelig psykologi for å bryte ned en organisasjons sikkerhet.

Denne typen test er nyttig fordi den avdekker sårbarheter, måler sikkerhetsbevissthet, øker de ansattes bevissthet, reduserer risikoer, forbedrer respons ved hendelser, sikrer overholdelse av regelverk, bygger tillit hos interessenter og sikrer kostnadseffektiv risikostyring.

De vanligste angrepsmetodene inkluderer påskudd, phishing, manipulasjon av medier/fysiske taktikker og tailgating (etterfølging). Sosiale manipuleringstester er basert på informasjon som samles inn ved rekognosering – åpen kildekode-intelligens er relevant her.

Testeren kan bygge en nøyaktig profil av målet for å skreddersy angrepet og velge de mest hensiktsmessige metodene. Selv om det ikke er like vanlig som nettbasert testing, kan sosial manipulering være en effektiv måte å identifisere svakheter i bedriftens driftsmodeller på.

Fysisk Sikkerhet Penetrasjonstesting

Fysisk sikkerhetstesting innebærer å få tilgang til et anleggs fysiske rom for å validere effektiviteten av eksisterende beskyttelsestiltak og se etter sårbarheter. Disse testene evaluerer fysiske sikkerhetstiltak, som for eksempel alarmsystemer, adgangskontroller og områder hvor sensitiv informasjon lagres.

I løpet av denne testen kan teknikker som fysisk omgåelse, tailgating (etterfølging) og sosial manipulering benyttes. Resultatene av testen brukes til å identifisere sårbarheter og forbedre eksisterende sikkerhetstiltak.

Dersom din organisasjon har en fysisk tilstedeværelse, for eksempel et lager for data og annen sensitiv informasjon, er det hensiktsmessig å gjennomføre fysiske penetrasjonstester for å styrke sikkerheten. Det er mange organisasjoner som kan dra nytte av dette, for eksempel banker og finansinstitusjoner, datasentre, offentlige tjenester, sykehus og helseforetak, butikker og kjøpesentre, produksjonsanlegg og sertifiseringsorganisasjoner.

Skypenetrasjonstesting

Skytester går ut på å identifisere og utnytte sårbarheter i applikasjoner og infrastruktur, som for eksempel SaaS, på skyløsninger som Microsoft Azure, Amazon Web Services (AWS) og Google Cloud Platform.

I motsetning til andre tester, krever skypenetrasjonstesting en dyp forståelse av skytjenester. For eksempel kan en SSRF-sårbarhet i AWS-applikasjoner kompromittere hele skyinfrastrukturen.

Ved bruk av andre skyløsninger, inkludert Azure AD og AWS Cognito, kan det oppstå problemer og feilkonfigurasjoner. Vanlige sårbarheter i skyen inkluderer usikre API-er, svake legitimasjoner, serverfeilkonfigurasjon, utdatert programvare og usikker kodepraksis.

Skypenetrasjonstester er nyttige for å forbedre skysikkerheten, spesielt dersom din bedrift tilbyr skytjenester. De fleste som benytter skyløsninger, opererer med en delt ansvarsmodell, og skytester kan bidra til å adressere sårbarheter i plattformen, nettverket og datalagringen.

Beholderpenetrasjonstesting

Containere er kjent for sin profilering av operativsystemvisualiseringer. De kan kjøre mikrotjenester, programvareprosesser og til og med store applikasjoner. Beholder-penetrasjonstester gir mulighet for å distribuere tilpassede testmiljøer, i tillegg til å undersøke beholdere fra et hackers perspektiv.

Når man leter etter sårbarheter, finnes det to alternativer. For det første, statisk analyse som skanner etter sårbarheter i containerbilder. For det andre, dynamisk analyse som undersøker oppførselen til beholderen under kjøring. For best resultat, er det anbefalt å utføre begge deler.

Sårbarheter i beholdere kan finnes i applikasjoner, konfigurasjon, nettverk og i bilde-OS. Dersom din DevOps-avdeling benytter Docker til penetrasjonstesting, kan du tilpasse beholderne, berike dem med de nødvendige verktøy, redusere sårbarheter og effektivisere den generelle funksjonaliteten.

Databasepenetrasjonstesting

Databaser er uvurderlige for bedrifter. Databaser som inneholder sensitive opplysninger, som betalingsdetaljer, kundeinformasjon og produkt- og prisdata, kan utsette bedrifter for fare dersom sikkerheten kompromitteres. For å sikre tilstrekkelig sikkerhet, gjennomføres tester før nye produktdatabaser tas i bruk, og med jevne mellomrom for eksisterende databaser.

Ved å forsøke å få tilgang til databasen på samme måte som en hacker, ved hjelp av beste bransjepraksis, kan databasetesting vise hvordan man best håndterer faktiske angrep.

Vanlige trusler knyttet til databaser inkluderer SQL-injeksjoner, uhemmet tilgang, utilstrekkelige revisjonsspor, synlige sikkerhetskopier, feilkonfigurasjoner, tjenestenektangrep (DoS) og utilstrekkelig databehandling. Testing avdekker sårbarheter i databasen og sikrer at all sensitiv informasjon er beskyttet mot inntrengere. Derfor er det viktig at bedrifter investerer i databasesikkerhet.

IoT-penetrasjonstesting

Internet of Things (IoT) omfatter en sammenkobling av enheter som kommuniserer og utveksler data via Internett. Disse enhetene inkluderer fysiske objekter, kjøretøy og bygninger, og de er integrert med programvare, sensorer, elektronikk og nettverkstilkoblinger.

Ved IoT-penetrasjonstesting er målet å undersøke IoT-nettverket og enhetene for å avdekke eventuelle svakheter. I tillegg går sikkerhetstester utover selve enhetene og inkluderer også kommunikasjonsnettverket, som for eksempel skybaserte plattformer.

Vanlige sikkerhetsproblemer i IoT-enheter er ukrypterte data, usikker fastvare, svake passord og dårlig autentisering/tilgangskontroll. Etter hvert som organisasjoner tar i bruk flere IoT-enheter, er IoT-revisjoner viktig for å styrke eiendeler, ytelse og risikostyring, og for å oppfylle kravene til overholdelse.

White Box Penetrasjonstesting

Ved white box-testing har du dyptgående kjennskap til målsystemet, inkludert applikasjonsarkitektur, kildekoder, legitimasjon, hvitelister, forskjellige kontoroller og relevant dokumentasjon.

Ved å bruke denne tilnærmingen kan kostnader forbundet med testene reduseres. White box-testing fungerer godt for komplekse systemer som krever høyt sikkerhetsnivå, som for eksempel finansinstitusjoner og offentlige myndigheter. Full kodedekning gjør det mulig å avdekke interne feil.

Dersom du opplever et sikkerhetsbrudd, vil white box-testing være den beste metoden for å undersøke applikasjoners sikkerhet, nettverkstilstand, fysisk sikkerhet og trådløs sikkerhet. Alternativt kan du vurdere white box-testing i tidlige stadier av programvareutvikling og før programvare tas i bruk.

Black Box Penetrasjonstesting

Ved black box-testing har man ingen forkunnskaper om systemet, og tilnærmingen ligner på en hackers fremgangsmåte. Testeren har ikke tilgang til kildekode eller arkitekturdiagrammer, og benytter en utenforståendes tilnærming for å undersøke nettverket. Testing baserer seg på dynamisk analyse av systemer og kjøring av programmer i målnettverket.

For å lykkes, må testeren være godt kjent med automatiserte skanneverktøy og manuelle penetrasjonstestingmetoder. Det er også nødvendig å lage en oversikt over målet basert på egne observasjoner. Dette er en rask måte å gjennomføre testing på, og tiden det tar er avhengig av testerens evne til å identifisere og utnytte sårbarheter. Dersom det ikke lykkes å bryte systemet, vil sårbarhetene forbli uoppdaget.

Til tross for at denne typen testing kan være krevende, er det den beste måten å evaluere den generelle sikkerheten til systemet på. Det refereres noen ganger til som «prøving og feiling», og det krever høy teknisk kompetanse.

Red Team Test

Red teaming har likhetstrekk med penetrasjonstesting, men går lenger ved å etterligne en ekte hacker, uten tidsbegrensninger. I disse testene kombineres ulike verktøy, taktikker og teknikker for å få tilgang til et målsystem eller data.

Mens alle andre penetrasjonstester er rettet mot å avdekke sårbarheter, vurderer red team-tester forsvarenes evne til å oppdage trusler og svare på dem. Dette kan innebære evaluering av overvåkingssystemer for kompromittering, fysiske sikkerhetsvurderinger eller til og med sosiale manipulasjonstester. Red team-tester er mer omfattende enn ordinære penetrasjonstester.

En ulempe med red team-tester er at de ikke har samme bredde som penetrasjonstester. De er fokusert på å få tilgang til et system eller data, og når målet er nådd, leter de ikke etter andre svakheter. Ved penetrasjonstesting er det derimot et mål å identifisere alle sårbarheter.

Velge Riktig Penetrasjonstest

Det er viktig å ha god kjennskap til alle eksisterende modeller for å kunne velge den penetrasjonstesten som passer best for din organisasjon. Med denne kunnskapen kan du velge den testen som er mest relevant for din bedrifts arbeidsflyt.

Dersom du benytter webapplikasjoner, vil web-testing være det beste valget. API-tester er hensiktsmessig dersom du tilbyr API-er og backend-utvikling. Det finnes også andre tester, som for eksempel skytester for skyleverandører.

Oversikten ovenfor gir et godt utgangspunkt og hjelper deg med å differensiere mellom de ulike typene penetrasjonstester. Du vil få innsikt i testene og hvilke bruksområder som er best egnet for hver enkelt. Det er også lurt å utvide kunnskapen din med disse og andre relevante alternativer.

Deretter kan du undersøke programvare for premium penetrasjonstesting for webapplikasjoner.