Tverrprotokollangrep på TLS/SSL og sikkerhetsoppdateringer for OpenSSL

Publisert: 02.03.2016 | Sist endret: 11.01.2017

The OpenSSL Project har publisert en Security Advisory[1] som adresserer flere sårbarheter hvorav én er spesielt kritisk.

Advisoryen dekker totalt 8 sårbarheter der 2 er markert "Høy", 1 "Moderat" og 5 "Lav". Flere av sårbarhetene er relatert til et angrep på TLS/SSL som ble presentert 1. mars. Dette angrepet er omtalt under.

Tverrprotokollangrep på TLS ved hjelp av SSLv2 (DROWN)

CVE-2016-0800 - Alvorlighetsgrad: Høy

Sikkerhetsforskere har demonstrert et Man-in-the-Middle (MitM)-angrep som kan føre til at TLS-sesjoner blir kompromittert. Angrepet er døpt DROWN - Decrypting RSA with Obsolete and Weakened eNcryption - og ble kjent for allmennheten 1. mars 2016. Et typisk scenario krever at angriper observerer 1,000 TLS handshakes for så å initiere 40,000 SSLv2 koblinger mot serveren. Deretter gjennomføres 2^50 kalkulasjoner for å finne sesjonsnøkkelen. Det er demonstrert at dette er gjennomførbart i praksis ved å benytte Amazon EC3 og ~8 timer tallknusing.

Skanning av Internett anslår at 33% av alle HTTPS-servere er sårbare for DROWN. Servere som støtter SSLv2 er sårbare, og grunnet feilkonfigurering og standardinnstillinger er denne støtten fremdeles vanlig. En server er også sårbar hvis dens private nøkkel brukes på andre servere som tillater SSLv2 koblinger. Mange virksomheter gjenbruker nøkkel og sertifikat på f.eks. web og e-post serveren. Gjenbruk av nøkkel er også vanlig ved bruk av wildcard-sertifikater.

NorCERT anbefaler at man setter seg inn i ressursene som nå finnes på nett [1, 2, 3, 4] og installerer OpenSSL-oppdateringen.

  • OpenSSL 1.0.2 bør oppdateres til 1.0.2g
  • OpenSSL 1.0.1 bør oppdateres til 1.0.1s

For servere med Microsoft IIS, NSS, Apache, Postfix eller Nginx finnes det beskyttende tiltak og veiledning på [2], der tiltaket i hovedsak går ut på å disable SSLv2.

En server er sårbar for DROWN hvis

Divide-and-conquer session key recovery i SSLv2

CVE-2016-0703 - Alvorlighetsgrad: Høy

Denne sårbarheten påvirker OpenSSL versjoner 1.0.2, 1.0.1l, 1.0.0q, 0.9.8ze og tidligere. Sårbarheten ble rettet 19. mars 2015 i oppdatering 1.0.2a, 1.0.1m, 1.0.0r og 0.9.8zf.

Sårbarheten gjør det mulig å gjennomføre DROWN-angrepet mye raskere, fra ~8 timer ned til minutter [4].

Bleichenbacher oracle in SSLv2

CVE-2016-0704 Alvorlighetsgrad: Moderat

Denne sårbarheten påvirker OpenSSL versjoner 1.0.2, 1.0.1l, 1.0.0q, 0.9.8ze og tidligere. Denne ble rettet 19. mars 2015 i oppdatering 1.0.2a, 1.0.1m, 1.0.0r og 0.9.8zf.

Sårbarheten gjør det mulig for en angriper å utføre mer effektive DROWN-angrep.

De fem resterende sårbarhetene er gitt alvorlighetsgrad "Lav" og blir ikke omtalt her. Detaljer finnes på OpenSSL sine sider [1].

  • CVE-2016-0705 - Double-free in DSA code
  • CVE-2016-0798 - Memory leak in SRP database lookups
  • CVE-2016-0797 - BN_hex2bn/BN_dec2bn NULL pointer deref/heap corruption
  • CVE-2016-0799 - Fix memory issues in BIO_*printf functions
  • CVE-2016-0702 - Side channel attack on modular exponentiation

Kilder:

  1. [1] https://www.openssl.org/news/secadv/20160301.txt
  2. [2] https://www.drownattack.com/
  3. [3] http://arstechnica.com/security/2016/03/more-than-13-million-https-websites-imperiled-by-new-decryption-attack/
  4. [4] https://www.helpnetsecurity.com/2016/03/01/drown-attack-breaks-tls-encryption-one-third-of-all-https-servers-vulnerable/