Linux-дистрибутивы для анонимной работы в интернете — что нового?



    Самый известный из секьюрных дистрибутивов — Tails, он выпускается с 2009 года. Там всё привычно и знакомо: вставил флэшку, загрузился, поработал, почистил RAM за собой. При этом периодически появляются альтернативные решения, такие как Whonix, Qubes OS или совсем новый дистрибутив Obscurix.

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

    Безопасность — это анонимность


    В контексте операционных систем часто говорят о некоторых специфических характеристиках «безопасных» систем:

    • грамотное разделение привилегий;
    • мандатный контроль;
    • изоляция процессов;
    • … и многое-многое другое.

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

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

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

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

    Obscurix


    Obscurix (Obscure *nix) — относительно новый проект. Операционная система пока в альфе, от неё пока не стоит ожидать стабильности.

    Это «живая», загружаемая с внешнего носителя операционка на базе Arch Linux, сконфигурированная с прицелом конкретно на приватность и анонимность (исходный код, образ ISO для загрузочной флэшки). Как и положено, весь трафик безопасно направляется через Tor. Поддерживаются сети анонимайзеров I2P и Freenet (но они не выстраиваются в цепочку).

    Встроенный файрвол сконфигурирован через iptables и блокирует весь входящий трафик, разрешая только исходящие соединения по Tor, I2P или Freenet (правила iptables). NetworkManager.service вообще не запускается без iptables.

    Разрешениями приложений управляет линуксовый модуль AppArmor, для изоляции используются Bubblewrap и Xpra.

    Исходный код Obscurix открыт, из него можно собрать такой же образ, который доступен для скачивания. В комплекте с дистрибутивом поставляются только опенсорсные программы. Единственные проприетарные фрагменты — обновления микрокода для процессоров AMD и Intel (пакеты amd-ucode и intel-ucode), и они здесь только из вынужденной необходимости: это единственная защита от аппаратных уязвимостей типа Meltdown и Spectre.

    В операционной системе установлен часовой пояс UTC, его лучше не менять, чтобы не выделять себя из общей массы пользователей. Аналогичная маскировка рекомендуется во всех сценариях поведения в интернете. Как известно, фингерпринтинг «анонимных» пользователей осуществляют по косвенным битам информации, таким как список установленных расширений, список шрифтов в операционной системе, скорость рендеринга графики (указывает на аппаратную конфигурацию компьютера), особенности набора текста на клавиатуре и т. д.

    Выбор приложений:

    • IRC-клиент Hexchat с настройками приватности, без автостарта;
    • VLC, сбор метаданных отключён;
    • Thunderbird с отключёнными функциями типа Javascript, чатов, SVG для уменьшения поверхности атаки; без телеметрии и Google Safebrowsing; с защитой от фингерпринтинга, плагином enigmail для шифрования почты;
    • вьюер Evince с отключёнными опциями evince-previewer и evince-thumbnailer;
    • файл-менеджер Thunar без thunar-volman, предпросмотра и закладки для сети;
    • Pacman: изоляция потоков, только зеркала HTTPS;
    • GnuPG в усиленной конфигурации Джейкоба Эпплбаума;
    • Gedit, Eog, Electrum, Keepassxc.

    Для безопасности в системе отключены все необычные протоколы и файловые системы, модули веб-камеры и динамика, Bluetooth, Firewire, Thunderbolt. Блокируются все беспроводные устройства (кроме WiFi), отключён своп.

    Синхронизация времени критична для анонимности. Но протокол NTP чрезвычайно уязвим, не зашифрован, не работает через Tor и выдаёт локальное время в таймстампах. Поэтому автор написал скрипт Secure Time Synchronization для более безопасной синхронизации времени.

    Для сбора дополнительной энтропии в ГСЧ установлены библиотека jitterentropy и демон haveged.

    Все потенциальные идентификаторы в системе обфусцированы, MAC-адреса спуфятся при загрузке, интервалы между нажатиями клавиш на клавиатуре обфусцируются с помощью инструмента kloak.

    Obscurix не поддерживает VPN по причинам безопасности. При использовании Tor довольно сомнительно, что VPN обеспечивает дополнительную защиту, а не наоборот. На этот счёт ведутся дискуссии. Хотя если Tor блокируется средствами DPI на уровне провайдера, то VPN действительно помогает скрыть трафик и запустить Tor.

    Усиление ядра


    Защищённые дистрибутивы старательно укрепляются с точки зрения информационной защиты. В Obscurix используется hardened_malloc, специальные настройки для укрепления ядра, а некоторые защитные параметры передаются ядру через загрузчик. К примеру, вот специфические параметры выполнения ядра, которые устанавливаются утилитой sysctl:

    • kernel.dmesg_restrict=1 ограничивает логи ядра только для рута, не позволяя злоумышленнику собрать информацию о системе
    • kernel.kptr_restrict=2 скрывает символы ядра в /proc/kallsyms, чтобы эту информацию злоумышленник тоже не смог использовать для атаки
    • kernel.unprivileged_bpf_disabled=1 ограничивает работу JIT-компилятора BPF только для рута, предотвращая многие возможные атаки на JIT-компилятор типа распыления кучи
    • net.core.bpf_jit_harden=2 тоже защищает JIT-компилятор от некоторых атак
    • kernel.yama.ptrace_scope=2 устанавливает ограничение на использование системного вызова ptrace() только для рута: этот вызов используется для проверки и модификации запущенных процессов, что очень опасно
    • kernel.kexec_load_disabled=1 отключает kexec, который используется для изменений в ядре без перезагрузки
    • net.ipv4.tcp_syncookies=1 включает SYN cookie — технику противодействия атакам SYN flood (тип DoS-атак)
    • net.ipv4.tcp_rfc1337=1 предотвращает атаки типа TIME-WAIT Assassination
    • net.ipv4.conf.default.rp_filter=1 и net.ipv4.conf.all.rp_filter=1 предотвращают определённые методы IP-спуфинга.
    • net.ipv4.conf.all.accept_redirects=0
      net.ipv4.conf.default.accept_redirects=0
      net.ipv4.conf.all.secure_redirects=0
      net.ipv4.conf.default.secure_redirects=0
      net.ipv6.conf.all.accept_redirects=0
      net.ipv6.conf.default.accept_redirects=0


      отключает приём ICMP-редиректов
    • net.ipv4.conf.all.send_redirects=0 и net.ipv4.conf.default.send_redirects=0 отключают отправку ICMP-редиректов
    • net.ipv4.icmp_echo_ignore_all=1 заставляет систему игнорировать ICMP-запросы
    • vm.mmap_rnd_bits=32 vm.mmap_rnd_compat_bits=16 повышает эффективность ASLR для mmap
    • net.ipv4.tcp_timestamps=0 отключает метки времени TCP, которые используются для определения системного времени в вашей системе
    • net.ipv4.tcp_sack=0 отключает TCP SACK, эта фича практически бесполезная, но часто задействуется в эксплоитах
    • kernel.sysrq=0 отключает клавишу SysRq для выполнения произвольных команд, которым обычно требуется рут
    • kernel.unprivileged_userns_clone=0 отключает пространства имён непривилегированных пользователей, расширяющие поверхность атаки с повышением привилегий
    • kernel.deny_new_usb=1 блокирует все новые USB-устройства

    Этот список даёт представление, что векторов атаки очень много. Усиление ядра никогда не будет лишним.

    Прозрачный прокси Tor


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

    В Whonix работает встроенный гейт Whonix Gateway, в других приватных дистрибутивах схожий механизм.



    В Obscurix обычный демон Tor отключён, а системный демон Tor открывает SocksPort на 9150, чтобы предотвратить ситуацию, когда Tor работает через Tor.

    Отличия Obscurix от Tails


    Obscurix похожа на Tails, но сделана на базе дистрибутива Arch, а не Debian. Отсюда и вытекают основные отличия — более тщательное усиление ядра, песочницы и аллокатора памяти, более свежие версии программ и др.

    Кроме того, Obscurix не модифицирует Tor Browser, как это делают разработчики Tails, так что отпечаток браузера ничем не будет отличаться от стандартного, то есть не выдаст пользователя специального дистрибутива Linux.

    Ещё одно отличие в поддержке нескольких сетей для анонимизации: кроме Tor, поддерживаются I2P и Freenet. Также поддерживаются неанонимные сети Zeronet, IPFS, cjdns для шифрования и децентрализации.

    В отличие от Tails, в Obscurix отсутствует небезопасный браузер Unsafe Browser, допускающий прямое подключение в обход Tor. Таким образом, после эксплуатации какой-нибудь другой уязвимости злоумышленник может легко узнать реальный IP-адрес жертвы. Кстати, в последних версиях Tails он уже запрещён по умолчанию.

    Отличия Obscurix от Whonix


    Дистрибутив Whonix появился несколько лет назад, это уже реальный практический инструмент, в то время как Obscurix пока на стадии эксперимента.

    Главное отличие в том, что Whonix разработан для виртуальной машины. В то же время Obscurix и Tails загружаются с флэшки в RAM и не оставляют после себя следов для компьютерной экспертизы. В случае с Whonix/VM теоретически появляются дополнительные уровни абстракции. С другой стороны, Whonix удобнее, ведь виртуальную машину можно запустить под любой ОС, включая Windows и MacOS, в любом менеджере ОС.

    Whonix часто используют в связке с Qubes OS. Этот десктопный дистрибутив за качественную изоляцию VM похвалил сам Эдвард Сноуден.


    На схеме далее представлен дизайн Qubes OS с установкой Whonix. Разные цвета модулей соответствуют разным уровням доверия: от чёрного (максимальное доверие) до опасного красного (USB, сетевой стек).



    По сравнению с традиционными «живыми» дистрибутивами это более продвинутый подход. В связке Qubes-Whonix получается как бы двойная защита: специальный защищённый Linux-дистрибутив внутри другого специального дистрибутива с качественной изоляцией процессов. Но всё-таки загружаемые/живые дистрибутивы формально безопаснее, потому что не оставляют никаких следов на хосте (amnesiac) и даже очищают оперативную память на выходе.

    С другой стороны, хотя та же Qubes OS не считается 'amnesiac', но здесь полнодисковое шифрование по умолчанию. То есть по факту всё равно не остаётся никаких следов, а удобства больше.

    В общем, старая добрая Tails уже не одинока в арсенале свободного человека.



    На правах рекламы


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

    Присоединяйтесь к нашему чату в Telegram.

    VDSina.ru
    Серверы в Москве и Амстердаме

    Комментарии 18

      +2

      при этом не стоит забывать, что виртуальные машины не означают полной изоляции гостевой системы от основной.

        0

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

          0
          А если в дальнейшем там будет установлена винда с телеметрией, то идентифицировать комп а по нему и владельца становится просто.

          Каким именно образом?
            +2
            Лично я бы например под линуксом запомнил серийные номера материнки, проца и по возможности остального оборудования. Бонусом и серийник от винды, если он прошит на матери, как это часто в буках бывает. И тихонечнко отослал их на какой-нибудь сервер АНБ. А потом спросил у MS, не светился ли в их телеметрии комп с такими серийниками, таким-то набором железа и может даже с номером от винды… и опаньки. Как минимум круг поиска сильно сузится, если тебя ищут, а ты шифруешься. Тогда надо совершенно чистый отдельный(а в идеале — одноразовый) комп иметь. Т.е. разделять в себе обычного пользователя и секурного, и не смешивать их. Как только смешал — прокололся.
              0
              А почему вы думаете, что МС собирает и хранит такую информацию? В частности меня интересует часть про "… и владельца" Насколько я знаю, их телеметрия не персонализирована и всё, что они могут выдать — это обезличенный серийный номер в их базе данных, к которому привязана вся телеметрия с определённого ПК.

              Если же всерьёз рассматривать параноидальные варианты в духе «все следят и сливают и МС следит и сливает, просто их ещё не поймали за руку», то можно не беспокоиться: Intel Management Engine и его аналог от AMD всё давно слил и никакой «безопасный линукс» от него не спасёт.

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

              Ну, гайд от anonymousplanet и рекомендует культивировать в себе шизофрению и создавать полностью независимого от вас персонажа специально для анонимного использования интернета. Вплоть до того, что даже ваши интересы не должны совпадать. Но лично я придерживаюсь мнения из этой статьи. Т.е. от неМоссада поможет здравый смысл и TOR, а Моссад ВСЁ РАВНО ПРИДЁТ ЗА ТОБОЮ.
                0
                Про владельца возможно и не хранит, а вот IP адрес с которого пришла телеметрия — скорее всего в логах сохраняется. Хотябы в логах сервера, а не телеметрии. Зная IP выйти на человека сейчас дело пустяковое, если этот человек не сидит за TOR постоянно или не использует wifi общественного места на постоянной основе.
                Насчёт Intel ME и современных прошивок которые крутятся на материнке — есть такая возможность. Но сомнительно что они будут сливать всех подряд, скорее всего их надо как-то активировать на слитие. Может быть тем же линуксом защищённым. Идея неплохая.

                По поводу разделения — IMHO достаточно бытовые вопросы гуглить на одном компе, а «подозрительные» с точки зрения закона — на другом, через защищённое соединение и желательно с точкой подключения к сети не из того места, где живёшь. Представить себе, что первый комп «стучит» на каждое нажатие кнопки, и самоцензуриться во вводимой информации.
            0
            авторов? половина авторов раскидана по всему свету, а тех кто копает ядро на предмет таких вот закладок и того больше… собирайте ядро из исходников и будет вам анонимность…
              +2
              После недавней шумной истории, когда университетские исследователи накоммитили в ядро закладок, их патчи вполне себе прошли ревью, были смержены в основную ветку и никто ничего не заметил, пока они сами не признались — не самый действенный совет.
                0

                Коммиты с закладками ревью не прошли и смержены не были.

                  +2
                  Точно?
                  fosspost.org/researchers-secretly-tried-to-add-vulnerabilities-to-linux-kernel
                  A number of these patches they submitted to the kernel were indeed successfully merged to the Linux kernel tree.

                  Upd: Люди из университета клянутся, что действительно ничего не было смержено, но только потому, что после того как ряд их бажных патчей на ревью был отмечен как looks good ментейнерами ядра, они сразу же признались в содеянном:
                  qiushiwu.github.io/papers/OpenSourceInsecurity.pdf
                  Once a maintainer confirmed our patches, e.g., an email reply indicating “looks good”, we immediately notify the maintainers of the introduced UAF and request them to not go ahead to apply the patch.
                  Иными словами, если бы не признались, то код успешно пролетел бы в репозиторий.

                  В рассылке ядра тоже пишут, что патчи были действительно «приняты»:
                  lkml.org/lkml/2021/4/21/27
                  > Yesterday, I took a look on 4
                  > accepted patches from Aditya and 3 of them added various severity security
                  > «holes».
                    0

                    Ого.

                      0
                      и как эту ситуацию исправить?
              0

              Очень в тему эта новость после австралийской фбр

                0
                Ну и что может помешать настроить другой дистр на безопасность?
                Та же Gentoo конфигурится при установке.
                  +1

                  Мне так кажется что при использовании таких ОС вас на каждом сайте поджидает проверка Я-Не-Робокоп, с 33 капчами. Подскажите, кто пользуется, как оно, не напрягает? Спасибо.

                    0

                    Это не от ОС зависит а от выхода через Тор. На многие сайты с его экзит ноды вообще не зайдёшь, 403 и свободен.

                      0
                      Это не от ОС зависит а от выхода через Тор

                      это понятно


                      мда печально, конечно

                        0
                        Ничего печального. Либо перебираем выходные ноды, либо запускаем трафик через vpn/ssh после выхода из тор.

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

                  Самое читаемое