Тайминг-атака. Как спецслужбы деанонимизируют пользователей мессенджеров
Представьте себе ситуацию: вы сотрудник спецслужбы, и ваша задача – вычислить особо опасного преступника, занимающегося шантажом и появляющегося в сети периодически и только для передачи данных. Для преступной деятельности он завел отдельный ноутбук, из которого «вырезал» микрофон, колонки и камеру. Разумное решение, учитывая, что колонки тоже умеют слушать. В качестве операционной системы он использует Tails, хотя для максимальной анонимности стоило бы взять Whonix. Так или иначе, весь трафик идет через Tor, он не доверяет VPN, да и для работы в Даркнете Tor ему все равно необходим. Для общения он использует Jabber с PGP-шифрованием, он мог бы поставить и Телеграм, но это представитель старой школы преступников. Даже если у вас будет доступ к серверу Jabber, вы сможете получить лишь зашифрованные данные и IP-адреса Тор. Это бесполезная информация. Преступник работает по принципу «молчание-золото», лишнего не скажет, ссылки или файла не откроет. Известно лишь, что он должен находиться в одной стране с вами. Казалось бы, шансов установить его личность нет, но это иллюзия, установить его личность можно несмотря на все принимаемые им меры. Описанный случай идеален для применения тайминг-атаки по мессенджеру. Первым делом необходима программа, которая будет отслеживать и записывать все входы и выходы пользователя. Он появился в сети – система сразу отмечает у себя время, ушел – система записала время выхода. Лог выглядит примерно так:
Теперь на руках у вас есть лог его активности за несколько дней, пришло время воспользоваться системой ОРМ (оперативно-розыскных мероприятий). Подобные системы есть в распоряжении спецслужб большинства стран, в России это СОРМ. Нужно выяснить, кто в эти временные промежутки +/- 5 минут в вашей стране подключался к сети Tor. Мы знаем, что цель, которую необходимо деанонимизировать, подключилась 22.04.2018 в 11:07 и отключилась в 12:30. В эти же временные точки (+/- 5 минут) на территории страны подключились к сети Tor и отключились от нее 3000 человек. Мы берем эти 3000 и смотрим, кто из них снова подключился в 14:17 и отключился в 16:54, как думаете, сколько человек останется? Так, шаг за шагом, круг сужается, и в итоге вам удастся вычислить место выхода в сеть преступника. Чем чаще он заходит в сеть и чем меньше в это время других пользователей, тем быстрее сработает тайминг-атака. Что может помешать проведению тайминг-атаки Постоянная смена точек выхода в сеть делает подобную атаку бессмысленной. Если же цель периодически меняет точки выхода, это может затруднить поиск, но является заранее допустимым вариантом и не способно запутать систему. Мы надеемся, что наши читатели не относятся к разыскиваемым преступникам и им не придется кочевать из одного кафе с публичным Wi-Fi в другое. Однако вторым советом против тайминг-атаки стоит воспользоваться каждому. Речь идет об отключении на уровне мессенджера передачи информации о статусе либо установлении постоянного статуса «офлайн». Большинство мессенджеров предоставляют одну из подобных возможностей. Вот так это выглядит в Телеграм: Телеграм настройка сокрытия статуса.
Деанонимизация пользователей VPN и прокси через сторонние сайты
Мы снова оказываемся в роли агентов и снова ловим хакера, из информации о котором у нас есть только IP-адрес. По IP-адресу найти точку выхода в интернет пустяковое дело, однако нам противостоит очень квалифицированный оппонент. Он не просто использует VPN, а цепочку VPN из 4-х серверов, где некоторые сервера расположены в офшорных странах у абузоустойчивых хостинг-провайдеров. Хорошо известно, что они игнорируют запросы. VPN он настроил самостоятельно, потому нет никакого посредника в виде VPN-сервиса, с которым часто можно договориться. Даже если VPN-сервис предлагает сервера по всему миру, компания обычно расположена в США или Европе и должна выполнять законы. Но даже если владелец зарегистрировал компанию в Коста-Рике, сам то он обычно сидит где-нибудь в России, Европе или США. И вообще этим ребятам нужны деньги и спокойная жизнь, а не проблемы. Для большинства из них анонимность ничего не стоит, это просто товар, а обидевшиеся представители спецслужбы, особенно спецслужбы Китая, России и США, могут создать очень много проблем бизнесу. Персональным VPN - разумный выбор, но персональным VPN наш хакер не ограничился, настроив по первому классу безопасность браузера. В частности он включил подмену Canvas Fingerprint, заблокировал технологии трекинга и строго ограничил выполнения скриптов. Этот браузер он использовал только для «работы», для личных дел он использовал другой браузер. Стоит ли уточнять, что с рабочего браузера он не посещал ни социальные сети, ни любые другие связанные с его реальными данными аккаунты. Как нам вычислить такого квалифицированного и продвинутого хакера? Мы берем IP-адрес его VPN и проверяем не использовался ли он для посещения социальных сетей и иных популярных сервисов за последний месяц. Представители социальных сетей отлично идут на контакт и оперативно выдают информацию. В нашем случае оказалось, что однажды хакер зашел с рабочего VPN на свою страничку в социальной сети. Это был уже другой браузер, но IP-адрес был тот же самый. Подобная оплошность произошла лишь однажды и всего на пару секунд, затем он заметил, что не отключил рабочий VPN, не сменил IP, но этих секунды было достаточно. Работа выполнена. Некоторые мои коллеги полагают, что публичный VPN в таком случае спасает от установления личности, так как его используют много пользователей. Мне кажется это неверное рассуждение. Во-первых, большинство простых пользователей используют одиночный VPN, а не цепочку. Редкие VPN-сервисы предоставляют возможность использовать цепочку VPN-серверов и их сложно назвать массовыми. Ну а пользователя одиночного VPN очень легко вычислить методом сопоставления соединений, о котором я еще расскажу в отдельной главе. Одиночный VPN или proxy - не лучший выбор, если вам необходим высокий уровень анонимности. Во-вторых, даже если VPN очень популярен, он имеет множество IP-адресов, у крупных VPN-сервисов их десятки тысяч. Потому один IP-адрес будет использовать не так много пользователей, чтобы создать серьезные помехи. Эффективными методами защиты от атаки по сторонним каналам остаются полный отказ от использования подобных сторонних сервисов, например, социальных сетей, либо строгая смена IP-адреса. Если бы хакер из нашей истории вел свои дела в Тор, а для личных целей использовал VPN, метод деанонимизации по сторонним каналам был бы бессилен. При этом для деанонимизации пользователей Тор есть свои методы, о которых мы расскажем в рамках нашего курса.
Деанонимизация пользователей VPN и прокси путем сопоставления соединения.
Сопоставление соединений – это один из самых эффективных путей деанонимизации пользователей VPN и proxy, применяемых спецслужбами и правоохранительными органами по всему миру. Давайте представим ситуацию: вы сотрудник спецслужбы и разыскиваете опасного хакера. Все, что у вас есть,‒это его IP-адрес, с которого он месяц назад один раз заходил на сайт. Вроде бы отличная возможность вычислить пользователя по IP-адресу, точно известно, что хакер находится в одной с вами стране, но IP-адрес принадлежит VPN-сервису и размещен в Нидерландах. Что делать? Первым делом вы отправляете запрос владельцу VPN с просьбой выдать данные о том, кто использовал такой-то IP-адрес в такое-то время. Предположим, владелец VPN игнорирует ваш запрос. В вашем арсенале остается набор вредоносного софта, которым можно заразить устройство хакера, но вот проблема – контакта с ним никакого нет. Хакер сделал свое дело и залег на дно, потому все методы активной деанонимизации бесполезны. Что же делать? У вас есть система ОРМ (оперативно-розыскных мероприятий, в России это СОРМ), которая сканирует весь трафик всех пользователей, у вас есть провайдеры, которые по закону сохраняют данные об активности пользователей. Да, вы не можете расшифровать записанный VPN-трафик, но это вам и не нужно. Вам необходимо посмотреть, кто из жителей в интересующий промежуток времени устанавливал зашифрованное соединение с нужным вам VPN-сервером в Нидерландах. Если это популярный публичный VPN, таких пользователей может быть несколько, но их не может быть много. Пусть в нашем случае будет три человека. Установить, кто же из них хакер, уже не представляется сложной задачей, для этого используются стандартные практики расследования, не имеющие прямого отношения к вопросам анонимности и безопасности в сети. Аналогичным способом можно деанонимизировать и пользователей proxy, а вот против пользователей Тор атака не пройдет, так как IP-адрес, к которому подключается пользователь Тор,‒это адрес входной ноды, а на выходе у него IP-адрес выходной ноды. Против пользователей Тор есть свои методы деанонимизации с использованием ОРМ, например тайминг-атака на мессенджер. Главная защита от атаки методом сопоставления соединений – использование цепочек, например Double (двойной) VPN или Double proxy, в этом случае подключаться вы будете к одному серверу, а на выходе у вас будет IP-адрес другого сервера. Совет Для защиты от атаки методом сопоставления соединений используйте связки серверов VPN и proxy. Знаю, что некоторые специалисты настраивают single (одинарный) VPN таким образом, чтобы на входе был один IP-адрес, а на выходе другой. Такая схема должна быть эффективна против атаки путем сопоставления соединений, но на практике я с подобными решениями не сталкивался.
Представьте себе ситуацию: вы сотрудник спецслужбы, и ваша задача – вычислить особо опасного преступника, занимающегося шантажом и появляющегося в сети периодически и только для передачи данных. Для преступной деятельности он завел отдельный ноутбук, из которого «вырезал» микрофон, колонки и камеру. Разумное решение, учитывая, что колонки тоже умеют слушать. В качестве операционной системы он использует Tails, хотя для максимальной анонимности стоило бы взять Whonix. Так или иначе, весь трафик идет через Tor, он не доверяет VPN, да и для работы в Даркнете Tor ему все равно необходим. Для общения он использует Jabber с PGP-шифрованием, он мог бы поставить и Телеграм, но это представитель старой школы преступников. Даже если у вас будет доступ к серверу Jabber, вы сможете получить лишь зашифрованные данные и IP-адреса Тор. Это бесполезная информация. Преступник работает по принципу «молчание-золото», лишнего не скажет, ссылки или файла не откроет. Известно лишь, что он должен находиться в одной стране с вами. Казалось бы, шансов установить его личность нет, но это иллюзия, установить его личность можно несмотря на все принимаемые им меры. Описанный случай идеален для применения тайминг-атаки по мессенджеру. Первым делом необходима программа, которая будет отслеживать и записывать все входы и выходы пользователя. Он появился в сети – система сразу отмечает у себя время, ушел – система записала время выхода. Лог выглядит примерно так:
Теперь на руках у вас есть лог его активности за несколько дней, пришло время воспользоваться системой ОРМ (оперативно-розыскных мероприятий). Подобные системы есть в распоряжении спецслужб большинства стран, в России это СОРМ. Нужно выяснить, кто в эти временные промежутки +/- 5 минут в вашей стране подключался к сети Tor. Мы знаем, что цель, которую необходимо деанонимизировать, подключилась 22.04.2018 в 11:07 и отключилась в 12:30. В эти же временные точки (+/- 5 минут) на территории страны подключились к сети Tor и отключились от нее 3000 человек. Мы берем эти 3000 и смотрим, кто из них снова подключился в 14:17 и отключился в 16:54, как думаете, сколько человек останется? Так, шаг за шагом, круг сужается, и в итоге вам удастся вычислить место выхода в сеть преступника. Чем чаще он заходит в сеть и чем меньше в это время других пользователей, тем быстрее сработает тайминг-атака. Что может помешать проведению тайминг-атаки Постоянная смена точек выхода в сеть делает подобную атаку бессмысленной. Если же цель периодически меняет точки выхода, это может затруднить поиск, но является заранее допустимым вариантом и не способно запутать систему. Мы надеемся, что наши читатели не относятся к разыскиваемым преступникам и им не придется кочевать из одного кафе с публичным Wi-Fi в другое. Однако вторым советом против тайминг-атаки стоит воспользоваться каждому. Речь идет об отключении на уровне мессенджера передачи информации о статусе либо установлении постоянного статуса «офлайн». Большинство мессенджеров предоставляют одну из подобных возможностей. Вот так это выглядит в Телеграм: Телеграм настройка сокрытия статуса.
Деанонимизация пользователей VPN и прокси через сторонние сайты
Мы снова оказываемся в роли агентов и снова ловим хакера, из информации о котором у нас есть только IP-адрес. По IP-адресу найти точку выхода в интернет пустяковое дело, однако нам противостоит очень квалифицированный оппонент. Он не просто использует VPN, а цепочку VPN из 4-х серверов, где некоторые сервера расположены в офшорных странах у абузоустойчивых хостинг-провайдеров. Хорошо известно, что они игнорируют запросы. VPN он настроил самостоятельно, потому нет никакого посредника в виде VPN-сервиса, с которым часто можно договориться. Даже если VPN-сервис предлагает сервера по всему миру, компания обычно расположена в США или Европе и должна выполнять законы. Но даже если владелец зарегистрировал компанию в Коста-Рике, сам то он обычно сидит где-нибудь в России, Европе или США. И вообще этим ребятам нужны деньги и спокойная жизнь, а не проблемы. Для большинства из них анонимность ничего не стоит, это просто товар, а обидевшиеся представители спецслужбы, особенно спецслужбы Китая, России и США, могут создать очень много проблем бизнесу. Персональным VPN - разумный выбор, но персональным VPN наш хакер не ограничился, настроив по первому классу безопасность браузера. В частности он включил подмену Canvas Fingerprint, заблокировал технологии трекинга и строго ограничил выполнения скриптов. Этот браузер он использовал только для «работы», для личных дел он использовал другой браузер. Стоит ли уточнять, что с рабочего браузера он не посещал ни социальные сети, ни любые другие связанные с его реальными данными аккаунты. Как нам вычислить такого квалифицированного и продвинутого хакера? Мы берем IP-адрес его VPN и проверяем не использовался ли он для посещения социальных сетей и иных популярных сервисов за последний месяц. Представители социальных сетей отлично идут на контакт и оперативно выдают информацию. В нашем случае оказалось, что однажды хакер зашел с рабочего VPN на свою страничку в социальной сети. Это был уже другой браузер, но IP-адрес был тот же самый. Подобная оплошность произошла лишь однажды и всего на пару секунд, затем он заметил, что не отключил рабочий VPN, не сменил IP, но этих секунды было достаточно. Работа выполнена. Некоторые мои коллеги полагают, что публичный VPN в таком случае спасает от установления личности, так как его используют много пользователей. Мне кажется это неверное рассуждение. Во-первых, большинство простых пользователей используют одиночный VPN, а не цепочку. Редкие VPN-сервисы предоставляют возможность использовать цепочку VPN-серверов и их сложно назвать массовыми. Ну а пользователя одиночного VPN очень легко вычислить методом сопоставления соединений, о котором я еще расскажу в отдельной главе. Одиночный VPN или proxy - не лучший выбор, если вам необходим высокий уровень анонимности. Во-вторых, даже если VPN очень популярен, он имеет множество IP-адресов, у крупных VPN-сервисов их десятки тысяч. Потому один IP-адрес будет использовать не так много пользователей, чтобы создать серьезные помехи. Эффективными методами защиты от атаки по сторонним каналам остаются полный отказ от использования подобных сторонних сервисов, например, социальных сетей, либо строгая смена IP-адреса. Если бы хакер из нашей истории вел свои дела в Тор, а для личных целей использовал VPN, метод деанонимизации по сторонним каналам был бы бессилен. При этом для деанонимизации пользователей Тор есть свои методы, о которых мы расскажем в рамках нашего курса.
Деанонимизация пользователей VPN и прокси путем сопоставления соединения.
Сопоставление соединений – это один из самых эффективных путей деанонимизации пользователей VPN и proxy, применяемых спецслужбами и правоохранительными органами по всему миру. Давайте представим ситуацию: вы сотрудник спецслужбы и разыскиваете опасного хакера. Все, что у вас есть,‒это его IP-адрес, с которого он месяц назад один раз заходил на сайт. Вроде бы отличная возможность вычислить пользователя по IP-адресу, точно известно, что хакер находится в одной с вами стране, но IP-адрес принадлежит VPN-сервису и размещен в Нидерландах. Что делать? Первым делом вы отправляете запрос владельцу VPN с просьбой выдать данные о том, кто использовал такой-то IP-адрес в такое-то время. Предположим, владелец VPN игнорирует ваш запрос. В вашем арсенале остается набор вредоносного софта, которым можно заразить устройство хакера, но вот проблема – контакта с ним никакого нет. Хакер сделал свое дело и залег на дно, потому все методы активной деанонимизации бесполезны. Что же делать? У вас есть система ОРМ (оперативно-розыскных мероприятий, в России это СОРМ), которая сканирует весь трафик всех пользователей, у вас есть провайдеры, которые по закону сохраняют данные об активности пользователей. Да, вы не можете расшифровать записанный VPN-трафик, но это вам и не нужно. Вам необходимо посмотреть, кто из жителей в интересующий промежуток времени устанавливал зашифрованное соединение с нужным вам VPN-сервером в Нидерландах. Если это популярный публичный VPN, таких пользователей может быть несколько, но их не может быть много. Пусть в нашем случае будет три человека. Установить, кто же из них хакер, уже не представляется сложной задачей, для этого используются стандартные практики расследования, не имеющие прямого отношения к вопросам анонимности и безопасности в сети. Аналогичным способом можно деанонимизировать и пользователей proxy, а вот против пользователей Тор атака не пройдет, так как IP-адрес, к которому подключается пользователь Тор,‒это адрес входной ноды, а на выходе у него IP-адрес выходной ноды. Против пользователей Тор есть свои методы деанонимизации с использованием ОРМ, например тайминг-атака на мессенджер. Главная защита от атаки методом сопоставления соединений – использование цепочек, например Double (двойной) VPN или Double proxy, в этом случае подключаться вы будете к одному серверу, а на выходе у вас будет IP-адрес другого сервера. Совет Для защиты от атаки методом сопоставления соединений используйте связки серверов VPN и proxy. Знаю, что некоторые специалисты настраивают single (одинарный) VPN таким образом, чтобы на входе был один IP-адрес, а на выходе другой. Такая схема должна быть эффективна против атаки путем сопоставления соединений, но на практике я с подобными решениями не сталкивался.