пятница, 28 февраля 2014 г.

Атака на криптосистему MuOnline

Доброго времени суток друзья. В этой статье хочу вам рассказать о том, как можно обойти шифрование MuOnline не имея на руках закрытых ключей сервера. Я всегда утверждал что МуОнлайн это откровенный дуршлаг для читов, не имеющий никакой защиты и поэтому пользуясь случаем хочу передать привет тем людям которые убеждали меня что ключи шифрования MuOnline это "инновационная защита", что конечно смешно. Но для начала немного теории...

И начнём с того, что рассмотрим почему же читы не работают на не стандартных ключах шифрования. А дело там в том, что некоторое данные например отправляемые клиентом, чит расшифровать не может(не зная ключей сервера), чтобы подменить их к примеру. То же самое относится и к данным от сервера которые чит может прочесть, но не может подменить. Получается что чит работает в режимы read-only для зашифрованных данных, однако для некоторых махинаций над игрой этого и этого вполне достаточно, ведь открытые пакеты хоть и не так критичны, но так же уязвимы.

Ну так что делать если ключ шифрования не известен? Взглянем на схему передачи данных между клиентом и сервером:

Untitled

Как видно чит не может работать с трафиком, ему известна только пара уникальных клиентских ключей. К тому же много читов умеют работать только со стандартными ключами. Но что, если мы возьмём комплект известных стандартных ключей и воссоздадим ситуацию в которой сервер будет общаться по уникальным ключам, а клиент по стандартным. Взгляните на следующую схему:

Untitled

Суть я думаю ясна, имея набор ключей которые может понять чит, мы создаём промежуточный прокси узел, через который трафик будет декодироваться так, чтобы клиент работал со стандартными ключами, а сервер с уникальными. Имея на руках все необходимые ключи мы можем таким образом легко атаковать криптосистему. Эта очень простая атака, которая в очередной раз доказывает неспособность стандартных механизмов игры, противодействовать атакам. Другое дело если бы шифры и ключи были неизвестны общественности :) Вот в принципе и весь метод, я набросал простенький прокси Mu Encrypt Bypass Proxy Module, для демонстрации данной техники. Спасибо за внимание.

Комментариев нет:

Отправить комментарий