Technologia

CISA, agencja chroniąca federalne sieci USA, zostawiła własne klucze AWS na GitHubie

Susan Hill

Badacz GitGuardiana, Guillaume Valadon, przeglądał publiczne commity na GitHubie, gdy natrafił na repozytorium, którego nazwa brzmiała jak pomyłka: Private-CISA. Należało do wykonawcy Cybersecurity and Infrastructure Security Agency — federalnej instytucji, której zadaniem jest obrona sieci rządu Stanów Zjednoczonych. W środku znajdowały się dane administracyjne do trzech kont AWS GovCloud, plik CSV z nazwami użytkowników i hasłami w postaci jawnej do dziesiątek wewnętrznych systemów CISA oraz szczegółowe notatki opisujące, jak agencja buduje, testuje i wdraża własne oprogramowanie. Wykonawca wyłączył też funkcję GitHuba, która skanuje pushe pod kątem ujawnionych sekretów.

Dwie nazwy plików w drzewie Private-CISA odpowiadają za większość szkód. Pierwszy, importantAWStokens, zawiera klucze administracyjne do trzech serwerów GovCloud. Drugi, AWS-Workspace-Firefox-Passwords.csv, jest dokładnie tym, na co wygląda: eksportem haseł z Firefoksa, w postaci jawnej, obejmującym wewnętrzne przestrzenie robocze CISA, agencyjne artifactory pakietów kodu wewnętrznego oraz środowisko Landing Zone DevSecOps — kontrolowaną strefę, w której federalne zespoły piszą i recenzują kod o wrażliwości bliskiej klauzulowanej. Nie ma żadnej warstwy szyfrowania, żadnego odwołania do sejfu, żadnej logiki rotacji tokenów. To plik CSV.

AWS GovCloud to izolowany region chmurowy, który Amazon prowadzi dla obciążeń rządu USA wymagających pozostania w obrębie FedRAMP High i zbliżonych ram zgodności. Klucze poziomu administracyjnego w tym regionie nie są zwykłymi danymi dostępowymi do chmury. To klucze, które pozwalają napastnikowi tworzyć nowe konta, zmieniać konfigurację logowania zdarzeń i uruchamiać infrastrukturę w regionie, który ma być szczelny wobec publicznego internetu. Każdy, kto skopiował plik importantAWStokens podczas sześciu miesięcy jego publicznej dostępności, mógł wejść do tego środowiska wprost.

Wzorzec działania wykonawcy, w ocenie osób, które później prześledziły historię commitów, nie wyglądał na nic groźniejszego niż wygoda. Pushe odbywały się w rytmie kogoś, kto synchronizuje pliki między laptopem służbowym a komputerem domowym za pośrednictwem Gita. Aby ten przepływ pracy mógł funkcjonować bez wywoływania alarmów skanowania sekretów, właściciel konta musiał ręcznie wyłączyć domyślną ochronę pushy w GitHubie — ustawienie, które istnieje właśnie po to, by takim wypadkom zapobiegać. Blokadę zdjęto, commity ruszyły.

Oficjalne stanowisko CISA przedstawia całą sprawę jako opanowaną. „Nic nie wskazuje na to, by w wyniku tego incydentu doszło do naruszenia danych wrażliwych” — oświadczyła agencja, dodając, że wprowadzi dodatkowe zabezpieczenia. To zdanie ma węższy zasięg, niż się wydaje na pierwszy rzut oka. Aby stwierdzić, że żadne konto GovCloud nie zostało nadużyte w ciągu sześciu miesięcy, audytor musi przejść przez każdy wpis CloudTrail, każdą zmianę roli IAM i każde logowanie do przestrzeni roboczych w tym oknie czasowym — a agencja nie zadeklarowała, że tę pracę wykonała; powiedziała jedynie, że jak dotąd nie widzi dowodów. Niezależni obserwatorzy zwrócili też uwagę, że ujawnione klucze dostępowe AWS pozostały aktywne przez około dwa dni po usunięciu repozytorium, czyli właśnie tyle, ile potrzeba, by jakakolwiek wcześniejsza kopia wciąż działała.

To ta sama agencja, która prowadzi federalny program Secret Sprawl, publikuje wytyczne dla innych resortów w zakresie higieny danych dostępowych i wielokrotnie ostrzegała operatorów prywatnych, że ujawnianie tokenów API w systemie kontroli wersji stanowi jeden z najczęstszych punktów wejścia dla grup ransomware. Jej własny katalog Known Exploited Vulnerabilities, który wykonawcy w USA mają obowiązek śledzić ustawowo, traktuje nierotowane dane dostępowe do chmury jako podatność o wysokim stopniu istotności. Repozytorium Private-CISA spełniało wszystkie kryteria, którymi agencja posługuje się, gdy mówi reszcie świata, że zawiodła.

Valadon, członek zespołu badawczego GitGuardiana, przyznał, że odkrycie było trudne do przyjęcia nawet po zweryfikowaniu. „Hasła zapisane w postaci jawnej w pliku CSV, kopie zapasowe w Gicie, jawne polecenia wyłączające wykrywanie sekretów GitHuba” — napisał. „Szczerze wierzyłem, że to wszystko jest fałszywe, zanim głębiej przeanalizowałem zawartość. To w istocie najgorszy wyciek, jaki widziałem w swojej karierze.” GitGuardian zaalarmował CISA 15 maja, a repozytorium zostało ustawione jako prywatne w najbliższy weekend.

To, czego CISA jeszcze publicznie nie powiedziała, to czy dotknięte konta GovCloud zostały w pełni zrotowane, w których wewnętrznych systemach z CSV-a haseł rzeczywiście zmieniono dane dostępowe i czy Office of Inspector General Departamentu Bezpieczeństwa Wewnętrznego wszczął formalny przegląd sprawy. Wykonawca, który według doniesień pracuje dla federalnej firmy cyberbezpieczeństwa Nightwing, nie został wymieniony z nazwy. Repozytorium zostało utworzone 13 listopada 2025 roku i usunięte w połowie maja 2026 roku, co daje okno publicznej ekspozycji wynoszące sześć miesięcy i dwa dni. Liczba, którą opinia publiczna ma prawo poznać jako następną, to ile z tych dni klucze były rzeczywiście używane.

Tagi: , , , , , , , ,

Dyskusja

Jest 0 komentarzy.