Strona główna Nauka Poświadczenia bezpieczeństwa niechcący wyciekły na tysiącach stron internetowych

Poświadczenia bezpieczeństwa niechcący wyciekły na tysiącach stron internetowych

25
0

Kluczowe dane bezpieczeństwa są przypadkowo ujawniane na tysiącach stron internetowych – w tym na stronach banków i dostawców opieki zdrowotnej.

Ujawnione szczegóły mogły dać szpiegom dostęp do danych o wysokim stopniu poufności, takich jak klucze prywatne RSA, które pozwalają atakującym na podszywanie się pod serwery, deszyfrowanie prywatnych komunikatów lub uzyskanie pełnej kontroli administracyjnej nad infrastrukturą cyfrową firmy. „To bardzo istotny problem, który dotyczy nie tylko małych firm, ale także kilku dużych firm” – mówi Nurullah Demir ze Stanford University w Kalifornii.

Demir i jego koledzy przeanalizowali 10 milionów stron internetowych, aby ustalić, ile wyciekłych poświadczeń interfejsu programowania aplikacji (API). Klucze API pozwalają różnym systemom oprogramowania na płynną komunikację, działając jako tokeny dostępu dla platform chmurowych, procesorów płatności i usług przesyłania wiadomości.

Skanując internet, badacze zidentyfikowali 1748 zweryfikowanych, aktywnych poświadczeń od 14 głównych dostawców usług – w tym Amazon Web Services, Stripe, GitHub i OpenAI – rozproszonych na niemal 10 000 stronach internetowych.

Słabość nie leży po stronie tych firm, ale po stronie programistów oprogramowania oraz operatorów stron internetowych korzystających z ich usług do budowy i prowadzenia stron. Badacze nie wymienili bezpośrednio firm dotkniętych, ale ujawnili, że obejmują one „globalnie istotną instytucję finansową”, „producenta oprogramowania wbudowanego” i „główną platformę hostingową”.

„Poinformowaliśmy wszystkie firmy, dla których zidentyfikowaliśmy naruszenia” – mówi Demir. Po dwóch tygodniach około 50 procent organizacji usunęło ujawnione klucze API, ale niektóre z nich nie odpowiedziały.

Ujawnione poświadczenia pozostawały publicznie dostępne przez średnio 12 miesięcy, a niektóre nawet przez pięć lat. Większość ujawnionych poświadczeń – około 84 procent znalezionych – została odkryta w środowiskach JavaScript, co badacze uważają za konsekwencję programistów używających narzędzi do pakowania kodu w taki sposób, aby mógł być użyty online.

Kolejne 16 procent ujawnionych poświadczeń pochodziło z zewnętrznych zasobów, co oznacza, że źle skonfigurowany zewnętrzny wtyczka lub skrypt mógł rozpowszechnić wrażliwe klucze organizacji w internecie.

„Żaden z tych programistów nie zamierzał być nieskuteczny; wielu z nich nawet nie popełniło błędu w pierwszej kolejności” – mówi Katie Paxton-Fear z Uniwersytetu Metropolitalnego w Manchesterze, Wielka Brytania. Klucze API stały się publiczne z powodu dziwności programowania związanego z działaniem języka i serwera. „Zrobili wszystko dobrze i weszło to do maszyny, która jest ich potokiem rozwoju, i się ujawniło” – dodaje.

Ujawnione klucze API i poświadczenia są „rzeczywistym problemem we współczesnym rozwoju oprogramowania” – mówi Nick Nikiforakis ze Stony Brook University w Nowym Jorku. „Klucze API działają zamiast poświadczeń i pozwalają osobom, które je posiadają, działać jako uprawniony użytkownik w danej usłudze”. Problem polega na tym, że czasami mogą być źle skonfigurowane i przypadkowo udostępnione publicznie – co może mieć katastrofalne konsekwencje. „Przypadkowe ujawnienie klucza API publiczności pozwala atakującym, którzy go znajdą, nadużywać go” – mówi Nikiforakis.

Rozwiązanie problemu jest wspólną odpowiedzialnością – mówi Demir. „Programiści oczywiście muszą zadbać o używanie tych kluczy API” – dodaje, dbając o odpowiednią konfigurację środowisk deweloperskich. Twórcy narzędzi do budowy stron internetowych powinni zaprojektować swoje oprogramowanie w taki sposób, aby tajne klucze domyślnie były ukrywane, zamiast polegać na programistach, aby ręcznie je zabezpieczyć, dodaje, a firmy hostujące te strony internetowe powinny regularnie skanować w celu wycieku kluczy i dezaktywować je natychmiast.