Основы безопасности для революционеров. Выпуск третий

Время чтения ~ 43 минуты

В этом выпуске:

Глава 6. Криптоконтейнеры и удаление данных: как надёжно хранить и уничтожать свои секреты

Криптоконтейнеры

Криптоконтейнер — это виртуальный зашифрованный диск, то есть нечто вроде папки с паролем. Современное ПО для создания криптоконтейнеров при соблюдении простых инструкций позволяет защитить конфиденциальные файлы достаточно хорошо, чтобы к ним не смогли получить доступ украинские кибермусора1.
Одна часть читателей последовала рекомендациям из четвёртой главы и зашифровала свои диски целиком (в идеале эти диски — внешние), другая часть этого по тем или иным причинам не сделала. Наиболее актуальны криптоконтейнеры будут для вторых, но очень важно ознакомиться с темой и первым, ведь криптоконтейнеры позволяют без страха утечки конфиденциальной информации хранить файлы в облаке или отправлять их в мессенджерах. Помните, что хранить или отправлять что-то в Интернете в незашифрованном виде — это давать доступ третьим лицам к вашим данным, поэтому привыкайте к помещению конфиденциальных файлов в криптоконтейнеры перед загрузкой куда-либо.

Общий принцип здесь тот же, что и при шифровании диска: при запуске и вводе пароля происходит расшифровка, при выключении — зашифровка. Пока диск или криптоконтейнер лежат в зашифрованном состоянии и на них стоят надёжные пароли, получить доступ к хранимым данным практически невозможно.

Само собой, размонтированный (открытый, расшифрованный) криптоконтейнер, как и расшифрованный диск, не защищает от вредоносного ПО точно так же, как открытая входная дверь не мешает пройти в квартиру, где деньги лежат. Криптоконтейнер — это прежде всего защита от физического доступа, действующая тогда, когда криптоконтейнер закрыт. Чтобы защитить ценные данные от вредоносного ПО, не забывайте кроме инструментов шифрования использовать виртуальные машины для создания изолированных рабочих пространств.
Перейдём к началу работы с криптоконтейнерами. В данном руководстве мы будем рассматривать VeraCrypt — проверенное аудиторами2 и временем решение.
Сначала заходим на официальный сайт и загружаем установщик для своей операционной системы. Пользователи Linux могут выбирать между версией с графическим интерфейсом (GUI) и без (console), для удобства скачивайте GUI-версию.

Установку описывать не буду, она интуитивно понятна. Настройки приложения VeraCrypt надо совсем немного изменить: НастройкиПараметрыБезопасность→ Включить Очищать кэш паролей при выходе.

Теперь можем создать наш первый криптоконтейнер — благо интерфейс тут довольно user-friendly.

Нажимаем на Создать том, дальше Создать зашифрованный файл-контейнер, Обычный том VeraCrypt, выбираем расположение.

Примечание: если вы хотите усложнить посторонним поиск контейнера, то сохраните его посреди кучи непонятных файлов какой-либо программы и назовите так, чтобы он не выделялся.Альтернативный вариант — замаскировать рабочий криптоконтейнер под личный: например, назвать его БДСМ с бывшей, и пусть менты доказывают, что следствию действительно нужна эта информация. В обоих случаях в головном окне VeraCrypt включите опцию Не сохранять историю. Также есть смысл для отвода глаз создать контейнер-приманку на видном месте с названием вроде Важное. При использовании приманок стоит немного заморочиться для убедительности, но об этом поговорим в абзаце про контейнеры с двойным дном.

Настройки шифрования: для большей криптостойкости ценой небольшой потери производительности выбираем каскадное шифрование с комбинацией двух-трёх разных алгоритмов, то есть поверх шифровки одним алгоритмом идёт ещё один слой шифровки другим, что-то вроде матрёшки (см. скриншот).
После настройки шифрования задаём размер тома.

Далее нужно написать надёжный пароль для криптоконтейнера и на этом же этапе можно создать файл-ключ для дополнительной аутентификации: Ключ. ФайлыСлучайный ключевой файл → Оставляем настройки как есть, хаотично двигаем мышкой в окне, вводим имя ключевого файла → Создать и сохранить файл → Храним файл в надёжном месте/местах и не теряем, ведь без него криптоконтейнер потом открыть не сможем.
В предыдущем окне выбираем созданный ключ-файл и идём дальше. Файловую систему оставляем по умолчанию. На этапе форматирования тома снова хаотично двигаем мышкой и нажимаем Разметить.

После разметки пробуем открыть созданный контейнер. Для этого жмём на Выбрать файл, выбираем файл, выбираем любой слот и далее Смонтировать. Вводим пароль, выбираем ключевой файл. Готово — теперь криптоконтейнер будет отображаться в системе как диск, и мы можем в нём работать. Очень важно никогда не забывать размонтировать криптоконтейнер сразу после окончания работы в нём.

На этом со стандартными криптоконтейнерами всё, но не всё с VeraCrypt: нужно сказать пару слов о таких функциях, как шифрование дисков, шифрование Windows и криптоконтейнеры с двойным дном.

Шифрование разделов или дисков без системы — прежде всего речь идёт о шифровании внешних носителей информации, таких как внешние жёсткие диски и флешки. Рекомендуется шифровать все внешние носители, на которых может оказаться важная информация, даже если на них уже есть шифрование от производителя. Алгоритм действий примерно тот же, что и при создании криптоконтейнеров. Единственное отличие — каскадное шифрование на внешних носителях может ощутимо ударить по производительности, поэтому выбирайте просто AES, Serpent, Twofish или Camellia.

Шифрование Windows с помощью VeraCrypt будет актуально для тех, кто не хочет или не может пользоваться BitLocker. Инструкцию для своей версии Windows найдёте в сети.

