W sierpniu 2013 roku Yahoo wciąż było jednym z największych symboli internetu. Dla milionów ludzi skrzynka z końcówką @yahoo.com była pierwszym prywatnym adresem e-mail, portal Yahoo pełnił rolę strony startowej, a należące do firmy usługi były częścią codziennego korzystania z sieci. Właśnie wtedy z infrastruktury spółki wykradziono dane użytkowników na skalę, która nawet kilka lat później brzmiała niewiarygodnie. Problem w tym, że użytkownicy nie dowiedzieli się o tym w 2013 roku. Ani w 2014. Ani nawet w 2015.

Yahoo poinformowało o zdarzeniu dopiero w grudniu 2016 roku, początkowo mówiąc o ponad miliardzie kont. Dziesięć miesięcy później firma przekazała kolejną aktualizację: prawdopodobnie dotknięte zostały wszystkie konta istniejące w Yahoo w czasie włamania – około 3 miliardów.

Nie trzy miliony. Nie trzysta milionów. Trzy MILIARDY kont.

Tak wyglądała strona główna Yahoo w 2013 roku, kiedy doszło do kradzieży danych. Yahoo wciąż było wówczas jednym z największych portali internetowych świata.

Była to liczba tak ogromna, że przez lata incydent Yahoo pozostawał punktem odniesienia przy opisywaniu największych wycieków danych w historii. Jeszcze bardziej zdumiewające było jednak coś innego: gdy przestępcy zdobywali bazę, użytkownicy nadal spokojnie logowali się do swoich skrzynek, zmieniali hasła, korzystali z pytań bezpieczeństwa i zakładali kolejne konta, nie mając pojęcia, że ich dane mogły już znajdować się poza kontrolą Yahoo.

Tak wyglądała strona główna Yahoo w 2013 roku – w okresie, w którym doszło do kradzieży danych. Yahoo nie było niszowym serwisem. Było internetowym gigantem z pocztą, wyszukiwarką, wiadomościami, finansami, sportem i dziesiątkami innych usług odwiedzanych każdego dnia przez ogromną liczbę ludzi.

Yahoo było kiedyś tym, czym później stały się Google i Facebook

Dla osoby, która zaczęła korzystać z internetu dopiero w ostatnich kilkunastu latach, obecna pozycja Yahoo może być myląca. Firma założona w 1994 roku przez Jerry’ego Yanga i Davida Filo była jednym z przedsiębiorstw, które definiowały pierwszą masową epokę internetu. Yahoo katalogowało strony WWW, dostarczało wiadomości, prowadziło wyszukiwarkę, pocztę elektroniczną, komunikator, serwisy finansowe, sportowe, fotograficzne i społecznościowe.

W najlepszych latach logo Yahoo znał praktycznie każdy użytkownik internetu. Firma należała do grona najpotężniejszych przedsiębiorstw technologicznych świata, a jej usługi posiadały setki milionów użytkowników.

W 2012 roku kierowanie przedsiębiorstwem objęła Marissa Mayer, wcześniej jedna z najbardziej rozpoznawalnych menedżerek Google. Jej zadaniem było przywrócenie firmie dynamiki po latach, w których Yahoo stopniowo przegrywało z Google, Facebookiem i kolejnymi generacjami internetowych usług. Firma kupowała nowe przedsiębiorstwa, zmieniała wygląd swoich produktów, inwestowała w urządzenia mobilne i próbowała pokazać, że dawna gwiazda internetu jeszcze się nie skończyła.

W 2013 roku Yahoo zmieniło nawet swoje charakterystyczne logo po raz pierwszy od wielu lat. I mniej więcej w tym samym czasie ktoś wykradał dane jego użytkowników.

We wrześniu 2013 roku Yahoo prezentowało nową identyfikację wizualną. W tym samym okresie firma nie wiedziała jeszcze, że doszło do największej kradzieży danych w jej historii.

Sierpień 2013. Co właściwie zostało skradzione?

