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

Как работает программа Sandboxie?

Все очень просто, программа создает выделенную среду внутри Windows, предназначенную для безопасного запуска приложений на ПК, а также блокируют доступ вредоносам к системе. Некоторые антивирусы имеют подобные функции, например, TS 360, Comodo Internet Security, и Avast! Pro. Песочница на данный момент является одним из самых лучших инструментов для борьбы с вирусами.

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

Основные направления использования песочницы Sandboxie, это:

  • Проверка опасных и незнакомых программ
  • Отслеживание действий программ
  • Безопасный серфинг интернета

Подробнее о возможностях песочницы смотрите в моем видео обзоре:


Что еще может Sandboxie?

Еще программа может запускать несколько окон программы, например, можно запустить 2 или более окна скайпа, в обычном режиме можно запустить только одно окно программы. Некоторые через песочницу запускают несколько окон онлайн игр).

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

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

Так называемая песочница (англ. sandbox) – это относительно новая функция в условно-бесплатных пакетах антивируса Avast! Pro и Avast! Internet Security. Это особая модель безопасности, благодаря которой пользователь может посещать веб-сайты и запускать разнообразные приложения, находясь при этом в безопасной среде. Данная функция помогает избежать вирусов при случайном переходе на потенциально . При попадании на вредоносный ресурс браузер будет автоматически помещен в «песочницу», а посему заражение компьютера будет предотвращено.
В бесплатных версиях антивируса Avast! «песочница» отсутствует.

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

Как воспользоваться «песочницей»

Для того чтобы запустить сомнительное приложение или выйти в интернет через «песочницу», кликните на запросе «запустить виртуализированный процесс». После этого перейдите к нужной вам программе на компьютере. Браузер или приложение запустятся в новом специальном окне, обрамленном красной рамкой, указывающей на то, что программа успешно запущена из «песочницы».
Во вкладке «расширенные настройки» вы можете назначить приложения, которые не нужно виртуализировать, а также те, которые следует запускать из «песочницы» всегда.

Характерная особенность «песочницы» – возможность встраивания в контекстное меню. Чтобы подключить данную опцию, в окне «Параметры» установите флажок напротив графы «встроить в контекстное меню, запускаемое правым щелчком мыши». Опцию можно сделать доступной как для всех пользователей, так и для пользователей, обладающих правами администратора. С ее помощью вы сможете запускать любое приложение в «песочнице», всего лишь кликнув по ярлыку правой кнопкой мыши и выбрав команду «запустить с ».

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

Интернет и компьютерные технологии полностью захватили современный мир. Сейчас почти у каждого человека есть электронный девайс, с помощью которого он в любое время и в любом месте может найти необходимую информацию в Интернете или пообщаться с друзьями по чату. Но не стоит забывать, что иногда за этим таится и скрытая угроза – вирусы и вредоносные файлы, созданные и запущенные в глобальную сеть для заражения данных пользователей. Помимо стандартных антивирусов были созданы программы-«песочницы», помогающие предотвратить их доступ в компьютер.

Назначение и принцип программы

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

Плюсы «песочницы»

Пожалуй, первое достоинство этого приложения можно вынести из абзаца выше – оно ограничивает доступ вредоносных файлов в систему. Даже если вирусы, например, трояны или черви, были подхвачены во время серфинга в интернете, но в это время пользователь работал при включенной «песочнице», вирусы не проникнут никуда более, а при очистке «песочницы» и вовсе будут удалены с компьютера без следа. Кроме того, такие программы помогают ускорять компьютер. Так как в большинстве своем деятельность «песочницы» связана с работой в браузерах, каждый раз запуская его (Google Chrome, Opera, Mozilla Firefox), перед пользователем будет открываться абсолютно чистый и будто заново установленный браузер, который не имеет обычно тормозящего мусора – «кэша».

Минусы «песочницы»

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

На настоящий момент существует много наименований подобных программ, среди известных можно выделить такие, как Sandboxie, Comodo Internet Security и др. Каждый выбирает ту, которая ему приходится более удобной и понятной. В любом случае не стоит забывать и о минусах этих программ и использовать их аккуратно.

Avast – это одна из антивирусных программ. Установка и регистрация ее максимально просты. Есть версии для ПК и мобильных устройств. При этом лицензию на первый год использования можно получить абсолютно бесплатно. Avast предлагает разные дополнительные опции защиты. Также здесь реализована возможность добавления исключений.

Вам понадобится

  • Компьютер, мобильное устройство, интернет.

Инструкция

Внутри экрана файловой системы нажмите кнопку «Настройки», далее выберите вкладку «Исключения». Нажав на «Обзор», вы увидите содержимое жесткого диска. Осуществите выбор исключений, отметив нужные папки или файлы двойным щелчком и нажав на ОК. Подтвердите свой выбор в следующем окне, еще раз нажав на ОК.

