19 lipca został ujawniony jeden z największych w historii instytucji finansowych wyciek danych. Ofiarą kradzieży danych padł amerykański bank Capital One, który prowadzi działalność także w Kanadzie i Wielkiej Brytanii. Ujawnione zostały dane 106 milionów osób (100 mln Amerykanów i 6 mln Kanadyjczyków). Dane pochodziły głównie z wniosków o produkty kredytowe, więc były to wrażliwe dane osobowe, ale nie było tam danych kart kredytowych ani danych służących do logowania się do usług bankowych. Jak zawsze przy okazji tego typu zdarzeń warto przeanalizować jak doszło do wycieku.
Szczegóły ustaleń śledztwa znajdują się w rozdziale III punkt 11 zawiadomienia o naruszeniu danych, który jest dostępny tutaj. Dane, do których uzyskano nieuprawniony dostęp znajdowały się w usłudze Amazon Web Services (AWS). Pierwotną przyczyną wycieku danych okazało się błędnie skonfigurowane oprogramowanie klasy Web Application Firewall (WAF) – według źródła 2 było to ModSecurity. W skutek błędu w konfiguracji WAF dopuścił do wykonania komend, które umożliwiły dostęp do folderów i kontenerów danych w usłudze AWS. Firewall umożliwił atakującemu interakcję z tzw. usługą „metadata” środowiska chmurowego, która oczywiście nie powinna być nigdy dostępna z zewnątrz. W skutek tego fatalnego błędu, uzyskanie dostępu do danych wymagało jedynie wykonania trzech komend:
- Pierwsza umożliwiła uzyskanie danych dostępowych do konta *****-WAF-Role, które w konsekwencji umożliwiło dostęp do folderów i kontenerów danych Capital One.
- Druga komenda posłużyła, przy pomocy konta *****-WAF-Role, do uzyskania listy folderów i kontenerów danych.
- Trzecia komenda, jak się można domyśleć, posłużyła do pobrania danych.
Pomimo pozornie prostego wektora ataku, w rzeczywistości sprawa jest dużo bardziej skomplikowana. Nie jest do końca jasne jak włamywacz ustalił pierwszą komendę, która dostarczyła mu kluczowych uprawnień. Wiele wskazuje na to, że została w tym przypadku wykorzystana podatność Server-Side Request Forgery (SSRF).
Domniemany sprawca tego ataku Paige A. Thompson został zatrzymany przez FBI 29 lipca. Co zaskakujące – nie było to specjalnie trudne zadanie. Capital One otrzymał informację, że w serwisie GitHub są dostępne publicznie dane należące do Capital One. Konto „Netcrave” w serwisie Github, do którego prowadził link, zawierało m.in. CV Paige A. Thompsona. Dalsze śledztwo doprowadziło do dalszych powiązań domniemanego sprawcy z użytkownikiem „erratic”, aktywnym na Twitterze oraz kanale “Netcrave Communications” na Slacku. Zachęcam do zapoznania się z częścią B zawiadomienia o naruszeniu danych (źródło 1), które zawiera szczegóły ustalonych powiązań domniemanego sprawcy z wyciekiem danych Capital One.