SlideShare ist ein Scribd-Unternehmen logo
1 von 18
Downloaden Sie, um offline zu lesen
1© 2014 NIL, Security Tag: INTERNAL 1© 2014 NIL, Security Tag: INTERNAL
nil.com © 2014 NIL, Security Tag: INTERNALnil.com © 2014 NIL, Security Tag: INTERNAL
2© 2014 NIL, Security Tag: INTERNAL 2© 2014 NIL, Security Tag: INTERNAL
OPENSSL IN HEARTBLEED
CVE-2014-0160
3© 2014 NIL, Security Tag: INTERNAL 3© 2014 NIL, Security Tag: INTERNAL
Stojan Rančić, CCIE
KRATKA PREDSTAVITEV
Računalniška omrežja
Varnost
Odprtokodne rešitve
Ukvarjanje z računalniki in omrežji
še pred Internetom ☺
Kontakt:
stojan@nil.com
http://www.linkedin.com/in/stojanrancic
4© 2014 NIL, Security Tag: INTERNAL 4© 2014 NIL, Security Tag: INTERNAL
KNJIŽNICA OPENSSL
Odprtokodna programska knjižnica, ki implementira protokola
TLS in SSL. Jedro knjižnice razvito v programskem jeziku C
Na voljo vseh modernih operacijskih sistemih (Linux, Mac OS X,
Microsoft Windows, OpenVMS, OS/400)
Uporabljena v večini odprtokodnih in veliko komercialnih
rešitvah, ki zagotavljajo kriptiranje z uporabo družine
protokolov SSL / TLS
Na voljo od leta 1998, aktualni verziji 0.9.8 in 1.0.1
5© 2014 NIL, Security Tag: INTERNAL 5© 2014 NIL, Security Tag: INTERNAL
Zloraba napake v OpenSSL 1.0.1
RANLJIVOST HEARTBLEED
Kaj Heartbleed ni:
Virus ali črv, ki bi se širil med
uporabniki, strežniki ali napravami
Kaj Heartbleed je:
Napaka v implementaciji “heartbeat”
komponente protokola TLS (RFC 6520)
Ena resnejših varnostnih groženj
modernega Interneta
Super razlog, da končno zamenjate
gesla
6© 2014 NIL, Security Tag: INTERNAL 6© 2014 NIL, Security Tag: INTERNAL
RAZLAGA PROGRAMSKE
NAPAKE IN POPRAVKA
buffer = OPENSSL_malloc(1 + 2 + payload + padding);
Ranljivost predstavlja nepravilna alokacija pomnilnika, ki
omogoča napadalcu, da z eno povezavo dobi dostop do
naključnih 64kb pomnilnika strežnika:
V zgornji vrstici je padding uporabniško definirana vrednost.
Z več poskusi lahko napadalec dobi dostop do večjega
obsega pomnilnika.
Popravek zagotovi, da omejimo vrednost “payload +
padding” na 16b, ter omejimo največjo dovoljeno dolžino
vrnjenega podatka:
unsigned int write_length = 1 /* heartbeat type */ +
+ 2 /* heartbeat length */ +
+ payload + padding;
+ if (write_length > SSL3_RT_MAX_PLAIN_LENGTH)
+ return 0;
7© 2014 NIL, Security Tag: INTERNAL 7© 2014 NIL, Security Tag: INTERNAL
ČASOVNICA ODKRITJA
1.1.2012 ob 00:59: Razvijalec Robin Seggelmann objavi
implementacijo “heartbeat” razširitve v OpenSSL repozitorij
21.3.2014 ali prej: Neel Mehta (Google) odkrije ranljivost v kodi.
Google razvije popravek in ga namesti na svoje strežnike
31.3.2014: CloudFlare izve za ranljivost in namesti popravek na
svoje strežnike
1.4.2014: Google obvestil razvijalce OpenSSL o najdeni ranljivosti
3.4.2014: Finsko podetje Codenomicon neodvisno odkrije
ranljivost v kodi
4.4.2014: Codenomicon obvesti lokalni CERT, Akamai namesti
popravek na svoje strežnike, krožiti začnejo govorice
5.4.2014: Codenomicon kupi domeno “heartbleed.com”, razvijalci
OpenSSL objavijo popravek v privatnem RedHat repozitoriju
8© 2014 NIL, Security Tag: INTERNAL 8© 2014 NIL, Security Tag: INTERNAL
ČASOVNICA ODKRITJA
6.4.2014: RedHat privatno obvesti ostale Linux distribucije o
najdeni napaki. Zaradi časovne razlike vsi ne dobijo podrobnosti
pravočasno (Ubuntu, Gentoo, Chromium)
7.4.2014 ali prej: Facebook namesti popravke na svoje strežnike
7.4.2014: Finski CERT sporoči informacijo o napaki razvijalcem
OpenSSL, razvijalci OpenSSL izdajo popravljeno verzijo in uradno
objavijo najdeno ranljivost, finski CERT izda obvestilo o ranljivosti
v finskem jeziku, Conenomicon objavi vsebno na strani
“heartbleed.com”, objavljena je prva testna skripta “ssltest.py”
8.4.2014: Finski CERT izda obvestilo o ranljivosti v angleškem
jeziku, objavljen je prvi tweet z dokazom ranljivosti Yahoo.com
12.4.2014: CloudFlare potrdi, da ranljivost omogoča dostop do
privatnih kriptografskih ključev – prvi uspešni napad v treh urah
9© 2014 NIL, Security Tag: INTERNAL 9© 2014 NIL, Security Tag: INTERNAL
POVZETEK ČASOVNICE
Kdo je pred 7.4.2014 vedel za ranljivost?
Google, Codenomicon
OpenSSL, NCSC-FI
CloudFlare, Akamai, Facebook
Kdo pred 7.4.2014 ni vedel za ranljivost?
Amazon, Twitter, Yahoo
Cisco, Juniper, VMware, GoDaddy
Yahoo, Pinterest, Tumblr, Flickr, Instagram
Minecraft, Netflix, Box, Dropbox
Wordpress, GitHub, Wikipedia
Mnogi drugi...
10© 2014 NIL, Security Tag: INTERNAL 10© 2014 NIL, Security Tag: INTERNAL
KAJ MORAMO STORITI
UPORABNIKI?
Uporabniki moramo zamenjati gesla za dostop do spletnih
storitev, ki so bile ranljive in so ranljivost odpravile.
Med njih spadajo med drugimi:
Družabna omrežja: Facebook, Instagram, Pinterest
Podjetja: Google, Yahoo
Spletna pošta: Gmail, Yahoo Mail
Spletne trgovine: AWS, Etsy, GoDaddy
Multimedija: Flickr, Netflix, SoundCloud, YouTube
Ostale: Box, Dropbox, GitHub, Wikipedia
Če uporabljate druge spletne storitve, ki za dostop uporabljajo
kriptirane povezave, preverite, če so objavili obvestilo o ranljivosti.
Uporabniki naj za dostop do spletnih vsebin uporabljajo moderne
brskalnike z omogočenim preverjanjem preklicanih certifikatov.
11© 2014 NIL, Security Tag: INTERNAL 11© 2014 NIL, Security Tag: INTERNAL
KAJ MORAMO STORITI
PODJETJA?
Podjetja z javno dostopnimi storitvami, kjer se za kriptiranje prometa
uporablja knjižnica OpenSSL, morajo čim prej preveriti ranljivost teh
storitev. Na voljo je več načinov:
Z uporabo namenskih aplikacij ali skript:
Skripte: ssltest.py, hb-test.py, hb-batch.py
Aplikacije: Nmap, Metasploit, Nessus, masscan
Z uporabo javno dostopnih spletnih strani:
https://filippo.io/Heartbleed/
https://www.ssllabs.com/ssltest/
Pomembno je preveriti vse javno dostopne storitve (npr. poštni,
VPN, FTP/SSL strežniki), ne samo spletnih strežnikov.
Ranljivost je lahko prisotna tudi v napravah, ki niso javno dosegljive
(IP telefoni, tiskalniki, medicinske naprave), tako da preverite tudi
lokalna omrežja.
12© 2014 NIL, Security Tag: INTERNAL 12© 2014 NIL, Security Tag: INTERNAL
KAJ MORAMO STORITI
PODJETJA?
V primeru najdene ranljivosti moramo:
Odpraviti ranljivost z namestitvijo nove verzije knjižnice OpenSSL
Ustaviti in ponovno pognati servise, ki uporabljajo OpenSSL
Ponovno preveriti, ali smo še ranljivi
Izdati nov privatni ključ velikosti 2048B in od izdajatelja pridobiti nov
certifikat na podlagi tega ključa
Namestiti nov ključ in certifikat za ustrezne servise
Pri izdajatelju zahtevati preklic starega certifikata
Izvesti menjavo gesel uporabnikov servisa
V primeru, da ranljivosti sami ne moremo odpraviti, je priporočeno
zaključevanje kriptografskih sej na namenskih napravah, ki na napad
niso ranljive (F5 BigIP, Cisco ACE, Citrix Netscaler, ipd).
Kjer to ni možno, je priporočeno strogo omejiti dostop do naprav.
13© 2014 NIL, Security Tag: INTERNAL 13© 2014 NIL, Security Tag: INTERNAL
VARNOST SSL/TLS
Da bi tudi v prihodnje zagotovili varen dostop do naših storitev
preko kriptiranih povezav, velja upoštevati naslednje smernice:
Uporaba privatnih ključev RSA velikosti 2048B oz. ECDH
velikosti 256B
Uporaba Perfect Forward Secrecy, ki zagotavlja unikatne
kriptografske ključe za vsako sejo
Uporaba protokola TLS 1.2. Starejše verzije TLS (1.0, 1.1) in SSL
(1.0, 2.0, 3.0) vsebujejo ranljivosti
Uporaba varnih šifrirnih algoritmov: RC4 vsebuje znane
ranljivosti
Hranjenje privatnih kriptografskih ključev v namenskih HSM
napravah
Uporaba 2-faktorskega overjanja
14© 2014 NIL, Security Tag: INTERNAL 14© 2014 NIL, Security Tag: INTERNAL
POGOSTA VPRAŠANJA
Katere verzije OpenSSL vsebujejo ranljivost Heartbleed?
Ranljivost vsebujejo verzije 1.0.1 do 1.0.1f. Verzije 1.0 in starejše 0.9.8 ne
vsebujejo te ranljivosti. Verzija 1.0.1g vsebuje popravek ranljivosti.
Ali lahko enostavno izklopimo “heartbeat” komponento OpenSSL?
Če želimo komponento izklopiti, moramo ponovno prevesti knjižnico
OpenSSL, pri čemer lahko to komponento izklopimo.
Ali sploh potrebujemo “heartbeat” komponento OpenSSL?
Ta komponenta skrbi za komunikacijo med obema stranema in
zagotavlja preverjanje, ali sta obe strani prisotni. To lahko zagotovimo
tudi brez te komponente, vendar je postopek časovno potraten.
Ali so ranljivi vsi spletni strežniki?
Potencialno ranljivi so spletni strežniki, ki za enkripcijo uporabljajo
knjižnico OpenSSL. Spletni strežniki, ki uporabljajo druge kriptografske
knjižnice (npr. Microsoft IIS), niso podvrženi temu napadu.
15© 2014 NIL, Security Tag: INTERNAL 15© 2014 NIL, Security Tag: INTERNAL
POGOSTA VPRAŠANJA
Ali so ranljivi samo spletni strežniki?
Ne, ranljive so vse aplikacije, ki uporabljajo knjižnico OpenSSL. Med
njih spadajo tako poštni in VPN strežniki, kot tudi uporabniške
aplikacije (npr. Cisco Anyconnect za iOS)
Ali so ranljive samo aplikacije?
Ne, znane so tudi ranljivosti v napravah kot so IP telefoni, omrežna
stikala, telekonferenčne naprave, tiskalniki, naprave z Android 4.1.1
(okoli 40M naprav)
Ali lahko iz logov strežnika razberemo, če smo bili napadeni?
Ne, ob zlorabi ranljivosti Heartbleed sistem ne zazna anomalije in
posledično ne generira spročil o napaki. Napad lahko zaznamo z
zajemom in analizo prometa z namenskimi sistemi za detekcijo in
preprečevanje napadov (IPS)
16© 2014 NIL, Security Tag: INTERNAL 16© 2014 NIL, Security Tag: INTERNAL
POGOSTA VPRAŠANJA
Ali so obveščevalne službe (NSA, FSB, GCHQ,...) že prej
poznale in zlorabljale napako?
Da? Ne? Mogoče? Verjetno ne bomo nikoli zares vedeli.
Ali lahko sploh še zaupamo odprtokodnim rešitvam?
Dejstvo je, da napake v kodi več kot dve leti ni nihče opazil, čeprav
je bila koda prosto dostopna. Dejstvo je tudi, da projekt OpenSSL
živi od donacij in plačane podpore, in da razvijalci delajo tudi na
drugih projektih – le en je redno zaposlen.
Predlog: če vaše podjetje uporablja odprtokodne rešitve in še
posebej, če so te rešitve del vaših plačljivih produktov, razmislite o
donaciji organizacijam, ki takšne produkte razvijajo.
17© 2014 NIL, Security Tag: INTERNAL 17© 2014 NIL, Security Tag: INTERNAL
IN ZA KONEC
18© 2014 NIL, Security Tag: INTERNAL 18© 2014 NIL, Security Tag: INTERNAL
REFERENCE
Projekt OpenSSL: http://www.openssl.org/
Splošno o ranljvosti: http://heartbleed.com/
Enostavna razlaga ranljivosti: http://www.xkcd.com/1354/
Podrobna časovnica: http://goo.gl/ZY0rQv
Razkritje privatnih ključev: http://goo.gl/bIiPSv
Testne skripte:
https://gist.github.com/takeshixx/10107280
http://pastebin.com/Z9FiWxPw
https://github.com/starchy/hb-batch
SSL/TLS priporočila: http://goo.gl/uJ26Dp
Perfect Forward Secrecy: http://goo.gl/o7dI2e
Financiranje OpenSSL: http://goo.gl/0VivBz

