История песочниц
Детская песочница представляет собой
контейнер для хранения песка в определенном месте, поскольку песок,
который ничем не ограничен, может создавать большой беспорядок. В мире
компьютерной безопасности песочница действует в качестве виртуального
контейнера, в котором ненадежные программы можно запускать без опасности
для основной операционной системы и риска для других приложений.
Концепция защищенной среды существовала долгое время, хотя и называлась
по-разному. Операционная система Hydra, разработанная в 1970-ых, как
часть проекта в университете Carnegie-Mellon University, была построена на идее о том, что все процедуры защищены и используют собственные домены исполнения.
Sun
создала ряд ресурсов, которые назвали доменами динамических систем, и
позже представила Solaris Containers, которые представляли собой среды
исполнения, существовавшие в Solaris. Они были преобразованы в ‘зоны’ в
версии Solaris 10, которые также называются «доверенными контейнерами»
(‘trusted container’).
FreeBSD использует механизм под названием jails (тюрьмы),
который представляет собой независимые среды, реализованные посредством
виртуализации на уровне операционной системы, в которых каждая тюрьма
является виртуальной средой со своими файлами, процессами и учетными
записями пользователей, и привязана к разным IP адресам, при этом каждая
тюрьма полностью изолирована от остальных.
С того времени,
технология песочниц перешла из обобщенного механизма защиты в широко
применяемый набор методов изоляции, начиная от определенных системных
процессов, и заканчивая целыми приложениями и средами ОС. Растущая
популярность и простота использования технологий виртуализации
значительно упростила песочницы. Сначала виртуальные машины
использовались в качестве тестовых сред, которые были отделены от
производственной среды, и в которых вы могли развернуть новую ОС или
приложение и проверить их работоспособность с существующими программами ‘
без риска вмешательства в работу пользователей в сети предприятия.
Примеры песочниц
Приложения можно писать так, что некоторые или всех их процессы будут запускаться в песочнице. Компания
Google заявила, что веб браузер Chrome использует песочницу, но
большинство пользователей не понимают, что на самом деле он основывается
на интегрированной модели безопасности Windows, используя ключ доступа
Windows, который обозреватель Chrome изменяет для удаления всех
привилегий и отключения всех групп. Также важно отметить, что данная
технология полностью зависит от файловой системы NTFS и не работает в
системах, где разделы отформатированы в FAT. Песочница не может защитить
от объектов, которые неверно настроены поставщиками приложений.
Дополнительную информацию о песочнице Google можно найти здесь.
Есть
частные программные продукты для создания изолированных сред песочниц.
Одним из примеров таких программ является Sandboxie, созданная Роненом
Тзуром (Ronen Tzur). Она работает под управлением Windows 2000, XP,
Vista и Windows 7 и предназначена для запуска веб браузеров, почтовых
клиентов, IM клиентов, продуктов P2P, онлайн игр и других программ,
которые подвержены вредоносному коду и атакам; это приложение изолирует
данные компоненты от ОС Windows. Можно создавать несколько песочниц (в
платной версии) и принудительно запускать некоторые приложения в
песочнице на постоянной основе. Одним отличием Sandboxie от других
изолирующих программ является то, что это приложение изолирует отдельные
компоненты, такие как файлы, разделы системного реестра и объекты
драйверов, а не весь диск. По этой причине, Sandboxie не может
изолировать системные драйверы. Дополнительную информацию о Sandboxie
можно найти здесь.
Еще
одним решением изоляции является BufferZone от Trustware. Оно создает
‘виртуальные зоны’ на жестком диске (c:\\Virtual по умолчанию), в
которой выполняются модификации, выполненные интернет программами,
загрузками, активностью просмотра интернет содержимого, и т.д.
Дополнительную информацию по этому продукту можно найти здесь.
В
2009 компания Microsoft выпустила технологию виртуализации с открытым
исходным кодом для веб разработчиков под названием Web Sandbox, которая
представляла собой виртуальную машину на языке JavaScript, созданную для
предотвращения влияния сценариев сторонних производителей на код веб
страницы. Каждая виртуальная машина имеет собственные границы и
обеспечивает полную изоляцию пространств имен. Среда смоделирована
поверх традиционных HTML документов, и ненадежные коды выполняются на
виртуальной машине, а не в самом интернет обозревателе непосредственно.
Дополнительную информацию о Web Sandbox можно найти на сайте LiveLabs.com.
Использование песочниц с помощью продуктов виртуализации ОС
Из
кратких обзоров популярных программ изоляции становится очевидно, что
большинство из них основано на определенном типе виртуализации. Почему
не использовать такие популярные типы программ виртуализации, как
Virtual PC, VMware или Hyper-V для создания изолированных сред? Почему
ни одно из этих решений виртуализации не заявляет функцию песочницы, как
основную цель продукта? На самом деле, можно создавать песочницы с
помощью популярных продуктов виртуальных машин, и некоторые люди и компании используют виртуализацию для этих целей. Однако здесь есть некоторые подводные камни, о которых стоит знать.
Интеграция с компьютером
В
прошлом пользователям было очень трудно использовать виртуальные машины
по причине значительной сложности ‘ нужно было запускать программу
виртуализации и загружать определенную виртуальную машину, прежде чем
можно было использовать приложения, установленные на ней. Теперь,
благодаря интеграции с компьютером, как та, что вы получаете при
использовании Windows Virtual PC и режима XP Mode или функции Unity от
VMware Workstation, приложения виртуальной машины появляются в меню Пуск
системы, на которой установлена гостевая ОС, а доступ к ним
предоставляется так же, как если работать с локальным приложением,
поэтому факт того, что эти приложения работают под управлением
виртуальной машины, практически незаметен для пользователя.
Microsoft
разработала режим XP Mode в качестве решения по совместимости, которое
позволяет более старым приложениями, написанным под Windows XP, работать
под управлением Windows 7, и это является бесплатным дополнением для
Windows 7 версий Professional, Enterprise и Ultimate. Но даже если у
ваших пользователей нет старых приложений, требующих XP Mode, вы можете
использовать его для создания изолированной среды. Например, когда
пользователи посещают веб сайты, подвергающие их угрозам вредоносного
кода или другим рискам безопасности, пользователи могут делать это,
используя обозреватели, установленные на XP VM. Можно даже настраивать
обозреватели на принимающей машине Windows 7 так, что они будут
позволять посещение только безопасных веб сайтов, но будут давать больше
свободы при использовании виртуальных обозревателей. В этом случае,
если пользователь посещает зараженный сайт, он не подвергнет Windows 7
опасности. Режим XP Mode можно загрузить отсюда .
Если
ваши пользователи все еще используют XP или Vista в качестве основных
систем, вы не сможете установить XP Mode. Вы можете использовать
Microsoft Virtual PC 2007 для создания изолированный среды, но в этом
случае вы возвращаетесь к изначальной проблеме отсутствия интеграции
виртуальных приложений с основной операционной системой. Однако вы
можете использовать VMware Workstation с ее функцией Unity, которая дает
те же возможности интеграции. Но в отличие от XP Mode для Windows 7 Pro
и более новых версий, VMware Workstation не бесплатна; текущая версия (v7) стоит $189.00.
В
среде предприятия Microsoft Enterprise Desktop Virtualization (MED-V)
может использоваться для двух целей: обеспечение совместимости
приложений и создание среды для выполнения потенциально опасных
приложений, не подвергая риску основную систему. MED-V обеспечивает
более централизованный контроль над виртуальными средами, которые
установлены на пользовательские ПК. Дополнительную информацию о MED-V
можно найти здесь.
Риски использования виртуализации ОС для песочниц
Проблема
использования приложений виртуализации ОС для создания песочниц
заключается в том, что некоторое вредоносное ПО может определять, если
работает в виртуальной системе. Те, кто пишет вредоносный код,
разрабатывают технологии обнаружения виртуальных машин, которые ищут VME
артефакты в памяти, файловой системе, реестре или запущенных процессах,
или ищут специфическое для VME виртуальное аппаратное оборудование и
инструкции процессора. Например, тот факт, что OС работает на VMtools
говорит о том, что это виртуальная машина. Вы, возможно, помните
инструмент ‘Red Pill’ специалиста безопасности, Джоанны Рутковской,
представленный в 2004, который определял использование VM. Подобные
инструменты весьма распространенны в интернете.
В некоторых
случаях обнаружение виртуальной среды просто вызывает прекращение
подрывной деятельности вредоносного кода, и его невозможно надлежащим
образом проанализировать в виртуальной среде. Конечно, если вы
используете VM для изоляции, это полезно, поскольку это значит, что
вредоносный код деактивируется и, тем самым, не может причинить вред
виртуальной ОС.
Однако некоторые взломщики используют определение
виртуальных машин для инициации атак, которые используют дыры в
безопасности продукта VM, концентрируясь на попытке проникнуть в
физическую систему
По этим причинам никогда не стоит полагаться на
изоляционные способности VM, как на единственное средство защиты. ОС
виртуальной машины необходимо обновлять самыми свежими обновлениями
безопасности, и на ней должны стоять средства защиты от вирусов и
остальных вредоносных кодов, как и на основной физической ОС. Для
максимальной защиты своей сети предприятия подключайте VM к другой сети.
Также полезно иногда заменять образ VM новым образом.
Заключение
Технология
песочниц является испытанной и надежной методикой выполнения
рискованных приложений и посещения потенциально опасных веб сайтов. Есть
несколько способов создания изолированных сред ‘ но сначала необходимо
изучить все факторы и риски, связанные с определенными методами
изоляции. Безопасность всегда должна быть многоуровневой, поэтому не
следует полагаться исключительно на песочницы, как на единственное
средство защиты.