Как упоминалось в недавнем посте " Телеграм безопасен? Или как я искал закладку в MTProto " — Телеграмма — суперзащищенный мессенджер для смартфонов, настолько безопасный, что на его взлом объявлен конкурс с внушительным призом.
В этом посте описывалась эффективная атака на его протокол ( МТПрото ), краткая суть которого состоит в том, что " сервер Telegram может выбрать одноразовый номер так, чтобы пользовательские ключи совпадали даже во время атаки MITM, и никто не знал, что они прослушивают "где под одноразовый номер означало «случайную» последовательность данных, участвующую в установлении ключа, казалось бы, просто для увеличения энтропии, но на самом деле это позволяло администраторам серверов Telegram легко и, что самое главное, незаметен для пользователей выполнить Человек посередине (MITM) атака на протокол обмена ключами.
Некоторые даже посчитали закладкой участок кода, ответственный за уязвимость.
К чести Telegram, наличие уязвимости было быстро признано и ее исправление было анонсировано в следующей версии мессенджера, причем автор обещал награда - ibeatle пишет: " отныне nonce всегда будет содержать ноль, и на следующем уровне мы обязательно удалим это поле из схемы и объясним его в документации "Между тем в описание протокола 1 мы уже видим, что несчастный ' xor nonce ' исчез и код измененный к лучшему.
Павел Дуров сказал: « На всякий случай поясню для массовых пользователей: утечки данных не было, уязвимость закрыта, опасности нет. .
" Все хорошо, что хорошо кончается.
Но исчезла ли уязвимость и стал ли Telegram защищен от необнаружимый МИТМ? Есть мнение, что администраторы серверов Telegram тоже этого не сделали.
они все еще могут слушайте пользователей, чтобы проверка ключей показала, что они совпадают. Для этого достаточно применить атаку по вырожденному ключу на протокол.
Диффи-Хеллман (ДХ).
Предыдущая атака была направлена на часть алгоритма протокола установления ключа, которая происходит немедленно.
после DH, но есть и сам DH. В документации есть попытка защиты от некоторых атак на DH — прописано проверять публичные параметры p и g: " Ожидается, что клиент проверит, является ли p безопасным 2048-битным простым числом и что g генерирует циклическую подгруппу порядка (p-1)/2. .
Но здесь ничего не говорится о проверке открытых ключей g_a и g_b. Для проведения атаки серверу достаточно заменить оба параметра, отправленные от клиентов А и Б.
г_а И г_б на единица (1).
В этом случае оба пользователя также получат единицы в результате вычисления закрытого ключа.
Сервер (и любой другой наблюдатель за атакованным сеансом), зная это свойство протокола DH, сможет безопасно расшифровать и прочитать свои сообщения.
Хотя внешне все будет выглядеть «зашифрованным».
Более того, key_fingerprint этот вырожденный ключ будет визуально неотличим от обычного сложного ключа, поскольку отпечаток пальца — это не сам ключ, а криптохеш sha1 ключа.
Чтобы устранить эту уязвимость, мессенджеру достаточно будет проверить, что отправленные сообщения г_а И г_б не равны единице.
_________ 1 Копия описания протокола от 22 декабря: archive.is/Z8Keu Теги: #Telegram #информационная безопасность #мессенджеры #Криптография
-
Исправить Ошибки Реестра
19 Oct, 24 -
Награды За Лучшие Моменты Dvd
19 Oct, 24 -
Важность Неограниченных Данных Веб-Хостинга
19 Oct, 24 -
Ipod: Программы На Каждый День
19 Oct, 24 -
В Самолете Без Паспорта
19 Oct, 24 -
Стартап - Образование 2.1
19 Oct, 24 -
Представляем Шрифт Cascadia Code
19 Oct, 24