29
SINTEF IKT Avanserte Fartøyer 2015 1 Marie Moe, PhD, Forsker ved SINTEF IKT, Systemutvikling og sikkerhet SoDware Security: Hvordan bygge sikre systemer? @MarieGMoe @SINTEF_Infosec #swsec

Software Security: Hvordan bygge sikre systemer?

Embed Size (px)

Citation preview

Page 1: Software Security: Hvordan bygge sikre systemer?

SINTEF  IKT  

Avanserte  Fartøyer  2015  

1  

Marie  Moe,  PhD,  Forsker  ved  SINTEF  IKT,  Systemutvikling  og  sikkerhet    

SoDware  Security:  Hvordan  bygge  sikre  systemer?  

@MarieGMoe  @SINTEF_Infosec  #swsec  

Page 2: Software Security: Hvordan bygge sikre systemer?

SINTEF  IKT  

•  Introduksjon  av  SoDware  Security  •  Hva  kan  gå  galt?  •  Hvordan  bygge  sikre  systemer?  

2  

Agenda  

Page 3: Software Security: Hvordan bygge sikre systemer?

SINTEF  IKT   3  

SoDware  Security:  Hvordan  kan  vi  stole  på  programvare?  

Page 4: Software Security: Hvordan bygge sikre systemer?

SINTEF  IKT   4  

Det  handler  om  teknologi,  mennesker  og  prosesser!  

Page 5: Software Security: Hvordan bygge sikre systemer?

SINTEF  IKT   5  

Hva  kan  gå  galt?  

Page 6: Software Security: Hvordan bygge sikre systemer?

SINTEF  IKT   6  

Kilde:  hWp://www.technologyreview.com/news/520421/ship-­‐tracking-­‐hack-­‐makes-­‐tankers-­‐vanish-­‐from-­‐view/  

Page 7: Software Security: Hvordan bygge sikre systemer?

SINTEF  IKT  

Narkosmugling:  Hacking  av  IT-­‐systemer  i  kontainerhavn  

hWp://www.bbc.com/news/world-­‐europe-­‐24539417  hWps://www.youtube.com/watch?v=91go7M9pZwo  

Page 8: Software Security: Hvordan bygge sikre systemer?

SINTEF  IKT  

 Hvordan  blir  man  hacket?  

Page 9: Software Security: Hvordan bygge sikre systemer?

SINTEF  IKT  

Trender  

•  Økning  i  DDoS  •  Innloggingsinformasjon  på  avveie  •  Flere  alvorlige  sårbarheter  •  Destruk`v  skadevare/løsepengevirus  •  Vannhullsangrep  og  spearphishing  

Slide 9

Page 10: Software Security: Hvordan bygge sikre systemer?

SINTEF  IKT  

Hva er truslene?

10

Spionasje Sabotasje

Økonomisk krim

Rampestreker

Krise / Krig

Politiske protester

Kaosaktører

Kompetente, ressurssterke aktører

Page 11: Software Security: Hvordan bygge sikre systemer?

SINTEF  IKT  

Noen  ubordringer  

•  Proprietære  løsninger  som  ikke  har  bliW  kvalitetssikret  •  Sikkerhetsmekanismer  er  `lstede,  men  vanskelige  å  konfigurere  eller  ikke  

slåW  på  som  standard    •  Standard  eller  hardkodede  passord,  dårlig  nøkkelhåndtering  •  Ikke  implementert  `lfredss`llende  mekanismer  eller  ru`ner  for  

programvare-­‐oppdatering  •  Produkter  med  lang  leve`d  blir  hengende  eWer  i  forhold  `l  nye  

sikkerhetsmekanismer  og  utviklingen  i  trusselbildet  

Page 12: Software Security: Hvordan bygge sikre systemer?

SINTEF  IKT  

SLIK  STOPPER  DU  DATAANGREPENE  

•  Oppgrader  program-­‐  og  maskinvare    •  Installer  sikkerhetsoppdateringer  så  fort  som  mulig    •  Ikke  >ldel  slu?brukere  administrator-­‐reAgheter    •  Blokker  kjøring  av  ikke-­‐autoriserte  programmer  •  Ak`ver  kodebeskyWelse  mot  ukjente  sårbarheter  •  Herde  applikasjoner    •  Bruk  klientbrannmur    •  Bruk  sikker  oppstart  og  diskkryptering    •  Bruk  an`virus  /  an`-­‐malware    •  Ikke  ta  i  bruk  flere  applikasjoner  og  funksjoner  enn  nødvendig  

 

 

