Tor научился запускать любые приложения в полной изоляции. Обзор Oniux

Tor научился запускать любые приложения в полной изоляции. Обзор Oniux

Tor научился запускать любые приложения в полной изоляции. Обзор Oniux

Tor представил Oniux — свежий инструмент для параноиков и не только. Теперь можно запускать любые приложения в Linux через Tor без страха утечки трафика. Как он работает, чем лучше старого доброго torsocks и почему namespaces — это новый фетиш для защитников приватности? Разбираемся подробно и по-человечески.

Tor и Oniux: маленькая революция в мире анонимности

О Tor слышали, кажется, все: если хочется скрыть, кто ты и откуда, Tor — почти обязательная вещь. Но даже у такого культового проекта есть свои "но": запускать сторонние приложения через Tor на самом деле не так уж и просто, и классические методы (типа torsocks) уже давно трещат по швам. Вот тут и появляется Oniux — утилита, которая обещает реальную, а не иллюзорную, изоляцию на уровне ядра Linux.

Почему прежние решения — не спасение

До появления Oniux самым популярным способом "прогнать" приложение через Tor был torsocks . Это такой "обманщик", который через трюк с LD_PRELOAD подменяет сетевые вызовы приложений, чтобы трафик шёл через Tor. Но есть пара проблем:

  • Если приложение написано с хитрецой и обращается к сети напрямую, мимо libc, torsocks этого даже не заметит.
  • Статически скомпилированные приложения вообще игнорируют этот трюк.
  • Полной изоляции нет — приложение всё равно "видит" сетевые интерфейсы хоста.

В общем, хорошая задумка, но из серии «надейся, но проверяй».

Oniux: что это вообще такое и как работает

Теперь, благодаря Oniux, можно не просто "надеяться", а быть уверенным: приложение действительно не сможет ускользнуть ни в какие обходные пути. Oniux использует пространcтва имён ядра Linux — namespaces , чтобы каждое приложение работало в отдельном "контейнере" с собственным сетевым пространством.

Простыми словами: Oniux создаёт мини-вселенную для каждого процесса. Приложение не видит реальных интерфейсов машины, не может отправить ничего напрямую в интернет — только через виртуальный интерфейс onion0, который "завязан" на Tor.

Архитектура Oniux: что под капотом?

  • Использует Linux namespaces: сеть, монтирование, пользовательские и PID namespaces.
  • Каждое приложение получает свой сетевой стек — оно не видит даже loopback-хоста.
  • В качестве транспорта — новый движок Tor под названием Arti и вспомогательный компонент onionmasq для виртуального интерфейса.
  • В корне системы: утилита написана на Rust (да, мода на Rust — теперь и у Tor!).
  • Безопасный DNS: через mount namespace подменяет /etc/resolv.conf на Tor-friendly конфиг.
  • Минимальные права: сетап изоляции проходит с понижением привилегий, чтобы даже вредонос не выбрался наружу.

Результат? Приложение физически не может "просочиться" в обычный интернет. Всё, что оно отправит — пройдёт только через Tor, или не пройдёт никак.

Для кого это всё?

Оniux — это мечта всех, кто занимается аудитом безопасности, запускает сомнительные бинарники, тестирует анонимность или просто не хочет, чтобы очередной "условный curl" неожиданно раскрыл ваш реальный IP.

Инструмент особенно полезен:

  • Пентестерам и исследователям: безопасно анализировать сетевую активность приложений.
  • Разработчикам: тестировать работу программ в условиях полной сетевой изоляции.
  • Любителям приватности: запускать тор-браузер, почтовый клиент, мессенджер, любой app — в режиме тотального контроля.

Как Oniux работает на практике — шаг за шагом

Давайте разберём, как Oniux "упаковывает" приложение:

  1. Создаёт отдельное сетевое пространство имён (network namespace).
  2. Отключает доступ к любым реальным интерфейсам — даже loopback будет "нулевой".
  3. Подключает виртуальный интерфейс onion0, который связан с onionmasq и через него с Tor.
  4. Монтирует Tor-совместимый /etc/resolv.conf через mount namespace.
  5. Использует отдельные PID и user namespaces — приложение даже не сможет поднять root-права или видеть другие процессы.
  6. Всё сетевое взаимодействие приложения идёт через Tor, даже если оно пытается делать "низкоуровневые" вещи.

Звучит сложно? На практике — одна команда в терминале:

oniux curl http://example.onion

или даже так:

oniux bash

— и вся сессия вашего bash уже в полной изоляции.

Oniux vs torsocks: таблица отличий

