Пользователь сайта «Хабр» с ником Scratch детально рассказал, как взломать сервис Passport, в котором Telegram предлагает хранить сканы различных документов, подтверждающих личность пользователей.
Дело в том, что в облако передаётся хэш от отправленных данных, смешанных со случайными байтами, зашифрованный паролем ключ, дополнительная защита («соль»), а также сами зашифрованные данные. Этого вполне достаточно для того, чтобы расшифровать файлы без необходимости неоправданно долго перебирать комбинации ключей шифрования.
Scratch предположил, как может осуществляться расшифровка файлов в Telegram методом брутфорса. Злоумышленник может брать различные пароли по порядку и с помощью нескольких мощных видеокарт генерировать их хэш и соль, пробуя подобрать ключ шифрования. С помощью десяти видеокарт, по подсчётам Scratch, можно перебрать все возможные сочетания восьмизначных паролей из 94-символьного словаря с латинскими буквами и арабскими цифрами примерно за пять дней.
Scratch считает, что разработчики Telegram выбрали неудачный алгоритм хэширования, а также не предусмотрели полноценную защиту Passport от брутфорса. После трёх неправильных вводов пароля Passport блокирует вход в аккаунт на несколько часов, но блокировка происходит не со стороны сервера, а на пользовательском устройстве. Это усложняет работу хакерам, хотя и не критично — им придётся залогиниваться в аккаунт жертвы с нескольких устройств.
Канал iG в Telegram — t.me/iguides_ru