Правда ли что телеграмм безопасен
Как защитить Telegram от взлома: главные и простые правила
Современное программное обеспечение и онлайн-сервисы имеют достаточную степень защиты, которая обеспечивает неприкосновенность персональных данных. Иногда случаются утечки, однако обычно они прямо или косвенно связаны с наличием в цепочке «человеческого фактора». Сегодня напомним о некоторых базовых правилах обеспечения безопасности в мессенджере Telegram.
1. Включите двухфакторную авторизацию (иначе — двухэтапная аутентификация)
Если вы не впитали с молоком матери правило активировать двухфакторную авторизацию в абсолютно любом приложении или сервисе, нужно сделать это прямо сейчас. У вас не должно быть иллюзий о том, что раз ваш телефон у вас в кармане и в Telegram стоит сложный пароль уровня 1q2w3e4r5t6y, вас не взломают. Сегодня важнее не пароль, который можно потерять или засветить, а дополнительные инструменты.
Telegram сделал все, чтобы настроить безопасность в один присест: не нужно лазить по меню, достаточно войти в настройки и перейти в «Конфиденциальность».
Здесь вы активируете двухэтапную аутентификацию, задаете пароль и почту для его получения. Желательно выбрать новый и неизвестный ранее пароль: мошенники знают, что обычно люди используют одно кодовое слово для всего.
Отметим, что на Android двухфакторная аутентификация в настройках именно так и называется. А на iOS в русскоязычной версии приложения Telegram «двухфакторка» указана как «облачный пароль».
2. Проверяйте «Активные сеансы»: в них перечислены все устройства, с которых вы входили в учетную запись Telegram. Это могут быть компьютеры и смартфоны ваших друзей, рабочие компьютеры, где вы, например, воспользовались веб-версией Telegram, ваши старые телефоны и так далее. Здесь можно завершить все остальные сессии, оставив авторизованной лишь на том устройстве, с которого вы проводите настройки мессенджера.
3. Пройдитесь по всем пунктам в закладке «Конфиденциальность»: здесь есть подробное описание каждой функции. В частности, есть запрет на просмотр вашего номер телефона (найти вас можно будет только по никнейму, если это, опять же, разрешено в настройках). В настройках можно посмотреть, кто уже видит ваш номер.
4. Запретите включения вас в группы, каналы — такие действия не стоит разрешать для всех, в лучшем случае — для ваших контактов. Можно отключить данные функции вовсе и лишь при необходимости активировать — доверенное лицо добавило вас в чат, например, после чего вы снова активируете запрет на такие действия. Да, это требует лишних телодвижений и времени, но потеря аккаунта — хуже. Запретите звонки тем, кто не включен в список контактов.
5. Важный пункт — «Пересылка сообщений». В нем стоит полностью отключить ссылку на вашу учетную запись, а ваши контакты и так вас знают. Тогда, если кто-то процитирует ваше сообщение или перешлет его в сторонний чат, группу и так далее, никто не сможет перейти в ваш профиль по ссылке, «привязанной» к имени (никнейму).
6. Скройте фотографию профиля вашей учетной записи либо для всех, либо (и это обязательный минимум) для тех, кто не внесен в список ваших контактов.
7. Проверьте «синхронизацию контактов» — она обеспечивает хранение данных в облаке и синхронизацию списков контактов с адресной книгой телефона. Если функция активна, все, кто записан в вашей телефонной книге (не Telegram, а именно мобильника), смогут связаться с вами через мессенджер (как и вы с ними). Иногда данную функцию рекомендуют отключить, так как обычно в телефонной книге есть немало малознакомых людей, в том числе случайных.
Наш канал в Telegram. Присоединяйтесь!
Есть о чем рассказать? Пишите в наш телеграм-бот. Это анонимно и быстро
Безопасен ли Телеграм: прослушивается ли спецслужбами и насколько защищен
Насколько безопасен Телеграм?
Безопасность данных подписчиков Telegram зависит от возможностей мессенджера, бесперебойной работы программы и самих пользователей. Приложение защищает информацию о клиентах несколькими способами.
Как работает шифрование
Пользователи Telegram должны знать, что их переписка передается в зашифрованном виде. Сообщения при отправке зашифровываются и преобразуются в код, который представляет собой набор непонятных символов. Когда информация получена, она расшифровывается.
Мессенджер автоматически выполняет аналогичный процесс, используя специальные клавиши. Шифрование и дешифрование выполняются только на клиентских устройствах Telegram (компьютеры, смартфоны), но не на сервере. Отправленные сообщения остаются зашифрованными до тех пор, пока не будут получены. Программы шифрования устанавливаются по умолчанию (кроме функции активации секретного чата). Пользователям не нужно знать кодировку информации. Главное научиться пользоваться Telegram, изучить возможности приложения.
В мессенджере используется два типа шифрования:
Переписка облачных пользователей сохраняется на сервере Telegram. Правда, там он тоже хранится в зашифрованном виде. С любого устройства вы можете получить доступ к своей учетной записи, и, благодаря резервированию на сервере, все сообщения в профиле будут сохранены. Обмен сообщениями в облаке зашифрован с использованием симметричного шифрования.
Telegram предлагает своим подписчикам возможность создавать не только простые сообщения, но и секретные чаты. Эта функция доступна только на смартфонах. Сообщения, созданные с использованием сквозного шифрования и активации секретного чата, передаются от отправителя к получателю в зашифрованном виде.
Корреспонденция не поступает и не хранится на сервере. Никто не может его прочитать (кроме отправителя и получателя). Секретные сообщения надежно защищены и через некоторое время удаляются сами, но для этого рекомендуется при отправке установить таймер самоуничтожения.
Помогают ли длинные пароли
До недавнего времени доступ к Telegram в Российской Федерации был возможен без пароля. При входе сервер отправлял подписчикам облачный код на номер телефона. Эту комбинацию символов нужно было ввести в активную строку. Запись производилась с правильным введением отправленного облачного кода. Второй и последующие разы можно было без проблем войти в Telegram. Никакой дополнительной аутентификации не требовалось.
Если Telegram входит в систему с другого устройства, на номер телефона клиента был отправлен другой облачный код. Для входа в мессенджер достаточно иметь доступ к сим-карте, указанной при регистрации.
Мы рекомендуем вам настроить функцию, которая позволяет вам вводить пароль при входе в свою учетную запись. Установка дополнительного пароля находится в «Настройках». Пароль должен состоять не менее чем из 8 символов. Чем он длиннее, тем надежнее. При входе в свой профиль вам потребуется двойная аутентификация, то есть ввести облачный код и пароль. Двухступенчатая защита увеличивает степень защиты данных.
Взлом серверов
Взломать сервер Telegram не так-то просто. Разработчики мессенджера даже несколько раз объявляли конкурс и предлагали хакерам денежное вознаграждение. Правда, приз в несколько сотен тысяч долларов за взлом сервера Telegram никто не получил.
Иногда программа дает сбой, не позволяет отправлять сообщения, а отправленную информацию невозможно открыть или прочитать. Это часто случается, если Telegram перегружен запросами. В этом случае вам нужно подождать некоторое время (несколько минут или часов), и программа заработает. Серверы Telegram расположены в пяти разных странах. Взломать их практически невозможно. Однако время от времени программа может давать сбой. Через некоторое время эта проблема исчезнет сама по себе.
Перехват файлов
Существуют специальные программы для перехвата файлов, отправленных пользователем Telegram. Подобные продукты устанавливаются в компаниях, ведущих деловую переписку с помощью мессенджера. Установка программы для перехвата файлов осуществляется с разрешения руководства. С его помощью отслеживается переписка сотрудников.
Если кто-то отправляет конфиденциальную информацию конкурентам, программа перехватывает файлы. С помощью такого алгоритма можно осуществлять несанкционированный перехват данных.
Увы, Telegram уже взламывали, причём демонстративно
Пользователь Хабра ne555 год назад подробно рассказал, как взломать Telegram. Он обошел сквозное шифрование мессенджера в Android и отправил разработчикам отчет об ошибке.
Не получив ответа, ne555 связался с волонтерами, которые обещали передать информацию руководству Telegram. Но никакой реакции не последовало.
Результат: хакер обошел двухфакторную аутентификацию, получил доступ к секретным чатам со сквозным шифрованием и смог читать и отправлять им сообщения.
При этом настоящий владелец аккаунта даже не догадывался, что его взломали.
И когда хакер попытался выйти из всех сеансов с реальной учетной записи, фальшивая учетная запись даже не была выгнана из сети. Ключи сеанса и графика также не изменились.
В целом хакеру удалось провести еще несколько экспериментов, пока аккаунт Telegram не был заблокирован, а секретные чаты не удалены. Не быстро, давайте посмотрим правде в глаза.
Связи пользователей Telegram друг с другом тоже раскрывали
Чтобы выявить связи любого выбранного абонента, прослушать его голосовую почту, прочитать переписку, необходимо сначала войти в его учетную запись. Самый простой способ войти в систему – использовать облачный пароль. Вы можете войти в определенную учетную запись пользователя с другого устройства. Вы также можете получить чужой пароль, взломав страницу с помощью хакерской программы. Сотовый протокол SS7 уязвим. Хакеры могут использовать специальную программу для перехвата пароля, отправленного на телефон в виде SMS.
Сложнее получить доступ к учетной записи, которая даже защищена паролем. Двойная степень защиты полностью исключает взлом страницы. Если пользователь использует секретный чат, взломщик его профиля не найдет никакой информации. Сквозные зашифрованные сообщения не сохраняются на сервере или в профиле клиента, они автоматически удаляются через некоторое время.
Передаваемые через Telegram файлы уже перехватывали
В июне Symantec рассказала об уязвимости Media File Jacking для Android-версий Telegram и WhatsApp. Установлено, что мессенджеры сохраняют изображения во внутренней памяти или во внешней памяти. Второй опасен.
Если вы отправляете файлы на внешнее хранилище, они могут быть украдены внешними вредоносными программами. А также заменить или изменить.
Следовательно, скриншоты с номерами карт и кошельков не должны передаваться точно таким образом. А также личные фотографии душа.
Многие эксперты считают защиту в Telegram просто маркетингом
Telegram не намерен говорить о протоколе MTProto 2.0 и никогда не проводил внешний аудит.
Еще один момент: что происходит, когда пользователь Telegram отправляет сообщения, а получатель не в сети? Вероятно, сообщения отправляются на серверы Telegram, объединенные в виртуальное облако. Они синхронизированы друг с другом. Как только получатель появится в сети, он получит сообщения.
Таким образом, трафик по-прежнему проходит через сервер. Хотя многие специалисты считают, что логичнее было бы установить соединение клиент-клиент, например, одноранговое (P2P).
В итоге получается, что общение в Telegram вообще не работает без постоянного использования серверов. В других мессенджерах есть более элегантные и безопасные решения, например, когда серверы используются только для сравнения текущих IP-адресов собеседников и организации прямого соединения между ними.
Кроме того, эксперты считают, что алгоритм Диффи-Хеллмана в Telegram сознательно ослаблен на уровне генератора псевдослучайных чисел. Эти номера не генерируются на вашем смартфоне или ПК: приложение запрашивает их с сервера. Как там организовано поколение, знают только разработчики.
Клиент с открытым исходным кодом – еще одна большая проблема. Более-менее регулярно обновляется только репозиторий настольной версии, и снова он размонтируется. Из каких готовых дистрибутивов они собраны, быстро проверить невозможно.
Привязка к телефону
Аккаунты Telegram привязаны к номерам телефонов. Это влияет как на анонимность, так и на безопасность.
Коды подтверждения отправляются через SMS. Известная дыра в протоколе сотовой связи SS7 позволяет их перехватывать и заменять.
Перехватывая код, вы получите доступ к переписке в обычных чатах. Вам даже не нужно ломать MTProto. Сервер автоматически изменит ключ и расшифрует недоставленные сообщения. И это минимум!
Еще одна проблема – push-уведомления. Именно они предупреждают о прибытии, не запуская мессенджер. Но сервер push-уведомлений на самом деле является разрешенной вами атакой типа “злоумышленник посередине”. И так обстоит дело во всех популярных мессенджерах.
Что делать обычному пользователю Telegram?
Не ведите приватных чатов. Не передавайте через них информацию, которая может быть использована против вас.
Альтернативой Telegram, например, является Signal. Его рекомендовали основатель WikiLeaks Джулиан Ассанж и бывший офицер АНБ и ЧР Эдвард Сноуден.
Другой вариант – мессенджеры с поддержкой OTR: Adium, Conversations Legacy, Xabber, Pidgin (с плагином), Conversations и т.д. И личные встречи в чистом поле без свидетелей.
Как деанонимизацией в Telegram пользуются силовики?
Как правило, у них есть свои боты, и для них вообще не проблема войти в аккаунт. Сотрудник службы безопасности может пойти в магазин мобильного оператора, предоставить фальшивую доверенность и получить сим-карту с нужным номером. Через него он входит в свой аккаунт (в утечках чаще всего просачиваются пароли).
Массовая деанонимизация мессенджеров началась в 2020 году. Сотрудники службы безопасности обратились к предполагаемым администраторам канала Telegram Cello Case, где произошла утечка компромата, и изъяли SIM-карту, привязанную к учетной записи. То же самое произошло после фальшивых публикаций на Незыгаре о введении комендантского часа. Данные о директорах впоследствии были опубликованы на других каналах.
Как обезопасить себя от деанонимизации?
Вот несколько советов от правоохранительных органов:
• Иметь как минимум две учетные записи: для тех, кому вы доверяете, и для остальных
• Используйте двухфакторную аутентификацию. Это означает, что для доступа к своей учетной записи вы должны сначала ввести имя пользователя и пароль, а затем написать специальный код по SMS или электронной почте
• Клонируйте необходимые учетные записи на гаджете резервного копирования
Что можно узнать, имея номер телефона?
Благодаря ему вы можете увидеть, в каком еще мессенджере находится этот человек, если номер встречался на других сайтах, например, на Авито. В платных телеграм-ботах вы найдете страницу ВКонтакте, связанную с этим номером телефона и даже с машиной этого человека.
Как увеличить безопасность приложения?
Пользователи Telegram, использующие возможности мессенджера для личной переписки, могут ввести пароль при входе и не беспокоиться о безопасности своих данных. Взлом личных страниц происходит крайне редко. Хакеры работают за высокие денежные комиссии. Информация, не содержащая коммерческой тайны, никого не интересует.
Нередко взламывают деловую переписку, которую ведут сотрудники компании с помощью Telegram. Мессенджер предлагает своим клиентам возможность хранить и отправлять документы, фотокопии, фотографии, текстовые, голосовые и видео файлы. Рекомендуется защитить конфиденциальную информацию от взлома. Не рекомендуется доверять конфиденциальную информацию мобильным приложениям.
Способы защитить вашу переписку в Telegram:
Правда, информацию на компьютере или смартфоне можно прочитать при включенном устройстве. В этом случае рекомендуется установить пароль для доступа к устройству.
Надежность защиты переписки в Telegram зависит не только от программных возможностей мессенджера, но и от самих клиентов. Рекомендуется не оставлять смартфон без присмотра. Рекомендуется выключать компьютер в нерабочее время.
Ни одна программа не может гарантировать 100% защиту от взлома. Конфиденциальную информацию Telegram лучше не доверять. Приложения, поддерживающие OTR, считаются более надежными (например, Conversations, Adium, Xabber и другие).
Как общаться в Telegram безопасно
Чтобы общаться в Telegram максимально безопасно, воспользуйтесь нашими советами:
Можно ли удалить информацию из баз?
Да, полное удаление человека из базы стоит 100-200 тысяч рублей. На защиту от проникновения стоит 12 тысяч рублей в год.
Способы сделать использование мессенджера еще более безопасным
Мы выяснили, насколько безопасен Telegram. Но разработчики предоставили пользователям сервиса дополнительные инструменты, чтобы сделать общение по-настоящему безопасным. Они работают как коллективно, так и по отдельности.
Создавайте секретные чаты для большей безопасности
Для переписки в секретных чатах применяется специальный метод шифрования: пользователь – пользователь. Что предлагает:
* Разработчик до сих пор не обещает 100% защиты от проверки переписки.
Создать секретный чат несложно:
Включайте опцию самоуничтожения сообщений по таймеру
В секретном чате можно активировать самоуничтожение сообщений по таймеру. В этом случае ваши сообщения после прочтения получателем будут удалены через определенный промежуток времени. Минимальный период таймера – 1 секунда, максимальный – 1 неделя. Сообщения удаляются как на вашем устройстве, так и на устройстве получателя. Так ваша безопасность в Telegram будет еще выше.
Примечание. Если таймер исходящих сообщений составляет менее 1 минуты, получатель сможет просматривать отправленные вами фотографии, только удерживая их пальцем. Это создает дополнительные трудности при попытке сделать снимок экрана с экрана.
Подключайте двухэтапную авторизацию
Как вы понимаете, если злоумышленник получит доступ к вашей SIM-карте, он сможет легко получить доступ к вашему профилю Telegram на любом устройстве. Но если вы включите двухэтапную проверку, злоумышленник не избежит наказания. Как это работает:
включить функцию очень просто:
Поэтому наличия сим-карты на руках у злоумышленника будет недостаточно для доступа к вашему профилю в мессенджере. Ваши личные данные в безопасности
А для еще большей безопасности можно установить код-пароль
Код-пароль – это возможность закрыть доступ к мессенджеру любому, кто попадет в руки к телефону. Например, ребенок берет в руки смартфон, чтобы посмотреть фотографии или поиграть в игру: зачем беспокоиться, что он что-то удалит из переписки или отправит себе сообщение там, где ему это не нужно (например, начальнику). Просто измените настройки приватности, и система запросит пароль при запуске приложения. И вопрос о том, читает ли ваша семья Telegram в ваше отсутствие, отпадет сам собой.
И в заключение напоминаем о необходимости соблюдать гигиену в Интернете: мы выходим в Интернет только с работающим антивирусом, мы не останавливаемся на сайтах с летающими баннерами и ни в коем случае не нажимаем на эти баннеры. Также следует быть внимательными при выборе сайтов для загрузки программ.
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 балла и у которого выявлено меньше всего недостатков.
Вывод прост: абсолютно безопасных мессенджеров нет, но мы надеемся, что благодаря этому исследованию вы сможете сохранить конфиденциальность и повысить безопасность своего общения, зная обо всех подводных камнях выбранного вами сервиса.