Чтобы окончательно всё разложить по полочкам, вот сравнение:

Oniux Torsocks
Работает как отдельное приложение Нужен отдельный работающий Tor-демон
Использует kernel namespaces Использует LD_PRELOAD (ld.so preload hack)
Работает с любыми приложениями (даже статическими бинарями) Работает только с программами, которые используют system calls через libc
Вредоносное приложение не сможет утечь напрямую Вредонос легко "просачивается" через raw system calls
Только Linux Кроссплатформенный (но с теми же ограничениями)
Экспериментальный Используется уже 15 лет
Работает на Arti Работает на CTor
Rust C

Выглядит заманчиво, но есть нюанс: Oniux пока экспериментальный и не обкатан на реальных боевых задачах. Для критических применений его использование пока не советуют — но попробовать, если вы не боитесь приключений, более чем можно!

Как установить Oniux: пошаговая инструкция

Всё просто, если у вас уже есть Rust. Если нет — ставим Rust ( официальный сайт ), а дальше — одна команда:

cargo install --git https://gitlab.torproject.org/tpo/core/oniux oniux@0.4.0

Готово! Примеры использования от самих разработчиков:

  • Зайти на onion-сайт: oniux curl http://example.onion
  • Запустить всю оболочку через Tor: oniux bash
  • Запустить графическое приложение (например, HexChat) через Tor: oniux hexchat

Исходники доступны на GitLab Tor Project .

Linux namespaces — как это работает и зачем это вообще нужно?

Namespaces — это как квартиры в огромном доме: у каждой свой вход, свой холодильник и даже собственный Wi-Fi. Linux позволяет любому процессу работать "в отдельной квартире", чтобы никто не подглядывал и не мог устроить аврал в коридоре. Для Oniux это гарантирует, что приложение не "увидит" ничего, кроме виртуального интерфейса, созданного специально для Tor.

  • Network namespace — каждый процесс видит только свои сетевые интерфейсы и роутинг.
  • Mount namespace — у процесса собственный набор смонтированных файловых систем (например, свой resolv.conf).
  • User и PID namespaces — собственные ID пользователей и процессы, не связанные с остальной системой.

В сумме: даже если приложение попыталось выйти за пределы — у него не получится.

Сценарии применения и реальные примеры

  • Аудит безопасности: Проверяете подозрительный бинарник? Просто запускаете его через Oniux — и даже если он вздумает "стучаться" куда не надо, все его попытки ограничены только Tor-ом.
  • Разработка анонимных сервисов: Тестируете новые onion-сервисы? С Oniux не боитесь, что софт случайно "провалится" в обычную сеть.
  • Гарантированная приватность: Хочется уверенности, что никто не узнает ваш IP — Oniux гарантирует, что даже при баге приложение "не сольёт" вас наружу.

Можно запускать даже браузеры, почтовые клиенты, мессенджеры — главное, чтобы это были Linux-приложения.

Есть ли минусы? Что нужно помнить

Без ложки дёгтя не обошлось. Oniux пока свежий, тестируется мало, в сложных сценариях (нестандартные приложения, сложные сессии) может вести себя неожиданно. Для критических задач лучше всё-таки подождать, пока энтузиасты не обкатают инструмент во всех режимах. Разработчики просят: пробуйте и присылайте баги — именно так инструмент станет "боеспособным".

Заключение: Новый стандарт анонимности?

Oniux — инструмент, который может изменить подход к анонимности в Linux. Вместо старых "хаков" — полноценная изоляция на уровне ядра, никаких обходных путей, никаких случайных утечек. Да, пока это только начало, и многое будет дорабатываться. Но подход явно показывает, куда движется индустрия: всё больше доверия к kernel-space, всё меньше — к "магии" пользовательского пространства.

Те, кто не боится свежих решений, уже могут попробовать Oniux — быть может, вы станете тем, кто поможет довести новый стандарт анонимности до ума.

P.S. Для самых смелых — инструкции и свежие коммиты на официальной странице Oniux .

Oniux Tor Linux namespaces приватность анонимность
Alt text
Обращаем внимание, что все материалы в этом блоге представляют личное мнение их авторов. Редакция SecurityLab.ru не несет ответственности за точность, полноту и достоверность опубликованных данных. Вся информация предоставлена «как есть» и может не соответствовать официальной позиции компании.

Твой код — безопасный?

Расскажи, что знаешь о DevSecOps.
Пройди опрос и получи свежий отчет State of DevOps Russia 2025.


Дэни Хайперосов

Блог об OSINT, электронике и различных хакерских инструментах