Setki tysięcy publicznych bucketów chmurowych ujawniają miliardy plików - Security Bez Tabu

Setki tysięcy publicznych bucketów chmurowych ujawniają miliardy plików

Cybersecurity news

Wprowadzenie do problemu / definicja

Publicznie listowalne buckety pamięci obiektowej w chmurze to zasoby, których zawartość lub metadane mogą być dostępne bez uwierzytelnienia. Sama publiczna widoczność nie zawsze oznacza incydent, ponieważ część organizacji celowo udostępnia w ten sposób statyczne zasoby, archiwa lub otwarte dane. Zagrożenie pojawia się jednak wtedy, gdy w takich lokalizacjach znajdują się kopie zapasowe, zrzuty baz danych, pliki konfiguracyjne z sekretami, archiwa poczty czy obrazy dysków maszyn wirtualnych.

W praktyce problem dotyczy nie tylko błędnej konfiguracji pojedynczego zasobu, ale również szerszych braków w zarządzaniu cyklem życia danych, kontrolą dostępu i nadzorem nad środowiskami multicloud.

W skrócie

Badacze zidentyfikowali 484 142 publicznie listowalne buckety chmurowe, które łącznie zawierały około 18,05 miliarda plików. Wśród wykrytych zasobów znalazły się między innymi pliki .env, klucze prywatne, bundlery certyfikatów, stany infrastruktury Terraform, kopie baz danych, archiwa skrzynek pocztowych oraz dziesiątki milionów dokumentów i arkuszy kalkulacyjnych.

Największy udział miały zasoby Amazon S3, ale analiza wykazała również wyraźną nadreprezentację Azure Blob w bucketach sugerujących przechowywanie backupów, eksportów danych oraz materiałów kadrowo-płacowych. To wskazuje, że problem nie jest związany z jednym dostawcą, lecz z utrwalonymi błędami konfiguracyjnymi i niewystarczającą kontrolą nad danymi.

Kontekst / historia

Skala ekspozycji została oszacowana na podstawie otwartych zasobów pamięci obiektowej indeksowanych przez wyszukiwarki. Zastosowana metodologia opierała się na analizie nazw bucketów, liczby plików, rozszerzeń oraz znaczników czasu ostatniej modyfikacji, bez otwierania samych plików. Oznacza to, że raport nie opisuje setek tysięcy potwierdzonych naruszeń, lecz bardzo dużą pulę publicznie widocznych zasobów, w której mogą znajdować się realne wycieki danych.

Według opublikowanych danych około 71,9% zidentyfikowanych bucketów znajdowało się w Amazon S3, 14,2% w Azure Blob, a 11,0% w Google Cloud Storage. Pozostałe zasoby przypadały między innymi na DigitalOcean Spaces i Alibaba OSS. Szczególnie interesujące jest to, że Azure częściej niż wynikałoby to z samego udziału w rynku pojawiał się w zasobach związanych z backupami, eksportami danych, bazami klientów oraz obszarem HR i payroll.

Analiza techniczna

Z technicznego punktu widzenia ryzyko ma dwie warstwy. Pierwsza to możliwość listowania obiektów, czyli poznania nazw plików i metadanych bez autoryzacji. Druga, znacznie groźniejsza, to możliwość pobrania zawartości plików lub wykorzystania metadanych do dalszego ataku, rekonesansu i eskalacji dostępu.

Wśród najbardziej niebezpiecznych typów plików znalazły się sekrety aplikacyjne, magazyny certyfikatów i kluczy, konfiguracje VPN, stany infrastruktury jako kod oraz bazy haseł. Szczególnie niebezpieczne są pliki .env, ponieważ często zawierają dane dostępowe do baz danych, usług SaaS, brokerów wiadomości, kont administracyjnych czy interfejsów chmurowych.

  • .env — sekrety aplikacyjne, hasła i klucze API
  • .pem, .p12, .pfx, .jks, .keystore — certyfikaty i magazyny kluczy
  • .ppk — klucze prywatne SSH
  • .ovpn — konfiguracje klientów VPN
  • .tfstate — stan infrastruktury Terraform, często zawierający sekrety
  • .kdbx — bazy haseł KeePass

Badacze odnotowali również miliony plików bazodanowych i backupowych, setki tysięcy plików .bak i .sql, tysiące archiwów pocztowych oraz dziesiątki milionów dokumentów biznesowych, takich jak .csv, .xlsx, .docx, .pdf i .log. W praktyce taka ekspozycja może prowadzić do ujawnienia danych osobowych, informacji finansowych, logów aplikacyjnych, historii komunikacji czy nawet pełnych snapshotów środowisk.

Dodatkowo wśród publicznie dostępnych zasobów znalazły się obrazy dysków wirtualnych używane przez platformy VMware, Hyper-V i QEMU. Taki obraz może zawierać kompletny system serwerowy wraz z konfiguracją, kontami, tokenami, kluczami i danymi aplikacyjnymi, co z perspektywy napastnika stanowi zasób o bardzo wysokiej wartości operacyjnej.