Weitere ähnliche Inhalte

Andere mochten auch

план по роботі асоціації енергоаудиторів на 2013 рік
план по роботі асоціації енергоаудиторів на 2013 рікплан по роботі асоціації енергоаудиторів на 2013 рік
план по роботі асоціації енергоаудиторів на 2013 рікAssociation of Energy Auditors of Ukraine
 
Genadij Petrovic Malahov- Ishrana i hrana
Genadij Petrovic Malahov-  Ishrana i hranaGenadij Petrovic Malahov-  Ishrana i hrana
Genadij Petrovic Malahov- Ishrana i hranaUgo Carbo
 
Quiz: Welche Variante des Usability-Tests gewinnt?
Quiz: Welche Variante des Usability-Tests gewinnt?Quiz: Welche Variante des Usability-Tests gewinnt?
Quiz: Welche Variante des Usability-Tests gewinnt?Silke Berz
 
WD 4000 Funkwetterstation Bedienungsanleitung
WD 4000 Funkwetterstation BedienungsanleitungWD 4000 Funkwetterstation Bedienungsanleitung
WD 4000 Funkwetterstation BedienungsanleitungAkkuShop.de
 
Der Makler als Marke - Unternehmensfilme für Immobilienunternehmen
Der Makler als Marke - Unternehmensfilme für ImmobilienunternehmenDer Makler als Marke - Unternehmensfilme für Immobilienunternehmen
Der Makler als Marke - Unternehmensfilme für Immobilienunternehmenvisual-immo
 
