Potencjalne ataki na HTTPS i jak się przed nimi chronić

Połowa stron internetowych używa HTTPS, a ich liczba nieustannie rośnie. Protokół zmniejsza ryzyko przechwycenia ruchu, ale nie eliminuje prób ataków. O niektórych z nich — POODLE, BEAST, DROWN i innych — oraz o sposobach ochrony, opowiemy w naszym materiale.

Potencjalne ataki na HTTPS i jak się przed nimi chronić
/ Flickr / Sven Graeme / CC BY-SA

POODLE

O ataku po raz pierwszy POODLE dowiedziano się w 2014 roku. Lukę w protokole SSL 3.0 odkrył specjalista ds. bezpieczeństwa Bodo Möller wraz z kolegami z Google.

Esencja ataku jest następująca: haker zmusza klienta do połączenia się przez SSL 3.0, symulując przerwy w połączeniu. Następnie szuka w zaszyfrowanym CBC-trybie ruchu specjalnych wiadomości-cenzorek. Poprzez serię fałszywych zapytań, przestępca ma możliwość rekonstrukcji zawartości interesujących go danych, na przykład ciasteczek.

SSL 3.0 to przestarzały protokół. Jednak kwestia jego bezpieczeństwa wciąż jest aktualna. Klienci korzystają z niego, aby uniknąć problemów z kompatybilnością z serwerami. Według niektórych danych, prawie 7% z 100 tys. najpopularniejszych stron internetowych nadal wspiera SSL 3.0. Również istnieją modyfikacje POODLE, które celują w nowocześniejsze TLS 1.0 i TLS 1.1. W tym roku pojawiły się nowe ataki Zombie POODLE i GOLDENDOODLE, które omijają ochronę TLS 1.2 (są one nadal związane z szyfrowaniem CBC).

Jak się chronić. W przypadku oryginalnego POODLE należy wyłączyć obsługę SSL 3.0. Jednak w takim przypadku istnieje ryzyko problemów z kompatybilnością. Alternatywnym rozwiązaniem może być mechanizm TLS_FALLBACK_SCSV — gwarantuje, że wymiana danych przez SSL 3.0 będzie odbywała się tylko z przestarzałymi systemami. Przestępcy nie będą mogli już zainicjować obniżenia wersji protokołu. Sposobem ochrony przed Zombie POODLE i GOLDENDOODLE jest wyłączenie obsługi CBC w aplikacjach opartych na TLS 1.2. Drastycznym rozwiązaniem będzie przejście na TLS 1.3 — w nowej wersji protokołu nie używa się szyfrowania CBC. Zamiast tego stosuje się bardziej odporne metody AES i ChaCha20.

BEAST

To jeden z pierwszych ataków na SSL i TLS 1.0, odkryty w 2011 roku. Podobnie jak POODLE, BEAST używa cechy szyfrowania CBC. Napastnicy wprowadzają na komputerze klienta agenta JavaScript lub aplet Java, który zmienia wiadomości podczas transmisji danych przez TLS lub SSL. Ponieważ napastnicy znają treść "fałszywych" pakietów, mogą z ich pomocą odszyfrować wektor inicjalizacji i przeczytać inne wiadomości do serwera, na przykład pliki cookie do autoryzacji.

Obecnie podatności BEAST wciąż dotyczą wielu narzędzi sieciowych: serwerów proxy i aplikacji do ochrony lokalnych bram internetowych.

Jak się chronić. Aby napastnik mógł odszyfrować dane, musi regularnie wysyłać żądania. W VMware zaleca się skrót czasu SSLSessionCacheTimeout — z pięciu minut (zalecenie domyślne) do 30 sekund. Takie podejście utrudni realizację planów napastnikom, chociaż wpłynie negatywnie na wydajność. Trzeba też pamiętać, że wkrótce podatność BEAST może sama zniknąć — od 2020 roku największe przeglądarki zaprzestaną wsparcia dla TLS 1.0 i 1.1. W każdym razie mniej niż 1,5% wszystkich użytkowników przeglądarek korzysta z tych protokołów.

DROWN

To atak międzyprotokołowy, wykorzystujący błędy w implementacji SSLv2 z 40-bitowymi kluczami RSA. Napastnik podsłuchuje setki połączeń TLS docelowego serwera i wysyła specjalne pakiety do serwera z SSLv2, używając tego samego klucza prywatnego. Wykorzystując atak Bleichenbachera, haker może odszyfrować jedną z około tysiąca sesji TLS klienta.

O DROWN po raz pierwszy dowiedziano się w 2016 roku — wtedy okazało się, że podatnych jest jedna trzecia serwerów na świecie. Do dziś nie straciła na znaczeniu. Spośród 150 tysięcy najpopularniejszych stron internetowych 2% wciąż wspierają używa SSLv2 i podatnych mechanizmów szyfrowania.

Jak się chronić. Należy zainstalować poprawki dostarczone przez twórców bibliotek kryptograficznych, wyłączające wsparcie dla SSLv2. Na przykład dwie takie łatki zostały zaprezentowane dla OpenSSL (w 2016 roku były to aktualizacje 1.0.1s i 1.0.2g). Ponadto aktualizacje i instrukcje dotyczące wyłączania podatnego protokołu opublikowano w Red Hat, Apache, Debian.

„Zasób może być podatny na DROWN, jeśli korzysta z kluczy używanych przez zewnętrzny serwer z SSLv2, na przykład pocztowy”, zauważa szef działu rozwoju dostawcy usług IaaS 1cloud.ru Siergiej Bełkin. — Taka sytuacja występuje, jeśli kilka serwerów korzysta ze wspólnego certyfikatu SSL. W takim przypadku wsparcie dla SSLv2 należy wyłączyć na wszystkich maszynach.