Криптоконтейнеры с двойным дном — полезная функция для защиты от принуждения к выдаче пароля. Суть её в том, что на самом деле создаётся два криптоконтейнера — внешний и скрытый, и последний лежит внутри первого. Соответственно, есть два пароля, и в зависимости от того, какой именно пароль вводится, открывается тот или иной контейнер.

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

Во-первых, размер. Если в криптоконтейнере на 5 ГБ будут храниться файлы с суммарным объёмом в 5 МБ, то это сразу же вызовет подозрения. Лучше заполнить внешний контейнер всякой чушью основательно, а для скрытого оставить минимальное необходимое место. Обратите на это внимание ещё в начале и также не игнорируйте предупреждения VeraCrypt: после создания пары контейнеров не заполняйте внешний контейнер новыми файлами, чтобы не повредить скрытый.

Во-вторых, содержание. Во внешнем контейнере должно быть что-то такое, что вы готовы раскрыть злоумышленникам, но не настолько, чтобы этого вовсе не было смысла скрывать, иначе наличие двойного дна быстро заподозрят. То же самое касается и идеи с контейнером-приманкой на рабочем столе, о которой говорилось выше. Чем можно заполнить фальшивый контейнер?Здесь позволю себе вспомнить моего товарища, у которого была папка с загадочным названием НЕ ОТКРЫВАТЬ (если дорога психика). Ничего компрометирующего в той папке не было, но её действительно лучше не открывать, ведь там хранились две фотографии с плотной пьянки: на первой его друг спал голым на сельской сортирной яме, а на второй он проснулся на раковине, но, скажем так, во время пробуждения не понял, что дислокация изменилась. В общем, если у вас до сих пор не было достаточно интересных жизненных ситуаций и соответствующих материалов для внешнего контейнера, то одну идею я уже подкинул.

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

Удаление данных

Примечание: здесь рассматривается вопрос надёжного удаления данных — не путать с экстренным удалением. Описанная методика должна выполняться время от времени при обычной работе с системой, а о действиях в условиях ЧП написано в четвёртом разделе книги.
Когда мы удаляем файлы из корзины, то они не испаряются с дискового пространства. Место, которое занимал удалённый файл, помечается файловой системой как доступное для записи, и компьютер воспринимает его как свободное, однако на деле данные будут оставаться на диске до тех пор, пока занимаемое ими место не будет перезаписано новыми данными3. Это позволяет с большой вероятностью на успех восстанавливать удалённые файлы с помощью специальных программ, причём многое можно восстановить без специальных навыков и изнурительных танцев с бубном4.
К счастью, для того, чтобы уничтожать данные окончательно, тоже существуют программы, которые перезаписывают занимаемое удалёнными данными место на диске. Есть множество вариантов, но рассмотрим BleachBit, так как эта программа полностью бесплатна, с открытым исходным кодом, проста в эксплуатации, работает на Windows и Linux.

Быстро пробежимся по полезным функциям BleachBit на Linux.

1) Меню в левом верхнем углу. Удаление файлов и каталогов говорит само за себя, используем для отдельных файлов и каталогов. Очистить свободное место — в этом меню данная функция позволяет перезаписать свободное место в отдельном каталоге, что полезно, если не нужно делать это на всём диске сразу. Создать помеху — генерация кучи файлов с бессмысленным текстом, которые можно создать и удалить без перезаписи, чтобы усложнить криминалистический анализ. Настройки можно оставить по умолчанию.
2) Основная часть, первый скриншот. На Linux для освобождения места полезно хотя бы раз в месяц проводить очистку с пунктом autoremove5 во вкладке APT. Удаление кэша и cookies браузера в BleachBit можно не проводить, если вы будете следовать советам из следующей главы и установите приватный браузер. Журнал bash стоит чистить, если там есть ценная информация (например, подключение к конспиративным серверам по SSH, логины и пароли, сетевая диагностика специфических ресурсов).
3) Основная часть, второй скриншот. Старые системные журналы journald чистим время от времени, если, конечно, не собираемся копаться в них для диагностики неисправностей: там хранится масса полезной для криминалистов информации. Журнал использования офисных программ очень важно очищать для сохранения конспиративности криптоконтейнеров, то же самое касается миниатюр и списка недавно использованных документов. В секции Система наиболее важен пункт Свободное место на диске для перезаписи всего свободного места на носителе. Если вы используете SSD, то для того, чтобы не сокращать срок годности диска, проводите очистку с этой функцией не чаще, чем раз в неделю.
Примечание: теоретически есть шанс с помощью специального оборудования восстановить данные на HDD по магнитному следу даже после их удаления BleachBit, но на практике такие случаи мне не встречались. Тем не менее, если вы когда-нибудь решите избавиться от диска с концами, то для надёжности не брезгуйте физическим уничтожением.

Глава 7. Выход в сеть: прокси, VPN, Tor, а также почему они вам, возможно, не помогут

Что такое глобальная сеть?

Перед тем, как думать о сокрытии следов в Интернете, стоит иметь представление о том, как вообще этот ваш Интернет устроен. К сожалению, с последним проблемы бывают даже у поколения Зю, которое с малых лет ежедневно пользуется компьютерной техникой.

Если читатель уже знаком с темой, то он может смело переходить к следующей части этой главы; если читатель желает подтянуть свои знания, и у него хватает времени, то было бы хорошо самостоятельно изучить бесплатный курс по ссылке; если времени меньше, то рекомендуется прочитать небольшую статью на Википедии. Сам я ниже постараюсь дать максимально упрощённую схематичную картину на том минимальном уровне, который нужен для дальнейшего изучения безопасности в сети.

