Odkryto błąd, który pozwalał na dostęp do dowolnej gry Steam

Odkryto błąd, który pozwalał na dostęp do dowolnej gry Steam

Artem Moskowsky, Ukrainiec zajmujący się wyszukiwaniem luk w systemach, znalazł błąd, który pozwalał mu na pobranie dowolnego klucza aktywacyjnego (znanego też jako CD key) dostępnego dla platformy Steam, dla każdej gry, jaka się na niej znajduje. Bug ten znajdował się w Steamworks, czyli platformie Valve, która pomagać ma deweloperom w tworzeniu i publikowaniu gier za pomocą ich gamingowego klienta Steam. Wykryta przez Moskowsky’ego luka znajdowała się w API umieszczonym pod adresem partner.steamgames.com/partnercdkeys/assignkeys/, które pozwala deweloperom i partnerom na wyciągnie kluczy do gier dostępnych dla użytkowników Steam, by ci mogli aktywować produkcję zainstalowaną za pomocą klienta tej najpopularniejszej gamingowej platformy. Do API dostać można się korzystając ze zwykłego konta Steam, ale wymagane są tu dodatkowe parametry, takie jak appid (reprezentuje grę), keyid (reprezentuje identyfikator zbioru kluczy) i  keycount (reprezentuje liczbę kluczy, które Steam musi zwrócić do zbioru).

Wykryta przez Moskowsky’ego luka znajdowała się w API Steamworks i pozwalała na wyciągnie kluczy do gier dostępnych na Steam.

Odkryto błąd, który pozwalał na dostęp do dowolnej gry Steam

Moskowsky podkreśla, że w normalnych okolicznościach, kiedy próbował uzyskać klucz do gier, których nie posiadał, w API wyskakiwał błąd, co jest pożądaną reakcję. Odkrył on jednak, że ustawienie parametru keycount na 0 pozwala obejść ograniczenia API i uzyskać plik z kluczem do dowolnej gry na platformie Steam, nawet jeśli użytkownik nie powinien mieć dostępu do tych kluczy. Specjalista przyznał, że błąd nie był zbyt skomplikowany do ustalenia, ale nie był też oczywisty dla typowego obserwatora. Przyznał ponadto, że w jego ustaleniu pomogła mu intuicja. W trakcie testów, zanim powiadomił o całej sprawie Valve, Moskowsky był w stanie wygenerować i pobrać 36 tysięcy kluczy do gry Portal 2. W trakcie swoich testów uświadomił sobie, że atakujący mogą pobrać klucze do wszystkich gier Steam, ponieważ parametry appid i keyid nie są trudne do odgadnięcia.

Ukrainiec poinformował o swoich odkryciu Valve w sierpniu, korzystając w tym celu z programu HackerOne, który skierowany jest do łowców bugów. Firma załatała lukę w ciągu kilku dni, ale dopiero teraz pozwoliła pochwalić się Moskowsky’emu swoim odkryciem. Na chwilę obecną nie wiemy, czy bug był wcześniej wykorzystywany przez nieuczciwych użytkowników, ale zdaniem łowcy luk jest to mało prawdopodobne. Niemniej jednak otrzymał on 20 000 USD nagrody, co jest jedną z największych kwot, jakie Valve wypłaciło w ramach programu HackerOne. Miesiąc wcześniej Moskowsky zarobił jednak od Valve 25 000 USD (najwyższa nagroda), po tym jak odkrył lukę w Steamworks związaną z SQL, w tym roku zgarnął też 18 000 USD z puli ViaBTC i 13 300 USD od Samsunga.

Komentarze do: Odkryto błąd, który pozwalał na dostęp do dowolnej gry Steam