Запустить любую программу в песочнице. Виртуальная машина - "песочница" для экспериментов

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

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

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

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

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

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

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

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

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

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

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

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

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

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

То мы решили кратенько затронуть эту тему.

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

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

Об одной из таковых мы сегодня и поговорим.

Sandboxie - обзор, настройка и загрузка

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

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

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

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

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

Теперь давайте попробуем понять как с этим работать. Для начала Вы можете попробовать запустить, скажем, браузер, в "песочнице". Чтобы это сделать, собственно, либо воспользуйтесь ярлыком, который появился у Вас на рабочем столе, либо используйте в главном окне программы, элементы меню: "DefaultBox - Запустить в песочнице - Запустить Web-браузер ", либо, если Вы хотите запустить браузер, который не установлен в системе как браузер по умолчанию, то используйте пункт "Запустить любую программу " и укажите путь к браузеру (или программе).

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

Для очистки содержимого песочницы (если оно Вам не нужно), в главном окне программе или в трее (это где часы и прочие иконки) используйте пункт "DefaultBox - Удалить содержимое ".

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

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

Кстати говоря, по нажатию на правую кнопку мышки на процессе в списке процессов окна Sandboxie Вы можете управлять доступом к разного рода ресурсам компьютера в в обход песочницы, выбрав пункт "Доступ к ресурсам ".

Грубо говоря, если Вы хотите рискнуть и дать, например, тому же Google Chrome, прямой доступ к какой-либо папке на компьютере, то Вы можете сделать это на соответствующей вкладке (Доступ к файлам - Прямой/полный доступ ) с использованием кнопки "Добавить ".

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

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

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

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

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

На сим, пожалуй, можно переходить к послесловию.

Послесловие

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

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

На сим, пожалуй, всё. Как и всегда, если есть какие-то вопросы, мысли, дополнения и всё такое прочее, то добро пожаловать в комментарии к этой записи.

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

WARNING

Неправильное использование описанной методики может нанести вред системе и привести к заражению! Будь внимателен и осторожен.

«Песочница» для анализа

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

Конечно, в Сети есть масса готовых онлайн-сервисов, которые предлагают анализ файлов: Anubis , CAMAS , ThreatExpert , ThreatTrack . Подобные сервисы используют разные подходы и имеют свои достоинства и недостатки, но можно выделить и общие основные минусы:

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

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

Пара предупреждений

Сегодня мы попробуем сделать свой собственный анализатор на основе «песочницы», а именно утилиты Sandboxie. Эта программа доступна как условно-бесплатная на сайте автора www.sandboxie.com . Для нашего исследования вполне подойдет ограниченная бесплатная версия. Программа запускает приложения в изолированной среде, так что они не производят вредоносных изменений в реальной системе. Но тут есть два нюанса:

  1. Sandboxie позволяет отслеживать только программы на уровне user mode. Вся деятельность вредоносного кода в режиме ядра не отслеживается. Поэтому максимум, что удастся узнать при изучении руткитов - это каким образом вредонос внедряется в систему. Проанализировать само поведение на уровне kernel mode, к сожалению, невозможно.
  2. В зависимости от настроек Sandboxie может блокировать выход в Сеть, разрешать полный доступ или доступ только для отдельных программ. Понятно, что, если для нормального запуска вредоносу нужен выход в интернет, необходимо его предоставить. С другой стороны, если у тебя на флешке валяется Pinch, который запускается, собирает все пароли в системе и отправляет их на ftp злоумышленнику, то Sandboxie с открытым доступом в интернет не защитит тебя от потери конфиденциальной информации! Это очень важно, и об этом следует помнить.

Первичная настройка Sandboxie

Sandboxie - великолепный инструмент с большим количеством настроек. Упомяну лишь те из них, которые необходимы для наших задач.