nasilstvo_i_diskriminacija_final
nasilstvo_i_diskriminacija_finalnasilstvo_i_diskriminacija_final
nasilstvo_i_diskriminacija_finalNade Kachakova
 
Ig je za - MM - LMS 63
Ig je za - MM - LMS 63Ig je za - MM - LMS 63
Ig je za - MM - LMS 63Stripovi Klub
 
Place-Based Point-of-Care Patient Education Reaching Ultra-Targeted Women, Di...
Place-Based Point-of-Care Patient Education Reaching Ultra-Targeted Women, Di...Place-Based Point-of-Care Patient Education Reaching Ultra-Targeted Women, Di...
Place-Based Point-of-Care Patient Education Reaching Ultra-Targeted Women, Di...Care Media Holdings
 
Как эффективно продавать недвижимость в интернете?
Как эффективно продавать недвижимость в интернете?Как эффективно продавать недвижимость в интернете?
Как эффективно продавать недвижимость в интернете?Netpeak
 
World Culture Festival, July 2011 Berlin
World Culture Festival, July 2011 BerlinWorld Culture Festival, July 2011 Berlin
World Culture Festival, July 2011 BerlinVisser, Eva
 
Gpon Fundamentals
Gpon FundamentalsGpon Fundamentals
Gpon Fundamentalsmansoor_gr8
 