Сразу предупреждаю: если вы совсем незнакомы с компьютерными сетями, то многое из того, что вы сейчас прочитаете, будет непонятно. Это — нормально. Компьютерные сети — штука непростая, поэтому хорошо осмыслить её можно лишь после серьёзного изучения всей темы целиком, что для вас необязательно. Когда будете читать мои попытки объяснить сети на пальцах, то не пугайтесь, если что-то неясно, и идите дальше. Самое главное для рядового пользователя — иметь общую картину о направлениях атак и применять на практике те средства анонимизации, которые будут описаны в этой главе.

Для простоты изложения рассмотрим организацию сетей и передачи данных в них на базе модели OSI. В модели есть семь уровней: физический, канальный, межсетевой, транспортный, сеансовый, представления и прикладной. Каждый уровень отвечает за свой круг задач. Уровни организованы иерархически, прикладной в иерархии наиболее высокий. Мы же пойдём снизу вверх, потому что так будет понятнее.

Представим, что после тяжёлого рабочего дня вы пришли домой, включили ноутбук, открыли браузер и зашли на сайт www.youtube.com. Что и на каком уровне происходит в это время с компьютерной техникой и программами?

1. Фундамент передачи данных в сетях — это отправка физических сигналов(потока нулей и единиц) через электрические и оптоволоконные кабели, а также через радиосвязь. Описанию физической среды передачи данных, уж простите за тавтологию, посвящён физический уровень.

2. Но недостаточно физически протянуть линию передачи от устройства A к устройству B: нужно ещё и разобраться, как именно соединённые устройства будут обмениваться данными и понимать друг друга, поэтому существуют технология Ethernet для кабелей и технология Wi-Fi для радиосвязи. Передачу данных в рамках отдельного сегмента сети описывает канальный уровень.

Итак, вы включили ноутбук. Ваш ноутбук не соединился с Интернетом напрямую: сперва он подключился к роутеру, который обеспечивают работу вашей локальной сети Wi-Fi; сам же роутер тоже не выходит в Интернет самостоятельно: с помощью кабеля Ethernet роутер подключён к сетевому оборудованию интернет-провайдера, которое и обеспечивает доступ к глобальной сети, но вернёмся на канальный уровень. Кроме ноутбука к этому же роутеру могут обращаться другие устройства вроде телефона и планшета. Как роутер понимает, с кем именно он общается?

И в Wi-Fi, и в Ethernet для взаимодействия между пользовательскими устройствами и Wi-Fi-роутером/коммутатором Ethernet используются MAC-адреса — уникальные идентификаторы сетевых устройств, которые есть как на ПК и телефонах, так и на роутерах и коммутаторах. MAC-адреса изначально назначаются производителями, но с помощью программных средств поддаются изменению. Например, функционал для смены MAC-адреса из соображений приватности можно найти в настройках большинства современных телефонов, а на Linux есть утилита macchanger.

Как правило, MAC-адрес пользователя остаётся в рамках локальной сети и неизвестен Интернету. В случае утечки знание MAC-адреса само по себе не позволяет вычислить человека, однако способно оказаться хорошим подспорьем в этой задаче. Имея MAC-адрес ноутбука подозреваемого, фараоны могут следить, не подключается ли он с этого ноутбука к общественным Wi-Fi сетям. Кроме того, благодаря MAC-адресу и другим уникальным идентификаторам железа можно попытаться обнаружить место, где был куплен ноутбук, если в этом месте ведутся соответствующие записи о продаваемых устройствах.

3. Что же такое Интернет? Internet — слово английское, в буквальном переводе это «взаимосвязанная сеть». В квартирах, домах и на предприятиях существует огромное множество различных компьютеров, подключённых к огромному множеству различных локальных сетей Wi-Fi и Ethernet. Этим компьютерам, и, соответственно, их локальным сетям нужно как-то взаимодействовать между собой. Возникает вопрос: как это сделать?

Для того, чтобы обеспечить коммуникацию между большим количеством сетей, как это происходит в глобальной сети Интернет, недостаточно просто соединить их кучей кабелей и воспользоваться технологиями канального уровня, ведь на такую задачу последний не рассчитан. Ради решения проблемы межсетевого взаимодействия был изобретён межсетевой уровень.

Вы открыли браузер и ввели www.youtube.com в адресную строку. Уже здесь будут выполняться действия на уровнях выше, но от этого мы пока что абстрагируемся. Очевидно, что сервер YouTube не подключён к вашему роутеру, и теперь нужно придумать, как до этого далёкого сервера в далёкой сети добраться.

Когда трафик покидает пределы вашей локальной сети, то он перенаправляется на сетевое оборудование провайдера и в частности на маршрутизатор. Маршрутизатор, как подсказывает название, отвечает за то, чтобы найти в глобальной сети правильный маршрут к локальной сети, в которой находится искомое устройство — в данном примере это сервер YouTube. Перед тем, как попасть на сервер, трафик пройдёт через более или менее длинную цепь из нескольких маршрутизаторов.
Как маршрутизатору удаётся понять, каким образом и куда именно перенаправить трафик через весь Интернет? Для этого используется несколько технологий, но самая важная — это протокол IP (Internet Protocol).

У протокола IP есть две версии: IPv4 и IPv6. В обеих версиях для указания отправителей и адресатов пакетов используются IP-адреса: более короткие в IPv4 и более длинные в IPv6. Одна часть IP-адреса содержит адрес сети, другая часть — адрес сервера или хоста (устройства, которое обращается к серверу).

