сигнал или телеграмм что безопаснее
Какое шифрование лучше: Signal или Telegram?
Однако в декабре 2020 года по средствам массовой информации прошла новость, что известная хакерская компания Cellebrite взломала шифрование этого криптомессенджера.
В Cellebrite, наверное, квалифицированные специалисты. Их оборудование и софт используются в криминалистической экспертизе, конкретно, для извлечения содержимого конфискованных смартфонов правоохранительными органами во всём мире (см. слитую базу клиентов компании).
Но в данном случае Cellebrite немного опозорилась — и к настоящему времени удалила статью, точнее, сократила до выжимки без технических деталей под другим заголовком (хотя сначала по этому адресу действительно выдавалась ошибка 404). Чтобы не провоцировать такие хайпы.
Правда, сама статья была немного пафосная и смешная. Громкий заголовок. И там встречаются такие перлы:
[. ] Когда получен ключ дешифровки, нам нужно узнать, как с его помощью расшифровать базу данных. Для этого мы обратились к исходному код Signal и стали искать все обращения к базе данных. Просмотрев десятки классов кода, мы наконец нашли искомое.
[. ] После связывания файлов вложений и сообщений мы обнаружили, что вложения также зашифрованы. Но это шифрование ещё сложнее взломать. Мы снова заглянули в файл общих настроек и нашли необходимое значение в разделе “pref_attachment_encrypted_secret”, в котором есть поля “data” и “iv”.
То есть специалисты с гордостью рассказали о своих достижениях, но над ними посмеялись. Преобразование в текстовый файл истории сообщений из дампа выдали под заголовком «Взлом кода», и описали простейшие вещи с таким пафосом, что это выглядит как сатира. Ну а потом историю неправильно интерпретировали в СМИ, которые вообще не разобрались, о чём там идёт речь.
На самом деле опенсорсный мессенджер Signal по прежнему считается одним из самых защищённых. Его протокол прошёл аудит безопасности. Автор программы Мокси Марлинспайк сравнивает «взлом» Cellebrite с тем, как если бы вы взяли разлоченный телефон и запустили в нём любое приложение — и тем самым якобы взломали зашифрованную систему. Или если взломщиком замков считался бы человек, имеющий в своём распоряжении ключ и замок.
В защищённости и безопасности протокола Signal никто не сомневается. Полностью открытый код всех клиентов только добавляет надёжности всей системе.
Ну а что можно сказать о протоколе MTProto 2.0 в Telegram? Вот описание той части, которая используется для сквозного шифрования, то есть для секретных чатов. Отдельные научные группы анализировали слой безопасности первой версии MTProto, и там результаты были крайне неутешительными, точнее катастрофическими. Было выявлено много серьёзных ошибок. Конечно, разработчики Telegram исправили эти недостатки во второй версии. Например, перешли с SHA-1 на SHA-256 и так далее. Схема выглядит красиво.
Но вторую версию пока не проверял никто из независимых криптографов и научных институтов, насколько нам известно.
Поэтому с точки зрения качества и надёжности шифрования выбор пока остаётся в пользу Signal. Похоже, что Илон прав.
Telegram и Signal — не самые защищённые. Есть мессенджеры понадёжнее, вы ими пользовались
После скандала с новой политикой конфиденциальности WhatsApp, которая открыто говорит о передачи данных в Facebook, пользователи начали массово переходить в Telegram и Signal. Владельцы этих мессенджеров оседлали волну и начали особо подчёркивать, что их сервисы собирают минимум информации, а ещё максимально защищают конфиденциальность клиентов. Но так ли это на самом деле?
Telegram и Signal — что с ними не так
Telegram, Signal, WhatsApp, Viber — всё это централизованные мессенджеры. У них есть серверы, которые контролируются разработчиками. Вспомните все эти новости о том, что Telegram снова «лежит», а Signal не позволяет отправить сообщение. Такие ситуации возникают из-за того, что сервисы работают централизованно.
Чтобы централизованные мессенджеры с большой аудиторией стабильно работали, им нужна мощная инфраструктура. И здесь появляются как минимум две проблемы:
И Signal, и Telegram требуют для регистрации номер телефона — минус анонимность. Telegram собирает контакты, контактные данные, идентификаторы. Цели благие — сделать регистрацию и авторизацию на разных устройствах удобными, защититься от массового создания фейковых аккаунтов, помочь людям быстрее находить знакомых в мессенджере. Но фактически мы говорим о сборе очередного массива информации о пользователях.
В контексте конфиденциальности значение имеют не только данные, но и метаданные. Сообщения шифруются, переписку никто не читает — ок, будем считать так. Но из списков контактов можно легко собирать цепочки пользователей, которые знакомы, переписываются между собой, состоят в одних и тех же чатах. Обнаружив человека, получив доступ к его устройству, можно достать любую информацию — никакое шифрование уже не спасёт.
Настоящая конфиденциальность — в децентрализованных мессенджерах
Противоположность централизованных мессенджеров — децентрализованные. Для регистрации в них не требуется номер телефона, а других пользователей можно добавить только по именам или адресам.
Крайний пример децентрализации — пиринговые (P2P) мессенджеры. У них нет серверов, все участники равноправны и обращаются друг к другу напрямую. У такого подхода есть проблемы — например, при отсутствии подключения к сети сообщения не сохраняются, потому что им негде храниться.
Другой формат децентрализации — федерации. При таком подходе используется неограниченное количество серверов, которые общаются между собой. Пользователи могут подключаться к имеющимся серверам или создавать свои. Это исключает и чрезмерную централизацию, и абсолютный хаос пиринговых сетей.
Один из самых известных федеративных протоколов сейчас — Matrix. Это его нативный клиент Element в конце января по ошибке удалили из Google Play из-за нарушения политики площадки. Недоразумение быстро исправили, но оно подсветило главный плюс Matrix — его нельзя просто взять и закрыть.
Допустим, Element бы не восстановили в Google Play. Это не стало бы проблемой, потому что нативный клиент — лишь способ пользоваться сетью. Вместо Element можно было бы установить Ditto Chat, Nio, Pattle, FluffyChat, использовать десктопные приложения и веб-версии. Заблокировать сам Matrix, как тот же Parler, невозможно — нет единой инфраструктуры, пользователи способны сами поднять столько серверов, сколько захотят.
Важно, что для регистрации в сети Matrix не нужен номер телефона. Вы придумываете имя пользователя и получаете индивидуальный адрес. Единственное, что клиент предлагает сделать, — добавить электронную почту. Можно отказаться, но тогда вы не сможете восстановить доступ к своему аккаунту, если забудете пароль.
Ещё приложения, использующие Matrix, не получают доступ к контактам. Проще говоря, все проблемы централизованных мессенджеров здесь решены. Но возникают другие сложности — чтобы начать общаться с другим человеком, нужно знать его имя или идентификатор.
Безопасность — не главное. Пользователи выбирают простоту и удобство
Децентрализованные мессенджеры — это правда круто. Можно поднять свой сервер, создать анонимную комнату для таких же повёрнутых на конфиденциальности, строчка за строчкой изучать открытый исходный код, искать уязвимости.
Но проблема децентрализованных систем в том, что они раз раз разом оказываются без денег. Тот же протокол Matrix в 2017 году искал спонсоров для продолжения разработки. Проблему тогда решили, но многое держится на энтузиастах Open Source. Сейчас разработка финансируется сообществом через Patreon и другие подобные сервисы.
Кроме Matrix есть XMPP (он же Jabber, который использовали «ВКонтакте», Facebook, «Одноклассники», LiveJournal и другие). Но аудитория таких проектов слишком мала, чтобы можно было говорить о стабильном развитии и безоблачных перспективах. Даже самыми популярными децентрализованными мессенджерами пользуются в лучшем случае сотни тысяч человек — кто-то пробует и больше не заходит, другие поднимают свой сервер для компании или семьи. Но всё это очень далеко от массовости.
Даже если вы осознаёте минусы Telegram и Signal, их плюсы перевешивают. Например, регистрация по номеру телефона — очевидно не самое безопасное решение. Но это удобно для пользователей, которые меняют устройства и хотят сохранить доступ к своему аккаунту. Та же история с синхронизацией переписки — чтобы она работала, сообщения должны храниться на удалённом сервере. На этом и поднялись централизованные мессенджеры — они дают удобство и взамен не требуют ничего, кроме наших персональных данных.
Тем не менее, децентрализованные мессенджеры тоже развиваются — пусть и малыми силами. Тот же Element, работающий в федеративной сети Matrix, предлагает отправку сообщений, стикеров, фото и видео. Здесь есть комнаты — групповые чаты с пользователями со всего мира, аудио и видеозвонки.
Так что если хотите добиться максимальной конфиденциальности в общении, подумайте о децентрализованных мессенджерах. Для начала — хотя бы для личного общения с близкими людьми.
Илон Маск советует мессенджер Signal. Чем он лучше (и хуже) Telegram
В США в последнее время растёт популярность мессенджера Signal.
Даже Илон Маск поддержал волну хайпа. Он посоветовал пользоваться «Сигналом» у себя в Твиттере:
Что умеет мессенджер и чем он так хорош? Разбираемся.
Что за Signal такой
Сервис обмена сообщениями и звонков Signal во многом похож на Telegram.
Однако он позиционируется как самый защищённый в мире. Абсолютно вся проходящая через него информация скрывается end-to-end шифрованием. То есть доступ к ней есть только у участников беседы.
При передаче информации с помощью сквозного шифрования у отправителя и получателя генерируется специальный ключ, без наличия которого невозможно расшифровать переписку, благодаря чему данные передаются по сети интернете в полной конфиденциальности.
Даже разработчики приложения не могут посмотреть, что вы отправляете друг другу: от сообщений до видео и голосовых.
Кроме того, в Signal используется открытый исходный код, чтобы люди могли увидеть, что в программе нет скрытых функций.
Ну и последнее. Долгое время бывший сотрудник ЦРУ и АНБ Эдвард Сноуден рекомендовал использовать для общения именно Signal.
Что умеет Signal
В этом мессенджере можно отправлять текстовые, голосовые сообщения и файлы, создавать групповые чаты. Есть даже таймер самоуничтожения сообщений.
В Signal можно настроить запрос аутентификации пользователя при входе в программу. Есть код-пароль, привычный Touch ID или Face ID.
Приложение позволяет поставить защиту от предпросмотра содержимого в чате при переключении приложений в iOS. Таким образом переписка будет защищена от посторонних глаз.
Удобная фишка: в Signal можно настроить запрос пароля при бездействии и выбрать необходимый интервал времени для этого, чтобы ненароком не открыть чат для чужих глаз.
Кроме того, мессенджер позволяет подтвердить личность людей, с которыми вы общаетесь, чтобы убедиться, что их ключ шифрования не был изменён во время загрузки на ключ хакера.
Сделать это можно с помощью уникальных QR кода и столбцов с цифрами верификационного ключа, которые необходимо отсканировать с помощью камеры своего смартфона.
Что радует, так это то, что настроек приватности огромное множество:
▪️ Ретрансляция звонков через сервера Signal для защиты IP-адреса
▪️ Отображение звонков вне мессенджера, например, в штатном приложении Телефон
▪️ Изменение пин-кода, настройка напоминания о необходимости его смены
▪️ Запрос пин-кода при повторной регистрации в Signal
▪️ Блокировка мессенджера с помощью пин-кода, Face ID или Touch ID
▪️ Защита экрана: содержимое мессенджера не отображается в многозадачности
▪️ Разрешение на переписку с абонентами, которых нет в списке контактов
▪️ Очистка истории чатов
Кроме того, можно настроить отображение уведомлений на экране блокировки. Например, показывать только имя отправителя или скрыть даже его, оставив просто логотип Signal.
Если нажать на имя собеседника прямо в чате, можно просмотреть вложения и включить исчезающие сообщения. Они будут удаляться через определенное время, которое вы установите сами.
Чем он отличается от Telegram
Первое, что отличает Telegram от Signal — это методы защиты переписок. В «телеге» сквозное шифрование сообщений по умолчанию недоступно, оно работает только в Секретных чатах. Это означает, что обычные сообщения зашифрованы на вашем устройстве, а затем расшифрованы на сервере Telegram.
«Сигнал» же использует end-to-end везде. То есть любая переписка хранится только на устройствах пользователей.
В Telegram можно отправлять видеосообщения и запланированные на определённое время сообщения, а также их редактировать и удалить у обоих собеседников. В Signal таких функций нет.
Наконец, в «самом защищённом мессенджере» ограничен функционал, касаемый стикеров. Их нельзя добавить одним тапом по понравившейся наклейке, а только по ссылке. Вернее, добавить по тапу можно, но только при условии, что изображение скинул другой участник чата.
Каналов и публичных чатов здесь нет, так что и найти что-то внутри мессенджера не получится.
Попробуйте сами
Signal распространяется в App Store и Google Play совершенно бесплатно. В нём нет встроенных покупок.
Telegram, Signal, Wickr Me: выбираем самый безопасный мессенджер и разбираемся, существует ли он
Нас часто спрашивают, насколько хорошо те или иные популярные мессенджеры хранят тайны своих пользователей — переписку и пересылаемые файлы, существуют ли риски взлома самих сервисов, да и вообще, есть ли он — идеальный безопасный мессенджер? Команда департамента аудита и консалтинга Group-IB провела сравнительный анализ защищенности трех основных мессенджеров, которых чаще других называют в списке наиболее защищенных. В этой обзорной статье мы представим результаты независимого исследования и дадим свой ответ, какой мессенджер безопаснее.
О каких мессенджерах пойдет речь?
Сразу оговоримся, что отбор мессенджеров для нашего обзора производился на основе анализа существующих открытых исследований защищенности мессенджеров, их популярности в России и их позиционирования на рынке.
По итогам оценки и изучения мнений экспертов отрасли наша команда выбрала три мессенджера, ориентированные на защиту данных пользователей:
Мессенджеры устанавливались на смартфоны с iOS версии 13.3.1 и Android версии 7.1.2, при этом на смартфонах заранее были получены права суперпользователя (jailbreak для iOS и root-доступ для Android).
Как сравнивали мессенджеры?
Теперь вкратце расскажем о методике проведенного анализа защищенности. На рисунке ниже отображена схема формирования оценки по каждому мессенджеру.
Для проведения анализа мы выбрали три основные категории:
В категориях «Архитектура» и «Основная функциональность» оценка складывалась на основе результатов технических (инструментальных) проверок, которые проводились по стандарту OWASP Mobile Security Testing Guide.
В категории «Архитектура» после проведения инструментальных проверок мы получили оценку:
В категории «Основная функциональность» оценивалась корректность работы следующих функций мессенджеров:
Таким образом, максимальная итоговая оценка мессенджера может составить 332 балла и складывается в следующем отношении:
Если вам интересно узнать больше — полную информацию о методологии проведенного анализа защищенности можно найти здесь.
Сразу оговоримся, что в границы нашего исследования не вошли:
И что получилось?
Пришло время поделиться результатами исследования: как видно на диаграмме ниже, наибольшее количество баллов набрал Wickr Me — 304 из 332 возможных:
В таблице отражено, как складывалась оценка каждого мессенджера:
Давайте рассмотрим лидеров в каждой категории и найденные недостатки, после чего немного детальнее рассмотрим каждый из них.
Открытость сообществу
Лидеры в этой категории — Signal и Telegram — набрали одинаковое значение, 10 баллов. Репозитории мессенджеров содержат исходный код приложения и протоколы, доступные для исследования всем желающим. Однако мессенджеры держат закрытой серверную часть приложения, поэтому не получили максимальную оценку.
Wickr Me набрал меньше баллов, так как мессенджер не раскрывает исходный код.
Архитектура
В этой категории есть общий для мессенджеров недостаток — возможность обхода биометрической аутентификации. Эксплуатируя этот недостаток, можно получить доступ к данным пользователя мессенджера.
Лидером в категории «Архитектура» является Wickr Me, который содержит меньше выявленных недостатков, чем у конкурентов.
Signal и Telegram набрали меньше баллов, так как «небезопасно» хранят чувствительные данные мессенджера и профиля пользователя на клиентской стороне.
Из плюсов следует отметить, что все мессенджеры поддерживают E2EE-шифрование передаваемых данных, поэтому оценка Certificate pinning не проводилась.
Основная функциональность
Эту категорию можно расширять до бесконечности, но у нашей команды не было цели исследовать все реализованные фичи, и мы остановились на изучении основной функциональности мессенджеров и их безопасности:
Лидерами данной категории стали Wickr Me и Telegram, набрав максимальное количество баллов.
Версия мессенджера Signal под платформу Android содержит недостаток обработки исключений, который приводит к остановке приложения (то есть мессенджер сразу закрывается), поэтому Signal набрал меньше баллов в этой категории.
Информация о найденных недостатках
Мы описали общие результаты исследования, а теперь перейдем к более технической части. Ниже описаны некоторые детали выявленных недостатков мессенджеров.
Напомним, что все выявленные недостатки были обнаружены на устройствах с root-доступом (или к устройству применен jailbreak).
Первый недостаток, характерный для всех трех мессенджеров (для обеих платформ) — это возможность обхода описанной выше биометрической аутентификации. Дальше мы рассмотрим этот недостаток для каждой платформы.
Возможность обхода биометрической аутентификации
Современные смартфоны поддерживают несколько механизмов аутентификации, и один из возможных — это биометрическая аутентификация при помощи Touch ID или Face ID. При включенной функции биометрической аутентификации устройство сканирует отпечаток пальца (или лицо) и сравнивает с эталонным, заранее занесенным в систему.
У всех приложений, в том числе мессенджеров из нашего списка, для платформы iOS биометрическая аутентификация пользователя осуществляется при помощи Local Authentication Framework с использованием функции evaluatePolicy класса LAContext. Рассмотрим работу биометрической аутентификации немного подробнее.
Как выглядит биометрическая аутентификация для пользователя?
При нажатии на логотип мессенджера отображается диалоговое окно аутентификации, которое запрашивает у пользователя подтверждение действия, например, изменение настроек, покупку и т.д. с помощью биометрической аутентификации (Touch ID/Face ID).
В зависимости от того, как закончился процесс биометрической аутентификации, функция evaluatePolicy возвращает значение («true» или «false»), которое используется далее для управления приложением (например, открывается мессенджер или нет).
В чем заключается недостаток?
У всех исследуемых мессенджеров недостаток реализации биометрической аутентификации состоит в том, что пользователь аутентифицируется лишь на основе результата функции evaluatePolicy («true» или «false») и мессенджер не использует системные механизмы авторизации при доступе к значениям из защищенного хранилища Keychain. Более подробно о локальной аутентификации можно узнать в Mobile Security Testing Guide: здесь и здесь.
Как устранить недостаток?
Один из способов устранить описанный недостаток — создать в защищенном хранилище Keychain запись, которая будет содержать некоторый секрет (например, упомянутый ранее аутентификационный токен). При сохранении записи в Keychain необходимо задать соответствующие атрибуты, например, kSecAccessControlTouchIDAny или kSecAccessControlTouchIDCurrentSet.
Далее, чтобы получить значение этой записи, нужно будет обязательно успешно пройти локальную аутентификацию (в зависимости от заданных настроек доступа в Keychain — с помощью Touch ID/Face ID или ввода парольной фразы). Использование Keychain с необходимыми атрибутами сохраняемых в нем объектов позволит снизить возможность получения доступа к данным мессенджера.
Android
Описанный выше недостаток характерен и для мессенджеров платформы Android, поэтому мы рассмотрим работу биометрической аутентификации немного подробнее.
В приложении для платформы Android биометрическая аутентификация пользователя осуществляется с использованием классов FingerprintManager (не используется с Android 9), BiometricPrompt, BiometricManager.
Процесс биометрической аутентификации для пользователя на платформе Android выглядит абсолютно так же, как и на iOS.
В чем заключается недостаток?
Недостаток реализации биометрической аутентификации исследуемых мессенджеров для платформы Android аналогичен недостатку для iOS — не используются возможности операционной системы и устройства: мессенджеры не запрашивают системную авторизацию пользователя через KeyStore. Таким образом, потенциальный злоумышленник может подменять результат выполнения процедуры аутентификации для ее обхода.
Как устранить недостаток?
Для устранения данного недостатка в приложении рекомендуется использовать симметричные/асимметричные криптографические ключи (класс KeyGenerator), при инициализации которых вызывать функцию setUserAuthenticationRequired (true). Вызов данной функции позволяет получить доступ к значениям соответствующих криптографических ключей только после успешного прохождения процесса локальной аутентификации. Ключи при этом используются для шифрования некоторого секрета, например, аутентификационного токена в приложении.
Хранение чувствительной информации в локальном хранилище
Еще один обнаруженный недостаток — небезопасное хранение чувствительных данных в локальном хранилище — характерен для двух из трех мессенджеров.
Ниже мы привели примеры небезопасного хранения чувствительной информации в локальном хранилище, которые встречаются у некоторых мессенджеров платформы iOS:
Для устранения данного недостатка рекомендуется пересмотреть архитектуру и способы хранения чувствительных данных мессенджера.
Еще раз напомним, что вышеуказанные чувствительные данные мессенджера недоступны без использования root-доступа (или jailbreak) на устройстве.
Некорректная обработка исключений
Данная уязвимость относится только к платформе Android и мессенджеру Signal.
При исследовании основной функциональности мессенджеров осуществлялась отправка файлов разных форматов. В результате был найден один сценарий, при котором отправка файла вызывала остановку в работе мессенджера со следующей ошибкой: «Signal has stopped».
Исследование лог-файлов мессенджера показало, что у мессенджера есть необрабатываемое исключение. Информация об ошибке на внешние серверы не отправляется.
Как устранить недостаток?
Чтобы избавиться от данного недостатка, нужно реализовать проверку формата файла, который пользователь выбирает для отправки.
Ответы разработчиков
Обо всех описанных выше недостатках наша команда сообщила разработчикам мессенджеров. На момент публикации мы получили ответ от двух из трех мессенджеров (Signal и Telegram), третий на наши вопросы так и не ответил.
Разработчики поблагодарили нашу команду за предоставленную информацию и сообщили, что не считают выявленные недостатки уязвимостью, поскольку исследуемые версии мессенджеров используют для защиты данных мессенджера штатные механизмы защиты информации операционной системы. Используемые механизмы не позволяют эксплуатировать выявленные недостатки, а использование на устройстве root-доступа (или jailbreak) остается на усмотрение пользователя.
Тем не менее, мессенджеры могут реализовать проверку наличия root-прав на устройстве и уведомлять об этом пользователя устройства для снижения риска потенциальной компрометации данных.
Вывод
Мы провели сравнительный анализ защищенности трех мессенджеров, позиционирующих себя как безопасные, и выяснили, что все мессенджеры имеют ряд общих недостатков, а у Signal и Telegram также выявлены недостатки реализации хранения чувствительной информации в локальном хранилище.
Несмотря на то, что эксплуатация вышеуказанных недостатков возможна только при наличии физического доступа к смартфону, по оценке нашей команды, все эти недостатки снижают уровень защищенности данных пользователя.
По итогам всех проверок лидером нашего исследования стал мессенджер Wickr Me, который набрал 304 балла и у которого выявлено меньше всего недостатков.
Вывод прост: абсолютно безопасных мессенджеров нет, но мы надеемся, что благодаря этому исследованию вы сможете сохранить конфиденциальность и повысить безопасность своего общения, зная обо всех подводных камнях выбранного вами сервиса.












