Atak na HackerOne, umożliwiający dostęp do prywatnych raportów o podatnościach

Platforma HackerOne, która umożliwia badaczom bezpieczeństwa informowanie programistów o wykryciu podatności i otrzymywanie za to nagród, otrzymała raport o własnym hakowaniu. Jednemu z badaczy udało się uzyskać dostęp do konta analityka bezpieczeństwa w HackerOne, który ma możliwość przeglądania materiałów niejawnych, w tym informacji o nienaprawionych jeszcze lukach. Od momentu powstania platformy HackerOne zapłacił badaczom łącznie 23 miliony dolarów za zidentyfikowanie luk w zabezpieczeniach produktów ponad 100 klientów, w tym Twittera, Facebooka, Google, Apple, Microsoft, Slack, Pentagonu i Marynarki Wojennej Stanów Zjednoczonych.

Warto dodać, że przejęcie konta stało się możliwe na skutek błędu ludzkiego. Jeden z badaczy złożył wniosek do sprawdzenia w sprawie potencjalnej luki w HackerOne. Podczas analizy aplikacji analityk HackerOne próbował powtórzyć zaproponowaną metodę hackowania, jednak problemu nie udało się odtworzyć i do autora aplikacji wysłano odpowiedź z prośbą o dodatkowe szczegóły. Jednocześnie analityk nie zauważył, że wraz z wynikami nieudanego sprawdzenia niechcący wysłał zawartość swojej sesji Cookie. W szczególności w trakcie dialogu analityk podał przykład żądania HTTP wysłanego przez narzędzie curl, zawierającego nagłówki HTTP, z którego zapomniał wyczyścić zawartość sesyjnego Cookie.

Badacz zauważył to przeoczenie i był w stanie uzyskać dostęp do uprzywilejowanego konta na hackerone.com, po prostu wstawiając zanotowaną wartość pliku cookie bez konieczności przechodzenia przez uwierzytelnianie wieloskładnikowe stosowane w usłudze. Atak był możliwy, ponieważ hackerone.com nie powiązał sesji z adresem IP lub przeglądarką użytkownika. Problematyczny identyfikator sesji został usunięty dwie godziny po opublikowaniu raportu o wycieku. Za poinformowanie o problemie postanowiono zapłacić badaczowi 20 tys. dolarów.

HackerOne zainicjował audyt mający na celu analizę możliwości wystąpienia podobnych wycieków plików Cookie w przeszłości oraz ocenę potencjalnych wycieków zastrzeżonych informacji o problemach klientów serwisu. Audyt nie ujawnił dowodów na występowanie w przeszłości wycieków i ustalił, że badacz, który zademonstrował problem, mógł uzyskać informacje o około 5% wszystkich programów prezentowanych w serwisie, do których miał dostęp analityk, którego klucz sesyjny wykorzystał.

Aby zabezpieczyć się przed podobnymi atakami w przyszłości, wdrożyliśmy powiązanie klucza sesyjnego z adresem IP oraz filtrowanie kluczy sesyjnych i tokenów uwierzytelniających w komentarzach. W przyszłości planują zastąpić wiązanie z adresem IP wiązaniem z urządzeniami użytkownika, ponieważ wiązanie z adresem IP jest niewygodne dla użytkowników z adresami przydzielanymi dynamicznie. Postanowiono także rozszerzyć system logów o informacje o dostępie użytkowników do danych oraz wdrożyć model granularnego dostępu analityków do danych klientów.

Źródło: opennet.ru