2021-09-30

Hva gjør en PKI sårbar?

Det er ofte slik at en intern Public Key Infrastructure (PKI) har en mangelfull forvaltning og som en følge av det, også har potensielle sårbarheter. I dette innlegget gir Kato Kristiansen en overordnet beskrivelse på noen av disse sårbarhetene – og hvordan man kan forebygge mange av dem.

Kato Kristiansen Lead Architect

Ulike svakheter knyttet til PKI

  • Svakheter i design og manglende bruk av HSM (Hardware Security Module)
  • Man har tatt i bruk snarveier og "registry hacks" på CA som omgår sikkerhetsinnstillinger
  • Ingen begrensninger for "subject names" i sertifikatutstedelser
  • Svak rettighetssetting på sertifikatmaler
  • Høyt antall publiserte sertifikatmaler som gjør det utfordrende å ivareta sikkerhet og tilgangsstyring
  • Ingen verifikasjon og godkjenning ved sertifikatutstedelser
  • Mangelfulle operasjonelle rutiner gjør at alle "tar seg til rette" for å få det de trenger

Hva er ofte mål for angrepene?

Få utstedt og tilgang til "rogue" sertifikater som kan benyttes til:

  • "Man in the Middle Attack"
  • Utgi seg for å være noen andre (impersonation) og benytte sertifikater for autentisering mot tjenester i infrastrukturen.
  • Forfalske personlige signaturer
  • Kodesignering (signere skadevare som dermed oppfattes som "trusted")
  • Destruktivt angrep
  • Slette signeringsnøkler og tilhørende backups som gjør at det kan være tid- og innsatskrevende å komme tilbake i normal produksjon
  • Revokere sertifikater som benyttes av viktige og sentrale tjenester i infrastrukturen og som dermed "tar ned" disse tjenestene 

Angrepsfaser

  • Skaffe tilgang til infrastruktur
  • Credential theft
  • Social engineering
  • Pass the hash / lateral movement
  • Bruk kredentialer til å kompromittere PKI
  • Kartlegge AD struktur
  • Kartlegge svakheter i CA infrastruktur
  • Identifisere bruksområder for sertifikater og identifisere hvem i organisasjonen som besitter sertifikater som kan misbrukes (f.eks sertifikater for kodesignering).

Angrepstyper

CA Hijacking

Angriper infiltrerer CA infrastruktur og forsøker å få CA til å signere falske sertifikater.

Ved et slik type angrep blir ikke nødvendigvis den private nøkkelen på CA stjålet (dersom man benytter HSM for å beskytte privat nøkkel unngår man at den kopieres/stjeles, men en HSM kan vanskelig hindre at angriper benytter nøkkelen for signering).

Key Hijacking

Angriper infiltrerer CA infrastruktur og stjeler/kopierer CA sin private nøkkel for å kunne signere falske sertifikater og/eller falske CRLèr (Certificate Revocation List) uten å jobbe direkte mot/på CA (bruk av HSM vil kunne forhindre denne type angrep).

Denial of Service (DoS)

  • Kan være en del av et forsøk på kompromittering av CA
  • Kan benyttes for å avlede oppmerksomheten fra andre deler av angrepet
  • Forsøke å skape en stresset situasjon som gjør at sporene etter angrepet slettes (f.eks at driftspersonell foretar en restore fra backup og dermed sletter logger og andre spor).

 Noen forebyggende tiltak

  • Bruk HSM for sikring av private nøkler for CA`s
  • Monitorering og audit policies på alle CA`s
  • Trafikkoptimalisert brannmur på alle CA`s
  • Offline CA`s (typisk Rot CA) skal aldri være tilknyttet nettverk (oppbevaring i safe er en rutine som ofte benyttes)
  • Bruk av IDS/IPS
  • Gode og nøyaktige patcherutiner
  • Rolleseparering på CA for å vanskeliggjøre misbruk og kompromittering
  • Kontrollere og monitorere all tilgang til CA servere
  • MFA for pålogging til online CA`s (viktig å vurdere hvilken konsekvens feilsituasjoner på sertifikattjenesten vil kunne påvirke påloggingen)
  • En katastrofeplan som ivaretar viktigheten av å sikre bevis før man gjenoppretter systemer
  • Dersom man ikke benytter HSM for CA (dvs privat nøkkel ligger i OS) bør man benytte applikasjonsbasert backup (backup script for å sikre kopi av privat nøkkel og database) og unngå at det tas backup av privat nøkkel via snapshots/system state backup (for å redusere spredning av privat nøkkel). Dersom man likevel benytter snapshot backup anbefales det at denne er kryptert.

Gjennom årene har vi stadig blitt påminnet viktigheten av å beskytte domenekontrollere (Active Directory), men dessverre har ikke viktigheten av å beskytte PKI kommet like godt frem. For å si det enkelt, dersom en angriper får tak i (og kontroll på) en online CA, er sjansen stor for at du har en ny admin som kan bevege seg relativt fritt og ubemerket omkring i infrastrukturen.