Prezentacja programu PowerPoint
Transkrypt
Prezentacja programu PowerPoint
Mateusz Olejarka Testy bezpieczeństwa SSL/TLS Test Well 2015, 21.04.2015 O mnie • Starszy specjalista ds. bezpieczeństwa IT, SecuRing • Ocena bezpieczeństwa aplikacji webowych i mobilnych • Trener • (Były) programista • OWASP Polska Agenda • Komunikacja z wykorzystaniem SSL/TLS • Trochę teorii • Co uznajemy za błąd? • Głośne podatności • Testowanie • Narzędzia • DEMO • Q&A KOMUNIKACJA Z wykorzystaniem SSL/TLS Trochę teorii • Kryptografia • Symetryczna • Asymetryczna – Klucz publiczny – Klucz prywatny • Funkcje skrótu • Niezaprzeczalność Trochę teorii • Infrastruktura klucza publicznego (PKI) • Certyfikat cyfrowy – Składowe – Podpis cyfrowy – Generowanie • Urząd certyfikacji (CA) • DEMO Trochę teorii • SSL, czyli Secure Socket Layer • SSL 1.0 • SSL 2.0 (1995) • SSL 3.0 (1996) Trochę teorii • TLS, czyli Transport Layer Security • TLS 1.0 (1999) • TLS 1.1 (2006) • TLS 1.2 (2008) Trochę teorii • Nawiązanie połączenia SSL/TLS Klient Serwer Client hello • Wspierane zestawy certyfikatów • Wartość losowa • Wersja protokołu Trochę teorii • Nawiązanie połączenia SSL/TLS Klient Serwer Client hello Server hello • Wybrany zestaw certyfikatów • Wartość losowa Trochę teorii • Nawiązanie połączenia SSL/TLS Klient Serwer Client hello Server hello Certificate Trochę teorii • Nawiązanie połączenia SSL/TLS Klient Serwer Client hello Server hello Certificate Server hello done Trochę teorii • Nawiązanie połączenia SSL/TLS Klient Serwer Server hello done Client key exchange Przesłanie PreMasterSecret zaszyfrowanego kluczem publicznym serwera Trochę teorii • Nawiązanie połączenia SSL/TLS Klient Serwer Server hello done Client key exchange Change cipher spec Trochę teorii • Nawiązanie połączenia SSL/TLS Klient Serwer Server hello done Client key exchange Change cipher spec Finished Trochę teorii • Nawiązanie połączenia SSL/TLS Klient Serwer Finished Change cipher spec Trochę teorii • Nawiązanie połączenia SSL/TLS Klient Serwer Finished Change cipher spec Finished DEMO Wireshark Co uznajemy za błąd? • Klucz publiczny serwera wystawiony przez niezaufane CA • Wykorzystanie kryptograficznie słabych algorytmów • RC4 • SHA1 • Wsparcie dla komunikacji z wykorzystaniem • SSL2 • SSL3 • Błędy konfiguracyjne innego rodzaju ;) • Wykorzystanie oprogramowania posiadającego znane znane błędy bezpieczeństwa Głośne podatności • BEAST • CRIME & BREACH • Heartbleed • POODLE • FREAK TESTOWANIE Narzędzia • SSL Server Test • OpenSSL DEMO SSL Server Test DEMO OpenSSL Q&A Dziękuję za uwagę, zapraszam do kontaktu: [email protected] Materiały http://en.wikipedia.org/wiki/Public-key_cryptography http://en.wikipedia.org/wiki/X.509 http://en.wikipedia.org/wiki/Transport_Layer_Security https://www.ietf.org/rfc/rfc2459 https://www.ssllabs.com/ssltest/ https://www.openssl.org/ http://heartbleed.com/ http://en.wikipedia.org/wiki/Secure_Hash_Algorithm http://en.wikipedia.org/wiki/CRIME http://en.wikipedia.org/wiki/POODLE http://en.wikipedia.org/wiki/FREAK