Важно отметить, что IP-адреса бывают внутренними и внешними. Внутренние IP-адреса используются для адресации в локальной сети, а внешние — в Интернете. Когда вы выходите в Интернет, то указывается ваш внешний IP-адрес, а когда к вам обращается ваш роутер, то он использует ваш внутренний IP-адрес и MAC-адрес.

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

По задумке внешний IP-адрес должен быть уникальным идентификатором устройства в глобальной сети, но из-за короткой длины адреса IPv4 существует лишь немногим более четырёх миллиардов возможных IPv4-адресов, большинство из которых уже заняты. Этот дефицит компенсируется технологией NAT на следующем уровне.

4. Вы подключились к сетевой карте сервера YouTube, но и этого недостаточно: кроме браузера на вашем компьютере и серверного приложения на сервере могут быть одновременно запущены другие программы, а также всегда будет большое множество процессов, связанных с операционной системой. Тут возникает проблема взаимодействия между разными процессами на разных устройствах, которую решает транспортный уровень.

Для адресации обмена данными между процессами используются порты со значениями от 0 до 65535. Основные протоколы транспортного уровня — TCP (с гарантией доставки сообщений и установкой соединения) и UDP (без гарантии доставки и установки соединения, работает быстрее TCP).

Когда мы говорим об анонимности в сети, то на транспортном уровне нас интересует технология NAT (Network Adress Translation), которая позволяет сразу нескольким устройствам пользоваться одним и тем же внешним IPv4-адресом благодаря комбинации внешних портов, внутренних портов и внутренних IP-адресов.

Технология NAT была создана для преодоления дефицита IPv4-адресов, но в качестве побочного эффекта к ней добавляется незначительное увеличение анонимности. NAT железно всегда применяется операторами сотовой связи для мобильного интернета и не всегда — но нередко — интернет-провайдерами для домашнего.

Также на транспортном уровне есть функционал для безопасности передачи данных — TLS/SSL (Transport Layer Security/Secure Socket Layer). Эти протоколы обеспечивают конфиденциальность, целостность и аутентификацию. К счастью, нынче TLS применяется почти повсеместно, и большая часть трафика в современном Интернете передаётся в зашифрованном виде с помощью TLS.

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

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

На практике функции сеансового уровня и уровня представления выполняются протоколами других уровней, поэтому здесь мы не задерживаемся.

7. Теперь, после всех пройденных этапов, нужно разобраться, как наладить взаимодействие самого пользователя с сервером YouTube посредством браузера, то есть как, с одной стороны, загрузить стилевой файл, показать текст и воспроизвести видео, и как, с другой стороны, позволить пользователю нажимать на паузу, оставлять комментарии, переходить на другие страницы и так далее. Задачу взаимодействия пользователя с сетью посредством сетевых приложений (браузеры, мессенджеры, почтовые клиенты) решает прикладной уровень.

Этот уровень наиболее разнообразен: протоколов очень много, они выполняют разные функции и сильно отличаются друг от друга. Здесь мы рассмотрим только HTTP, HTTPS и DNS.

HTTP (Hypertext Transfer Protocol, протокол передачи гипертекста) — основа Всемирной паутины. Изначально HTTP разрабатывался для передачи гипертекстовых документов, но сейчас имеет универсальное значение. Именно благодаря протоколу HTTP вы видите на сайтах всё то, что вам отправляют веб-сервера. Классический HTTP не обеспечивает безопасность, то есть данные передаются незашифрованным текстом.

HTTPS (Hypertext Transfer Protocol Secure, защищённый протокол передачи гипертекста) — вариация HTTP, работающая поверх защищённых протоколов TLS/SSL. Если вы заходите на сайт с помощью HTTPS, в браузере будет отображаться значок замка или https:// перед адресом сайта. Крайне рекомендуется не использовать сайты, которые не поддерживают HTTPS.

DNS (Domain Name System) отвечает за преобразование доменного имени (например, www.youtube.com) в IP-адрес (например, 172.217.169.174), то есть вы используете DNS при каждом вводе доменного имени в адресную строку. Информация о том, какие доменные имена соответствуют тем или иным IP-адресам, хранится не на пользовательских устройствах, а на многочисленных серверах DNS.

Когда вы пытаетесь подключиться к сайту, то ваш компьютер отправляет запрос на сервер, который называется DNS resolver (разрешатель имён). Этот DNS resolver, в свою очередь, обращается к многоуровневой инфраструктуре дерева доменных имён (см. изображение), где каждый сервер отвечает за ту или иную зону на том или ином уровне. После того, как DNS resolver получает от дерева нужные ответы, он отправляет вам IP-адрес, соответствующий искомому доменному имени.
Услуги DNS resolver пользователь может получать либо от своего провайдера, либо от открытых серверов. В первом случае провайдер сможет видеть доменные имена сайтов, которые посещает пользователь, во втором — IP-адреса без доменных имён.

По умолчанию DNS-запросы и DNS-ответы не шифруются, что создаёт окно для ряда опасных атак. Эта проблема решается настройкой DNS поверх HTTPS в браузере/системе или технологиями VPN и Tor, к которым мы и переходим.

Технологии сокрытия IP-адреса: прокси, VPN, Tor

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

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

VPN (Virtual Private Network, виртуальная частная сеть) — инструмент безопасности, который может применяться для сокрытия IP-адреса. Как правило, при использовании VPN трафик дополнительно шифруется (даже если он уже зашифрован, например, с помощью HTTPS). Как и прокси, VPN имеет множество применений, из которых главные для рядового пользователя — это анонимизация, обход блокировок и защита трафика в незащищённой сети. Про последнюю функцию часто незаслуженно забывают: VPN позволяет скрыть от администратора локальной сети то, на какие сайты вы заходите и что на них делаете. Никогда не пользуйтесь общественными сетями Wi-Fi без VPN.

