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

Podobne dokumenty