Уязвимости в Steam позволяли перехватывать данные и похищать учетные записи

Уязвимости в Steam позволяли перехватывать данные и похищать учетные записи

Эксперт раскрыл подробности об уязвимостях спустя нескольких месяцев после их исправления.

Игровая платформа Steam исправила в своем клиенте уязвимости в шифровании, позволявшие перехватывать передаваемые по сети данные, а также похищать учетные записи и пароли в незашифрованном виде. Исследователь Натаниэль Тейс (Nathaniel Theis) сообщил об обнаруженных уязвимостях компании Valve в конце прошлого года и теперь, спустя несколько месяцев, раскрыл подробности о них.

По словам Тейса, ему удалось перехватить данные, пересылаемые в сообщениях CMsgClientLogon (предназначены для идентификации пользователя). В сообщениях содержится информация об учетных записях, в том числе имя аккаунта, пароль, логин и sha_sentryfile – поле, позволяющее идентифицировать компьютер пользователя с помощью инструмента SteamGuard.

Первые несколько попыток Тейса получить эти данные с помощью разработанного им PoC-кода оказались безуспешными, однако в итоге исследователь все-таки смог перехватить информацию. Он осуществил атаку повторного воспроизведения (replay-атаку) для подключенного к Steam пользователя (в данном случае специально созданной Тейсом тестовой учетной записи) и расшифровал сессию.

В используемом Steam шифровании исследователь обнаружил несколько уязвимостей, одна из которых позволяла похищать данные. Проблема была связана с тем, что библиотека CryptoPP не проверяет подлинность дополнения (padding). Тейс осуществил атаку «padding oracle», добавив к концу зашифрованного текста блоки, и получил ответ от сервера Steam.

Помимо прочего, исследователю удалось осуществить атаку «человек посередине» для перехвата сеанса. Данная атака потребовала значительных усилий, поскольку поддельное сообщение приводило к завершению сеанса и установлению нового. По его словам, для осуществления атаки у злоумышленника должен быть доступ к сетевому подключению жертвы, возможность изменять (а не только читать) пакеты в процессе передачи и большой запас времени (возможно, до нескольких дней). 

Атака повторного воспроизведения – атака на систему аутентификации путем записи и последующего воспроизведения ранее посланных корректных сообщений.

Дополнение (padding) – добавление ничего не значащих данных к зашифровываемой информации для повышения способности противостоять криптоанализу.

Атака «padding oracle» – атака, осуществляемая с использованием дополнения к зашифрованному сообщению, с помощью которой можно ускорить расшифрование данных. 

Домашний Wi-Fi – ваша крепость или картонный домик?

Узнайте, как построить неприступную стену