30-09-2021

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.

mennesker i dress om jobber på pc i møterom.foto

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.