Telegram Passport

Пользователь сайта «Хабр» с ником Scratch детально рассказал, как взломать сервис Passport, в котором Telegram предлагает хранить сканы различных документов, подтверждающих личность пользователей.

Passport используется для авторизации в сервисах, требующих достоверного подтверждения личности. Он позволяет один раз загрузить документы, после чего пользователю может быть предоставлен доступ к сайтам и приложениям, работающим с финансами и криптовалютой. По словам разработчиков Telegram, копии документов хранятся в облаке в зашифрованном виде и передаются с использованием сквозного шифрования, которое исключает перехват файлов. Однако, по словам Scratch, хакеры всё же могут расшифровать эти файлы.

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

Scratch предположил, как может осуществляться расшифровка файлов в Telegram методом брутфорса. Злоумышленник может брать различные пароли по порядку и с помощью нескольких мощных видеокарт генерировать их хэш и соль, пробуя подобрать ключ шифрования. С помощью десяти видеокарт, по подсчётам Scratch, можно перебрать все возможные сочетания восьмизначных паролей из 94-символьного словаря с латинскими буквами и арабскими цифрами примерно за пять дней.

Scratch считает, что разработчики Telegram выбрали неудачный алгоритм хэширования, а также не предусмотрели полноценную защиту Passport от брутфорса. После трёх неправильных вводов пароля Passport блокирует вход в аккаунт на несколько часов, но блокировка происходит не со стороны сервера, а на пользовательском устройстве. Это усложняет работу хакерам, хотя и не критично — им придётся залогиниваться в аккаунт жертвы с нескольких устройств.




Канал iG в Telegram — t.me/iguides_ru