Slide 12

Kilde:  hWp://nsm.stat.no/blogg/enkle-­‐`ltak-­‐mot-­‐dataangrep/      

Page 13: Software Security: Hvordan bygge sikre systemer?

SINTEF  IKT   13  

Hvordan  bygge  sikre  systemer?  

Page 14: Software Security: Hvordan bygge sikre systemer?

SINTEF  IKT  

²  Safety-­‐By-­‐Design  ²  Tredjeparts  samarbeid  ²  Bevissikring  ²  Sikkerhetsoppdateringer  ²  Segmentering  og  isolering  

14  

5-­‐Stjerners  rammeverk  (automo`ve)  

ü  Innse  at  det  vil  gå  galt  og  planlegg  håndtering  ü  Kjenn  dine  allierte  før  det  går  galt  ü  Finn  problemet  og  lær  av  dine  feil  ü  Ta  tak  i  hendelsen  og  fiks  problemet  ü  Unngå  at  problemet  påvirker  flere  deler  av  

systemet  

OversaW  fra:  hWps://www.iamthecavalry.org/domains/automo`ve/5star/  

Page 15: Software Security: Hvordan bygge sikre systemer?

SINTEF  IKT  

•  Det  handler  ikke  bare  om  å  bli  kviW  “bugs”,  også  feildesign  •  Sikkerhet  bygges  ikke  kun  av  sikkerhetsfunksjoner  

•  F.eks  ved  å  “legge  `l  krypto”  •  Sikkerhet  angår  alle,  ikke  bare  sikkerhetsfolk  og  systemadministratorer  •  Sikkerhetskrav  bør  likes`lles  med  kvalitetskrav  •  Ikke-­‐funksjonelle  krav  er  essensielt!  

•  Oppe`d  •  Kapasitet  

Sikker  programvare  krever  fokus  på  sikkerhet  gjennom  hele  utviklingsløpet!  

15  

Hvordan  “bygge  inn”  sikkerhet?  

Page 16: Software Security: Hvordan bygge sikre systemer?

SINTEF  IKT  

•  Det  holder  ikke  å  bare  telle  antall  bugs  per  1000  linjer  kode  •  Utbredelsen  av  produktet  teller  •  Har  angriper  et  stort  insen`v  for  å  utnyWe  sårbarhetene?  

•  Spesielt  for  programvare:  •  Programvare  “slites”  ikke  over  `d  •  Ingen  “mean  `me  to  failure”  •  Ingen  grunn  `l  at  det  skal  eksistere  flere  bugs  i  et  populært  produkt  

•  I  stedet  for  å  måle  kodekvalitet  kan  man  måle  kvalitet  på  utviklingsprosessen  •  Hva  er  beste  praksis?  •  I  hvor  stor  grad  følges  beste  praksis?  

16  

Hvordan  måle  sikker  kode?  

Page 17: Software Security: Hvordan bygge sikre systemer?

SINTEF  IKT   17  

Sikker  programvareutvikling  

•  Building  Security  In  Maturity  Model  •  Basert  på  etablert  praksis  hos  78  

selskaper  •  112  ak`viteter,  12  praksiser  •  Måler  modenhet  på  praksis  

•  SoDware  Assurance  Maturity  Model  

•  Beskriver  beste  praksis  •  En  av  flere  eksempler  på  metodikk  

hWp://www.opensamm.org  hWps://www.bsimm.com  

Page 18: Software Security: Hvordan bygge sikre systemer?

SINTEF  IKT  

BSIMM  Community  (44  av  78)  

Intel

Page 19: Software Security: Hvordan bygge sikre systemer?

SINTEF  IKT  

BSIMM  SoDware  Security  Framework  

Kilde:  hWp://www.informit.com/ar`cles/ar`cle.aspx?p=1271382,  hWp://bsimm.com  Se  også  norsk  versjon:  hWp://infosec.sintef.no/informasjonssikkerhet/2014/03/dypdykk-­‐i-­‐bsimm-­‐del-­‐0/  

Page 20: Software Security: Hvordan bygge sikre systemer?

SINTEF  IKT   20  

Eksempel:  Konfigurasjonsstyring  og  sårbarhetsstyring  

Nivå  1:  •  OppreW  eller  oppreW  kontakt  med  hendelseshåndtering  •  Iden`fiser  programvarefeil  som  oppdages  ved  overvåkning  av  driDen,  og  mat  disse  

`lbake  `l  utviklingsavdelingen  Nivå  2:  •  Ha  et  system  for  å  gjøre    hur`ge  krise-­‐endringer  i  koden  når  en  applikasjon  er  under  

angrep  •  Hold  styr  på  programvarefeil  som  er  funnet  i  driDen  gjennom  hele  

opprerngsprosessen  •  OppreW  en  katalog  over  applikasjoner  for  driDen  Nivå  3:  •  Fiks  alle  programvarefeil  som  oppdages  i  driDen  •  Utvid  organisasjonens  SSDL  `l  å  forhindre  feil  som  oppdages  i  driDen  •  Simulér  programvarekriser  •  Skuddpremie  på  programvarefeil  

Page 21: Software Security: Hvordan bygge sikre systemer?

SINTEF  IKT  

BSIMM  Scorecard  (n=78) 1. Bruk eksterne penetreringstestere for å finne problemer. (69) 2. Sørg for at grunnleggende system- og nettverkssikkerhetsmekanismer er på plass. (69) 3. Identifiser programvarefeil som oppdages ved overvåkning av driften, og mat disse tilbake til utviklingsavdelingen. (73) 4. Identifiser beslutningpunkter, samle nødvendige artefakter. (66) 5. Foreta gjennomgang av sikkerhets-mekanismer. (67) 6. La sikkerhetsmekanismer og sikkerhetskrav drive testene. (66) 7. Lag og publisér sikkerhetsfunksjonalitet. (61) 8. Identifisér krav til personvern. (61) 9. Tilby sikkerhetsbevissthetsopplæring. (59) 10. Bruk automatiserte verktøy sammen med manuell gjennomgang. (55) 11. Lag et graderingssystem for data og katalogiser. (51) 12. Lag sikkerhetsstandarder. (57)

Page 22: Software Security: Hvordan bygge sikre systemer?

SINTEF  IKT   22  

Måling  av  20  norske  offentlige  virksomheter    

hWp://infosec.sintef.no/informasjonssikkerhet/2015/04/hvordan-­‐star-­‐det-­‐`l-­‐med-­‐programvaresikkerheten-­‐i-­‐norske-­‐offentlige-­‐virksomheter/  

Page 23: Software Security: Hvordan bygge sikre systemer?

SINTEF  IKT   23  

Page 24: Software Security: Hvordan bygge sikre systemer?

SINTEF  IKT   24  

Page 25: Software Security: Hvordan bygge sikre systemer?

SINTEF  IKT   25  

Page 26: Software Security: Hvordan bygge sikre systemer?

SINTEF  IKT   26  

Page 27: Software Security: Hvordan bygge sikre systemer?

SINTEF  IKT   27  

Page 28: Software Security: Hvordan bygge sikre systemer?

SINTEF  IKT  

Vår  avhengighet  av  systemer  som  styres  av  programvare  øker  raskere  enn  vår  evne  >l  å  sikre  systemene  

•  En  løsning  er  å  bygge  inn  sikkerhet  som  en  del  av  programvareutviklingen  

•  Programvare  vil  all`d  inneholde  bugs  

•  Det  er  ubordrende  å  måle  programvaresikkerhet  

•  Modenhet  på  programvaresikkerhetsarbeidet  kan  måles  med  BSIMM  

28  

Konklusjon  

Page 29: Software Security: Hvordan bygge sikre systemer?

SINTEF  IKT  SINTEF  IKT  

Takk  for  oppmerksomheten!    

marie.moe  @  sintef.no  hWp://infosec.sintef.no  

hWp://swsec.no        @MarieGMoe  

@SINTEF_Infosec