Risikobasert sikkerhetstesting

Sikkerhetstesting tar for seg artefaktene enheter og komponenter snarere enn systemet som helhet. Det er en blanding av en “hvit-hatt” og en “svart-hatt” tilnærming, og kan gjøres fra utsiden og inn, eller fra innsiden og ut. Sikkerhetstesting drives av misbrukseksempler (misuse cases/abuse cases), og omfatter to strategier: Testing av sikkerhetsfunksjonalitet, og risikobasert testing basert på angrepsmønster.

Sikkerhetsoperasjoner

Det å passe på sikkerheten til et system etter at det har vært satt i drift, har tradisjonelt vært sett på som en (ja, nettopp) driftsoppgave som “de på IT” tar seg av.

Et vellykket programvaresikkerhetsinitiativ må imidlertid også omfatte sikkerhetsoperasjoner eller nettverkssikkerhet, for å sørge for full tilbakekopling til utviklerne.

Penetrasjonstesting

Ifølge Gary McGraw hviler programvaresikkerhet på tre pilarer:

  1. Anvendt risikostyring: Ta på deg den svarte hatten din for å avdekke alle mulige trusler. Utfør risikoanalyse på arkitekturnivå, dvs. trusselmodellering med mere. Risiko må spores og motvirkes kontinuerlig gjennom hele utviklingslivssyklusen.
  2. Trykkpunkter for programvaresikkerhet: Identifiser kjerneaktiviteter som bidrar til forbedret programvaresikkerhet, og sørg for at sikkerhet blir tatt hensyn til i hvert steg av programvareutviklingssyklusen. Microsoft sitt Tiltrodde databehandlingsinitiativ (Trustworthy Computing Initiative) fra 2002 er et eksempel, som resulterte i Microsoft SDL (og senere SDL Agile).
  3. Kunnskap og god praksis: Alle utviklere må ha et minimum av sikkerhetskunnskap, og kunne bruke sjekklister som OWASP Top 10.

Smidig utvikling og programvaresikkerhet

Smidighetsbevegelsen representerer alternativer til tradisjonell prosjektledelse i utviklingsprosjekter. Smidige metoder brukes typisk for å la utviklingsorganisasjoner respondere på usikkerhet og uventet hendelsesforløp. Scrum er den mest populære måten å introdusere smidighet, på grunn av sin enkelhet og fleksibilitet.

Innebygget sikkerhet

I en artikkel i IEEE S&P for mange år siden diskuterte Bruce Schneier hva som gjør at vi “kjøper” sikkerhet. Hvorfor får sikkerhetsoppgaver alltid lavere prioritet enn andre oppgaver? Hvorfor er utviklere generelt så lite interesserte i sikkerhet? Eksperter forteller stadig vekk utviklere at de må tenke er på sikkerhet, så hvorfor gjør ikke alle det? Hvorfor innser ikke ledere at de må sørge for å ha sikkerhetseksperter i utviklingsgruppen, på samme måte som de gjør med testere?

Innebygget personvern

Innføringen av GDPR var en gullgruve for mange konsulentselskaper – mange firma var usikre på hva det ville medføre, og brukte hundre-tusenvis av kroner på å bli “GDPR-klare”. En av de mest merkbare konsekvensene av GDPR var at mange virksomheter så seg nødt til å vaske epostlistene sine, og slette alle mottakere som ikke hadde gitt eksplisitt samtykke. Derfor fikk mange av oss gjentatte eposter hvor vi ble bedt om å bekrefte at vi fortsatt vill stå på epostlisten.

Den som tror han er ferdig utlært er ikke utlært, men ferdig

I høst underviser jeg et nytt fag med den fengende tittelen “DAT250 Informasjons- og programvaresikkerhet” ved Universitetet i Stavanger. Som i fjor vil jeg lage norske sammendrag av utalgte forelesninger og legge ut her. Faget baserer seg delvis på bøkene…

Epostsikkerhet

Dagens tekst er hentet fra kapittel 19 i Cryptography and Network Security, og handler om sikkerhet i forbindelse med elektronisk post.

Det er to typer protokoller involvert når man sender epost. En type brukes for å sende epost fra kilde til destinasjon over internett; eksempler kan være Simple Mail Transfer Protocol (SMTP) og X.400. Den andre typen brukes for å overføre meldinger mellom klienter og epost-tjenere; her er IMAP og POP de mest vanlige valgene.