The Zillow Zero Marketing Strategy
The Zillow Zero Marketing StrategyThe Zillow Zero Marketing Strategy
The Zillow Zero Marketing StrategyMautic
 

Andere mochten auch (14)

план по роботі асоціації енергоаудиторів на 2013 рік
план по роботі асоціації енергоаудиторів на 2013 рікплан по роботі асоціації енергоаудиторів на 2013 рік
план по роботі асоціації енергоаудиторів на 2013 рік
 
Genadij Petrovic Malahov- Ishrana i hrana
Genadij Petrovic Malahov-  Ishrana i hranaGenadij Petrovic Malahov-  Ishrana i hrana
Genadij Petrovic Malahov- Ishrana i hrana
 
Studio TVPRO
Studio TVPROStudio TVPRO
Studio TVPRO
 
Quiz: Welche Variante des Usability-Tests gewinnt?
Quiz: Welche Variante des Usability-Tests gewinnt?Quiz: Welche Variante des Usability-Tests gewinnt?
Quiz: Welche Variante des Usability-Tests gewinnt?
 
WD 4000 Funkwetterstation Bedienungsanleitung
WD 4000 Funkwetterstation BedienungsanleitungWD 4000 Funkwetterstation Bedienungsanleitung
WD 4000 Funkwetterstation Bedienungsanleitung
 