Tor (The Onion Router) — это анонимная сеть, обеспечивающая шифрование и «луковую» маршрутизацию. Как работает Tor? Соединение проходит через цепочку последовательно (друг за другом, подобно слоям луковой шелухи) соединённых серверов, которые здесь называются узлами.

По умолчанию в цепочке Tor используются три узла: входной → промежуточный → выходной. Благодаря этому, с одной стороны, IP-адрес пользователя знает только входной узел, а веб-сервер или сервер приложения увидит только IP-адрес выходного узла; с другой стороны, самим входному и выходному узлам неизвестны IP-адреса друг друга, только IP-адрес промежуточного узла. Для того, чтобы анонимность пользователя была ещё выше, цепочка Tor автоматически меняется на новую каждые 10 минут.

Узлы создаются и поддерживаются добровольцами независимо друг от друга: свой узел в сети Tor может развернуть любой пользователь без профессиональных навыков на своём персональном компьютере.

Все узлы Tor публично известны, и с этим связаны две очень большие проблемы:

1. В рамках борьбы с мошенничеством многие компании (например, Google и Meta) блокируют подключение от узлов Tor, и с этим ничего не поделать, если не комбинировать подключение к Tor с VPN, о чём позже.

2. В некоторых странах (КНР, РБ, Туркменистан) подключение к узлам Tor блокируется интернет-провайдерами. Для обхода этих блокировок используются мосты — это почти то же самое, что и узлы, но, в отличие от узлов, мосты непубличны и выдаются пользователю в небольшом количестве.

Как работает шифрование в Tor? На этом моменте написания книги я столкнулся с приступом удушающей лени, так что процитирую Jordan Wright, за перевод спасибо автору с Хабра:

Разобравшись в маршруте соединений, идущих через узлы, зададимся вопросом — а как мы можем им доверять? Можно ли быть уверенным в том, что они не взломают соединение и не извлекут все данные из него? Если кратко — а нам и не нужно им доверять!

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

Так что там насчёт луковиц? Давайте разберём работу шифрования в процессе установки соединения клиента через сеть Tor.

Клиент шифрует данные так, чтобы их мог расшифровать только выходной узел.

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

А потом эти данные опять шифруются так, чтобы их мог расшифровать только сторожевой узел.
Получается, что мы обернули исходные данные в слои шифрования — как лук. В результате у каждого узла есть только та информация, которая нужна ему — откуда пришли зашифрованные данные и куда их надо отправлять. Такое шифрование полезно всем — трафик клиента не открыт, а узлы не отвечают за содержимое передаваемых данных.

Замечание: выходные узлы могут увидеть исходные данные, поскольку им надо отправлять их в пункт назначения. Поэтому они могут извлекать из трафика ценную информацию, передаваемую открытым текстом по HTTP и FTP!

Для подключения к Tor на ПК чаще всего используются Tor Browser или анонимные системы Tails и Whonix.

Теперь, когда мы разобрались со способами сокрытия действительного IP-адреса, настало время поговорить и о способах его раскрытия при использовании прокси, VPN и Tor.

Способы установления настоящего IP пользователя прокси, VPN и Tor

1. Эксплуатация нестабильного соединения (прокси и VPN)
Бывает, что на секунду теряется подключение к Интернету или происходят какие-то программные сбои, и тогда соединение с VPN может быть нарушено, что способно привести к раскрытию реального IP-адреса веб-серверу с одной стороны и реального трафика интернет-провайдеру с другой. Для того, чтобы избежать этого, вы можете пользоваться VPN-сервисами с kill switch (функция, которая не позволяет системе подключаться к Интернету в обход VPN) или же настроить kill switch на своей ОС самостоятельно6.
2. Официальный запрос от органов (прокси и VPN)

Часто конторы, предоставляющие VPN-услуги, убеждают клиентов, что они не ведут логи, а потому сдать они вас даже при желании не смогут. В этих словах всегда есть маркетинговый обман в большей или меньшей степени: если в большей, то логи ведутся и ответы на запросы даются, а если в меньшей, то нет прямого вранья и всё действительно без логов, но при этом конторы очень сильно не договаривают, и не обладающие достаточной компьютерной грамотностью пользователи не видят полной картины.

Дело в том, что как правило VPN-конторы не владеют своими серверами, а арендуют их у хостинг-провайдеров, так что даже когда сам VPN-сервис не следит за вами, то это способен делать хостинг. Более того, не факт, что серверами полностью владеет и сам хостинг: цепочка арендаторов может быть весьма и весьма длинной. Добьём тем, что все эти структуры ещё и зависимы от своих интернет-провайдеров. Таким образом, существует множество инстанций, в которые «правоохранители» могут подавать официальные запросы. Безусловно, не факт, что запросы, особенно если они посылаются из одной страны в другую, будут автоматически удовлетворяться, но всё же не забывайте, что всегда есть множество структур, способных при желании сдать вас.

Что делать? Понятно, что никогда нельзя пользоваться услугами VPN-серверов и VPN-провайдеров, которые дислоцируются в вашей стране. Напротив, относительно надёжный вариант — бесцеремонно эксплуатировать всё накаляющуюся международную обстановку и использовать VPN из «недружественных стран». Кроме того, можно применять связки Whonix+VPN или VPN+Tor+VPN, о которых будет в подразделе Для продвинутых.

3. Сопоставление соединений (прокси и VPN)

Есть два варианта использования VPN: одинарный и с многократным переходом. Одинарный VPN — это то, что используется чаще всего: подключение происходит по схеме пользователь → VPN-сервер → Интернет. У VPN с многократным переходом есть несколько вариаций, наиболее популярная из них — Double VPN: пользователь → VPN1 → VPN2 → Интернет. Для чего же нужно подключаться к Интернету по цепочке из двух и более VPN-серверов, если, казалось бы, для сокрытия IP достаточно и одного?