Do kradzieży doszło w sierpniu 2013 roku. Co szczególnie istotne, Yahoo nigdy nie przedstawiło publicznie równie precyzyjnego technicznego opisu włamania jak w przypadku późniejszego incydentu z 2014 roku. Firma sama informowała, że nie była w stanie zidentyfikować konkretnego włamania odpowiadającego za kradzież danych z 2013 roku.

Wiemy natomiast, co znajdowało się w skradzionym zbiorze. Dane mogły obejmować imiona i nazwiska, adresy e-mail, numery telefonów, daty urodzenia, zahaszowane hasła oraz w części przypadków pytania bezpieczeństwa i odpowiedzi na nie. Niektóre odpowiedzi bezpieczeństwa były zaszyfrowane, inne przechowywano bez szyfrowania.

Yahoo podkreślało później, że w tej bazie nie znajdowały się numery kart płatniczych ani rachunków bankowych oraz że hasła nie były zapisane jawnym tekstem.

Na pierwszy rzut oka mogło to brzmieć uspokajająco. W praktyce sytuacja była znacznie mniej komfortowa.

Hasła z części bazy były zabezpieczone funkcją MD5. Problem w tym, że już w 2013 roku MD5 od dawna nie był uznawany za odpowiedni mechanizm ochrony haseł. Sam hash nie jest oczywiście równoznaczny z zapisaniem hasła w postaci „haslo123”, ale atakujący posiadający bazę może wykonywać ogromną liczbę prób offline, porównując hashe popularnych i generowanych haseł z wartościami znajdującymi się w bazie.

Yahoo rozpoczęło wówczas przechodzenie na znacznie lepszy bcrypt, ale część danych nadal korzystała ze starego zabezpieczenia.

Jeszcze ciekawszym elementem były pytania bezpieczeństwa. W tamtej epoce wiele serwisów pozwalało odzyskać dostęp do konta poprzez odpowiedzi na pytania typu „jak nazywał się twój pierwszy zwierzak?”, „jakie jest nazwisko panieńskie twojej matki?” albo „w jakim mieście się urodziłeś?”. Problem polega na tym, że użytkownik może zmienić hasło, ale nazwisko panieńskie matki raczej się nie zmieni.

Kradzież takich informacji mogła więc mieć konsekwencje wykraczające daleko poza samo Yahoo.

Najbardziej niezwykłe jest to, że przez lata prawie nikt o tym nie wiedział

W wielu współczesnych incydentach firma najpierw wykrywa włamanie, następnie rozpoczyna analizę, a po kilku dniach lub tygodniach informuje użytkowników. Można dyskutować, czy zrobiła to wystarczająco szybko, ale przynajmniej istnieje jasna sekwencja wydarzeń.

W przypadku Yahoo wyglądało to zupełnie inaczej. Kradzież nastąpiła w sierpniu 2013 roku. Informację o niej Yahoo podało publicznie dopiero 14 grudnia 2016 roku.

Minęły ponad trzy lata.

Co więcej, odkrycie nie zaczęło się od sytuacji, w której administrator Yahoo zauważył podejrzaną aktywność w logach z sierpnia 2013 roku. W listopadzie 2016 roku organy ścigania przekazały firmie pliki, które osoba trzecia przedstawiała jako dane użytkowników Yahoo. Firma wraz z zewnętrznymi ekspertami kryminalistyki cyfrowej przeanalizowała materiał i doszła do wniosku, że rzeczywiście wygląda on na dane pochodzące z Yahoo.

Dopiero wtedy zaczęto rozumieć skalę incydentu sprzed ponad trzech lat.

Tak wyglądał oficjalny komunikat Yahoo z grudnia 2016 roku. Firma informowała w nim, że analiza danych przekazanych przez organy ścigania wskazuje na kradzież informacji dotyczących ponad miliarda kont w sierpniu 2013 roku. To jeszcze nie była ostateczna liczba.

Najpierw 500 milionów. Potem miliard. Potem trzy miliardy

