После ознакомление с постом и другим постом.
Захотелось узнать о Телеграме побольше.
Машинально вбивая хэштег Телеграма в Twitter, наткнулся на блог одной ИБ компании…
Как НЕ следует разрабатывать Ваше приложение.
Несколько дней назад Павел Дуров объявил кампанию по исправлению багов, для протокола расшифровки Телеграмма. Дальше будет показано, как личные данные из секретного чата могут быть захвачены без каких-либо методов расшифрования из-за «отказа дизайна».
Инструменты для теста
Android 4.3 in Virtual Box
Wireshark запущенный на локальной машине.
HTC One with Android 4.0.3
Telegram 1.3.800 (in virtual box)
Методика
Для начала давайте установим Telegram, а пользователей, к примеру, назовем Алиса и Боб. После этого, создаем аккаунты в Telegram и добавляем друг друга в друзья:
Теперь создаем секретный чат:
Отправляем тестовое сообщение:
Как мы можем видеть в Wireshark, все данные проходят через SSL и выглядят зашифрованными.
Но...
Но что, если мы постараемся отправить какое-нибудь вложение? К примеру, геолокацию?
Ага! Открыта незашифрованная TCP-сессия. Давайте взглянем поближе:
По умолчанию для загрузки фрагмента карты, Telegram использует Google-Maps API в незашифрованном виде.
С точки зрения безопасности и анонимности это полный провал…
Человек, который контролирует канал, может перехватывать все геолокационные вложения, обходя секретный чат с двух сторон.
На практике, если Сноуден отправит кому-нибудь, кто находится под прослушкой АНБ, свое географическое положение через Телеграм… томагавка будет достаточно, чтобы удовлетворить Генерала Александра.
Bug fix.
СБ относительно быстро отреагировала на этот инцидент и попросила отписаться им на почту за вознаграждением.
Если я не ошибаюсь, то фикс выглядит так.
Любопытно, сколько же заплатят авторам за найденный баг.
Автор: me3k