Artem Moskowsky zajmujący się poszukiwaniem błędów i luk w zabezpieczeniach systemów znalazł błąd, który pozwalał pobrać klucze aktywacyjne udostępnione na pośrednictwem Steam, dla każdej gry, jaka znajduje się na platformie. Odkryty błąd występował w Steamworks, czyli na platformie służącej deweloperom do publikowania gier na Steam.
Znaleziony przez Moskowsky’ego błąd zlokalizowany był w interfejsie internetowym Steam pod adresem partner.steamgames.com/partnercdkeys/assignkeys/. Jest to API, które pozwala programistom lub innym podmiotom odzyskać klucze CD udostępnione użytkownikom Steam, aby gracze mogli aktywować grę zainstalowaną za pośrednictwem klienta Steam.
Zobacz także: Ruszyła wielka promocja gier na Steam z okazji 100-lecia odzyskania przez Polskę niepodległości
Do interfejsu API możemy się dostać przy użyciu zwykłego konta Steam, jest tam kilka parametrów, a najważniejszym z nich jest appid reprezentujący grę, keyid reprezentujący identyfikator kluczy oraz keycount reprezentujący liczbę kluczy, które Steam musi zwrócić do zbioru.
Moskowsky mówi, że w normalnych okolicznościach, gdy próbował odzyskać klucze do gier, których nie posiadał, otrzymywał błąd. Odkrył jednak, że ustawiając parametr keycount na „0”, może ominąć ograniczenia API i pobrać plik z kluczami należącymi do dowolnej gry, nawet, jeśli użytkownik nie powinien mieć dostępu do danego tytułu.
Zobacz także: W Fortnite’a gra jednocześnie więcej ludzi niż na całym Steamie
W wywiadzie dla serwisu ZDNet, Moskowsy powiedział, że błąd nie był skomplikowany, ale nie był oczywisty dla zwykłego użytkownika. Podczas swoich testów i przed powiadomieniem Steam, badacz był w stanie wygenerować i pobrać ponad 36 tysięcy kluczy do gry Portal 2.
Co więcej, gdy odkrył, zasięg błędu, zdał sobie sprawę, że atakujący może przejrzeć wszystkie identyfikatory gier Steam i stopniowo pobierać wszystkie klucze. Moskowsky zgłosił błąd do Valve w sierpniu za pośrednictwem platformy HackerOne firmy Bounty. Steam naprawił lukę w ciągu kilku dni, ale dopiero niedawno pozwolił ujawnić odkrycie.
Nie jest jasne, czy kiedykolwiek ktoś inny znalazł ten błąd i wykorzystywał do wejścia w posiadanie kluczy. Jak twierdzi Moskowsky nie otrzymał takich informacji od Valve. Sam jednak uważa, że nikt nie użył tej luki. Za wykrycie błędu otrzymał nagrodę w wysokości 20 000 $, co jest jedną z najwyższych nagród wypłaconych przez Valve. Miesiąc wcześniej dostał nagrodę w wysokości 25 000 $ za wykrycie błędu SQL Injection, również na portalu Steamworks.
Zobacz także: Neonaziści, faszyści i biali nacjonaliści rekrutują młodzież w grach online
Moskowsky pochwalił się, że ten rok jest bardzo owocny, na wykrywaniu luk zarobił już 18 000 USD od ViaBTC oraz 13 300 USD od Samsunga.
A Wy gdybyście odkryli taką lukę w zabezpieczeniach zgłosilibyście czy ją wykorzystali? Dajcie znać w komentarzach.