W grudniu 2016 roku informacja o kradzieży danych ponad miliarda kont Yahoo obiegła światowe media. Dziesięć miesięcy później liczba została zwiększona do około 3 miliardów.

Historia wycieków Yahoo jest czasami opisywana w sposób chaotyczny, ponieważ w krótkim czasie ujawniono kilka różnych problemów bezpieczeństwa. Warto je rozdzielić.

We wrześniu 2016 roku Yahoo poinformowało o innym włamaniu, które miało nastąpić pod koniec 2014 roku. Tamten incydent dotyczył co najmniej 500 milionów kont. Firma twierdziła, że za atakiem stał podmiot wspierany przez państwo. Później amerykańskie służby postawiły zarzuty między innymi funkcjonariuszom rosyjskiej FSB i współpracującym z nimi hakerom.

To jednak nie jest wyciek, o którym mówimy w tym artykule.

Niecałe trzy miesiące po ujawnieniu problemu z 2014 roku Yahoo poinformowało o jeszcze większym incydencie – właśnie kradzieży z sierpnia 2013 roku. Firma podała wtedy, że mogło zostać dotkniętych ponad miliard kont.

Już ta liczba była absurdalnie wielka. Ale to nadal nie był koniec.

W 2017 roku okazało się, że „miliard” oznacza właściwie wszystkich

3 października 2017 roku, już po przejęciu operacyjnej części Yahoo przez Verizon, pojawiła się aktualizacja wyników dochodzenia. Nowe informacje przeanalizowane wspólnie z zewnętrznymi ekspertami doprowadziły firmę do wniosku, że wcześniejsza liczba była zdecydowanie zaniżona.

Nie ponad miliard kont.

Wszystkie około 3 miliardy kont istniejących w Yahoo w sierpniu 2013 roku miały prawdopodobnie zostać dotknięte kradzieżą.

Aktualizacja informacji o wycieku z 2013 roku. Po dodatkowym dochodzeniu Yahoo ustaliło, że kradzież prawdopodobnie objęła wszystkie istniejące wówczas konta – około 3 miliardy.

W 2017 roku Yahoo opublikowało zaktualizowane FAQ dotyczące incydentu z 2013 roku. Najważniejsza zmiana była gigantyczna: firma uznała, że dotknięte zostały wszystkie konta istniejące w czasie kradzieży.

Warto przy tym wyjaśnić jedną rzecz, która często ginie w efektownym nagłówku „3 miliardy użytkowników Yahoo”. Firma mówiła o 3 miliardach kont, a niekoniecznie o 3 miliardach różnych ludzi. Jedna osoba mogła posiadać kilka adresów, część kont była nieużywana, inne mogły istnieć tylko przez krótki czas.

Nie zmienia to jednak praktycznie niczego w ocenie skali technicznej. Yahoo posiadało ogromną bazę kont i według późniejszego dochodzenia cała ta baza została objęta incydentem.

Trudno o bardziej dosłowną definicję katastrofalnego wycieku.

Dlaczego takie dane są niebezpieczne, skoro nie wyciekły karty płatnicze?

Przy wyciekach często pojawia się argument: „przecież nie było numerów kart, więc co właściwie się stało?”. To bardzo błędne podejście.

Adres e-mail, data urodzenia, numer telefonu, imię i nazwisko oraz odpowiedzi na pytania bezpieczeństwa tworzą bardzo dobry pakiet do dalszych ataków. Przestępca nie musi od razu okradać rachunku bankowego. Może wykorzystać informacje do phishingu, prób przejmowania innych kont, podszywania się pod użytkownika albo budowania dokładniejszych profili ofiar.

Jeszcze większym problemem jest ponowne używanie haseł.

Jeżeli użytkownik miał w 2013 roku to samo hasło do Yahoo, Facebooka, sklepu internetowego i innej skrzynki pocztowej, złamanie hasha z Yahoo mogło otworzyć drogę do kolejnych usług. Atakujący mogą automatycznie sprawdzać te same kombinacje adresu i hasła w dziesiątkach serwisów. Dzisiaj nazywamy taki mechanizm credential stuffingiem, ale problem istniał długo przed upowszechnieniem samego określenia.