Представим ситуацию: бармалей по имени Андрей пользуется одинарным VPN для не вполне законной деятельности. Под этим VPN он заходит на некий форум, который сотрудничает с ментами. Мусора интересуются у администрации форума, с какого IP-адреса заходит Андрей, и получают ответ. Взглянув на нидерландский адрес, полицаи сразу смекают, что вряд ли Андрей сейчас ест пирожки с коноплёй в Амстердаме. Имея IP на руках, менты делают много скучной бумажной работы и после этого обращаются к интернет-провайдерам своей страны с просьбой сообщить, не подключался ли кто-то из их клиентов в такое-то время к такому-то VPN-серверу. С этого момента, так как Андрей не использовал VPN с многократным переходом, его деанонимизация и последующий арест становятся вопросом времени.

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

4. Утечки IP (прокси и VPN)

В силу криворукости пользователей и/или VPN-сервисов данные о настоящем IP пользователя могут скрываться лишь частично. Какие существуют утечки IP?
Утечка IPv6 происходит тогда, когда VPN-провайдер не поддерживает маршрутизацию IPv6-трафика и не выключает вам IPv6: в таком случае вы будете заходить на сайты, пользуясь своим настоящим IPv6-адресом от интернет-провайдера. Для предотвращения IPv6-утечек вы можете выключить IPv6 на своём устройстве7.
Утечка WebRTC связана с соответствующей технологией для голосовых звонков, которая очень любит работать в обход VPN. Чтобы такого не происходило, рекомендуется использовать приватные браузеры, о которых в подразделе Способы деанонимизации в обход технологий сокрытия IP.
Утечка DNS относится к случаям, когда пользователь VPN подключается к DNS-серверу своего домашнего интернет-провайдера. Проблема решается нормальным VPN-сервисом, либо самостоятельной настройкой подключения к открытому DNS resolver в системе8 или в приватном браузере — последний вариант для новичков будет проще.
Если вы применяете VPN, то обязательно проверьте наличие утечек IP. Сделать это можно с помощью browserleaks.

5. Эвристические методы, тайминг-атаки (прокси, VPN и Tor)

Суть таких атак в том, что массово собирается информация про анонимный и неанонимный трафик, после чего она анализируется, и происходит поиск корреляций по объёму трафика/числу пакетов, времени отправки и другим данным. В соответствии с теорией вероятностей и комбинаторикой, чем дольше применяются эвристические методы, тем выше становится шанс успешного обнаружения цели.
Разновидностью эвристических методов являются тайминг-атаки. Пример: Андрей-бармалей начал пользоваться Tor Browser и с его помощью посещает некий форум в зоне onion9. Время от времени Андрей оставляет на форуме свои сообщения, на которых указывается время отправки. Сначала Андрей оставил десять сообщений: одно в 17:30 понедельника, другое в 17:33 того же дня, третье в 10:11 вторника и так далее, менты собирают все эти данные. Пока что пытаться в эвристику рано, поэтому фараоны ждут. Прошёл месяц, на форуме накопилось сто сообщений от Андрея. Прошло ещё три месяца, сообщений теперь тысяча. Всё это время терпеливые полицаи следили за активностью Андрея на форуме и фиксировали время отправки сообщений. Если получится оформить все нужные бумажки10, то мусора могут обратиться к интернет-провайдерам своей страны и спросить, кто подключался к сети Tor во все указанные временные отрезки, а так как последних довольно много, то остаётся совсем мало людей или даже всего один человек, который подключался бы к сети Tor во все эти промежутки вместе взятые.
В защиту Андрея нужно сказать, что эвристика со стороны наблюдателя с большими ресурсами — это, выражаясь предельно мягко, очень неприятная вещь, против которой трудно бороться. Тем не менее, снизить риски можно, следуя рекомендациям ниже:

1. Не забывайте, что в плане анонимности мобильный интернет лучше домашнего благодаря NAT, автоматической смене мобильных IP-адресов и возможности покупки SIM-карт без документов во многих странах.

2. Сократите или полностью прекратите переписки в открытых групповых чатах мессенджеров и на популярных форумах.

3. В мессенджерах ставьте «невидимку», чтобы не было видно статус «В сети».

4.Создавайте промежутки между временем подключения к прокси/VPN/Tor и временем подключения к нужному сервису, то же самое касается и времени отключения.

5. Если есть такая возможность, то иногда меняйте никнеймы, аккаунты и виртуальные личности в целом, особенно на открытых и популярных ресурсах.

6. Для усложнения тайминг-атак можно использовать цепочки Whonix+VPN либо VPN+Tor+VPN.

6. Подконтрольные узлы (Tor)
Так как любой пользователь может создавать свои узлы в Tor, то ничего не мешает делать это и мусорам. Для значительного облегчения своей работы легавым вовсе необязательно контролировать сразу все три узла, к которым подключается подозреваемый: контроль хотя бы одного уже серьёзно упрощает эвристику, а контроль двух узлов11 при содействии интернет-провайдеров и сайта, к которому подключается подозреваемый, позволяет провести сопоставление соединений.
Существенно изменить что-то в лучшую сторону здесь нельзя, эту угрозу пользователям Tor остаётся только принять и надеяться, что они будут попадаться на честные узлы (или на узлы тех иностранных спецслужб, которые не сотрудничают с коллегами из вашей страны). Единственное, что может снизить риски, и то не вполне гарантированно, — это Whonix+VPN или VPN+Tor+VPN.

Способы деанонимизации в обход технологий сокрытия IP

