Útoky na HTTPS PV210 - Bezpečnostní analýza síťového provozu Pavel Čeleda, Radek Krejčí Ustav výpočetní techniky Masarykova univerzita celedaiäics .muni. cz Brno, 5. listopadu 2014 Pavel Čeleda, Radek Krejčí Útoky na HTTPS 11. 5. 2014, Brno 1 / 15 O čem budeme mluvit? Q Protokol HTTPS © Certifikáty a PKI (3) Odposlech a dešifrování HTTPS (4) Modifikace HTTPS komunikace (5) Závěr Pavel Čeleda, Radek Krejčí Útoky na HTTPS 11. 5. 2014, Brno 2/15 Protokol HTTPS o Hypertext Transfer Protocol Secure 9 ve skutečnosti dvojice protokolů: SSL/TLS + aplikační protokol (HTTP) [HTTP] [ IMAP ] ( LDAP Aplikační vrstva SSL/TLS TCP UDP IP Transportní vrstva Sitová vrstva o historie protokolu SSL/TLS o SSL (Secure Socket Layer) - Netscape Communications o TLS (Transport Layer Security) - IETF (RFC standardy) Utoky na HTTPS 11. 5. 2014, Brno Protokol HTTPS Pavel Čeleda, Radek Krejčí Útoky na HTTPS 11. 5. 2014, Brno 4/15 Certifikáty a PKI Certifikát - Sada identifikačních údajů (norma X.509) EV Certif. - (Extended Validation) - certifikát s přísnějšími podmínkami vydávání CA - Certifikační Autorita PKI - Public Key Infrastructure Pavel Čeleda, Radek Krejčí Útoky na HTTPS 11. 5. 2014, Brno 5/15 Ověření certifikátu 1 Kolikátého je dnes? 2 Znám tě? 3 Umíš se podepsat? 4 Jak se jmenuješ? Kolizní součty MD5 Pavel Čeleda, Radek Krejčí Útoky na HTTPS 11. 5. 2014, Brno 7/15 Kolizní součty MD5 zabezpečený server X kořenová CA Pavel Čeleda, Radek Krejčí Útoky na HTTPS 11. 5. 2014, Brno 7/15 Kolizní součty MD5 O Vydání certifikátu útočníkovu serveru Pavel Čeleda, Radek Krejčí Útoky na HTTPS 11. 5. 2014, Brno 7/15 Kolizní součty MD5 1 Vydání certifikátu útočníkovu serveru 2 Kolizí MD5 vytvořený certifikát CA útočníka Pavel Čeleda, Radek Krejčí Útoky na HTTPS 11. 5. 2014, Brno 7/15 Kolizní součty MD5 Q Vydání certifikátu útočníkovu serveru 2 Kolizí MD5 vytvořený certifikát CA útočníka 3 CA útočníka vydává certifikáty serverům Pavel Čeleda, Radek Krejčí Útoky na HTTPS 11. 5. 2014, Brno 7/15 Kolizní součty MD5 Q Vydání certifikátu útočníkovu serveru 2 Kolizí MD5 vytvořený certifikát CA útočníka 3 CA útočníka vydává certifikáty serverům 4 MITM útok a přesměrování na podvodný server Pavel Čeleda, Radek Krejčí Útoky na HTTPS 11. 5. 2014, Brno 7/15 Kolizní součty MD5 1 Vydání certifikátu útočníkovu serveru 2 Kolizí MD5 vytvořený certifikát CA útočníka (D CA útočníka vydává certifikáty serverům 4 MITM útok a přesměrování na podvodný server 5 Přenos důvěrnosti a platná kontrola certifikátu Pavel Čeleda, Radek Krejčí Útoky na HTTPS 11. 5. 2014, Brno 7/15 Null-prefix certifikáty 0 Útok využíva chyby v implementaci ověřování certifikátu. Postup 1 2ádost útočníka o certifikát pro doménu www.paypal.cz\0.zlodej.cz 2 MITM útok a přesměrování oběti na útočníkův server vydávající se za www.paypai.cz 3 Klient ověřuje certifikát (vydaný pro www.paypal. cz\0.zlodej . cz) 4 Certifikát souhlasí a>.......................... b)................ www.paypal ,cz\0. zloděj . c z V) 'w'w'w'^. 'p'a'y^'y'p'a'l'^ -~/^~ž"J " I " *\0. zloděj. cz\0 www.paypal.cz Pavel Čeleda, Radek Krejčí Útoky na HTTPS 11. 5. 2014, Brno 8/15 Odposlech HTTPS MITM o ARP spoofing, (DNS spoofing) o ovládnutí aktivního prvku sítě (Chuck Norris botnet) o nástroj sslsniff (http ://www.thoughtcrime.org/software/ssisniff) Útočník v roli MITM může o pomocí privátního klíče serveru dešifrovat komunikaci o přerušit komunikaci oběti a vystupovat jako koncový server Uživatel Brána ® ^ ((<>)) ® HTTPS server https;//mail.google.com Útočník (MITM) (T) řádné síťové spojení (2) arpspoofing útok (3) přesměrovaný síťový provoz Útoky na HTTPS 11. 5. 2014, Brno SSL Strip Uživatel MITM HTTPS server https : //mail .google sslstrip Utoky na HTTPS 11. 5. 2014, Brno SSL Strip Uživatel MITM GET HTTP mail google com -► HTTPS server https : //mail .google sslstrip Utoky na HTTPS 11. 5. 2014, Brno SSL Strip Uživatel MITM GET HTTP mail google com -► HTTP 301 Moved Permanently http://mail.google.com HTTPS server https : //mail .google HTTP 301 Moved Permanently htt ps://mail.google.com sslstrip Pavel Čeleda, Radek Krejčí Útoky na HTTPS 11. 5. 2014, Brno 10 / 15 SSL Strip Uživatel MITM GET HTTP mail google com -► HTTP 301 Moved Permanently http://mail.google.com GET HTTP mail google com -► HTTPS server https : //mail .google HTTP 301 Moved Permanently htt ps://mail.google.com gle.com Client hello SSL negotiation sslstrip Pavel Čeleda, Radek Krejčí Útoky na HTTPS 11. 5. 2014, Brno 10 / 15 SSL Strip Uživatel MITM GET HTTP mail google com -► HTTP 301 Moved Permanently http://mail.google.com GET HTTP mail google com -► HTTP 200 OK sslstrip HTTPS server https : //mail .google HTTP 301 Moved Permanently htt ps://mail.google.com SSL maJl.google.com Client hello SSL negotiation GET HTTP mail.google.com -► <- HTTP 200 OK HTTPS Pavel Čeleda, Radek Krejčí Útoky na HTTPS 11. 5. 2014, Brno 10 / 15 Zranitelnost renegociace SSL/TLS spojení I renegociace = znovuvyjednání parametrů SSL/TLS spojení o Problém je přímo v (nejasné) specifikaci protokolu. o Řeší RFC 5746 - TLS Renegotiation Indication Extension. o Původně jen přidávání vlastních dat do požadavků klienta, ale bez možností získat výsledek. Pavel Čeleda, Radek Krejčí Útoky na HTTPS 11. 5. 2014, Brno 11 / 15 Zranitelnost renegociace SSL/TLS spojení II SSL Klient 1 útočník SSL Server SSL/TLS spojení útočníka SSL/TLS spojení oběti nešifrované spojení - Pavel Čeleda, Radek Krejčí Útoky na HTTPS 11. 5. 2014, Brno 12 / 15 Zranitelnost renegociace SSL/TLS spojení II SSL Klient 1 útočník SSL Server SSL/TLS spojení útočníka SSL/TLS spojení oběti nešifrované spojení Pavel Čeleda, Radek Krejčí Útoky na HTTPS 11. 5. 2014, Brno 12 / 15 Zranitelnost renegociace SSL/TLS spojení II SSL Klient 1 útočník SSL Server SSL/TLS spojení útočníka SSL/TLS spojení oběti nešifrované spojení POST/forum/send.php?text=ahoj\n X-tohle-ignoruj: vynuceni renegociace Pavel Čeleda, Radek Krejčí Útoky na HTTPS 11. 5. 2014, Brno 12 / 15 Zranitelnost renegociace SSL/TLS spojení II SSL Klient 1 útočník SSL Server Client Hello 1 / SSL/TLS spojení útočníka SSL/TLS spojení oběti nešifrované spojení - I I Handshake 4 POST/forum/send.php?text=ahoj\n X-tohle-ignoruj: - - vynuceni renegociace Client Hello Pavel Čeleda, Radek Krejčí Útoky na HTTPS 11. 5. 2014, Brno 12 / 15 Zranitelnost renegociace SSL/TLS spojení II SSL Klient 1 útočník SSL Server Client Hello 1 / SSL/TLS spojení útočníka SSL/TLS spojení oběti nešifrované spojení - I i GET /index.html\n POST/forum/send.php?text=ahoj\n X-tohle-ignoruj: - - vynuceni renegociace Client Hello POST /forum/send.php?text=ahoj\n X-tohle-ignoruj: GET /index.htmIYi Pavel Čeleda, Radek Krejčí Útoky na HTTPS 11. 5. 2014, Brno 12 / 15 Zranitelnost renegociace SSL/TLS spojení III a SSL Klient SSL/TLS spojení útočníka SSL/TLS spojení oběti nešifrované spojení - 1 D útočník HTTPS Server Pavel Čeleda, Radek Krejčí Útoky na HTTPS 11. 5. 2014, Brno 13 / 15 Zranitelnost renegociace SSL/TLS spojení III a SSL Klient 1 útočník TÉ HTTPS Server SSL/TLS spojení útočníka SSL/TLS spojení oběti nešifrované spojení Pavel Čeleda, Radek Krejčí Útoky na HTTPS 11. 5. 2014, Brno 13 / 15 Zranitelnost renegociace SSL/TLS spojení III a SSL Klient útočník HTTPS Server SSL/TLS spojení útočníka SSL/TLS spojení oběti nešifrované spojení GET /redirect.php\n X-přesměrování na HTTP\n X-ignoruj: vynuceni renegociace Pavel Čeleda, Radek Krejčí Útoky na HTTPS 11. 5. 2014, Brno 13 / 15 Zranitelnost renegociace SSL/TLS spojení III a SSL Klient útočník HTTPS Server SSL/TLS spojení útočníka SSL/TLS spojení oběti nešifrované spojení GET /redirect.php\n X-přesměrování na HTTP\n X-ignonij: Pavel Čeleda, Radek Krejčí Útoky na HTTPS 11. 5. 2014, Brno 13 / 15 Zranitelnost renegociace SSL/TLS spojení III a SSL Klient útočník HTTPS Server SSL/TLS spojení útočníka SSL/TLS spojení oběti nešifrované spojení GET /index.html\n GET /redirect.php\n X-přesměrování na HTTP\n X-ignoruj: I vynuceni renegociace Client Hello Zpracovávaný požadavek GET /redirect, php Vi X-přesměrování na HTTP\n X-ignoruj: GET /index.html\n Pavel Čeleda, Radek Krejčí Útoky na HTTPS 11. 5. 2014, Brno 13 / 15 Zranitelnost renegociace SSL/TLS spojení III a SSL Klient SSL/TLS spojení útočníka SSL/TLS spojení oběti nešifrované spojení GET /index.html\n GET /index.html\n útočník HTTPS Server GET /redirect.php\n X-přesměrování na HTTP\n X-ignonij: I vynuceni renegociace Client Hello f sslstrip Zpracovávaný požadavek GET /redirect, php Vi X-přesměrování na HTTP\n X-ignoruj: GET /index.html\n Pavel Čeleda, Radek Krejčí Útoky na HTTPS 11. 5. 2014, Brno 13 / 15 Závěr o Při útocích se jen výjimečně jedná o chybu v protokolu SSL/TLS. o Využívají se chyby v implementaci protokolu nebo zranitelnosti způsobené chybným používáním protokolu. a Z hlediska obrany je nejdůležitější, ale zároveň nejobtížnější osvěta uživatelů. Pavel Čeleda, Radek Krejčí Útoky na HTTPS 11. 5. 2014, Brno 14 / 15 Dotazy Děkuji za pozornost. Dotazy? Pavel Čeleda, Radek Krejčí Útoky na HTTPS 11. 5. 2014, Brno 15 / 15