Dane z wycieku nie muszą również zostać wykorzystane natychmiast. Wielkie bazy żyją w internecie przez lata. Są kopiowane, łączone z innymi zbiorami, sprzedawane, rozdawane i wzbogacane o informacje z kolejnych incydentów.

Hasło można zmienić. Data urodzenia pozostanie taka sama.

Yahoo próbowało zabezpieczyć konta. Tyle że kilka lat po kradzieży

Po ujawnieniu incydentu Yahoo wymusiło zmianę haseł u użytkowników, którzy nie zrobili tego od czasu kradzieży. Firma unieważniła również niezaszyfrowane pytania i odpowiedzi bezpieczeństwa, aby nie mogły być używane do odzyskiwania dostępu.

To były właściwe działania. Problem tkwił w kalendarzu.

Jeżeli dane zostały skradzione w sierpniu 2013 roku, a użytkownik dowiaduje się o tym pod koniec 2016 roku, przestępcy potencjalnie mieli ponad trzy lata, zanim ofiara otrzymała oficjalny sygnał, że powinna zmienić hasła również w innych miejscach.

W cyberbezpieczeństwie czas ma ogromne znaczenie. Powiadomienie o incydencie nie cofnie kradzieży danych, ale pozwala ograniczyć dalsze szkody. Użytkownik może zmienić hasło, włączyć dodatkowe uwierzytelnienie, sprawdzić inne konta i zacząć ostrożniej traktować próby phishingowe.

Po kilku latach część tego okna bezpieczeństwa po prostu już nie istnieje.

A potem pojawił się jeszcze problem z „magicznymi” cookies

W czasie badania bezpieczeństwa Yahoo ujawniono dodatkowo, że atakujący potrafili tworzyć sfałszowane pliki cookies pozwalające uzyskać dostęp do niektórych kont bez znajomości hasła. Problem ten dotyczył aktywności obserwowanej później, między innymi w latach 2015 i 2016, i był łączony z aktorem odpowiedzialnym za osobny atak z 2014 roku.

To ważne rozróżnienie, bo często wszystkie problemy Yahoo wrzuca się do jednego worka.

Cookie sesyjne jest w pewnym sensie przepustką mówiącą serwisowi: „ten użytkownik już się uwierzytelnił”. Dzięki temu nie musimy wpisywać hasła za każdym kliknięciem w skrzynce. Jeśli jednak atakujący potrafi stworzyć prawidłowo wyglądający token uwierzytelniający, może ominąć etap wpisywania hasła.

Dla przeciętnego użytkownika brzmiało to wręcz absurdalnie: nawet zmiana hasła nie musi pomóc, jeśli przeciwnik potrafi oszukać system w inny sposób. Yahoo unieważniło później wykryte sfałszowane cookies i zmieniło sposób działania systemów.

Wyciek pojawił się w najgorszym możliwym momencie

W lipcu 2016 roku Verizon zgodził się kupić podstawową działalność internetową Yahoo za około 4,83 mld dolarów. Transakcja miała zakończyć długi okres poszukiwania przyszłości dla firmy, która kiedyś definiowała internet, ale z czasem coraz bardziej przegrywała z konkurencją.

Umowę ogłoszono w lipcu. We wrześniu Yahoo ujawniło włamanie z 2014 roku obejmujące co najmniej 500 mln kont. W grudniu Yahoo ujawniło drugi, jeszcze większy incydent z 2013 roku, mówiąc już o ponad miliardzie kont. Trudno wyobrazić sobie gorszy zestaw informacji dla kupującego.

Verizon zaczął ponownie analizować warunki transakcji. Ostatecznie cena zakupu została obniżona o 350 mln dolarów, do około 4,48 mld dolarów. Uzgodniono również sposób dzielenia części odpowiedzialności prawnej związanej z wyciekami.