Н екоторые массивные приложения (такие, как брендмауэры Outpost Security Suite и Online Armor Premium Firewall, а также скаченные из интернета исполняемые exe- и msi-файлы непонятного содержания) могут нарушить целостность и стабильность системы. Их установка в рабочую ОС может привести к появлению BSOD-экранов при загрузке ОС, изменению параметров браузера, и даже к распространению червей и троянов, что, вполне вероятно, повлечет за собой похищение злоумышленником паролей к аккаунтам соцсетей, используемых вами веб-служб, почтового ящика и пр.

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

Что такое песочница?

В области компьютерной безопасности песочницей называют специально выделенную среду, предназначенную для безопасного запуска приложений на ПК. Некоторые комплексные программные продукты включают в свой состав режим безопасной среды (песочницы). К таким приложениям относятся фаерволл Comodo Internet Security, антивирус Avast! (платная версия), разработки в области защиты данных от Лаборатории Касперского. Предмет нашей статьи-инструкции, программа Sandboxie, представляет собой полноценное средство для масштабного тестирования любых программ без внесения изменений в структуру и параметры рабочей операционки. Как с ней работать – читайте дальше.

Скачивание дистрибутива и установка Sandboxie

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

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

После загрузки дистрибутива, начнем процедуру инсталляции. Она проходит в 2 фазы. Сперва ставятся системные библиотеки и исполняемые файлы Sandboxie.

На заключительном этапе вам будет предложено установить системный драйвер, представляющий собой ядро приложения. Драйвер будет работать в связке со служебными файлами, время его установки – пару мгновений. Соглашаемся и идем дальше.

Первый запуск песочницы Sandboxie

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

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

Итак, когда мануал исчерпан, можем приступать к работе в изолированной среде. Запустить приложение можно, выбрав соответствующий пункт в меню «Пуск», либо воспользовавшись нажатием на соответствующую пиктограмму в виде «Приложения» (Win 8/8.1).

Альтернативный способ – двойной клик на иконке песочницы Sandboxie в панели задач.

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

Запуск браузера в режиме песочницы

Ну что ж, запустим браузер в защищенном режиме. Для этого можно воспользоваться ярлыком на рабочем столе, либо сделав правый клик на DefaultBox и выбрав в контекстном меню пункт «Запустить в песочнице» -> «Запустить web-браузер». Стоит отметить, что таким образом можно работать с браузером, установленным в системе в качестве активного по умолчанию.

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

Как с ней работать? Запустив браузер в песочнице, вы можете свободно заходить на любые, даже потенциально опасные ресурсы без угрозы заражения вашего ПК каким-либо вредоносным кодом. Такой режим наверняка пригодится, если вы ищете ключи для программ, кряки, либо вы под своим присмотром усадили за компьютер ребенка, и опасаетесь, что он может оказать вред системе путем перехода на небезопасные ресурсы через баннеры, или же изменить настройки браузера, поставив очередное «супер-уникальное» дополнение. Все загруженные с помощью этого браузера файлы также не будут иметь доступа к рабочей системе.

При попытке скачать посредством работающего в песочнице браузера какой-либо файл, обратите внимание на заголовок формы для задания имени сохранения. Название такой формы обрамляется двумя символами #, что говорит о том, что при сохранении объект будет помещен в оболочку Sandboxie Windows и не будет доступен на обычном дисковом устройстве.

То же самое касается и запускаемых программ.

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

Как убедиться, что скаченный файл в песочнице сохранен?

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

Можно ли извлечь файл из песочницы, поместив его в аналогичную папку на обычном служебном диске?

Разумеется, для этого выполните правый клик на файле для восстановления, и в контекстном меню выберите пункт «Восстановить в ту же папку». После этого файл будет извлечен.

К доступным для сохранения папкам можно добавить и новые пути, указав их на форме Настройки песочницы, категория Восстановление -> раздел Быстрое восстановление.

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

Как установить в песочницу новое приложение?

Щелкните правой кнопкой мыши на соответствующем дистрибутиве, сохраненном в изолированной среде либо в стандартной ОС, и выберите в меню пункт «Запустить в песочнице»

Далее последует штатная процедура инсталляции, с которой можно разобраться буквально в два счета. Единственный нюанс: если вы хотите протестировать 64-разрядную программу, перед установкой добавьте в настройках песочницы Sandboxie путь к папке “C:\Program Files”, поскольку по умолчанию может присутствовать лишь путь к системному каталогу “C:\Program Files (x86)”. Сделать это можно опять же в меню Быстрое восстановление. Для вступления изменений в силу нажмите кнопку «Применить» и перезапустите инсталляцию, если процесс уже запущен.

