Steam już jest bezpieczny? Specjaliści są innego zdania
Steam, największy sklep z cyfrowymi grami, naraził 100 mln użytkowników Windowsa. W kliencie była poważna luka 0-day. Firma Valve naprawiła już swoją aplikację, ale specjaliści wciąż widzą zagrożenie w kliencie Steam.
Valve nie zamierzał łatać Steama
Analitycy Matt Nelson i Vasily Kravets niezależnie odkryli lukę w kliencie Steam. Podatność pozwalała na uzyskanie w systemie wyższych uprawnień, niż dyktuje zdrowy rozsądek. Takie sytuacje są pożądane przy infekcjach złośliwymi programami – dzięki temu atakujący mogą więcej.
Dziura została zgłoszona firmie Valve. Właściciel Steama początkowo odmówił wydania poprawki. Według Valve było to odkrycie poza zakresem systemu zgłaszania podatności… i to wystarczający powód.
Powszechna krytyka przekonała Valve, że trzeba wydać poprawkę. Radość nie trwała długo, bo takich błędów jest więcej.
Steam został zabezpieczony
Zgłoszona luka 0-day występowała, gdyż usługa systemowa Steam Client Service, nadawała wyższe uprawnienia kluczom w rejestrze Windowsa. Konkretnie przypisywała uprawnienia grupy USERS wszystkim elementom ze ścieżki HKLM\Software\Wow6432Node\Valve\Steam\Apps przy uruchamianiu. Wiedząc o tym, analitycy tworzyli w tym miejscu odnośniki do szkodliwych kluczy rejestru. Przy uruchomieniu klienta Steam powiązane z kluczami programy mogły robić to samo, co użytkownicy.
Valve wprowadził weryfikację, dzięki której odnośniki do kluczy nie uzyskują nowych uprawnień. Funkcja sprawdzająca jest już w becie klienta Steam.
Atak wciąż jest możliwy
Analitycy twierdzą, że ta poprawka rozwiązała tylko jeden z wielu problemów z usługą Steam Client Service. Złośliwe podnoszenie uprawnień jest możliwe przez biblioteki (DLL)… od 2015 roku! Ta podatność była zgłaszana i została wpisana do rejestru pod numerem CVE-2015-7985. Wciąż jest obecna w kliencie Steam. Przypomniał o niej Mitja Kolsek z firmy 0Patch.
Podniesienie uprawnień w ten sposób jest możliwe, gdyż uprawnienia grupy USERS są nadawane całemu folderowi, gdzie znajduje się Steam. Atakujący może po prostu podmienić jedną z bibliotek z tego folderu, by uzyskać dostęp do systemu. Folder C:\Program Files (x86)\Steam nie jest w żaden sposób chroniony.
Takie uprawnienia są podobno niezbędne, by klient Steam mógł aktualizować gry i własne pliki. Nie ma jednak dobrego powodu, by usługa z wysokimi uprawnieniami uruchamiała kod, który może zmodyfikować zwykły użytkownik. To pogwałcenie podstawowych zasad bezpieczeństwa.
Nie wiadomo, dlaczego Valve nie korzysta z bezpieczniejszej procedury aktualizacji, w której uprawnienia są podnoszone tylko w razie potrzeby. Valve na razie nie komentuje tej sytuacji.
Co robić?
Opisane podatności prawdopodobnie nie były wykorzystane w realnych atakach, ale warto mieć się na baczności. Jeśli klient Steam nie jest ci niezbędny do grania, możesz go chwilowo usunąć i poczekać na rozwój sytuacji.