Konsekwencje / ryzyko

Publicznie dostępne buckety zwiększają ryzyko utraty poufności danych klientów, pracowników i partnerów. Ujawnione sekrety mogą zostać wykorzystane do przejęcia kont serwisowych, uzyskania dostępu do baz danych, interfejsów administracyjnych lub tuneli VPN. Nawet jeśli zasób nie zawiera bezpośrednio krytycznych plików, same nazwy i metadane mogą pomóc w zbudowaniu precyzyjnego profilu środowiska ofiary.

Szczególnie wysokie ryzyko dotyczy sektorów regulowanych, takich jak finanse, ochrona zdrowia, edukacja, administracja publiczna, sektor prawny oraz HR. W takich branżach nawet pojedynczy ujawniony plik może uruchomić obowiązki notyfikacyjne, konsekwencje prawne, koszty reagowania na incydent i długotrwałe straty reputacyjne.

Z perspektywy napastnika błędnie skonfigurowana pamięć obiektowa znacząco obniża koszt rekonesansu. Zamiast przełamywać zabezpieczenia aplikacji czy infekować stacje robocze, może on pozyskać gotowe dane z publicznego zasobu. To czyni ten wektor atrakcyjnym zarówno dla grup ransomware, brokerów początkowego dostępu, jak i operatorów kampanii nastawionych na długoterminową kradzież danych.

Rekomendacje

Organizacje powinny traktować publiczny dostęp do pamięci obiektowej jako wyjątek wymagający formalnego uzasadnienia biznesowego. Skuteczna redukcja ryzyka wymaga połączenia polityk organizacyjnych, automatyzacji i ciągłego monitoringu konfiguracji.

  • Włączyć mechanizmy blokowania publicznego dostępu na poziomie konta, subskrypcji lub organizacji.
  • Wyłączyć anonimowe listowanie i odczyt dla wszystkich bucketów, które nie pełnią jawnie publicznej funkcji biznesowej.
  • Prowadzić ciągłe skanowanie zasobów pod kątem plików wysokiego ryzyka, takich jak .env, .sql, .bak, .pem, .ppk, .tfstate i .kdbx.
  • Klasyfikować backupy, eksporty danych i stany infrastruktury jako dane wrażliwe oraz obejmować je dodatkowymi kontrolami dostępu.
  • Wdrożyć polityki Infrastructure as Code i mechanizmy policy-as-code wymuszające bezpieczne ustawienia już na etapie provisioning’u.
  • Monitorować zmiany ACL, polityk bucketów i ustawień dostępu publicznego w czasie rzeczywistym.
  • Ograniczyć przechowywanie sekretów w plikach aplikacyjnych na rzecz dedykowanych menedżerów tajemnic.
  • Regularnie przeprowadzać przeglądy uprawnień i testy wykrywające błędne konfiguracje w środowiskach multicloud.
  • Uwzględnić w planach reagowania scenariusz ekspozycji bucketów, w tym rotację kluczy, reset poświadczeń i analizę logów.

Jeżeli organizacja wykryje publicznie dostępny bucket z potencjalnie wrażliwą zawartością, powinna założyć, że dane mogły zostać już rozpoznane lub pobrane. Samo zamknięcie dostępu nie wystarczy — potrzebne są działania następcze, takie jak rotacja sekretów, walidacja integralności systemów oraz ocena obowiązków regulacyjnych.

Podsumowanie

Ekspozycja setek tysięcy bucketów chmurowych i miliardów plików pokazuje, że błędna konfiguracja pamięci obiektowej pozostaje jednym z najbardziej niedocenianych problemów bezpieczeństwa w chmurze. Nie każdy publiczny bucket oznacza incydent, ale obecność sekretów, backupów, baz danych i archiwów pocztowych w otwartych zasobach tworzy bardzo realne ryzyko przejęcia dostępu, wycieku danych i dalszej eskalacji ataku.

Najważniejszy wniosek jest prosty: bezpieczeństwo pamięci obiektowej wymaga kontroli prewencyjnych na poziomie całej organizacji, stałego monitoringu konfiguracji oraz szybkiej reakcji na każdą nieautoryzowaną ekspozycję.

Źródła

  1. Security Affairs — 484,142 Exposed Cloud Buckets Contain 18 Billion Files — https://securityaffairs.com/202055/security/484142-exposed-cloud-buckets-contain-18-billion-files.html
  2. Ransomnews Cloud Exposure Index — https://ransomnews.com/
  3. Amazon S3 Block Public Access — https://docs.aws.amazon.com/AmazonS3/latest/userguide/access-control-block-public-access.html
  4. Microsoft Learn — Configure anonymous read access for containers and blobs — https://learn.microsoft.com/en-us/azure/storage/blobs/anonymous-read-access-configure
  5. Google Cloud — Public access prevention — https://cloud.google.com/storage/docs/public-access-prevention