2019/08/15 21:15:22

Шифрование в Telegram

Обзор вопросов шифрования данных в мессенджере Telegram.

Содержание

Основная статья о мессенджере: Telegram

2019: Маскировка трафика под протокол HTTPS

12 августа 2019 года стало известно, что благодаря недавним нововведениям трафик Telegram теперь может маскироваться под протокол HTTPS (TLS + HTTP/2.0) – с этой целью в код клиента был добавлен префикс секрета «ee». Также в добавок к base16 (hex) появилась возможность шифровать секрет в адресе прокси-сервера с помощью base64.

Телеграмм

На август 2019 года в Telegram используется собственный протокол MTProto, появившийся около года назад – тогда же для него вышел официальный прокси. В MTProto отсутствуют служебные заголовки, позволяющие идентифицировать его. Однако выявить использование протокола, а заодно и самого мессенджера, все-таки можно по длине пакетов. Дело в том, что при установке соединения между клиентом и прокси-сервером происходит обмен пакетами определенной длины, а при работе – пакетами одной и той же длины. Это дало провайдерам возможность выявлять трафик Telegram по длине пакетов, передаваемых по MTProto.

Для решения вышеуказанной проблемы в целях маскировки протокола разработчики мессенджера добавили случайный байт в каждый пакет. Тем не менее, данный шаг влиял на совместимость, из-за чего разработчики добавили в секрет префикс «dd».

Поскольку использование MTProto продолжал выдавать трафик Telegram (благодаря чему его успешно блокируют в Иране и Китае с помощью атак повторного воспроизведения), разработчики решили реализовать в нем возможность маскировки под другие протоколы. В частности, был добавлен дополнительный слой инкапсуляции поверх TCP, и теперь данные словно «заворачиваются» в записи TLS. Также была реализована эмуляция TLS-рукопожатия[1].

2018

Уязвимость в шифровании данных

По сообщению от 13 декабря 2018 года исследователи из Cisco Talos сообщили об уязвимостях в популярных мессенджерах, использующих шифрование. По словам специалистов, WhatsApp, Telegram и Signal можно взломать с помощью атак по сторонним каналам. Подробнее здесь.

В списке 20 самых защищенных мессенджеров по версии Artezio

Аналитический отдел Artezio (Артезио) (входит в группу компаний ЛАНИТ) 26 ноября 2018 года опубликовал список 20 мессенджеров, способных обеспечить высокий уровень приватности. Рейтинг был составлен по итогам комплексного тестирования программ, при этом качество шифрования данных и надежность средств защиты информации были ключевыми критериями при формировании итоговой экспертной оценки, сообщили TAdviser представители Artezio. Telegram расположился на третьем месте списка. Подробнее здесь.

Telegram хранит переписку в незашифрованном виде

31 октября 2018 года стало известно, что Telegram в версии для десктопов сохраняет всю переписку пользователей на жёстком диске без шифрования.

Как выяснил эксперт по безопасности Натаниэль Сачи (Nathaniel Suchy), Telegram использует базу данных SQLite для хранения сообщений, которую не очень просто прочитать, но которая в целом лишена шифрования. Проанализировав «сырые» данные, предварительно сконвертированные в более простой для просмотра формат, Сачи смог найти имена и телефонные номера, которые можно проассоциировать друг с другом. Даже в этом виде информацию было непросто считать, однако нескольких специально написанных скриптов хватило, чтобы вычленить необходимые данные, сообщили в CNews.

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

В CNews отметили, что Telegram Desktop не поддерживает секретные чаты как таковые, это функция доступна только в мобильных клиентах. В режиме Secret Chat Telegram исправно шифрует сообщения и файлы вложений при передаче; в этом режиме используется сквозное шифрование, исключающее возможность перехвата и просмотра содержимого переписки третьей стороной. Однако, при обмене данными через облако (то есть, не напрямую), сквозное шифрование не используется; разработчики утверждают, что алгоритм шифрования, защищающий каналы клиент-сервер и сервер-клиент, весьма надёжен, а благодаря тому, что переписка сохраняется в облаке, у пользователя существует возможность просматривать её с любого устройства.

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

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

Проблема в том, как именно они сохраняются: судя по тому, что написал Суиш, метод хранения как минимум части архивов далёк от безопасного.

«
«К сожалению, нежелание редакторов СМИ разбираться в деталях проблем с безопасностью приводит к тому, что читатели перестают в итоге обращать на них внимание. И когда появляются сообщения о настоящих угрозах, пользователь может не придать им значения».
»

Можно, сказать, что если некий злоумышленник получает неавторизованный доступ к компьютеру жертвы, это уже лишает смысла дискуссии о безопасности баз данных Telegram, - как и любых других данных. Существует, однако, ряд вполне жизненных ситуаций, когда архив сообщений в Telegram может утечь на сторону: например, если перед продажей компьютера его данные удалены небезвозвратно, а с возможностью восстановить их. Или же злоумышленник получает удалённый доступ к компьютеру жертвы (например, топ-менеджера) и его в первую очередь интересуют его коммуникации, в том числе содержимое переписки в Telegram. С такой особенностью Telegram мало что может помешать хакеру ознакомиться с этими сообщениями, отметили в CNews.

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

[2]

РКН просил изменить код Telegram для получения ключей шифрования

До начала блокировки Telegram в России ФСБ и Роскомнадзор в течение года пытались убедить руководство компании Telegram изменить архитектуру мессенджера и предоставить ключи для дешифрования переписки пользователей. Как считают в ведомствах, у компании есть для этого техническая возможность. Об этом сообщила в июне 2018 года представитель Роскомнадзора в ходе рассмотрения жалобы представителей Telegram на решение Таганского районного суда по блокировке сервиса в России.

