Preorder drugiego tomu książki sekuraka: Wprowadzenie do bezpieczeństwa IT. -15% z kodem: sekurak-book
Jak poufne dane wyciekają z Amazon S3
Amazon Simple Storage Service to popularna usługa umożliwiająca wygodne przechowywanie praktycznie nieograniczonej ilości danych w chmurze Amazon Web Services. Jak się okazuje, dostęp do miliardów prywatnych oraz poufnych plików przechowywanych w S3 nie jest w żaden sposób zabezpieczony. Spójrzmy.
Dane przechowywane w S3 są podzielone na tzw. komory (ang. bucket) należące do poszczególnych użytkowników. Użytkownicy biznesowi przechowują w swych komorach dane takie jak backupy serwerów, firmowe dokumenty, rozmaite logi. Kontenery są również wykorzystywane przez rozmaite serwisy internetowe do przechowywania danych zgromadzonych przez swych użytkowników.
Komora stanowi nazwany, logiczny zbiór, który jest dostępny za pomocą prostego i przewidywalnego adresu internetowego w postaci:
http://s3.amazonaws.com/[nazwa_komory]/ http://[nazwa_komory].s3.amazonaws.com/
Kontrola dostępu odbywa się zarówno na poziomie całej komory, jak i na poziomie poszczególnych obiektów – przechowywanych plików i katalogów. Komora może być skonfigurowana jako:
- Prywatna – odwiedzenie jej adresu spowoduje wystąpienie błędu „Access Denied”.
- Publiczna – odwiedzenie jej adresu pozwoli na wylistowanie całej zawartości.
Jak wspomniałem, kontrola dostępu jest możliwa na poziomie plików i katalogów, jednak publiczna komora zawsze i każdemu pozwala na wyświetlenie całej zawartości zbioru.
Jak wynika z praktycznych testów przeprowadzonych przez firmę Rapid7, wielu właścicieli usługi zapomina o poprawnym zabezpieczeniu swych danych zgromadzonych w S3 i pozostawia swe komory zupełnie otwarte (publiczne). Co więcej, biorąc pod uwagę powyższy schemat adresacji, możliwe jest stosunkowo łatwe odnalezienie tysięcy zbiorów oraz automatyczne przetestowanie ich stanu (prywatna/publiczna).
Do odnalezienia poszczególnych zbiorów może posłużyć prosty atak słownikowy. Słownik może zawierać przykładowo nazwy popularnych firm i domen, które potencjalnie z usługi mogą korzystać. Następnie wystarczy już tylko automatycznie sprawdzić dostępność zawartości poprawnych komór oraz… pobrać zawartość tych publicznych. Powstało już nawet narzędzie wspomagające taki specyficzny atak słownikowy — Bucket Finder.
Ponieważ Google nieustannie indeksuje zawartość otwartych zbiorów, odnalezienie wielu informacji jest również możliwe za pomocą odpowiedniego zapytania skierowanego do najpopularniejszej wyszukiwarki. W taki sposób przykładowo odnajdziemy arkusze kalkulacyjne w popularnym formacie:
site:s3.amazonaws.com filetype:xls
Co możemy znaleźć w otwartych zasobach S3? Miliardy plików zawierających m.in. prywatne i poufne dane, takie jak:
- prywatne zdjęcia z rozmaitych małych i nieco większych serwisów społecznościowych wykorzystujących S3 do przechowywania danych własnych użytkowników,
- wewnętrzne dane firmowe,
- dane personalne,
- backupy baz danych zawierające m.in. dane i skróty haseł użytkowników,
- kody źródłowe rozmaitych programów.
Podsumowując należy podkreślić, że opisane problemy nie wynikają z winy operatora usługi, który wyraźnie zachęca do stosowania odpowiednich zabezpieczeń. To sami użytkownicy nie zadbali o poprawną konfigurację i tym samym bezpieczeństwo własnych danych.
Niestety, w przypadku usług w chmurze ryzyko związane z niepoprawną konfiguracją kontroli dostępu jest znacznie większe, niż w zaciszu własnej sieci wewnętrznej. Należy więc zawsze pamiętać, że korzystanie z usług takich jak Amazon S3 wiąże się z dodatkowym ryzykiem, a niepoprawna konfiguracja uprawnień może mieć katastrofalne skutki. Jeśli więc korzystacie z podobnych rozwiązań, przede wszystkim upewnijcie się, że dostęp do danych został odpowiednio ograniczony!
– Wojciech Smol, (wojciech.smol<at>sekurak.pl)
Z innej beczki – uzupełnicie kiedyś znaczniki w waszym wordpresie ? :P