Tysiące witryn internetowych, w tym te prowadzone przez duże banki i podmioty świadczące opiekę zdrowotną, nieumyślnie ujawniły wrażliwe dane uwierzytelniające, potencjalnie umożliwiając nieautoryzowany dostęp do krytycznych systemów. Nowe badania pokazują, że klucze prywatne RSA i inne klucze API pozostają publicznie dostępne przez miesiące, a czasem lata, stwarzając znaczne ryzyko dla infrastruktury cyfrowej.
Zakres problemu
Naukowcy z Uniwersytetu Stanforda przeanalizowali 10 milionów stron internetowych i zidentyfikowali 1748 aktywnych danych uwierzytelniających od 14 głównych dostawców usług – w tym Amazon Web Services, Stripe, GitHub i OpenAI – rozproszonych po prawie 10 000 witryn internetowych. Te dane uwierzytelniające służą jako tokeny dostępu do platform chmurowych, systemów płatności i usług przesyłania wiadomości, umożliwiając atakującym podszywanie się pod serwery, odszyfrowywanie komunikacji lub przejmowanie kontroli administracyjnej.
Problem nie leży bezpośrednio w winie usługodawców, ale raczej w złych praktykach bezpieczeństwa ze strony twórców oprogramowania i operatorów stron internetowych. Badacze zidentyfikowali organizacje, których dotyczy problem, w tym „instytucję finansową o znaczeniu systemowym o znaczeniu globalnym”, „twórcę oprogramowania sprzętowego” i „główną platformę hostingową”.
Jak dochodzi do wycieków danych uwierzytelniających
Zdecydowana większość (84%) ujawnionych danych uwierzytelniających została znaleziona w środowiskach JavaScript, prawdopodobnie ze względu na sposób, w jaki programiści pakują kod. Pozostałe 16% pochodzi z źle skonfigurowanych zasobów stron trzecich, takich jak podatne wtyczki lub skrypty.
„Żaden z tych programistów nie miał zamiaru stwarzać zagrożenia; wielu z nich w ogóle się nie pomyliło. Klucze API zostały upublicznione ze względu na błędy programistyczne związane ze sposobem działania języka i jego działaniem na serwerze.” – Katie Paxton-Fear, Manchester Metropolitan University.
Podkreśla to lukę systemową, w przypadku której nawet bezpieczne praktyki programistyczne mogą w sposób niezamierzony prowadzić do narażenia na skutek podstawowych błędów programistycznych.
Reagowanie i łagodzenie skutków
Badacze powiadomili zainteresowane organizacje i około połowa ujawnionych kluczy usunęła w ciągu dwóch tygodni. Jednak niektóre organizacje nie odpowiedziały, pozostawiając publicznie dostępne dane uwierzytelniające średnio przez 12 miesięcy, a niektóre pozostając w Internecie nawet przez pięć lat.
Rozwiązanie problemu wymaga wielotorowego podejścia: programiści muszą dokładnie skonfigurować środowiska, twórcy narzędzi muszą zaprojektować oprogramowanie, które domyślnie ukrywa klucze prywatne, a platformy hostingowe muszą aktywnie skanować w poszukiwaniu ujawnionych danych uwierzytelniających i dezaktywować je.
Szeroki zakres tej luki uwydatnia krytyczną wadę w tworzeniu współczesnego oprogramowania. Klucze API, jeśli nie są poprawnie skonfigurowane, mogą pozwolić atakującym działać jako autoryzowani użytkownicy, co ma katastrofalne skutki. Problem nie jest tylko techniczny; chodzi także o świadomość i wspólną odpowiedzialność w całym ekosystemie cyfrowym.
