6. Для достижения секретности (как прямой, так и обратной) нужно время от времени менять ключи. В этом случае злоумышленник сможет прочитать только фрагмент переписки между перевыпусками ключей.
7. Возможность отрицать сказанное. В случае действительно приватного разговора только вы и ваш собеседник можете процитировать его. В этой ситуации ваши слова («Я такого не говорил!») противоречат словам вашего собеседника («Вы это сказали!»), и ни одна из сторон не может доказать свою правоту[352]. Так как сообщения обоих собеседников шифруются одним и тем же открытым ключом, невозможно точно определить отправителя каждого сообщения.
Максимально безопасный мессенджер сочетает все описанные аспекты и, кроме того, шифрует резервные копии сообщений; также он защищен от создания снимков экрана (обратите внимание: это не панацея, так как собеседник может сфотографировать экран смартфона). Кроме того, рекомендуется выбирать мессенджер с открытым исходным кодом[353] – это позволяет сообществу исследователей и специалистов по информационной безопасности (ИБ) убедиться в отсутствии «подводных камней» и проинформировать разработчиков о багах, если таковые обнаружены. Также полезна функция самоуничтожения сообщений, которые автоматически удаляются сразу или спустя определенное время после прочтения. Функция имеет свои недостатки, например получатель может сделать снимок вашего сообщения, прежде чем оно будет удалено. Вы будете об этом уведомлены (кроме случаев, когда скриншот сделал пользователь macOS)[354].
Примечание. Настороженно относитесь к веб-версиям мессенджеров. К примеру, существует веб-интерфейс WhatsApp, работающий через защищенный протокол HTTPS[355]. Но, как и при использовании любых других сайтов, ресурсы, необходимые для запуска приложения, загружаются при каждом новом посещении сайта, т. е. даже если веб-браузер поддерживает шифрование, веб-приложение может быть подменено вредоносной версией и ваши сообщения могут быть перехвачены злоумышленниками[356].
У каждого «защищенного» мессенджера есть свои преимущества и недостатки. К примеру, Threema не запрашивает для идентификации адрес электронной почты или номер телефона, что, безусловно, плюс, но этот мессенджер имеет закрытый исходный код и внесен в «Реестр организаторов распространения информации»[357]. Исходный код мессенджера Signal открыт и протестирован специалистами по ИБ, которые не нашли в нем существенных недостатков[358], но в то же время для аутентификации он запрашивает номер телефона, деанонимизируя пользователя. Это особенно опасно, поскольку в РФ оператор мессенджера имеет право оказывать услуги только тем пользователям, которых он идентифицировал по номерам их мобильных телефонов и которым присвоил уникальный код идентификации[359],[360]). Бесплатный кроссплатформенный мессенджер Wire поддерживает сквозное шифрование переписки и переговоров. При регистрации требуется адрес электронной почты, телефонный номер указывать необязательно. Недостаток большинства мессенджеров – они централизованы, т. е. имеют центральное звено перенаправления трафика, серверы. Это тоже важный аспект, потому что:
■ трафик могут перехватывать и анализировать владельцы сервиса и другие заинтересованные субъекты;
■ даже если трафик надежно зашифрован, на сервере могут сохраняться метаданные о ваших коммуникациях, например, WhatsApp отправляет на серверы Facebook огромное количество метаданных о пользователях, причем в незашифрованном виде;
■ так как существует центральное звено, отключение серверов приведет к выходу всей сети из строя и невозможности общения, что опасно в чрезвычайной ситуации.
Существуют разработки, лишенные централизации (т. е. децентрализованные) и использующие для обмена информацией пиринговые соединения (например, Tox или Jami) или блокчейн (к примеру Adamant или Сrypviser). Эти мессенджеры развиваются и не лишены недостатков (к примеру, IP-адреса пользователей отображаются в логах провайдера[361]), а два последних криптомессенджера к тому же платные[362], что не устраивает часть пользователей.
Регулярно обновляемая таблица, содержащая сравнение наиболее популярных защищенных мессенджеров, приведена на странице https://www.securemessagingapps.com. Кроме того, перспективные мессенджеры, разработчики которых стремятся обеспечить анонимность и конфиденциальность пользователей, исследованы в этом материале: https://telegra.ph/SHifrujsya-gramotno-Izuchaem-perspektivnye-messendzhery-dlya-privatnoj-perepiski-02-21.
Старый добрый Jabber
Если ни один из современных мессенджеров не подходит для конфиденциального и анонимного (и бесплатного) общения, то можно воспользоваться протоколом Jabber. Для организации «тайной» связи понадобится клиент (например, Pidgin (https://www.pidgin.im)) и плагин OTR (https://otr.cypherpunks.ca). Для сокрытия IP-адреса также потребуется надежный VPN, а для общения на мобильных устройствах – в iOS программа ChatSecure (https://chatsecure.org), а в Android программа Conversations (https://conversations.im). Подробная инструкция по настройке приведена на странице https://xakep.ru/2017/07/21/jabber-otr-howto/.
■ Следите за «чистотой» среды запуска мессенджера. Важно не только подобрать мессенджер, наиболее полно решающий проблемы конфиденциальности и/или анонимности, но и обеспечить защиту среды, в которой он запускается. К примеру, если на устройстве присутствуют вредоносные приложения, программы с излишними разрешениями или открыт root-доступ, то и самый защищенный мессенджер будет неспособен предотвратить утечку переписки.
■ Обратите внимание на настройки конфиденциальности мессенджера. Если это мобильное приложение, изучите разрешения, которые требует программа. Возможно, некоторые из них излишни, например синхронизация контактов или доступ к данным о местоположении[363].
■ Аутентифицируйте собеседника любым доступным способом, так как, не говоря с ним, вы не можете опознать его по голосу (да и голос можно подделать). Сверяйте отпечатки ключей в настройках мессенджера, используя другой защищенный канал связи, либо, если требуется подтвердить личность собеседника дополнительно, задавайте вопросы, ответить на которые может только тот, чью личность вы хотите подтвердить.
Примечание. Не все мессенджеры, использующие номер телефона для регистрации/аутентификации пользователя, хранят его вдали от посторонних глаз. К примеру, в мессенджере Telegram злоумышленник может создать множество ботов, каждый из которых содержит в своей адресной книге разные телефонные номера, а затем подключиться к нужной группе, чтобы деанонимизировать ее участников. Telegram сообщит, какие из номеров зарегистрированы в приложении (даже если в настройках Telegram отключен показ номера телефона посторонним) и состоят в выбранной группе. Аналогичной уязвимостью обладает и мессенджер Signal[364].
■ Защищайте доступ к мессенджерам с помощью двухфакторной аутентификации. Так, если вы авторизуетесь в мессенджере с помощью подтверждающего SMS-кода, обязательно защищайте доступ к переписке паролем. Злоумышленник может перехватить SMS-сообщение через уязвимости в системе протоколов ОКС-7 или перевыпустить SIM-карту и получить доступ к разговорам (кроме «секретных»).
Примечание. Функция автозаполнения, доступная на многих устройствах под управлением ОС Android и iOS, может представлять опасность, так как злоумышленник способен перехватывать содержимое SMS-сообщений и push-уведомлений. Суть этой функции в том, что приложение, запрашивающее одноразовый код для подтверждения операции (например, аутентификации пользователя), автоматически считывает его из сообщения и вставляет в соответствующее поле. С помощью MITM-атаки злоумышленник может перехватывать такие коды, поэтому эксперты по ИБ считают, что безопаснее вводить код вручную[365].
■ По-настоящему секретные разговоры ведите только при личной встрече. Соблюдение всех аспектов безопасного общения возможно только при личной встрече. Так вы сможете обеспечить конфиденциальность (убедившись в отсутствии посторонних людей и средств перехвата, а также отключив телефоны (заблокировав передачу сигнала)), аутентичность (вы сможете увидеть и опознать своего собеседника), целостность (вы будете уверены, что собеседник услышал именно то, что вы сказали), прямую и обратную секретность (если нет посторонних и подслушивающих устройств), и у вас будет возможность отрицать сказанное (так как вас всего двое).
Практическое задание
1. Проверьте мессенджеры, которыми вы пользуетесь. Все ли они безопасны – обеспечивают конфиденциальность пользователей, поддерживают сквозное шифрование и т. п.? Часто ли фиксируются утечки данных из используемых вами мессенджеров?
2. Вы пользуетесь обычными или секретными чатами? Открывайте секретные чаты для тех переговоров, которые хотите сохранить в тайне.
3. Умеете ли вы включать функцию самоуничтожения сообщений, если она доступна в используемом вами мессенджере?