«
«ФСБ и Роскомнадзор в течение года предпринимали попытки побудить Telegram изменить архитектуру мессенджера. Мы считаем, что структура любого мессенджера может быть изменена для приведения в соответствии с российским законом. Поэтому мы считаем, что Telegram имеет техническую возможность предоставить ключи для дешифрования», - приводит ТАСС Информационное агентство России заявление представителя надзорной службы.
»

Русскоговорящие хакеры научились воровать переписку из настольной версии Telegram

По сведениям экспертов по безопасности фирмы Talos, обнаруживших проблему, за две недели злоумышленники выпустили сразу две вредоносные программы, атаковавшие Telegram. Первая воровала реквизиты доступа и файлы cookie из браузера, вторая научилась воровать кэш Telegram, содержащий данные переписки, файлы ключей шифрования (а заодно и реквизиты доступа к Steam). Все эти данные вредоносная программа загружает на несколько аккаунтов сервиса pcloud.com - причём в незашифрованном виде[3].

Злоумышленник - а исследователи с высокой долей вероятности установили его личность - выбрали в качестве мишени именно десктоп-версию Telegram потому, что она не поддерживает функцию Secret Chats (секретные чаты) и имеет довольно слабые настройки по умолчанию. При этом вредонос не атакует никаких уязвимостей, эксплуатируются лишь архитектурные особенности.

Согласно пояснениям разработчиков Telegram, секретные чаты требуют наличия постоянного хранилища данных на устройстве; на данный момент эта функция не поддерживается на десктопной и веб-версии. На них содержание чатов подтягивается из облака и сбрасывается при отключении клиента. Секретные чаты не хранятся в облаке, поэтому они бы исчезали с каждым отключением компьютера. При этом автоматического разлогинивания в десктоп-версии Telegram не реализовано. Комбинацию этих особенностей и использует вредонос.

Бывший коллега Дурова раскрыл принцип шифрования сообщений в Telegram

Бывший коллега Павла Дурова, Антон Розенберг, рассказал в интервью телеканалу RT о принципах шифрования сообщений, использующихся в популярном мессенджере Telegram[4].

По словам эксперта, чаты в приложении разделены на облачные и секретные. В случае с секретными чатами расшифровать переписку невозможно, поскольку шифрование сообщений является сквозным, то есть осуществляется только на устройствах отправителя и получателя.

«Telegram не видит содержимое сообщения, только метаданные. Это более надежно, но реализация в Telegram не очень удобна, секретные чаты доступны только с одного устройства, и поэтому ими практически никто не пользуется», - отметил Розенберг.

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

2016

Немецкой полиции удалось взломать аккаунты пользователей Telegram

Сотрудники Федерального ведомства уголовной полиции Германии (BKA) на протяжении последних нескольких лет взламывают аккаунты пользователей в мессенджере Telegram. Об этом сообщило авторитетное издание Motherboard, которое опубликовало интервью с одним из сотрудников ведомства[5].

Впервые считавшийся полностью защищенным Telegram был атакован силовиками еще в 2015 г. Тогда ради этого было создано специальное программное обеспечение, получившее название Bundestrojaner. Тогда BKA удалось получить доступ к аккаунтам, групповым чатам и медиа-файлам, которые пересылали друг другу с помощью мессенджера 8 членов ультранационалистической группировки, планировавшей поджог общежития для мигрантов.

По словам осведомителя Motherboard, доступ был получен всего через несколько минут после атаки Bundestrojaner. Спустя 12 дней все члены группы были арестованы, вскоре их приговорили к длительным срокам заключения.

Как сообщает издание, ссылаясь на собственные источники, с тех пор практика взломов прижилась: только в 2015 г. BKA получила доступ к 32 аккаунтам в Telegram, еще 12 подобных эпизодов относятся к этому году. Все их владельцы подозревались или подозреваются в серьезных преступлениях: международном терроризме, ультраправом терроризме или шпионаже.

Несмотря на то, что подобная деятельность в определенной степени регламентируется немецким законодательством (закон, дающий право подобного взлома, был принят еще в 2008 г.), журналисты Motherboard предположили, что отдельные методы BKA все же могут считаться противозаконными, также могут иметь место случаи злоупотребления как Bundestrojaner, применение которого было официально одобрено в 2016 г., так и другим созданным на его основе программным обеспечением.

При этом, используемые криминальной полицией Германии программы могут «читать» сообщения только из незашифрованных чатов. Против сквозного шифрования BKA пока ничего придумать не смогла, хотя специальная группа программистов ведет над этим работу.

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

Протокол шифрования MTProto

Для обеспечения безопасности сообщение мессенджера создан протокол MTProto. Он предполагает использование нескольких протоколов шифрования. При авторизации и аутентификации используются алгоритмы RSA-2048, DH-2048 для шифрования, при передаче сообщений протокола в сеть они шифруются AES с ключом, известным клиенту и серверу. Используются и криптографические хэш-алгоритмы SHA-1 и MD5.

Защита от перехвата пересылаемых сообщений со стороны сервера Telegram обеспечивается в режиме «секретных» чатов (Secret Chats) (доступен с 8 октября 2013 года). В этом режиме выполняется шифрование, при котором только отправитель и получатель имеют общий ключ (end-to-end шифрование), с применением алгоритма AES-256 в режиме IGE (англ. Infinite Garble Extension) для пересылаемых сообщений. Сообщения в секретных чатах не дешифруются сервером, а история переписки сохраняется только на двух устройствах, инициаторах создания чата.

Примечания