Рассмотрим три способа: эксплуатация отпечатков браузера, эксплуатация стиля нажатия клавиш и эксплуатация кретинизма подозреваемого. В конце подраздела будет особое место для звуковых маячков.

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

Пользователям VPN для защиты от отслеживания по отпечаткам нужно использовать виртуальные машины вместе с приватными браузерами. Из последних посоветую LibreWolf — модификацию Firefox с заточкой под приватность. В LibreWolf стоят достаточно хорошие стандартные настройки, которые можно не трогать, если у вас нормальный VPN без утечек DNS. Учитывайте, что в LibreWolf полностью очищаются cookies после закрытия браузера, поэтому придётся привыкнуть к тому, чтобы логиниться на всех сайтах заново каждый раз. На самом деле, это хорошо с точки зрения безопасности, только вот чтобы не нивелировать данное преимущество, не пользуйтесь встроенным в браузер менеджером паролей и оставайтесь с KeePassXC.

Пользователям Tor Browser и Whonix волноваться о браузерных отпечатках не нужно.

Стиль нажатия клавиш — это важный биометрический идентификатор, который может применяться и уже применяется на многих сайтах для уникализации. Конечно, вы не так сильно подвержены данной угрозе, если мало печатаете в Интернете в рамках своей подпольной или, наоборот, обыденной жизни, и сводите к необходимому минимуму использование сторонних веб-сайтов и сетевых приложений. Надёжную защиту от атаки по этому вектору обеспечивают копирование текста из оффлайнового редактора и ОС Whonix.

Теперь самое интересное — кретинизм. Человеческая глупость бесконечна, а потому обозреть все сценарии не выйдет. Остановлюсь на одном характерном и напомню о простом решении, которое поможет застраховаться от самого себя.

Однажды Андрей ударяется головой об косяк и резко тупеет. Андрей перестаёт нормально отделять нелегальную компьютерную жизнь от легальной, поэтому он постоянно пользуется одним и тем же VPN для разных задач. Под этим VPN Андрей заходит как на сомнительный форум, так и на свои личные аккаунты в соцсетях. Когда Андреем интересуются менты, то они узнают, с какого IP он заходит на форум. Чуть позже соцсеть отвечает на мусорской запрос и рассказывает, на какие аккаунты выполнялся вход под этим IP. Казалось бы, ошибка Андрея самоочевидна, но в силу того, что преступникам часто не хватает внимательности, компетентности и мозгов, похожие случаи происходят постоянно.

Ну и напоминание о простом решении: чётко отделите вашу обыденную жизнь от подпольной. Для двух жизней используйте разные диски, виртуальные машины, операционные системы, браузеры, VPN-провайдеры и так далее. В идеале пересечений не должно быть не только в логине на одни и те же сервисы, но и в посещении одних и тех же сайтов, ведь и эта информация может использоваться для деанонимизации.

Наконец, так называемые звуковые маячки. В Интернете часто мусолится идея о том, что с помощью звуков, воспроизводимых на веб-сайте, можно деанонимизировать пользователя Tor, если эти звуки примет телефон цели или ещё какое-либо устройство.

А сейчас будет страшная крамола. Помимо того, что просто так микрофон на мобильнике не включится и данные куда надо не отправятся, со ссылкой на самого себя отмечу следующее: украинские карательные органы эту гипотетическую атаку никогда не используют, так что в наших краях однозначно нет рационального смысла рвать на себе волосы и уничтожать динамики, как некоторые иногда советуют.

Whonix, безопасность по умолчанию

Whonix — это очень полезная операционная система на базе Linux. Предшественником Whonix является Kicksecure — ОС, заточенная под максимальную безопасность, к чему в Whonix добавили максимальную анонимность. В следующем абзаце я дам общий обзор, а узнать больше про эту прекрасную систему вы можете на официальном сайте, благо он очень подробный, и там же есть все необходимые инструкции.
Whonix работает только на виртуальных машинах, причём на двух: Whonix-Gateway и Whonix-Workstation. Whonix-Workstation — это основная ОС, которую вы будете использовать большую часть времени. На ней предустановлены KeePassXC, криптокошельки, браузер и прочие полезные программы. Особенность Whonix в том, что Workstation никак не может самостоятельно подключиться к Интернету: весь входящий и исходящий трафик идёт исключительно через вторую систему, Whonix-Gateway, которая отвечает за маршрутизацию через Tor. Таким образом, ни одна программа в Whonix-Workstation не способна обойти или нарушить подключение к анонимной сети12. Whonix-Gateway поддаётся гибкой настройке сетевого подключения: например, можно создать связку Whonix+VPN13, что позволит не сталкиваться с блокировками подключений из сети Tor в Интернете.
Для продвинутых

Здесь совсем-совсем бегло про следующие темы: кастомизация роутера, ручная настройка цепочки VPN, связка VPN-Tor-VPN, работа на VPS/dedicated server.

Кастомизация роутера

Для чего она нужна? Можно, например, подключить роутер к мобильному интернету и настроить его так, чтобы весь трафик шёл через VPN или Tor, и тогда у вас будет анонимизация IP по умолчанию для всех устройств в домашней сети, что весьма удобно, если дома много техники, и нет желания делать везде всё с нуля. Для кастомизации можете установить свободную прошивку OpenWrt (убедитесь, что ваша модель её поддерживает) или купить роутер от GL.iNet либо MikroTik. В обоих случаях желательно иметь прямые руки и навык поиска инструкций в Интернете.

Ручная настройка цепочки VPN