Der Makler als Marke - Unternehmensfilme für Immobilienunternehmen
Der Makler als Marke - Unternehmensfilme für ImmobilienunternehmenDer Makler als Marke - Unternehmensfilme für Immobilienunternehmen
Der Makler als Marke - Unternehmensfilme für Immobilienunternehmen
 
nasilstvo_i_diskriminacija_final
nasilstvo_i_diskriminacija_finalnasilstvo_i_diskriminacija_final
nasilstvo_i_diskriminacija_final
 
Ig je za - MM - LMS 63
Ig je za - MM - LMS 63Ig je za - MM - LMS 63
Ig je za - MM - LMS 63
 
Place-Based Point-of-Care Patient Education Reaching Ultra-Targeted Women, Di...
Place-Based Point-of-Care Patient Education Reaching Ultra-Targeted Women, Di...Place-Based Point-of-Care Patient Education Reaching Ultra-Targeted Women, Di...
Place-Based Point-of-Care Patient Education Reaching Ultra-Targeted Women, Di...
 
Как эффективно продавать недвижимость в интернете?
Как эффективно продавать недвижимость в интернете?Как эффективно продавать недвижимость в интернете?
Как эффективно продавать недвижимость в интернете?
 
satuan dasar
satuan dasarsatuan dasar
satuan dasar
 
World Culture Festival, July 2011 Berlin
World Culture Festival, July 2011 BerlinWorld Culture Festival, July 2011 Berlin
World Culture Festival, July 2011 Berlin
 
Gpon Fundamentals
Gpon FundamentalsGpon Fundamentals
Gpon Fundamentals
 
The Zillow Zero Marketing Strategy
The Zillow Zero Marketing StrategyThe Zillow Zero Marketing Strategy
The Zillow Zero Marketing Strategy
 