Как запустить в песочнице программу?

Пользователю доступно два способа запуска приложения в защищенной среде.

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

Второй способ – это воспользоваться интеграцией Sandboxie с проводником Windows. Для этого нужно выполнить правый клик на нужной вам программе на обычном рабочем дисковом устройстве и выбрать вариант «Запустить в песочнице».

Итоги

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

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

Определения.

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

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

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

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

Пример подхода- Invincea.

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

Недостатки подобного подхода также очевидны– обмен данными между виртуальным и реальным окружением затруднён, необходима постоянная очистка контейнеров виртуализации для возврата песочницы к изначальному, незаражённому состоянию. Также, возможны пробои либо обход такого вида песочниц и выход зловредных программных кодов в основную, незащищённую систему.

Пример подхода- SandboxIE, BufferZone, ZoneAlarm ForceField, изолированная среда Kaspersky Internet Security, Comodo Internet Security sandbox, Avast Internet Security sandbox.

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

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

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

Пример подхода- DefenseWall, Windows Software Restriction Policy, Limited User Account + ACL.

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

Примеры подхода- GeSWall, Windows User Account Control (UAC).

Методы принятия решения о помещении под защиту.

Перейдём к методам принятия решения о помещении процессов под защиту песочницей. Всего их три базовых:

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

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

Недостатки– могут быть проблемы при установке программ, пришедших через песочницу (хотя белые списки и сильно облегчают эту задачу), необходимость вручную запускать процессы в основной, доверенной зоне для обновления программ, обновляющихся только внутри себя самих (например, Mozilla FireFox, Utorrent или Opera).

Примеры программ с таким подходом- DefenseWall, SandboxIE, BufferZone, GeSWall.

2. На основе прав пользователя. Так работает Windows Limited User Account и защита на основе SRP и ACL. При создании нового пользователя ему предоставляются права доступа к определённым ресурсам, а также ограничения на доступ к другим. При необходимости программы работы с запрещёнными для данного пользователя ресурсами необходимо либо перелогиниться в системе под пользователем с подходящим набором прав и запустить программу, либо запустить её одну под таким пользователем, без перелогинивания основного работающего пользователя (Fast User Switch).

Преимущества такого подхода- относительно неплохой уровень общей защищённости системы.

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

3. На основе эвристических подходов. В этом случае модуль принятия решения «смотрит» на исполняемый файл и пытается по косвенным данным угадать, запустить его на основной системе или в песочнице. Примеры– Kaspersky Internet Security HIPS, Comodo Internet Security sandbox.

Преимущества данного подхода- он более прозрачен для пользователя, чем на основе правил. Проще в обслуживании и реализации для компании–производителя.

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

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

Режимы использования антивирусных песочниц.

Их всего два основных.

1. Режим постоянной защиты. При старте процесса, который может быть угрозой для основной системы, он автоматически помещается в песочницу.

2. Режим ручной защиты. Пользователь самостоятельно принимает решение о запуске того либо иного приложения внутри песочницы.

Песочницы, имеющие основной режим работы как «постоянную защиту» могут, также, иметь и ручной режим запуска. Равно как и наоборот.

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

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

Для неэвристических песочниц с изоляцией на основе частичной виртуализации характерен режим ручной защиты. Это связано с затруднённым обменом данными между процессами внутри песочницы и основной рабочей системой.

Примеры:

1. DefenseWall (песочница с изоляцией на основе правил) имеет основным режимом работы «постоянный на правилах». Однако, запуск вручную приложений внутри песочницы, равно как и вне неё, присутствуют.

2. SandboxIE (песочница и изоляцией на основе частичной виртуализации) имеет основным режимом работы «ручной». Но при покупке лицензии можно активировать режим «постоянный на правилах».

3. Comodo Internet Security sandbox (песочница с изоляцией на основе частичной виртуализации) имеет основной режим работы «постоянный эвристический». Однако, запуск приложений вручную внутри песочницы, равно как и вне неё, присутствуют.

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

Задолго до того, как идея Docker зародилась в головах его создателей, появился проект LXC (LinuX Containers) . Он был основан на все тех же технологиях разделения пространств имен (Linux Namespaces) и точно так же позволял создать минималистичное замкнутое на себя окружение исполнения (песочницу, контейнер) для запуска сервисов или небезопасных приложений. Однако LXC не был столь дружелюбным к новым пользователям и не обладал фишками Docker вроде слоеной файловой системы, возможности быстро выкачать и запустить уже готовое приложение и конфигами для автоматической сборки окружений.