После установки Sandboxie автоматически создается одна «песочница». Ты можешь добавить еще несколько «песочниц» под разные задачи. Доступ к настройкам «песочницы» осуществляется через контекстное меню. Как правило, все параметры, которые можно изменять, снабжены достаточно подробным описанием на русском языке. Для нас особенно важны параметры, перечисленные в разделах «Восстановление», «Удаление» и «Ограничения». Итак:

  1. Необходимо убедиться, что в разделе «Восстановление» ничего не указано.
  2. В разделе «Удаление» не должны быть никаких проставлены галки и/или отмечены добавленные папки и программы. Если неправильно выставить параметры в разделах, указанных в пунктах 1 и 2, это может привести к тому, что вредоносный код заразит систему или все данные для анализа будут уничтожены.
  3. В разделе «Ограничения» необходимо выбрать настройки, соответствующие твоим задачам. Практически всегда необходимо ограничивать доступ низкого уровня и использование аппаратных средств для всех выполняемых программ, чтобы не допустить заражения системы руткитами. А вот ограничивать доступ на запуск и выполнение, а также забирать права, наоборот, не стоит, иначе подозрительный код будет выполняться в нестандартной среде. Впрочем, всё, в том числе и наличие доступа к интернету, зависит от задачи.
  4. Для наглядности и удобства в разделе «Поведение» рекомендуется включить опцию «Отображать границу вокруг окна» и выбрать цвет для выделения программ, выполняемых в ограниченной среде.

Подключаем плагины

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

Нам понадобится несколько плагинов, которые перечислены ниже.

  1. SBIExtra . Этот плагин осуществляет перехват ряда функций для выполняемой в песочнице программы, чтобы блокировать следующие возможности:
    • обзор исполняемых процессов и потоков;
    • доступ к процессам вне пределов «песочницы»;
    • вызов функции BlockInput (ввод с клавиатуры и мыши);
    • считывание заголовков активных окон.
  2. Antidel . Аддон перехватывает функции, отвечающие за удаление файлов. Таким образом, все временные файлы, команда на удаление которых поступает от исходного кода, все равно остаются на своих местах.

Как интегрировать их в «песочницу»? Поскольку это не предусмотрено средствами интерфейса Sandboxie, редактировать файл конфигурации придется вручную. Создаем папку Plugins и распаковываем в нее все подготовленные плагины. Теперь внимание: в состав Buster Sandbox Analyzer входит несколько библиотек с общим именем LOG_API*.dll, которые могут инжектироваться в процесс. Есть два типа библиотек: Verbose и Standard. Первый отображает практически полный список вызовов API, выполняемых программой, включая обращения к файлам и реестру, второй - сокращенный список. Сокращение позволяет ускорить работу и уменьшить журнал, который затем придется анализировать. Лично я не боюсь больших логов, зато опасаюсь того, что какая-нибудь нужная инфа будет заботливо «сокращена», поэтому выбираю Verbose. Именно эту библиотеку мы и будем инжектировать. Чтобы зловред не смог заметить инжект библиотеки по ее имени, применим простейшую меру предосторожности: сменим имя LOG_API_VERBOSE.dll на любое другое, например LAPD.dll.

Теперь в главном окне Sandboxie выбираем «Настроить -> Редактировать конфигурацию». Откроется текстовый конфиг со всеми настройками программы. Сразу обращаем внимание на следующие строки:

  • Параметр FileRootPath в разделе указывает общий путь к папке изолированной среды, то есть к папке, где будут находиться все файлы «песочницы». У меня этот параметр имеет вид FileRootPath=C:\Sandbox\%SANDBOX%, у тебя он может отличаться.
  • Раздел нас не интересует - его пропускаем и листаем дальше.
  • Затем идет раздел, имя которого совпадает с названием «песочницы» (пусть это будет BSA). Сюда мы и будем добавлять плагины:InjectDll=C:\Program Files\Sandboxie\Plugins\sbiextra.dll InjectDll=C:\Program Files\Sandboxie\ Plugins\antidel.dll InjectDll=C:\Program Files\Sandboxie\ Plugins\LAPD.dll OpenWinClass=TFormBSA Enabled=y ConfigLevel=7 BoxNameTitle=n BorderColor=#0000FF NotifyInternetAccessDenied=y Template=BlockPorts

Пути, конечно, могут отличаться. Но порядок инжектируемых библиотек обязательно должен быть именно таким! Это требование связано с тем, что перехват функций должен осуществляться именно в указанном порядке, иначе плагины работать не будут. Чтобы применить изменения, выбираем в главном окне Sandboxie: «Настроить -> Перезагрузить конфигурацию».

Теперь настроим сам плагин Buster Sandbox Analyzer.

  1. Запускаем плагин вручную, воспользовавшись файлом bsa.exe из папки Plugins.
  2. Выбираем «Options -> Analysis mode –> Manual» и далее «Options -> Program Options -> Windows Shell Integration -> Add right-click action «Run BSA»».