Heartbleed prezenatcija iz konference Hek.si

  • 1. 1© 2014 NIL, Security Tag: INTERNAL 1© 2014 NIL, Security Tag: INTERNAL nil.com © 2014 NIL, Security Tag: INTERNALnil.com © 2014 NIL, Security Tag: INTERNAL
  • 2. 2© 2014 NIL, Security Tag: INTERNAL 2© 2014 NIL, Security Tag: INTERNAL OPENSSL IN HEARTBLEED CVE-2014-0160
  • 3. 3© 2014 NIL, Security Tag: INTERNAL 3© 2014 NIL, Security Tag: INTERNAL Stojan Rančić, CCIE KRATKA PREDSTAVITEV Računalniška omrežja Varnost Odprtokodne rešitve Ukvarjanje z računalniki in omrežji še pred Internetom ☺ Kontakt: stojan@nil.com http://www.linkedin.com/in/stojanrancic
  • 4. 4© 2014 NIL, Security Tag: INTERNAL 4© 2014 NIL, Security Tag: INTERNAL KNJIŽNICA OPENSSL Odprtokodna programska knjižnica, ki implementira protokola TLS in SSL. Jedro knjižnice razvito v programskem jeziku C Na voljo vseh modernih operacijskih sistemih (Linux, Mac OS X, Microsoft Windows, OpenVMS, OS/400) Uporabljena v večini odprtokodnih in veliko komercialnih rešitvah, ki zagotavljajo kriptiranje z uporabo družine protokolov SSL / TLS Na voljo od leta 1998, aktualni verziji 0.9.8 in 1.0.1
  • 5. 5© 2014 NIL, Security Tag: INTERNAL 5© 2014 NIL, Security Tag: INTERNAL Zloraba napake v OpenSSL 1.0.1 RANLJIVOST HEARTBLEED Kaj Heartbleed ni: Virus ali črv, ki bi se širil med uporabniki, strežniki ali napravami Kaj Heartbleed je: Napaka v implementaciji “heartbeat” komponente protokola TLS (RFC 6520) Ena resnejših varnostnih groženj modernega Interneta Super razlog, da končno zamenjate gesla
  • 6. 6© 2014 NIL, Security Tag: INTERNAL 6© 2014 NIL, Security Tag: INTERNAL RAZLAGA PROGRAMSKE NAPAKE IN POPRAVKA buffer = OPENSSL_malloc(1 + 2 + payload + padding); Ranljivost predstavlja nepravilna alokacija pomnilnika, ki omogoča napadalcu, da z eno povezavo dobi dostop do naključnih 64kb pomnilnika strežnika: V zgornji vrstici je padding uporabniško definirana vrednost. Z več poskusi lahko napadalec dobi dostop do večjega obsega pomnilnika. Popravek zagotovi, da omejimo vrednost “payload + padding” na 16b, ter omejimo največjo dovoljeno dolžino vrnjenega podatka: unsigned int write_length = 1 /* heartbeat type */ + + 2 /* heartbeat length */ + + payload + padding; + if (write_length > SSL3_RT_MAX_PLAIN_LENGTH) + return 0;
  • 7. 7© 2014 NIL, Security Tag: INTERNAL 7© 2014 NIL, Security Tag: INTERNAL ČASOVNICA ODKRITJA 1.1.2012 ob 00:59: Razvijalec Robin Seggelmann objavi implementacijo “heartbeat” razširitve v OpenSSL repozitorij 21.3.2014 ali prej: Neel Mehta (Google) odkrije ranljivost v kodi. Google razvije popravek in ga namesti na svoje strežnike 31.3.2014: CloudFlare izve za ranljivost in namesti popravek na svoje strežnike 1.4.2014: Google obvestil razvijalce OpenSSL o najdeni ranljivosti 3.4.2014: Finsko podetje Codenomicon neodvisno odkrije ranljivost v kodi 4.4.2014: Codenomicon obvesti lokalni CERT, Akamai namesti popravek na svoje strežnike, krožiti začnejo govorice 5.4.2014: Codenomicon kupi domeno “heartbleed.com”, razvijalci OpenSSL objavijo popravek v privatnem RedHat repozitoriju
  • 8. 8© 2014 NIL, Security Tag: INTERNAL 8© 2014 NIL, Security Tag: INTERNAL ČASOVNICA ODKRITJA 6.4.2014: RedHat privatno obvesti ostale Linux distribucije o najdeni napaki. Zaradi časovne razlike vsi ne dobijo podrobnosti pravočasno (Ubuntu, Gentoo, Chromium) 7.4.2014 ali prej: Facebook namesti popravke na svoje strežnike 7.4.2014: Finski CERT sporoči informacijo o napaki razvijalcem OpenSSL, razvijalci OpenSSL izdajo popravljeno verzijo in uradno objavijo najdeno ranljivost, finski CERT izda obvestilo o ranljivosti v finskem jeziku, Conenomicon objavi vsebno na strani “heartbleed.com”, objavljena je prva testna skripta “ssltest.py” 8.4.2014: Finski CERT izda obvestilo o ranljivosti v angleškem jeziku, objavljen je prvi tweet z dokazom ranljivosti Yahoo.com 12.4.2014: CloudFlare potrdi, da ranljivost omogoča dostop do privatnih kriptografskih ključev – prvi uspešni napad v treh urah
  • 9. 9© 2014 NIL, Security Tag: INTERNAL 9© 2014 NIL, Security Tag: INTERNAL POVZETEK ČASOVNICE Kdo je pred 7.4.2014 vedel za ranljivost? Google, Codenomicon OpenSSL, NCSC-FI CloudFlare, Akamai, Facebook Kdo pred 7.4.2014 ni vedel za ranljivost? Amazon, Twitter, Yahoo Cisco, Juniper, VMware, GoDaddy Yahoo, Pinterest, Tumblr, Flickr, Instagram Minecraft, Netflix, Box, Dropbox Wordpress, GitHub, Wikipedia Mnogi drugi...
  • 10. 10© 2014 NIL, Security Tag: INTERNAL 10© 2014 NIL, Security Tag: INTERNAL KAJ MORAMO STORITI UPORABNIKI? Uporabniki moramo zamenjati gesla za dostop do spletnih storitev, ki so bile ranljive in so ranljivost odpravile. Med njih spadajo med drugimi: Družabna omrežja: Facebook, Instagram, Pinterest Podjetja: Google, Yahoo Spletna pošta: Gmail, Yahoo Mail Spletne trgovine: AWS, Etsy, GoDaddy Multimedija: Flickr, Netflix, SoundCloud, YouTube Ostale: Box, Dropbox, GitHub, Wikipedia Če uporabljate druge spletne storitve, ki za dostop uporabljajo kriptirane povezave, preverite, če so objavili obvestilo o ranljivosti. Uporabniki naj za dostop do spletnih vsebin uporabljajo moderne brskalnike z omogočenim preverjanjem preklicanih certifikatov.
  • 11. 11© 2014 NIL, Security Tag: INTERNAL 11© 2014 NIL, Security Tag: INTERNAL KAJ MORAMO STORITI PODJETJA? Podjetja z javno dostopnimi storitvami, kjer se za kriptiranje prometa uporablja knjižnica OpenSSL, morajo čim prej preveriti ranljivost teh storitev. Na voljo je več načinov: Z uporabo namenskih aplikacij ali skript: Skripte: ssltest.py, hb-test.py, hb-batch.py Aplikacije: Nmap, Metasploit, Nessus, masscan Z uporabo javno dostopnih spletnih strani: https://filippo.io/Heartbleed/ https://www.ssllabs.com/ssltest/ Pomembno je preveriti vse javno dostopne storitve (npr. poštni, VPN, FTP/SSL strežniki), ne samo spletnih strežnikov. Ranljivost je lahko prisotna tudi v napravah, ki niso javno dosegljive (IP telefoni, tiskalniki, medicinske naprave), tako da preverite tudi lokalna omrežja.
  • 12. 12© 2014 NIL, Security Tag: INTERNAL 12© 2014 NIL, Security Tag: INTERNAL KAJ MORAMO STORITI PODJETJA? V primeru najdene ranljivosti moramo: Odpraviti ranljivost z namestitvijo nove verzije knjižnice OpenSSL Ustaviti in ponovno pognati servise, ki uporabljajo OpenSSL Ponovno preveriti, ali smo še ranljivi Izdati nov privatni ključ velikosti 2048B in od izdajatelja pridobiti nov certifikat na podlagi tega ključa Namestiti nov ključ in certifikat za ustrezne servise Pri izdajatelju zahtevati preklic starega certifikata Izvesti menjavo gesel uporabnikov servisa V primeru, da ranljivosti sami ne moremo odpraviti, je priporočeno zaključevanje kriptografskih sej na namenskih napravah, ki na napad niso ranljive (F5 BigIP, Cisco ACE, Citrix Netscaler, ipd). Kjer to ni možno, je priporočeno strogo omejiti dostop do naprav.
  • 13. 13© 2014 NIL, Security Tag: INTERNAL 13© 2014 NIL, Security Tag: INTERNAL VARNOST SSL/TLS Da bi tudi v prihodnje zagotovili varen dostop do naših storitev preko kriptiranih povezav, velja upoštevati naslednje smernice: Uporaba privatnih ključev RSA velikosti 2048B oz. ECDH velikosti 256B Uporaba Perfect Forward Secrecy, ki zagotavlja unikatne kriptografske ključe za vsako sejo Uporaba protokola TLS 1.2. Starejše verzije TLS (1.0, 1.1) in SSL (1.0, 2.0, 3.0) vsebujejo ranljivosti Uporaba varnih šifrirnih algoritmov: RC4 vsebuje znane ranljivosti Hranjenje privatnih kriptografskih ključev v namenskih HSM napravah Uporaba 2-faktorskega overjanja
  • 14. 14© 2014 NIL, Security Tag: INTERNAL 14© 2014 NIL, Security Tag: INTERNAL POGOSTA VPRAŠANJA Katere verzije OpenSSL vsebujejo ranljivost Heartbleed? Ranljivost vsebujejo verzije 1.0.1 do 1.0.1f. Verzije 1.0 in starejše 0.9.8 ne vsebujejo te ranljivosti. Verzija 1.0.1g vsebuje popravek ranljivosti. Ali lahko enostavno izklopimo “heartbeat” komponento OpenSSL? Če želimo komponento izklopiti, moramo ponovno prevesti knjižnico OpenSSL, pri čemer lahko to komponento izklopimo. Ali sploh potrebujemo “heartbeat” komponento OpenSSL? Ta komponenta skrbi za komunikacijo med obema stranema in zagotavlja preverjanje, ali sta obe strani prisotni. To lahko zagotovimo tudi brez te komponente, vendar je postopek časovno potraten. Ali so ranljivi vsi spletni strežniki? Potencialno ranljivi so spletni strežniki, ki za enkripcijo uporabljajo knjižnico OpenSSL. Spletni strežniki, ki uporabljajo druge kriptografske knjižnice (npr. Microsoft IIS), niso podvrženi temu napadu.
  • 15. 15© 2014 NIL, Security Tag: INTERNAL 15© 2014 NIL, Security Tag: INTERNAL POGOSTA VPRAŠANJA Ali so ranljivi samo spletni strežniki? Ne, ranljive so vse aplikacije, ki uporabljajo knjižnico OpenSSL. Med njih spadajo tako poštni in VPN strežniki, kot tudi uporabniške aplikacije (npr. Cisco Anyconnect za iOS) Ali so ranljive samo aplikacije? Ne, znane so tudi ranljivosti v napravah kot so IP telefoni, omrežna stikala, telekonferenčne naprave, tiskalniki, naprave z Android 4.1.1 (okoli 40M naprav) Ali lahko iz logov strežnika razberemo, če smo bili napadeni? Ne, ob zlorabi ranljivosti Heartbleed sistem ne zazna anomalije in posledično ne generira spročil o napaki. Napad lahko zaznamo z zajemom in analizo prometa z namenskimi sistemi za detekcijo in preprečevanje napadov (IPS)
  • 16. 16© 2014 NIL, Security Tag: INTERNAL 16© 2014 NIL, Security Tag: INTERNAL POGOSTA VPRAŠANJA Ali so obveščevalne službe (NSA, FSB, GCHQ,...) že prej poznale in zlorabljale napako? Da? Ne? Mogoče? Verjetno ne bomo nikoli zares vedeli. Ali lahko sploh še zaupamo odprtokodnim rešitvam? Dejstvo je, da napake v kodi več kot dve leti ni nihče opazil, čeprav je bila koda prosto dostopna. Dejstvo je tudi, da projekt OpenSSL živi od donacij in plačane podpore, in da razvijalci delajo tudi na drugih projektih – le en je redno zaposlen. Predlog: če vaše podjetje uporablja odprtokodne rešitve in še posebej, če so te rešitve del vaših plačljivih produktov, razmislite o donaciji organizacijam, ki takšne produkte razvijajo.
  • 17. 17© 2014 NIL, Security Tag: INTERNAL 17© 2014 NIL, Security Tag: INTERNAL IN ZA KONEC
  • 18. 18© 2014 NIL, Security Tag: INTERNAL 18© 2014 NIL, Security Tag: INTERNAL REFERENCE Projekt OpenSSL: http://www.openssl.org/ Splošno o ranljvosti: http://heartbleed.com/ Enostavna razlaga ranljivosti: http://www.xkcd.com/1354/ Podrobna časovnica: http://goo.gl/ZY0rQv Razkritje privatnih ključev: http://goo.gl/bIiPSv Testne skripte: https://gist.github.com/takeshixx/10107280 http://pastebin.com/Z9FiWxPw https://github.com/starchy/hb-batch SSL/TLS priporočila: http://goo.gl/uJ26Dp Perfect Forward Secrecy: http://goo.gl/o7dI2e Financiranje OpenSSL: http://goo.gl/0VivBz