Намного раньше во FreeBSD появилась технология jail, позволяющая создавать песочницы, подобные chroot, но с акцентом на более глубокий уровень изоляции. Долгое время jail была гордостью FreeBSD и даже послужила прообразом для технологии Solaris Zones. Однако сегодня она уже не может обеспечить тот уровень гибкости и управления ресурсами, которые предлагают LXC и Docker, так что в целом jail оказалась на обочине истории. Сегодня песочницы в Linux можно создавать множеством разных способов. Это и уже упомянутые LXC и Docker с их пространствами имен, это механизм seccomp, используемый Chrome для изоляции вкладок и плагинов, это технологии SELinux/ AppArmor, позволяющие тонко регулировать доступ приложения к чему бы то ни было. В этой статье мы познакомимся с самыми удобными для обычного пользователя инструментами, которые лучше всего подходят для решения повседневных задач, таких как:

  • запуск не вызывающего доверия приложения, способного навредить системе;
  • изоляция браузера, email-клиента и других приложений, чтобы их взлом не привел к утечке данных;
  • запуск «одноразовых» приложений, которые не должны оставлять следов в системе.

Песочница MBOX

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

Лучше всего эту концепцию демонстрирует пример с официальной страницы Mbox:

$ mbox - wget google .com

. . .

Network Summary :

& gt ; [ 11279 ] - & gt ; 173.194.43.51 : 80

& gt ; [ 11279 ] Create socket (PF_INET , . . . )

& gt ; [ 11279 ] - & gt ; a00 :: 2607 : f8b0 : 4006 : 803 : 0

. . .

Sandbox Root :

& gt ; / tmp / sandbox - 11275

& gt ; N : / tmp / index .html

[ c ] ommit , [ i ] gnore , [ d ] iff , [ l ] ist , [ s ] hell , [ q ] uit ? & gt ;

В данном случае под управлением Mbox запускается Wget. Mbox заботливо сообщает нам, что Wget обращается к адресу 173.194.43.51 и порту 80, и записывает файл index.html, который мы можем применить к основной системе (для этого нужно нажать «c»), игнорировать (i), просмотреть diff, выполнить другие операции или вообще завершить приложение. Проверить, как это все работает, можно, просто установив уже готовый пакет Mbox. В Debian/Ubuntu это делается так:

$ wget http : / / pdos .csail .mit .edu / mbox / mbox - latest - amd64 .deb

$ sudo dpkg - i mbox - latest - amd64 .deb

В Arch Linux Mbox доступен в AUR, поэтому установить его еще проще:

$ yaourt - S mbox - git

Это все. Теперь можно запускать любые бинарники, не беспокоясь, что они оставят в файловой системе бэкдор. В случае если приложению необходимо ограничить доступ к определенным частям файловой системы, можно использовать профили. Это обычные текстовые файлы, в которых перечислены разрешенные и запрещенные на доступ каталоги. Например, следующий профиль запретит приложению доступ к твоему домашнему каталогу (~), но оставит возможность работы с файлами текущего каталога (.):

Еще одна полезная опция - -n. Она полностью запрещает приложению доступ в интернет.

Изолируем запуск приложений при помощи FIREJAIL

Само собой разумеется, простой запрет на доступ к файлам - это слишком мало для создания по-настоящему изолированных песочниц. Вредоносный код или взломщик могут вообще ничего не прописывать в систему, а просто унести с собой твой Bitcoin-кошелек и базу паролей KeePass или использовать уязвимость приложения для получения прав root и выхода из песочницы. К тому же Mbox не дружит с графическим софтом и в целом не годится для запуска комплексных приложений, которые могут записывать на диск множество временных файлов и постоянно обновляют свои базы данных.

SANDBOX система изоляции приложений.

Если среди 95 профилей Firejail нет нужных тебе приложений, а идея писать профили самому не слишком тебя радует, то Sandbox - это твой выбор. Данный вид песочницы технически сильно отличается от двух уже описанных инструментов (он использует правила SELinux вместо seccomp и Namespaces), но в плане функциональности представляет собой нечто среднее.

Как и Mbox, Sandbox полностью отрезает приложение от внешнего мира, позволяя читать только stdin (то есть на вход запущенного в песочнице приложения можно передать данные другого приложения), а писать только в stdout (выводить данные на экран или перенаправлять другому приложению). Все остальное, включая доступ к файловой системе, сигналам, другим процессам и сети, запрещено. Простейший пример использования:

$ cat / etc / passwd | sandbox cut - d : - f1 & gt ; / tmp / users

Данная команда читает файл /etc/passwd, извлекает из него имена пользователей и записывает их в файл /tmp/users. Пользы от нее никакой, но она отлично демонстрирует принципы работы Sandbox. В песочнице запускается только команда cut, а сам файл /etc/passwd передается ей с помощью внешней команды. Вывод, с другой стороны, реализуется с помощью обычного перенаправления stdout.