Czy korzystając z niektórych serwisów zdarzyło się Wam zauważyć, iż zaraz po zalogowaniu z HTTPS jesteście przekierowywani na nieszyfrowane HTTP? Zastanawialiście się, czy jest to bezpieczne? Zdecydowanie nie jest.
Jeden z czytelników zwrócił nam uwagę na podatność w kliencie webowym poczty Wirtualnej Polski, umożliwiającą swobodny dostęp do poczty innych osób znajdujących się w tej samej sieci (bezprzewodowej). Przyjrzeliśmy się tematowi i postanowiliśmy wykorzystać go do podniesienia świadomości czytelników dotyczącej (nie)bezpieczeństwa pewnej praktyki, którą niestety nadal dosyć często można spotkać w internecie. Liczymy również, że może to zachęcić Wirtualną Polskę to szybszego zajęcia się tematem.
Hasło jest bezpiecznie przesyłane, więc w czym problem?
Przy zgłaszaniu problemów z nieszyfrowaną transmisją do operatora serwisu często można przeczytać w odpowiedzi: „Logowanie jest po HTTPS. Hasło jest bezpieczne. Nie musi Pan/Pani się martwić. Problemu nie ma”. Niestety, to nie do końca prawda. O ile rozwiązanie to jest trochę lepsze niż brak szyfrowania w ogóle (hasło nie jest tu rzeczywiście ujawniane), to tak naprawdę tworzy tylko fałszywe poczucie bezpieczeństwa. Do całkiem swobodnego dostępu do naszego konta hasło nie jest niezbędne.
Po prawidłowym zalogowaniu do serwisu (uwierzytelnieniu) użytkownikowi nadawany jest unikalny identyfikator sesji/token sesyjny (zazwyczaj długi ciąg alfanumeryczny). Jest on przesyłany w każdym kolejnym odwołaniu do strony (żądaniu), zazwyczaj jako ciasteczko sesyjne. Na jego podstawie system wie, kto (jaki użytkownik) wywołuje daną operację (np. odczyt maila) i do czego ma dostęp (np. czytanie tylko swoich wiadomości). Atakujący posiadający ten token może uzurpować bycie prawowitym użytkownikiem danego konta i robić w jego imieniu (prawie) wszystko.
Kto może zdobyć ten token przy komunikacji po HTTP?
- każda osoba podłączona do tej samej otwartej sieci bezprzewodowej (np. publiczny hotspot),
- każda (zdeterminowana) osoba podłączona do tej samej zabezpieczonej (nawet WPA2) sieci bezprzewodowej,
- (plus oczywiście administrator sieci lokalnej i dostawca internetu, ale oni zazwyczaj mają znacznie więcej możliwości, aby czytać naszą pocztę).
Co można osiągnąć w przypadku poczty WP?
- czytać Twoją pocztę (przychodzącą i wychodzącą) – w tym listy od/do kochanki/kochanka, prywatne zdjęcia, umowy i skany dowodu,
- wysyłać maile w Twoim imieniu – w tym te o treści, którą mogą zainteresować się odpowiednie służby,
- przejąć dostęp do większości zewnętrznych usług zarejestrowanych na to konto mailowe (chyba że wymaga to uwierzytelnienia dwuskładnikowego – 2FA).
W ostatnim przypadku nie pomoże stosowanie HTTPS w tamtych usługach. Mail o resecie hasła można szybko usunąć z poczty i o problemie dowiemy się dopiero przy kolejnym logowaniu (a raczej jego próbie). Wtedy naszych bitcoinów może już nie być, znajomi z komunikatorów mogą być już przekonani do „pożyczenia” nam pieniędzy itp. Spośród opisywanych przez nas przypadków podsłuchiwania danych w sprzyjających okolicznościach warto także przypomnieć o poważnym błędzie w aplikacji LUX MED-u, który umożliwiał nieuprawnionym użytkownikom czytanie czatów z lekarzami.
Czego nie może zrobić atakujący?
- zmienić hasła do poczty,
- zmienić większości istotnych danych konta (jak numer telefonu czy adres do odzyskiwania konta),
- czytać poczty po tym, jak my się z niej wylogowaliśmy,
- podejrzeć tokenu sesji przy połączeniu z osobnego klienta pocztowego przez protokół IMAP/POP3/STMP – te kanały od dawna są szyfrowane.
Przejmowanie konta Poczty WP w praktyce
Krótka demonstracja, jak w kilka minut możemy uzyskać dostęp do poczty innej osoby.
UWAGA. W czasie weryfikacji podatności uzyskaliśmy dostęp do naszego własnego konta bez podawania hasła na innym komputerze. Uzyskiwanie dostępu do cudzych kont/systemów bez zgody właściciela/administratora może być w Polsce przestępstwem.
Logujemy się do poczty WP
I używamy jej jak zazwyczaj na pierwszym komputerze.
Przejmujemy token sesji
Przy każdym odwołaniu do serwera wysyłany jest identyfikujący nas token sesji. Ze względu na specyfikę sieci bezprzewodowych, mając kartę sieciową mogącą działać w trybie monitor i/lub promiscuous (większość kart dostępnych na rynku), jesteśmy w stanie otrzymać pakiety wysyłane od/do innych użytkowników tej samej sieci. Wykorzystując bezpłatne oprogramowanie, możemy je zapisać i następnie zdeszyfrować (wspólnym „hasłem” do Wi-Fi), aby mieć dostęp do ruchu HTTP.
Dla uproszczenia opisu nie wchodzimy w szczegóły przechwytywania ruchu sieciowego. Potwierdziliśmy jednak możliwość wykonania ataku z innego komputera z pomocą narzędzi aircrack-ng i Wireshark.
W przechwyconej komunikacji z serwerem poczty WP poszukujemy ciasteczka o nazwie „wpsticket”. Oprócz tego bonusowo od razu dostajemy identyfikator konta, imię, nazwisko oraz znak zodiaku właściciela konta.
Przechwycony identyfikator zapisujemy.
Wstrzykujemy ciasteczko
Tworzymy ciasteczko o nazwie „wpsticket” z przechwyconym tokenem na drugim komputerze. Odwiedzamy stronę poczty WP.
W wariancie prostym ciasteczko może być stworzone ręcznie z pomocą Cookie Managera. Operację tę można oczywiście zautomatyzować (np. przez inserty do bazy SQLite z ciasteczkami albo używanie narzędzi deweloperskich przeglądarki).
Czytamy cudzą pocztę
Po wejściu na stronę poczty naszym oczom ukazują się wiadomości z konta, dla którego token przechwyciliśmy – bez żadnego logowania. Możemy czytać, pisać i usuwać wiadomości…
Na zrzucie ekranu ładnie widać, że WP zaakceptowało nasz przechwycony token i w odpowiedzi zwróciło inny, wraz z serią nowych ciasteczek. Jednak na szczęście nowy token dotyczy tej samej sesji i po wylogowaniu się prawowitego użytkownika dostęp atakującego również zostaje zakończony.
Niestety to nieodosobniony przypadek
Problem nie jest nowy. OWASP – organizacja zajmująca się bezpieczeństwem – od lat wymienia ataki typu Broken Authentication (w tym właśnie eksponowanie tokenów sesyjnych i przechwytywanie sesji) na drugim miejscu, zaraz po różnego rodzaju wstrzyknięciach (m.in. SQL injection).
O ile atak wydaje się wymagać odrobiny wiedzy technicznej, to nie zawsze tak musi być. Na początku tego dziesięciolecia wielcy światowi gracze, jak Google, Facebook czy Twitter, stosowali podobne podejście z szyfrowaniem ruchu tylko do kluczowych miejsc w systemach. Aby skłonić ich do porzucenia tej praktyki, stworzony został dodatek do Firefoxa Firesheep, który bez opuszczania okna przeglądarki pokazywał listę użytkowników popularnych serwisów w naszej sieci i jednym kliknięciem umożliwiał przejęcie dostępu do ich kont.
O podatności wtedy stało się głośno, co poskutkowało. Niestety w Polsce (i nie tylko) nadal jest sporo serwisów czekających na dorośnięcie do właściwego zabezpieczania świadczonych usług. Czy musi powstać Firesheep dostosowany do polskich warunków, aby to zmienić?
Podatność i WP
Wirtualna Polska ma świadomość istnienia problemu. Obecnie przeprowadzana jest migracja kont na nową platformę, która jest w pełni dostępna po HTTPS. Wszystkie nowe konta zdają się być automatycznie zabezpieczone przed atakiem, niestety termin zakończenia migracji milionów starych kont nie jest znany. WP nie udostępnia również mechanizmu wymuszenia przełączenia na nową platformę dla użytkowników, którym zależy na bezpieczeństwie. Mogą oni jedynie siedzieć i czekać.
Wysłaliśmy do WP poniższe pytania. Odpowiedział nam rzecznik prasowy Michał Siegieda.
Jakie działania przedsięwzięła Wirtualna Polska w celu uniemożliwienia przejmowania kont pocztowych z związku z używaniem nieszyfrowanego protokołu HTTP?
Do tej pory we wszystkich formularzach z hasłami przesyłaliśmy je wyłącznie szyfrowanym kanałem, zaś sam system sesji gwarantował, że po wylogowaniu nie można było skorzystać z ukradzionego ciastka. Dodatkowo posiadamy systemy analizujące anomalie ruchów użytkownika w celu potencjalnej blokady przejęcia.
Kiedy cała komunikacja w kliencie webowym Poczty WP będzie odbywała się po HTTPS dla wszystkich użytkowników?
Wprowadzamy szyfrowaną komunikację na kilku kanałach równocześnie. Jednym z nich jest wspomniana nowa platforma, korzysta z niej już ponad 60% aktywnych użytkowników oraz wszystkie nowo założone konta. Innym kanałem, z tych najbardziej znaczących, jest interfejs webowy starego systemu, w którym brak pełnego szyfrowania – zdajemy sobie sprawę – jest najbardziej dyskusyjny. W tym drugim przypadku pełne szyfrowanie planujemy wdrożyć w najbliższych tygodniach, zwłaszcza przed przełączeniem wszystkich kont na nową platformę.
Czy do tego czasu istnieje sposób na przełączenie swojego konta na „Nową Pocztę WP”?
Kolejne konta są przełączane sukcesywnie. Jeżeli komuś zależy na szybszym skorzystaniu z nowej platformy, prosimy o kontakt z Helpdeskiem. W międzyczasie przygotowujemy dostęp do poczty przez dedykowaną aplikację mobilną dla iOS oraz Androida, skorzystanie z aplikacji będzie równoznaczne z migracją konta na nową platformę.
Mam pocztę w WP, co dalej?
Jeżeli po zalogowaniu jesteś przekierowywany na nowapoczta.wp.pl po HTTPS, ten problem Cię nie dotyczy – zostałeś już zmigrowany.
Jeżeli jednak w adresie jest poczta.wp.pl i nie masz „kłódeczki”:
- ogranicz korzystanie z klienta webowego WP do sieci opartej o połączenie kablowe lub chociaż do „zaufanych” sieci bezprzewodowych, w których nie ma osób chcących czytać Twoją pocztę (zabezpieczone sieci hotelowe i publiczne hotspoty zdecydowanie odpadają),
- zapytaj WP, w jaki sposób dla Twojego konta będziesz mógł czytać pocztę w przeglądarce po HTTPS,
- jeżeli musisz korzystać z klienta webowego poczty w różnych miejscach, możesz wykupić dostęp do Poczty Pro, w którym ruch w całości jest szyfrowany,
- używaj VPN przy korzystaniu z internetu w niezaufanych sieciach – nie rozwiązuje to problemu, ale przesuwa go w zazwyczaj mniej dostępne dla atakującego miejsce,
- stosuj dwuskładnikowe uwierzytelnianie (2FA/MFA), gdzie jest to możliwe – ogólnie utrudnia do przejęcie innych kont.
Z jakich innych usług wymagających zalogowania, ale dostępnych potem przez nieszyfrowane HTTP korzystasz? Napisz to w komentarzu.
Komentarze
Pytanie powiązane, ale nie bezpośrednio: a co gdy ktoś używa HTTPS w całym serwisie, ale ciasteczka nie są wysyłane z flagą „secure” czy „http only”? Czy wtedy jest to bezpieczne bo mamy samo HTTPS i ciasteczka też po tym lecą automatycznie, czy jednak jest to problem i może prowadzić do podobnych naruszeń?
Wtedy ciasteczka można ukraść za pomocą niektórych ataków XSS.
Zawsze ciastko z identyfikatorem usera musi być secure i http only. Secure zeby nie szło bez https a http only zeby zaden javascript go nie wykradł.
Kto w dobie SPA z REST API wysyła jeszcze ciasteczka?
Ciekawe czy udałoby się Wam jeszcze zachęcić naszych krajowych dostawcach do stosowania 2fa z sms, przynajmniej na kontach premium. Na pytanie jeden z dostawców odpowiedział mi podobnie jak Wam – jest logowanie po https więc nie ma żadnych problemów.
Jakis czas temu dalo sie wymusic na wp https (uparcie dopisujac go po zalogowaniu) ale to „naprawili”. po tej „naprawie” zapytalem wp czemu jest http to w odpowiedzi otrzymalem mniej wiecej tyle ze haslo idzie po https a jak chce miec caly czas https to musze wykupic poczte PRO :P
W Allegro tak samo ale tam z HTTPS jest o wiele większy problem o którym ostatnio było głośno.
ssl-trip i masz hasla z wp onetu itp …. takie to bezpieczne serwisy pocztowe :>
kiedyś nikt się tym nie przejmował i było dobrze
Serwis powinien jeszcze ID sesji porównywać z innymi danymi o urządzeniu z którego zalogował sie użytkownik, np. czy nie zmienił się user-agent, rozmiar ekranu, czy IP nagle nie wskazuje na inny kraj/TORa, itp.
Dokładnie tak. Wydawało mi się, że stosowanie tzw. odcisków palca to standardowa procedura, bez względu na inne techniki obecne w danym serwisie.
Poprawny fingerprinting jest skomplikowany.
Ja bym nie chciał być wylogowany z poczty jak podłączę się do zewnętrznego monitora lub przepnę z Wi-Fi na LAN czy uruchomię VPNa.
Albo za użycie Canvas blocker :P
Telefonia mobilna ma tak, że każdy BTS to inne IP. W mieście bywa, że IP zmienia się co kilkanaście kroków. Także jak wyżej poprawny fingerprinting to skomplikowana sprawa. A weźmy pod uwagę jeszcze wydajność rozwiązania w jakimś dużym systemie typu kilkatysięcy rpsów
dzięsć
Pełen SSL na poczcie wp już dostępny, szybko działają :)
Wow, nieźle. U mnie też od dzisiaj poczta.wp.pl po HTTPS. Już dawno zgłaszałem im ten problem i zawsze dostawałem wymijające odpowiedzi. Świetnie, że Z3S zajęła się tematem i zmotywowała WP do szybszego działania. Dzięki!
Przeciez jeszcze z pol roku temu klient webowy na poczta.wp.pl w ogole nie mial TLS/SSL. Wszystko lecialo po http lacznie z logowaniem. Juz niewspominam o IMAPie, ktory dziala srednio.
U mnie logowanie było do poczty WP od kilku lat było już po HTTPS. Tylko potem HTTP wracało.
skycash.com – logowanie jest po https ale cała reszta po http, nawet https everywhere nie pomaga (niby jest https w adresie ale przeglądarki nie wyświetlają zielonej kłódeczki)
Czy przypadkiem allegro.pl nie ma tego samego problemu? Podgląd poszczególnych aukcji odbywa się bez szyfrowania. Jest ono jednak stosowane w pozostałej części serwisu.
Wydaje mi się, że ruch poczty WP jest szyfrowany, jeżeli łączymy się przez IMAP i że był szyfrowany zawsze. Wydaje mi się, że kiedyś mi się wydawało, że dzięki temu jestem bezpieczniejszy. Prawda to?
Nadal https nie działa poprawnie. Wystarczy przeczytać kilka wiadomości ze skrzynki i zamiast zielonej kłódki pojawia się żółty wykrzyknik z komunikatem: „Połączenie nie jest bezpieczne. Niektóre elementy tej strony (np. obrazy) nie były przesłane w sposób bezpieczny.”. To samo dotyczy poczty na Interii. Część tych obrazów to elementy serwisu webowego poczty ale czasami są to obrazy z treści wiadomości od tzw. „zaufanych dostawców” np. od Allegro.
ktos wkradł sie na moja poczte czyta moja prywatna korespondencje jak to zablokowac bardzo prosze o pomoc
W ostatnim czasie bardzo nasilil sie problem z uzytkowaniem WP. Jedyny plus to ten, ze znalazlam osobne wejscie na poczte.
A wiec wyjasniam:
1/Glowna strona wiadomosci do tej pory b.dlugo „wlaczala sie”, od kilku dni jednak sama wylacza sie natychmiast po wlaczeniu.
2/Wiadomosci na stronie „wywiady i video na zywo” po wlaczeniu natychmiast powodowaly wylaczenie calego systemu. To samo bylo ze strona sportowa.
W poszukiwaniu mozliwosci naprawy podaje swoje osobiste informacje na temat:
Mieszkam w Toronto (Kanada) i bardzo zalezy mi na tym, abym mogla takze ze stron WP otrzymywac informacje z kraju. Mam juz 70 lat, czyli jestem „starej daty”, uzywam tylko i wylacznie komputera stacjonarnego wraz z WiFi, system operacyjny Windows10, oraz bardzo wazne dla mnie – wyszukiwarka – Internet Explorer. Musze dodac, ze zadna z proponowanych wyszukiwarek (Opera, Firefox czy Google Chrome i innne) nie ma takich opcji jak np.File, Edit, View, Favorites z mozliwoscia tworzenia nowych folderow itp.
Jednoczesnie przyznaje sie: nie moglabym uzywac komputera bez programu blokujacego reklamy.
Rozumiem, ze takich ludzi jak ja jest wiele, ale… bardzo prosze o pomoc, bo Onet, Newsweek, Gazeta.pl to naprawde jeszcze nie wszystko, brakuje WP !!!!!!!!!!