Курс по анонимности и безопасности в сети
Предыдущая глава Следующая глава

Глава 91

Деанонимизация пользователей мессенджеров при помощи P2P-соединения

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

Вы арендовали сервера в датацентрах, расположенных в различных частях мира (даже если вы решили начать скромно, сервера точно будут нужны в Европе, Азии и Америке), и наняли штат сотрудников, которым регулярно необходимо выплачивать заработную плату.

И вот вы запустились, оказавшись на рынке, где вас ждет непростая конкуренция с другими мессенджерами, включая WhatsApp, Viber, Signal, Skype и Telegram.

Как пользователи выбирают средства связи для деловых и личных коммуникаций? Четыре основных, на мой взгляд, критерия: распространенность, безопасность, удобство и качество. Поговорим о качестве.

Допустим, вашим мессенджером пользуются Иван из Новосибирска и Сергей из Уфы. Иван пишет сообщение Сергею, и оно в виде зашифрованных данных идет из Новосибирска в датацентр Европы или Азии и затем оттуда в Уфу к Сергею.

Сообщение пролетает едва ли не половину земного шара, а может и больше, если предположить, что приложение Сергея работает через proxy-сервер в США. Скорость доставки будет зависеть не только от расстояния между собеседниками, но и от загруженности сети, однако при отправке текстовых сообщений это малозаметно.

Но вот Иван и Сергей решают пообщаться голосом, где скорость и качество доставки данных уже серьезно влияют на качество связи. В этом случае у них просто не получится нормально поговорить: звук будет прерываться, доходить с задержкой. Как вы думаете, кого обвинят Сергей и Иван? Расстояние? Свое непонимание архитектуры мессенджера? Нет, они обвинят ваш мессенджер и перейдут к конкуренту.

Вы думаете, что же вам предпринять, и приходите к выводу, что самое правильное решение – исключить ваши сервера, а еще лучше и все прокси, указанные в приложении, если только такая возможность у вас есть.

Зная IP-адреса собеседников, нет никакой сложности соединить их напрямую, исключив ваш сервер, это называется P2P-соединение. Все гениальное просто. Теперь данные не путешествуют по миру, а проходят всего немногим более 2000 км (по самым скромным подсчетам, Уфа – Амстердам – Новосибирск – это более 9500 км).

А вот со средствами проксирования сложнее. Если прокси-сервер, прописанный в приложении, можно убрать при соединении между собеседниками, предварительно проверив, может ли приложение подключаться без него, то правильно настроенный VPN вы уже не уберете. Для понимания: если в цепочке будет прокси-сервер в Нью-Йорке, расстояние Уфа – Нью-Йорк – Новосибирск выйдет примерно в 18 000 км.

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

Итак, качество связи улучшается, и Сергей с Иваном становятся довольными пользователями вашего мессенджера.

Но у Ивана есть недоброжелатели, которые хотят получить его IP-адрес, зная только контакт в мессенджере. Они совершают звонок Ивану, ваш мессенджер, естественно, пробует соединить собеседников напрямую. Злоумышленники же проверят, на какой IP-адрес мессенджер пытается выполнить звонок, это и будет IP-адресом Ивана.

Вы, как владелец мессенджера, осведомлены о такой проблеме, и у вас есть два пути. Первый – игнорировать проблему, как длительное время делало руководство Skype. В результате популярность получили так называемые Skype резольверы - сайты или программное обеспечение, которое позволяло по логину узнать IP-адрес владельца, а некоторые даже историю используемых IP-адресов.

Предлагаемое на черном рынке программное обеспечение могло регулярно мониторить статус жертвы и ее IP-адрес. Да, от Skype резольверов существовала защита, например, можно было разрешить совершать звонки только контактам или прописать в настройках прокси протокол HTTPS, хост 127.0.0.1, порт 40031, но по умолчанию ничего этого в настройках не было.

Гораздо печальнее, что проблема затронула и Telegram, когда после появления звонков десктопное приложение не имело настроек для защиты от P2P-соединения. Проблему быстро исправили, однако некоторое время все пользователи десктопной версии Telegram были подвержены данной угрозе.

Создатель Telegram Павел Дуров, комментируя уязвимость, сослался на то, что она затронула лишь 0,01% всех вызовов, а также указал, что конкуренты вроде WhatsApp и Viber допускают утечку IP-адресов в ста процентах случаев.

Вот почему, в отличие от WhatsApp или Viber, Telegram всегда предоставлял своим пользователям возможность отключать вызовы P2P и передавать их через сервер Telegram. Более того, в большинстве стран мы отключили P2P по умолчанию.
Павел Дуров

Второй путь - защита  пользователей, например, отключить P2P по умолчанию или оставить только для контактов.

Защита от деанонимизации через P2P-соединения

В случае с Telegram, для защиты необходимо убедиться, что P2P-звонки отключены в настройках или в крайнем случае оставлены только для контактов (Настройки>Конфиденциальность>Голосовые звонки).

деанонимизация p2p

Немного социальной инженерии

Описанным ниже способом я помог получить IP-адрес одного мошенника с Telegram. К сожалению, жертве это не помогло, так как мошенник оказался из другой страны, но вам история может стать полезной пищей для размышления.

Мы вышли на мошенника как очередная жертва, представившись молодой девушкой, и, войдя в доверие, попросили голосом рассказать о его услуге. Причем, предварительно подключив подругу, мы отправляли ему аудио с женским голосом, было много комплиментов, много смайликов – и рыбка клюнула.

Но связь то и дело обрывалась при попытке соединения, и тогда девушка прислала это сообщение: «У тебя, наверное, в настройках звонков P2P не включено, потому и не можем общаться, включи в настройках тележки».

Вы не поверите, но он включил и поделился своим IP-адресом с нами. Наверное, с матерым хакером такое не пройдет, а вот различных мошенников и наркоторговцев так вычислять можно.

Надоело читать? Смотрите наш канал

YouTube канал от CyberYozh
Предыдущая глава
22057
Следующая глава