Można sprawdzić, czy konieczna jest aktualizacja systemu, za pomocą specjalnego narzędzia — został opracowany przez specjalistów ds. bezpieczeństwa, którzy odkryli DROWN. Więcej o zaleceniach dotyczących ochrony przed tym typem ataków można przeczytać w poście na stronie OpenSSL.

Heartbleed

Jedna z największych luk w oprogramowaniu — Heartbleed. Została odkryta w 2014 roku w bibliotece OpenSSL. W momencie ogłoszenia o błędzie liczba podatnych stron internetowych szacowano na pół miliona — to około 17% zabezpieczonych zasobów w sieci.

Atak realizowany jest poprzez mały moduł Heartbeat rozszerzenia TLS. Protokół TLS wymaga, aby dane były przesyłane nieprzerwanie. W przypadku długiego bezczynności następuje rozłączenie i konieczne jest ponowne nawiązanie połączenia. Aby poradzić sobie z problemem, serwery i klienci sztucznie «szumiają» kanał (RFC 6520, str.5), przesyłając pakiet losowej długości. Jeśli okazywał się większy niż to, co powinno, podatne wersje OpenSSL odczytywały pamięć poza przydzielonym buforem. W tej przestrzeni mogły znajdować się jakiekolwiek dane, w tym klucze szyfrowania i informacje o innych połączeniach.

Luka była obecna we wszystkich wersjach biblioteki między 1.0.1 a 1.0.1f włącznie, a także w kilku systemach operacyjnych — Ubuntu do 12.04.4, CentOS starszym niż 6.5, OpenBSD 5.3 i innych. Pełna lista jest na stronie poświęconej Heartbleed. Chociaż łaty przeciwko tej luce zostały wydane praktycznie zaraz po jej odkryciu, problem wciąż pozostaje aktualny. Jeszcze w 2017 roku pracowało prawie 200 tys. stron, narażonych na Heartbleed.

Jak się chronić. Należy zaktualizować OpenSSL do wersji 1.0.1g lub wyższej. Można także ręcznie wyłączyć zapytania Heartbeat za pomocą opcji DOPENSSL_NO_HEARTBEATS. Po aktualizacji specjaliści ds. bezpieczeństwa zaleca się powinni ponownie wydać certyfikaty SSL. Wymiana jest konieczna na wypadek, gdyby dane o kluczach szyfrowania jednak trafiły w ręce hakerów.

Podmiana certyfikatu

Między użytkownikiem a serwerem ustawia się kontrolowany węzeł z legalnym certyfikatem SSL, aktywnie przechwytujący ruch. Ten węzeł podaje się za legalny serwer, przedstawiając ważny certyfikat, co umożliwia przeprowadzenie ataku MITM.

Zgodnie z badaniem Badania przeprowadzone przez Mozilla, Google oraz kilka uniwersytetów pokazują, że około 11% zabezpieczonych połączeń w sieci jest "podsłuchiwanych". To wynik zainstalowania podejrzanych certyfikatów root na komputerach użytkowników.

Jak się chronić. Korzystaj z usług zaufanych dostawców SSL. Jakość certyfikatów można sprawdzić za pomocą serwisu Certificate Transparency (CT). Wykrywanie "podsłuchu" mogą wspierać również dostawcy chmurowi — już dziś niektóre duże firmy oferują specjalistyczne narzędzia do monitorowania połączeń TLS.

Innym sposobem na zabezpieczenie będzie nowy standard ACME, który automatyzuje proces uzyskiwania certyfikatów SSL. Doda on dodatkowe mechanizmy do weryfikacji właściciela strony. Więcej na ten temat pisaliśmy w jednym z naszych wcześniejszych materiałów.

Potencjalne ataki na HTTPS i jak się przed nimi chronić
/ Flickr / Yuri Samoilov / CC BY

Perspektywy HTTPS

Pomimo wielu luk, giganci IT i eksperci ds. bezpieczeństwa są przekonani o przyszłości tego protokołu. Za aktywne wdrażanie HTTPS jest odpowiada twórca WWW, Tim Berners-Lee. Jego zdaniem, z biegiem czasu TLS będzie stawał się coraz bardziej zabezpieczony, co znacząco zwiększy bezpieczeństwo połączeń. Berners-Lee nawet zasugerował, że w przyszłości pojawią się certyfikaty klienckie do uwierzytelniania tożsamości. Pomoże to w poprawie ochrony serwerów przed cyberprzestępcami.

Rozwój technologii SSL/TLS planuje się również przy wykorzystaniu uczenia maszynowego — inteligentne algorytmy będą odpowiadały za filtrowanie złośliwego ruchu. W połączeniach HTTPS administratorzy nie mają możliwości poznania treści zaszyfrowanych wiadomości — w tym także wykrycia zapytań od złośliwego oprogramowania. Już dziś sieci neuronowe są w stanie filtrować potencjalnie niebezpieczne pakiety z dokładnością 90%. (slajd 23 prezentacji).

Wnioski

Ataki na HTTPS w przeważającej mierze związane są nie z samymi problemami protokołu, ale z obsługą przestarzałych mechanizmów szyfrowania. Przemysł IT zaczyna stopniowo rezygnować z protokołów poprzedniej generacji i oferować nowe narzędzia do wykrywania luk. W przyszłości te narzędzia będą stawały się coraz bardziej inteligentne.

Dodatkowe linki w temacie:

Źródło: habr.com

Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS 🔥 Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS | ProHoster