Вы можете организовать свой Double или Triple VPN вручную, если сами будете арендовать и настраивать сервера. Это хорошо с точки зрения того, что вы будете обладать более полным контролем над своим соединением, а репутация вашего конечного IP будет выше, чем у IP от VPN-сервиса, то есть вы встретите меньше капч и блокировок. Ручная настройка особенно актуальна для жителей стран, в которых ведётся борьба с VPN, поскольку она позволяет создать неблокируемый VPN. Минус — только то, что ручная настройка дороже и сложнее, чем услуги VPN-провайдеров. Хороший видеогайд по созданию неблокируемого тройного VPN прилагается.

VPN-Tor-VPN

По сравнению с обычным Tor такая связка будет хуже в скорости, зато лучше в анонимности. Соединение VPN-Tor также позволит пользоваться сетью Tor в тех странах, где её блокируют, а соединение Tor-VPN освободит вас от необходимости доказывать каждому сайту, что вы не робот. Инструкцию по созданию связки создал Vektor T13, за что ему спасибо.

Работа на VPS/dedicated server

Использование удалённых серверов как основной рабочей среды — это обоюдоострый меч: с одной стороны, так вы не храните дома вещдоки, с другой стороны, по этой же причине доступ к вашей рабочей среде могут получить третьи лица, будь то хостинг-провайдеры или владельцы дата-центров. Если в вашей модели угроз необходимо это преимущество, и такой недостаток приемлем, то перед переносом работы на удалённый сервер обязательно убедитесь, что вы обладаете достаточными компьютерными навыками для того, чтобы настроить безопасность и грамотно заметать следы как там, так и на своём устройстве.
Примечания:
1. В Украине менты точно не могут обойти защиту VeraCrypt, не имея на руках пароля.
2. Несмотря на критику стиля разработки и качества кода, авторы данного аудита не обнаружили в VeraCrypt значимых недостатков со стороны защиты зашифрованных томов.
3. На современных SSD есть такой нюанс, как TRIM, но мы не будем его учитывать, поскольку он очищает блоки не сразу и был создан для поддержания долговечности SSD, а не для безопасного удаления данных.
4. Для интересующихся оставляю ссылку на хорошее руководство по восстановлению удалённых данных на Linux. Помните, что восстанавливать данные нужно исключительно на другой диск и загружаясь с другого диска, любой процесс записи создаёт риск повреждения удалённых данных. Как только вы поняли, что удалили что-то по ошибке, немедленно выключайте устройство и загружайтесь с другого носителя.
5. Про отличия autoclean и clean от autoremove можно узнать по этой ссылке.
9. К доменам в зоне onion можно подключиться только через сеть Tor, зачастую в этой зоне располагаются даркнет-ресурсы.
10. К счастью, эвристика строится на предположениях, а потому скучной бумажной работы по обоснованию необходимости такого запроса у них может быть ещё больше, чем обычно.
11. Причём любых двух: входного и промежуточного, промежуточного и выходного, входного и выходного. В первом случае от контролируемого промежуточного узла имеем информацию про IP неконтролируемого выходного, которую можно сопоставить с информацией про выходной узел от сотрудничающего сайта. Во втором случае от контролируемого промежуточного узла знаем IP неконтролируемого входного, которую можно сопоставить с информацией от сотрудничающего интернет-провайдера. В третьем случае от контролируемых входного и выходного узлов выясняем IP неконтролируемого промежуточного, а с учётом сотрудничества провайдера и сайта доказательства в таком сценарии будут железные.
12. Если, конечно, она не использует какую-то страшную уязвимость, позволяющую преодолеть виртуализацию.
13. Видеоинструкция. Если ваша основная система — Linux, то вместо PuTTY используйте SSH, в остальном действия те же.
20 апреля 2025

Автор: Носферату
В Украине менты точно не могут обойти защиту VeraCrypt, не имея на руках пароля. (Прим. автора)
Несмотря на критику стиля разработки и качества кода, авторы данного аудита не обнаружили в VeraCrypt значимых недостатков со стороны защиты зашифрованных томов.
На современных SSD есть такой нюанс, как TRIM, но мы не будем его учитывать, поскольку он очищает блоки не сразу и был создан для поддержания долговечности SSD, а не для безопасного удаления данных.
Для интересующихся оставляю ссылку на хорошее руководство по восстановлению удалённых данных на Linux. Помните, что восстанавливать данные нужно исключительно на другой диск и загружаясь с другого диска, любой процесс записи создаёт риск повреждения удалённых данных. Как только вы поняли, что удалили что-то по ошибке, немедленно выключайте устройство и загружайтесь с другого носителя.
Про отличия autoclean и clean от autoremove можно узнать по этой ссылке.
К доменам в зоне onion можно подключиться только через сеть Tor, зачастую в этой зоне располагаются даркнет-ресурсы.
К счастью, эвристика строится на предположениях, а потому скучной бумажной работы по обоснованию необходимости такого запроса у них может быть ещё больше, чем обычно.
Причём любых двух: входного и промежуточного, промежуточного и выходного, входного и выходного. В первом случае от контролируемого промежуточного узла имеем информацию про IP неконтролируемого выходного, которую можно сопоставить с информацией про выходной узел от сотрудничающего сайта. Во втором случае от контролируемого промежуточного узла знаем IP неконтролируемого входного, которую можно сопоставить с информацией от сотрудничающего интернет-провайдера. В третьем случае от контролируемых входного и выходного узлов выясняем IP неконтролируемого промежуточного, а с учётом сотрудничества провайдера и сайта доказательства в таком сценарии будут железные.
Если, конечно, она не использует какую-то страшную уязвимость, позволяющую преодолеть виртуализацию.
Видеоинструкция. Если ваша основная система — Linux, то вместо PuTTY используйте SSH, в остальном действия те же.
Made on
Tilda