LINUX.ORG.RU
ФорумTalks

Telegram - решето

 


1

1

http://www.xakep.ru/post/61799/default.asp

Несколько дней назад основатель американской компании Digital Fortress Павел Дуров объявил награду $200 тыс. любому, кто сумеет расшифровать трафик мобильного приложения Telegram (криптографически защищенный аналог мессенджера WhatsApp). Как говорил Брюс Шнайер, подобные конкурсы используются в маркетинговых целях, а не для доказательства качества продукта. Многие сомневались в надежности криптопротокола MProto. И неудивительно, что в нем нашли уязвимость на следующий день после объявления конкурса.

Уязвимость нашел российский пользователь x7mz, он опубликовал соответствующую статью в «Песочнице» на сайте «Хабрахабр». Уязвимость удалось обнаружить после внимательного изучения программных интерфейсов защищенных чатов (end-to-end) Telegram. Там x7mz увидел странную модификацию алгоритма обмена ключами Диффи-Хеллмана. Вместо стандартного key = pow(g_b, a) mod dh_prime использовался key = (pow(g_b, a) mod dh_prime) xor nonce.

Где nonce – «случайная», полученная от сервера Telegram, последовательность для вычисления ключа. «Вопрос! Зачем такая модификация в алгоритме? Если nonce – одинаковая последовательность для обоих клиентов, то она просто вывернет ключ на изнанку не сделав его безопаснее. А вот если она разная то сервер Telegram может подобрать такую nonce, при которой ключи пользователей совпадут даже при MITM-атаке и никто не будет знать, что его слушают. И даже если nonce совпадает для 2х собеседников сегодня, нет никаких гарантий что nonce будет совпадать завтра, когда в офис Digital Fortress придет АНБ / ФСБ / другая не хорошая организация», — возмутился x7mz.

К чести Павла Дурова, он признал ошибку и согласился дать $100 тыс. для вознаграждения пользователя. Основатель компании «Вконтакте» как будто совершенно не расстроен потерей ста тысяч долларов: «Эта история заставляет в очередной раз восхититься российскими программистами. Целую неделю маститые американские криптографы на HackerNews безуспешно цеплялись к протоколу — в основном, с требованием заменить наше решение на алгоритмы, которые продвигает АНБ в своем Suite B. А российский программист, называющий себя «новичком», смог в рамках статьи на Хабре сходу определить потенциально уязвимое место в секретных чатах, — пишет он на своей странице «Вконтакте». — Еще раз убедился в том, насколько правильным решением было полностью открывать протокол и исходный код. Это позволяет привлекать тысячи умных людей, которые могут помогать постоянно совершенствовать систему, находя потенциально уязвимые места. Разработчик, нашедший слабое место в нашем алгоритме, заслужил награду в $100,000. Подобную награду заслуживает любой, кто найдет возможности схожей атаки (напоминаю, за расшифровку потока трафика мной была объявлена награда в $200,000). Продолжаем искать — вместе мы сделаем протокол нерушимым».

Мы и это, и новую багу в ДХ обсудили уже. С разморозкой!

cipher ★★★★★
()
Ответ на: комментарий от BigAlex

OTR

Да ты, я гляжу, човсем не в теме. OTR только подлинность личности собеседника подтверждает. Да и то, если ты сам её предварительно подтвердил.

Lighting ★★★★★
()

Павел Дуров объявил награду $200 тыс. любому
К чести Павла Дурова, он признал ошибку и согласился дать $100 тыс

Буга-га. Кататель ментов на капоте. Тьфу, мля.

Целую неделю маститые американские криптографы на HackerNews безуспешно цеплялись к протоколу

Бред, который он сам же и сочинил.

zgen ★★★★★
()
Ответ на: комментарий от Lighting

Чито? Сами ознакомьтесь с темой предварительно. Офф сайт вам поможет.

BigAlex ★★★
()

это капец. как можно от фонаря лезть в криптографию и менять проверенный алгоритм?

ксор он добавил. пусть мозг себе лучше добавит

moot ★★★★
()
Последнее исправление: moot (всего исправлений: 1)

основатель американской компании Digital Fortress Павел Дуров

Бгг.

Еще раз убедился в том, насколько правильным решением было полностью открывать протокол и исходный код

facepalm

tailgunner ★★★★★
()

Там x7mz увидел странную модификацию алгоритма обмена ключами Диффи-Хеллмана. Вместо стандартного key = pow(g_b, a) mod dh_prime использовался key = (pow(g_b, a) mod dh_prime) xor nonce.

а теперь, внимание, вопрос: а о чём думал программист, который СОЗНАТЕЛЬНО СДЕЛАЛ ЭТУ ДЫРУ? И какое отношение он имеет к x7mz?

Продолжаем искать — вместе мы сделаем протокол нерушимым.

Дуров объявляет набор бесплатных аудиторов кода? Для затравки сам сделал тривиальную дыру, и сам же её обнаружил?

совершенно не расстроен потерей ста тысяч долларов

ещё бы! А кто сказал, что это «потеря»?

emulek
()
Ответ на: комментарий от Lighting

OTR только подлинность личности собеседника подтверждает.

Чта? Вот это внезапно срыв коров!

P.S. В любом e2e crypto ты можешь только довериться, что человек с той стороны действительно тот который тебе нужен. А не агент ФСБ с конфискованным яблофоном.

bhfq ★★★★★
()
Ответ на: комментарий от moot

это капец. как можно от фонаря лезть в криптографию и менять проверенный алгоритм?

это типичная русская история. Как надпись над охраняемой проходной «дыра в заборе в 300 метрах слева».

emulek
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.