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.
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.