- Linux Sandbox
- Linux особенности песочниц
- Cuckoo Sandbox
- LiSA Sandbox
- Limon Sandbox
- drakvuf Sandbox
- Detux
- Песочница программ Linux
- Установка FireJail
- Использование песочницы Linux
- Настройка прав доступа
- Использование графического интерфейса
- Выводы
- FireJail – песочница для изолирования подозрительных приложений в Linux
- Установка песочницы FireJail в Linux
- Как пользоваться FireJail
- Заключение
Linux Sandbox
Для будущих студентов курса «Administrator Linux. Professional» и всех интересующихся подготовили статью, автором которой является Александр Колесников.
Цель данной статьи показать какие проекты существуют на сегодняшний день для автоматического анализа исполняемых файлов для ОС Linux. Предоставленная информация может быть использована для развертывания тестового стенда для анализа вредоносного кода. Тема может быть актуальна для администраторов и исследователей вредоносного программного обеспечения.
Linux особенности песочниц
Основная проблема песочниц ОС Linux для анализа приложений это ограниченная поддержка процессоров, на которых работает операционная система. Так как использовать для каждой архитектуры свою физическую машину весьма дорого. То как компромисс используют виртуализированные решения типа Hyper-V, VMWare или VBox. Эти решения достаточно хорошо справляются со своей задачей, но они позволяют проводить виртуализацию только на той архитектуре, на которой работает основной хост. Чтобы запустить код для ARM, MIPS и других архитектур, придется обращаться к другим продуктам, которые могут эмулировать необходимые команды процессора. Попробуем собрать как можно больше проектов и посмотреть какие архитектуры процессоров поддерживаются.
Cuckoo Sandbox
Абсолютным лидером среди бесплатных автоматизированных песочниц долгое время была песочница Cuckoo. Эта песочница позволяет настроить любую популярную платформу для запуска приложений. Песочница оснащена веб интерфейсом, который используется для управления песочницей и для получения результатов работы приложений. Архитектура этой песочницы позволяет писать собственные плагины, которые могут изменять характеристики и поведение песочницы в зависимости от запускаемого файла или установленных дополнительных настроек. Общую схему архитектуры можно найти ниже:
Эта песочница очень популярна для анализа вредоносного программного обеспечения для ОС Windows. Разработчики утверждают, что она так же может работать и с ОС Linux. Разница только будет заключаться в том, что вместо виртуальной машины на Windows, должна быть настроена виртуальная машина на Linux. Попробуем найти еще аналоги.
LiSA Sandbox
Opensource песочница для анализа кода под ОС Linux. Найти репозиторий песочницы можно тут. Документация гласит, что эта песочница может анализировать исполняемые файлы с платформ:
Подобная эмуляция возможна из-за использования эмулятора Qemu. Также песочница предлагает статический и динамический анализ исполняемого файла. Статический анализ производится за счёт инструмента radare2, а динамический за счет специального расширения ядра, которое собирает события взаимодействия с ОС: файловые операции, сетевые взаимодействия, запуск команд и процессов. В документации описывается, что поддержка такого большого количества процессоров позволяет работать с прошивками устройств. То есть можно просмотреть что выполняет программное обеспечение, которое будет записано на IoT устройства. Весьма полезная фича, учитывая, что вредоносы могут быть записаны в образ прошивки устройств и работать там на постоянной основе.
Из особенностей — использование контейнеров Docker. Это качественно ускоряет настройку песочницы. Интерфейс песочницы:
Limon Sandbox
Относительно простой набор скриптов, который используется для анализа приложений. Не имеет возможностей для расширения.(Кроме написания новой логики). Может анализировать приложения теоретически на любом процессоре, так как полностью функционал записан на Python. Найти репозиторий можно здесь. Песочница оперирует следующими инструментами:
Похоже, что данная песочница это просто автоматизированная часть работы аналитика вредоносного программного обеспечения. Вывод скриптов можно увидеть ниже:
drakvuf Sandbox
Найти репозиторий можно тут. Единственный набор инструментов, который не направлен специально на исследование вредоносного кода. Этот набор используется для изучения программного обеспечения в целом. Записываемые артефакты выполнения приложений настолько подробны, что можно анализировать и вредоносное программное обеспечение. Документация гласит, что этот набор инструментов может работать практически со всеми популярными ОС. Единственное условие, которое нужно выполнить на устройстве — вложенная виртуализация. Все действия песочницы реализуются за счет перехвата системных функций ОС, которая используется в качестве хостовой для исследуемого приложения. К сожалению, для просмотра данных песочницы необходимо самостоятельно парсить данные из json.
Detux
Репозиторий песочницы можно найти здесь. Песочница для анализа вредоносного кода. Умеет анализировать следующие архитектуры:
В качестве базового гипервизора используется проект Qemu. Песочница автоматически собирает трафик и идентификаторы компрометации. Вся информация помещается в отчет. В отличии от аналогов не предоставляет красивого интерфейса, а записывает всё в отчет в формате json.
Как видно из списка выше, выбор хоть и небольшой среди песочниц все-таки есть. Однако, набор инструментов практически везде одинаковый:
кастомный перехватчик для системных вызовов.
Поэтому пользователю придется сделать выбор, будет ли он анализировать данные, которые производит песочница или нет.
Также приглашаем всех желающих посетить открытый вебинар на тему «Практикум по написанию Ansible роли». В ходе занятия мы научимся писать, тестировать и отлаживать ansible роли. Это важно для тех, кто хочет автоматизировать настройку инфраструктуры, т.к. это один из инструментов, который это позволяет сделать. Присоединяйтесь!
Источник
Песочница программ Linux
Даже в операционной системе Linux мы можем доверять не всем программам. Иногда нужно понаблюдать за тем, как они будут вести себя в системе. Также в некоторых случаях нужно больше безопасности, например, когда вы хотите открыть подозрительный сайт, зайти на сайт, где не нужно разглашать ваши конфиденциальные данные или воспользоваться своим банковским счетом в интернете.
В каждом из перечисленных случаев будет полезной песочница linux. Конечно, идеальное решение для изоляции программ в Linux — это виртуальные машины или контейнеры, но не всегда есть время и знания их настраивать, а простая песочница предоставляет легкое и быстрое решение. Идея заключается в том, чтобы ограничить приложению доступ к вашей системе, личным данным, файлам и другой информации. Программа будет работать только в изолированном окружении. В операционной системе Windows есть утилита Sandboxie, которая реализует такую функциональность. Но в Linux есть альтернатива Sandboxie — FireJail.
Принцип работы FireJail в использовании отдельных пространств имен для процессов, фильтрации системных вызовов ядра и использование отдельных ресурсов ядра, таких как таблицы и сетевой стек. В этой статье мы рассмотрим как выполняется установка и настройка песочницы firejail в Linux. А также поговорим о том, как использовать программу.
Установка FireJail
Утилита есть в официальных репозиториях большинства дистрибутивов, поэтому для установки вам будет достаточно выполнить несколько команд. Нам надо установить два пакета firejail — непосредственно песочница с интерфейсом командной строки и firetools — графический интерфейс для неё. Если вы используете Debian или Ubuntu просто выполните:
sudo apt install firejail firetools
После завершения установки утилита будет готова к работе. В дистрибутивах Fedora, CentOS или других из семейства Red Hat команда установки будет выглядеть вот так:
sudo yum install firejail firetools
После этого утилита firetools для управления песочницей Linux будет доступна в главном меню системы.
Использование песочницы Linux
Чтобы запустить любую программу в песочнице достаточно просто передать имя исполняемого файла утилите firejail. Например, для запуска Firefox выполните:
Но перед тем как запускать программу таким способом нужно закрыть все открытые сейчас вкладки, иначе программа не запустится, а только откроется новая вкладка. Для веб-браузера Chromium команда похожая:
Запущенная программа может получить доступ только к некоторым необходимым директориям с настройкам и папке загрузок. Доступа к файловой системе или других папках вашего домашнего каталога нет. Вы можете попытаться открыть домашнюю папку в браузере:
Как видите, здесь нет многих файлов и папок, которые на самом деле есть в домашней папке. Если вы попытаетесь получить доступ к запрещенному файлу, то получите сообщение, что его нет:
Настройка прав доступа
Иногда нужно дать приложениям минимум возможностей в системе, например, полностью запретить доступ к домашней папке. Для этого можно использовать опцию —private:
firejail chromium-browser —private
Эта команда полностью ограничит приложение, программа запустится с чистым профилем и не сможет писать файлы в домашнюю папку из-за приватного режима sandbox linux.
Использование графического интерфейса
Если вам больше нравиться использовать графический интерфейс вместо командной строки, вы можете использовать графический фортэнд для FireJail — Firetools. Вы можете запустить утилиту через главное меню или терминал:
Дальше достаточно выполнить двойной клик по любому уже настроенному приложению в окне песочницы и оно будет запущено. По умолчанию доступны Firefox и VLC. Если вы хотите добавить программу вызовите контекстное меню и нажмите Edit:
В открывшемся окне нужно указать имя, описание и команду запуска программы. Команда может быть такой же какую вы выполняете из консоли. Например, для Firefox в ограниченном режиме:
Затем просто кликните по только что добавленной иконке. После этого программа откроется в sandbox Linux.
Выводы
В этой небольшой статье мы рассмотрели как настраивается песочница программ linux FireJail, а также как ее использовать для изоляции программ. Несмотря на ее простоту, я рекомендовал бы вам использовать более сложные и надежные решения если безопасность критически важна, например, контейнеры linux или виртуальные машины. А вы используете песочницу в своей системе? Или все-таки контейнеры? Что по-вашему лучше? Напишите в комментариях!
Небольшое видео с демонстрацией работы утилиты на английском:
Источник
FireJail – песочница для изолирования подозрительных приложений в Linux
Бывают случаи, что необходимо запустить подозрительное программное обеспечение, либо, перейти на не известный сайт, который не вызывает доверия. При этом, в целях вашей безопасности и было разработано решения под названием FireJail. Данное программное обеспечение в Linux системах изолирует подозрительное приложение в песочнице, тем самым, предотвращая прямой доступ к вашей системе и ее конфигурационным файлам. Стоит отметить, что данная утилита так же имеет и графический интерфейс, что собственно упростит работу с ней для многих пользователей. Принцип работы FireJail достаточно прост, опишу простым языком. Это создание изолированного пространства для процессов, фильтрация системных вызовов, сетевой стек, и так далее, более подробное описание вы можете найти на GitHub.
Установка песочницы FireJail в Linux
И так, как вы могли понять, данное программное обеспечение может повысить вашу безопасность, теперь давайте перейдем к установке. Стоит отметить, что FireJail имеется в репозиториях большинства дистрибутивов Linux, и начнем мы установку с Debian / Ubuntu. Устанавливать будем при помощи терминала, так как это универсальный способ и более быстрый:
Debian/Ubuntu
Fedora
Manjaro
Конечно, можно пойти и другим путем и собрать песочницу FireJail из исходников которые имеются на GitHub, но, это не для всех, да и всегда может возникнуть проблема с зависимостями.
Как пользоваться FireJail
Когда установка завершиться, вы можете воспользоваться либо графическим интерфейсом FireJail, либо, запустить данную утилиту через терминал. Несмотря на то, что не все любят использовать терминал, в использовании данной песочницы в терминале нет не чего сложного. И так, давайте запустим к примеру браузер в изолированной среде FireJail, для этого достаточно ввести название самой утилиты “FireJail”, а затем название программы, которую хотим изолировать, в нашем же случае это “chromium”. В итоге браузер получит доступ только к необходимым настройкам и директории загрузки:
Для того что бы дать минимум доступа к вашей системе, можно воспользоваться опцией “–private”, тем самым вы полностью запретите доступ к вашей домашней директории. Данная опция пишется в конце команды, то есть:
Таким образом вы запустите приложение полностью изолировав его в песочнице, то есть, приложение будет запущено полностью в песочнице “FireJail” и не сможет иметь доступ к вашей системе, в том числе и к домашней директории пользователя.
В случае же с графическим интерфейсом “FireJail”, все достаточно просто, при запуске уже будут доступны некоторые приложения, которые вы сможете запустить из окна утилиты “FireJail” двойным кликом мышки. А для добавления новой программы в песочницу нажмите левой клавишей мышки, затем выберете пункт “Edit”:
И в открывшемся окне необходимо заполнить поля, название программы, которую хотите добавить к запуску в песочнице “FireJail”, поле – Name. Описание программы, поле – Description и команду для запуска, поле – Command. В случае с браузером Chromium это команда которую мы вводили в терминале – chromium. Полностью команда может выглядеть точно так же, как и в терминале, в том числе и с опцией “–private” для полностью изолированной среды для запуска:
Заключение
В заключении хотелось бы сказать, что не пренебрегайте своей безопасностью, несмотря на то, что Linux намного безопасней чем та же Windows вы не защищены полностью. И использование подобных утилит как “FireJail” для запуска приложений в песочнице только усилит вашу безопасность как в сети интернет, к примеру посещение теч же сайтов. Ведь не известно, что может быть на каком нибудь левом, не проверенном сайте. Спросите у любого специалиста по безопасности и он вам скажет, что переход по левым ссылкам ни к чему хорошему не приведет. А запуск программ скаченных с сайта может и вовсе подвергнуть вашу систему заражению. Так же, крайне рекомендуется использование VPN в случае с подключением к общедоступным сетям. По этому, используйте “FireJail” в Linux при необходимости.
А на этом сегодня все. Надеюсь данная статья будет вам полезна.
Журнал Cyber-X
Источник