zawartość Mieszana HTTPS: nadal najłatwiejszy sposób na złamanie protokołu SSL

Mieszana zawartość problemy pojawiają się, gdy witryny internetowe dostarczają swoje strony za pośrednictwem protokołu HTTPS, ale zezwalają na dostarczanie niektórych zasobów w postaci zwykłego tekstu. Aktywny atakujący nie może nic zrobić z zaszyfrowanym ruchem, ale mieszanie się z tekstem jawnym może skutkować atakami, od phishingu w najlepszym przypadku do pełnego kompromisu przeglądarki w najgorszym przypadku. Wystarczy jeden odkryty skrypt: atakujący może przejąć połączenie i wstrzyknąć do niego dowolne ładunki ataku.

często mówimy o innych aspektach SSL / TLS, ale mieszana treść jest prawdopodobnie najłatwiejszym sposobem na całkowite zepsucie szyfrowania witryny internetowej.

w pierwszych dniach istnienia sieci wszystkie mieszane treści były dozwolone; przeglądarki internetowe oczekiwały, że operatorzy witryn przemyślą konsekwencje mieszania treści. To oczywiście nie przyniosło Wielkiego bezpieczeństwa. Operatorzy witryn robili wszystko, co było im potrzebne, aby wykonać swoją pracę i obniżyć koszty. Dopiero w ostatnich latach producenci przeglądarek zaczęli zwracać uwagę i ograniczać mieszaną zawartość.

zawartość mieszana w nowoczesnych przeglądarkach

obecnie prawie wszystkie główne przeglądarki dzielą zawartość mieszaną na dwie kategorie: pasywną dla obrazów, filmów i dźwięku; oraz aktywną dla bardziej niebezpiecznych zasobów, takich jak skrypty. Domyślnie zezwalają na pasywną zawartość mieszaną, ale odrzucają zawartość aktywną. Jest to wyraźnie kompromis między łamaniem sieci a rozsądnym bezpieczeństwem.

Internet Explorer jest liderem w bezpiecznej obsłudze mieszanych treści. Już w Internet Explorer 5 (zgodnie z tym postem) mieli wykrywanie i zapobieganie niebezpiecznej zawartości domyślnie. Chrome zaczął domyślnie blokować w 2011 roku, a Firefox w 2013 roku. Jednak domyślna przeglądarka Android i Safari nadal zezwalają na wszystkie mieszane treści bez żadnych ograniczeń (i z prawie nieistniejącymi ostrzeżeniami).

oto wyniki moich ostatnich testów jakie niebezpieczne treści są domyślnie dozwolone:

przeglądarka obrazy CSS Skrypty XHR WebSockets Ramki
Android browser 4.4.x tak tak tak tak tak
Chrome 33 tak Nie Nie tak tak Nie
Firefox 28 tak Nie Nie Nie Nie
Internet Explorer 11 tak Nie Nie Nie Nie
Safari 7 tak tak tak tak tak tak

są one głównie oczekiwane, ale jest niespodzianka z Chrome, który blokuje aktywną zawartość strony, ale nadal pozwala na zwykłe połączenia XMLHttpRequest i WebSocket.

warto wspomnieć, że tabela nie mówi nam wszystkiego. Na przykład przeglądarki mają tendencję do kontrolowania tego, co robią ich wtyczki. Co więcej, niektóre komponenty (np. Flash lub Java) są pełnymi środowiskami sam w sobie, a niewiele przeglądarek może zrobić, aby egzekwować zabezpieczenia.

testowanie obsługi mieszanych treści W SSL Labs

aby ułatwić ocenę obsługi tego problemu przez przeglądarkę, niedawno rozszerzyłem Test klienta SSL Labs, aby zbadać obsługę mieszanych treści. Podczas odwiedzania strony przeglądarka użytkownika jest testowana, a otrzymasz wyniki podobne do tych:

ssl-labs-client-test-mixed-content

rozpowszechnienie zawartości mieszanej

anegdotycznie bardzo często występuje zawartość mieszana. W Qualys zbadaliśmy ten problem w 2011 roku, wraz z kilkoma innymi problemami na poziomie aplikacji, które skutkują pełnym złamaniem szyfrowania w aplikacjach internetowych. Przeanalizowaliśmy strony główne około 250 000 bezpiecznych witryn internetowych z listy Alexa top 1 million i ustaliliśmy, że 22,41% z nich korzystało z niezabezpieczonych treści. Jeśli obrazy są wykluczone, liczba ta spada do 18,71%.

bardziej szczegółowe badanie witryn 18,526 wyodrębnionych z Alexa top 100,000 miało miejsce w 2013: Niebezpieczna mieszanka: wielkoskalowa analiza witryn o mieszanej treści (Chen et al.). Dla każdej witryny przeanalizowano do 200 bezpiecznych stron, uzyskując łącznie 481 656 stron. Ich wyniki wskazują, że do 43% witryn internetowych ma problemy z mieszanymi treściami.

Łagodzenie

najlepszą ochroną przed problemami z mieszanymi treściami jest po prostu brak tego typu problemów w kodzie. Ale to łatwo powiedzieć niż zrobić; istnieje wiele sposobów, w których mieszane treści mogą się wkradać. Kiedy to zawiedzie, istnieją dwie technologie, które mogą się przydać:

  • http Strict Transport Security (HSTS) to mechanizm wymuszający bezpieczne pobieranie zasobów, nawet w obliczu błędów użytkownika (próby uzyskania dostępu do witryny sieci web na porcie 80) i błędów implementacji (twoi Programiści umieszczają niebezpieczne łącze do bezpiecznej strony). HSTS jest jedną z najlepszych rzeczy, które przydarzyły się TLS niedawno, ale działa tylko na nazwach hostów, które kontrolujesz.
  • Polityka Bezpieczeństwa treści (CSP) może być używana do blokowania niezabezpieczonego pobierania zasobów z witryn internetowych stron trzecich. Posiada również wiele innych przydatnych funkcji do rozwiązywania innych problemów związanych z bezpieczeństwem aplikacji, na przykład XSS.

Write a Comment

Twój adres e-mail nie zostanie opublikowany.