Siedziba Yahoo w Sunnyvale. Gdy doszło do włamania, firma nadal należała do najbardziej rozpoznawalnych marek technologicznych świata. Kilka lat później konsekwencje problemów bezpieczeństwa wpłynęły bezpośrednio na warunki sprzedaży przedsiębiorstwa.

Sam wyciek nie był oczywiście jedynym powodem problemów biznesowych Yahoo. Firma od lat traciła pozycję wobec Google i Facebooka. Jednak historia bezpieczeństwa stała się czymś wyjątkowo namacalnym: można było dosłownie wskazać setki milionów dolarów różnicy pomiędzy pierwotną i ostatecznie uzgodnioną ceną.

Cyberbezpieczeństwo przestało być problemem działu IT. Stało się pozycją przy negocjowaniu wartości całej firmy.

Posypały się pozwy

Po ujawnieniu incydentów użytkownicy zaczęli pozywać Yahoo. Sprawy zostały połączone w duże postępowania zbiorowe dotyczące wycieków z kilku lat.

W 2019 roku wypracowano zmienioną ugodę o wartości 117,5 mln dolarów, obejmującą roszczenia użytkowników związane z wielkimi incydentami bezpieczeństwa Yahoo. Konstrukcja obejmowała między innymi środki przeznaczone na rekompensaty oraz ochronę przed kradzieżą tożsamości.

Trzeba jednak podkreślić: ugoda dotyczyła szerszej historii naruszeń bezpieczeństwa Yahoo, a nie wyłącznie kradzieży z sierpnia 2013 roku.

Dla firmy kosztem nie były zresztą tylko same pieniądze. Yahoo przez lata pojawiało się jako modelowy przykład przedsiębiorstwa, które potrafiło zgromadzić ogromną ilość danych użytkowników, ale nie potrafiło wystarczająco szybko wykryć, że straciło nad nimi kontrolę. A reputację odbudowuje się znacznie trudniej niż bazę danych.

Największy problem: skąd użytkownik miał wiedzieć?

Historia Yahoo pokazuje niewygodną prawdę dotyczącą bezpieczeństwa danych. Użytkownik może wykonać wszystko poprawnie i nadal stać się ofiarą. Może mieć mocne hasło. Nie klikać podejrzanych linków. Nie instalować pirackich programów. Nie podawać danych na podejrzanych stronach.

Jeżeli jednak firma, której powierzył informacje, zostanie skutecznie zaatakowana, jego dane mogą znaleźć się poza jej kontrolą. Jeszcze gorszy scenariusz następuje wtedy, gdy użytkownik przez kilka lat nawet o tym nie wie.

Dlatego model bezpieczeństwa oparty wyłącznie na haśle jest niewystarczający. Unikalne hasło ogranicza szkody po wycieku jednej usługi. Menedżer haseł pozwala realnie stosować inne hasło w każdym serwisie. Uwierzytelnianie wieloskładnikowe utrudnia przejęcie konta nawet po zdobyciu hasła, choć również nie rozwiązuje każdego możliwego scenariusza.

Yahoo pokazuje też, dlaczego warto traktować pytania bezpieczeństwa jak hasła. Jeżeli serwis pyta o nazwisko panieńskie matki, odpowiedź nie musi być prawdziwym nazwiskiem panieńskim matki. Dla bezpieczeństwa lepiej, aby była losowym, unikalnym ciągiem przechowywanym tak samo jak hasło.

Bo informacja, którą znamy tylko my i nasza rodzina, bardzo szybko przestaje być tajemnicą, gdy odpowiadamy nią w dziesięciu różnych serwisach.

„Nie wyciekło hasło w plaintext” nie oznacza, że wszystko jest dobrze

To jeden z najważniejszych wniosków technicznych z tej historii. Po wycieku firmy często podkreślają, że hasła były „zahashowane”. Dla przeciętnego użytkownika brzmi to jak informacja, że właściwie nic poważnego się nie wydarzyło.