Теперь всё готово для работы: наша «песочница» интегрирована в систему.

Portable-версия «песочницы»

Безусловно, многим не понравится, что надо что-то устанавливать, настраивать и т. д. Так как меня всё это тоже не прельщает, я сделал портабельную версию инструмента, который можно запускать без установки и настройки, прямо с флешки. Скачать такую версию можно здесь: tools.safezone.cc/gjf/Sandboxie-portable.zip . Для запуска «песочницы» достаточно выполнить скрипт start.cmd, а по окончании работы не забыть выполнить скрипт stop.cmd, который полностью выгрузит драйвер и все компоненты из памяти, а также сохранит внесенные в ходе работы изменения в портабеле.

Настроек у самого портабелизатора совсем не много: его работа в основном основана на манипуляциях с файлом Sandboxie.ini.template, находящегося в папке Templates. По сути, этот файл представляет собой файл настроек Sandboxie, который должным образом обрабатывается и передается программе, а по окончании работы перезаписывается обратно в Templates. Если открыть этот файл «Блокнотом», то ты вряд ли найдешь что-то интересное. Нужно обязательно обратить внимание на шаблон $(InstallDrive), повторяющийся в ряде параметров пути. Особенно нас интересует параметр FileRootPath. Если он имеет следующий вид:

FileRootPath=$(InstallDrive)\Sandbox\%SANDBOX%

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

FileRootPath=C:\Sandbox\%SANDBOX%

Иначе говоря в нем указан определенный системный диск, то «песочницы» будут создаваться на этом диске.

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

Практическое применение

Попробуем наш инструмент на реальной угрозе. Чтобы никто не упрекнул меня в подтасовке, я поступил просто: зашел на www.malwaredomainlist.com и скачал последнее, что там появилось на момент написания статьи. Это оказался премилый файл pp.exe с какого-то зараженного сайта. Одно только название внушает большие надежды, кроме того, на этот файл сразу заорал мой антивирус. К слову, все наши манипуляции лучше производить при отключенном антивирусе, иначе мы рискуем заблокировать/удалить что-нибудь из того, что исследуем. Как изучить поведения бинарника? Просто нажимаем правой кнопкой на этот файл и выбираем в выпавшем меню пункт Run BSA. Откроется окно Buster Sandbox Analyzer. Внимательно смотрим в строку Sandbox folder to check. Все параметры должны совпадать с теми, которые мы указали при настройке Sandboxie, то есть если песочница получила название BSA, а в качестве пути к папке был задан параметр FileRootPath=C:\Sandbox\%SANDBOX%, то вс,ёе должно быть как на скриншоте. Если же ты знаешь толк в извращениях и назвал песочницу по-другому или настроил параметр FileRootPath на другой диск или папку, его нужно изменить соответствующим образом. В противном случае Buster Sandbox Analyzer не будет знать, где искать новые файлы и изменения в реестре.


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

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

Сразу после этого в окне анализатора побегут API-вызовы, которые будут фиксироваться в лог-файлах. Обрати внимание, что сам Buster Sandbox Analyzer не знает, когда завершится анализ процесса, фактически сигналом к окончанию служит именно твое жмакание на кнопку Finish Analysis. Как же узнать, что время уже наступило? Тут может быть два варианта.

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

После этого можно смело выбирать Finish Analysis в окне Buster Sandbox Analyzer.


Анализ поведения

Нажав на кнопку Malware Analyzer, мы сразу получим некоторую сводную информацию о результатах исследования. В моем случае вредоносность файла была совершенно очевидна: в ходе выполнения создавался и запускался файл C:\Documents and Settings\Администратор\Application Data\dplaysvr.exe, который добавлялся в автозагрузку (кстати, именно он не хотел завершаться сам), происходило соединение с 190.9.35.199 и модифицировался hosts-файл. Кстати, при этом на VirusTotal файл детектировали только пять антивирусных движков, что видно из логов, а также на сайте VirusTotal.


Всю информацию о результатах анализа можно получить непосредственно в меню Viewer в окне Buster Sandbox Analyzer. Здесь же приютился и журнал API-вызовов, который, безусловно, будет полезен при подробном исследовании. Все результаты хранятся в виде текстовых файлов в подпапке Reports папки Buster Sandbox Analyzer. Особый интерес представляет отчет Report.txt (вызывается через View Report), в котором приводится расширенная информация по всем файлам. Именно оттуда мы узнаём, что временные файлы на самом деле были исполняемыми, соединение шло по адресу http://190.9.35.199/view.php?rnd=787714, вредонос создал специфический мутекс G4FGEXWkb1VANr и т. д. Можно не только просматривать отчеты, но и извлекать все файлы, созданные в ходе выполнения. Для этого в окне Sandboxie нажми правой кнопкой по «песочнице» и выбери «Просмотреть содержимое». Откроется окно проводника со всем содержимым нашей «песочницы»: в папке drive находятся файлы, создаваемые на физических дисках «песочницы», а в папке user - файлы, создаваемые в профиле активного пользователя (%userprofile%). Здесь я обнаружил dplaysvr.exe с библиотекой dplayx.dll, временные файлы tmp и измененный файл hosts. Кстати, оказалось, что в него добавлены следующие строки:

94.63.240.117 www.google.com 94.63.240.118 www.bing.com

Учти, что в «песочнице» валяются зараженные файлы. Если их нечаянно запустить двойным кликом, ничего не будет (они запустятся в «песочнице»), но если ты их куда-то скопируешь, а потом выполнишь… хм, ну, ты понял. Здесь же, в папке, можно найти дамп реестра, измененного в ходе работы, в виде файла RegHive. Этот файл можно легко перевести в более читабельный reg-файл при помощи следующего командного скрипта:

REG LOAD HKLM\uuusandboxuuu RegHive REG EXPORT HKLM\uuusandboxuuu sandbox.reg REG UNLOAD HKLM\uuusandboxuuu notepad sandbox.reg

Что умеет и не умеет инструмент

Полученный инструмент умеет:

  • Отслеживать API-вызовы запущенного приложения.
  • Отслеживать новые создаваемые файлы и параметры реестра.
  • Перехватывать сетевой трафик при выполнении приложения.
  • Проводить базовый анализ файлов и их поведения (встроенный поведенческий анализатор, анализ на VirusTotal по хешам, анализ с помощью PEiD, ExeInfo и ssdeep и т. д.).
  • Получать некоторую дополнительную информацию за счет выполнения в «песочнице» вспомогательных программ (например, Process Monitor) вместе с анализируемой.

Этот инструмент не может:

  • Анализировать зловреды, выполняющиеся в kernel mode (требующие установки драйвера). Тем не менее возможно выявить механизм установки драйвера (до его фактического внедрения в систему).
  • Анализировать зловреды, отслеживающие выполнение в Sandboxie. Однако Buster Sandbox Analyzer включает в себя ряд механизмов, препятствующих такому отслеживанию.

Таким образом, ты получишь sandbox.reg, в котором указаны строки, внесенные зловредом в ходе выполнения. После выполнения анализа выбери в меню Options пункт Cancel analysis, чтобы вернуть всё как было. Учти, что после этой операции все журналы анализа будут удалены, но содержимое «песочницы» останется на месте. Впрочем, при следующем запуске программа сама предложит все удалить.

Задолго до того, как идея 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.

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

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

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

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

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

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


Работать в Sandboxie достаточно просто. При установке утилита может предложить вам настроить совместимость работы с некоторыми программами.

Все остальные настройки, кроме возможности интегрировать Sandboxie в контекстное меню Проводника можно оставить без изменения.

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

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

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

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

Идем в меню «Песочница » → «DefaultBox » → «Запустить в песочнице » → «…любую программу ». После этого откроется небольшое прямоугольное окошко, в котором вы можете ввести имя программы, в нашем случае это notepad.exe или выполнить обзор, указав путь к открываемому приложению с рабочего стола. Выполнять запуск можно также и через меню Пуск.

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

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

Итак, давайте скопируем и вставим в Блокнот какой-нибудь отрезок текста и попробуем сохранить файл. Первоначально Sandboxie предложит вам сохранить документ в директорию самой программы, но давайте проигнорируем это предложение и сохраним его на жёсткий диск D.

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

Вот в принципе и вся работа этой замечательной утилиты. Всё очень просто. Список всех запущенных в Sandboxie приложений можно просматривать в рабочем окне утилиты.

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

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

Запускать Sandboxie лучше всего через меню Пуск, так как созданный при инсталляции значок на рабочем столе будет открывать не саму программу, а браузер Internet Explorer.
В дополнение, небольшое видео как скачать и установить sandboxie:

Что еще почитать