Tymczasem znaczenie ma sposób, w jaki hasła zostały zabezpieczone. Dobra funkcja przeznaczona do przechowywania haseł jest celowo kosztowna obliczeniowo. Chodzi o to, aby legalne sprawdzenie pojedynczego hasła trwało niezauważalnie dla użytkownika, ale wykonanie miliardów prób przez atakującego stało się kosztowne.

MD5 został zaprojektowany w zupełnie innym celu i jest bardzo szybki. Dla przestępcy posiadającego bazę to zaleta, nie wada.

W 2013 roku nie była to nowa wiedza. MD5 od dawna nie powinien być pierwszym wyborem do ochrony haseł. Yahoo znajdowało się już w trakcie migracji do bcrypt, ale wyciek boleśnie pokazał, dlaczego takie migracje powinny następować możliwie szybko.

Trzy miliardy kont to nie jedyna liczba, która powinna robić wrażenie

Najbardziej medialną liczbą pozostają oczywiście trzy miliardy. Jednak z perspektywy bezpieczeństwa równie istotne są inne:

  • 2013 – dochodzi do kradzieży.
  • 2016 – Yahoo informuje o niej użytkowników.

Ponad 3 lata – tyle czasu dzieli oba wydarzenia.

To właśnie ta luka powinna być jednym z najważniejszych elementów tej historii.

Skala wycieku robi świetny nagłówek. Czas potrzebny na jego ujawnienie pokazuje natomiast realny problem organizacyjny. Firma nie może właściwie reagować na incydent, którego nie potrafi wykryć. Nie może też skutecznie chronić użytkowników, jeżeli sama nie wie, jakie dane opuściły jej system.

Nowoczesne cyberbezpieczeństwo nie polega więc wyłącznie na budowaniu coraz wyższych murów. Równie ważne jest zauważenie, że ktoś już przez mur przeszedł.

Czego nauczył nas wyciek Yahoo?

  • Pierwsza lekcja jest brutalnie prosta: nawet największa firma technologiczna może stracić kontrolę nad gigantyczną bazą danych. Rozpoznawalna marka nie jest gwarancją bezpieczeństwa.
  • Druga: każde konto powinno mieć unikalne hasło. Wtedy wyciek jednej bazy nie otwiera automatycznie drzwi do poczty służbowej, Facebooka, sklepu internetowego i bankowości.
  • Trzecia: hash hasła nie jest magiczną tarczą. Bezpieczeństwo zależy od wykorzystanego algorytmu, sposobu jego zastosowania i siły samego hasła.
  • Czwarta: dane osobowe mają wartość również bez numeru karty płatniczej. Imię, nazwisko, data urodzenia, telefon, e-mail i pytania bezpieczeństwa mogą być używane przez lata do phishingu, podszywania się pod ofiarę i atakowania kolejnych usług.
  • Piąta: firma musi umieć wykrywać włamania, a nie tylko im zapobiegać. Najdoskonalszy plan reagowania na incydenty niczego nie daje, jeżeli organizacja dowiaduje się o problemie dopiero wtedy, gdy ktoś z zewnątrz przynosi jej własną skradzioną bazę.
  • I wreszcie szósta lekcja: informowanie użytkowników nie może być formalnością. Każdy dzień pomiędzy kradzieżą danych a powiadomieniem zwiększa czas, w którym ofiara nie wie, że powinna zmienić swoje zachowanie.

Yahoo z 2013 roku pozostaje pod tym względem przypadkiem niemal podręcznikowym. Firma posiadała dane miliardów kont. Ktoś je zabrał. Świat dowiedział się o tym ponad trzy lata później. A kiedy wydawało się, że poznaliśmy już skalę katastrofy, trzeba było pomnożyć ją jeszcze przez trzy.

Największym problemem wycieku danych nie zawsze jest to, co przestępcy ukradli. Czasami równie przerażające jest to, jak długo nikt nie zauważył, że już tego nie ma.

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Wymagane pola są oznaczone *