Песочницы
14 сентября 2018
Для многих не секрет, что название «брандмауэр» пришло из пожарной безопасности. Но есть еще один компонент систем защиты, название которого тоже связано с этой областью, однако с пожарами у большинства не ассоциируется.
Бункер для песка, ящик противопожарный, ящик для песка… Попросту – песочница. Конструкция, куда можно безопасно бросить что-то горящее, а потом уже разбираться, что это было.
Именно таково предназначение модной системы защиты от вредоносных программ, именуемой «песочница». Программа помещается в некую среду, где показывает (или не показывает) свои вредоносные свойства. Естественно, в теории предполагается, что устройство среды тестирования таково, что программа не может повлиять на что-либо за пределами песочницы.
Песочницы могут предназначаться для проверки полученных файлов или для запуска файла/программы в изолированном окружении. Второй вариант весьма часто реализуется в виде защищенного браузера, в котором пользователь может, к примеру, безопасно проводить банковские операции.
Естественно, при создании песочницы хотелось бы максимально надежно изолировать каждый получаемый исполняемый файл, чтобы тот при этом думал, что он получил полный доступ к данным пользователей. Но требуются ресурсы, которые будут потреблять песочницы при своей работе. Поэтому вариантов устройств песочниц довольно много (кстати, как и у пожарных), и различаются они по уровню изоляции и потребляемым ресурсам.
Самые надежные песочницы реализуются на основе систем виртуализации. В идеале каждый файл открывается на отдельной виртуальной машине, запускаемой только для него. Аналог – взрывозащитный контейнер, который вы наверняка видели в метро.
Но при такой системе придется запускать для каждого полученного файла свою виртуальную машину или налаживать передачу файлов между тестовой машиной и основной.
Более того, нужно постоянно возвращать состояние файловой системы и реестра к исходным для удаления заражения из песочницы. Если этого не делать, то, например, агенты спам-ботов будут продолжать свою работу внутри песочницы как ни в чем не бывало. Блокировать их песочнице нечем. Кроме того, непонятно, что делать с переносимыми носителями информации (флешки, например) или выкачанными из Интернета играми, в которых возможны зловредные закладки.
Ну и ресурсов виртуальная машина потребляет довольно много. Плюс для тестирования работы вредоносного ПО на виртуальную машину нужно установить как минимум MS Office, а лицензии на коммерческое ПО стоят денег.
Второй подход базируется на идее, что подавляющему числу вирусов и троянцев для работы нужны файлы. Так давайте при попытке обратиться к файлу от имени запущенной программы давать копию!
Изоляция на основе частичной виртуализации файловой системы и реестра. Попытка модификации данных объектов приведет к изменению лишь их копий внутри песочницы, реальные данные не пострадают.
Контроль прав не дает возможности атаковать основную систему изнутри песочницы через интерфейсы операционной системы.
Но, как и в предыдущем случае, возникает необходимость тратить ресурсы на копирование затребованных тестируемой программой данных. Жесткие диски сейчас, конечно, почти резиновые, но если некая программа захочет просканировать и зашифровать весь диск, то придется создать копии всех файлов. И в таком случае диска может не хватить.
А ведь одновременно может проверяться много файлов!
Ну и основная проблема: отсутствует полная изоляция от системы, и, если вредоносному ПО могут потребоваться не только файлы или если оно использует какие-то хакерские приемы, оно может обойти изоляцию.
А может, вообще не изолировать тестируемый файл, а лишь наблюдать за его действиями?
Изоляция на основе правил. Все попытки изменения объектов файловой системы и реестра не виртуализируются, но рассматриваются с точки зрения набора внутренних правил средства защиты. Чем полнее и точнее такой набор, тем большую защиту от заражения основной системы предоставляет программа. То есть этот подход представляет собой некий компромисс между удобством обмена данными между процессами внутри песочницы и реальной системой и уровнем защиты от зловредных модификаций. Контроль прав не дает возможности атаковать основную систему изнутри песочницы через интерфейсы операционной системы.
Однако… Это же превентивная защита! Хотя и не совсем, так как превентивная защита не подразумевает изоляцию запущенного файла.
Но проблема изоляции в песочницах – не единственная. Сколько скачивается файлов при загрузке страниц сайта? Что там система закачала автоматически?
Проблема в том, что скачиваемые лично пользователем файлы – это только видимая часть айсберга (а скачанный файл, в свою очередь, может накачать себе дополнений, что часто встречается у троянцев). И возникает вопрос: а что проверять? Неужели ВСЁ? Никаких ресурсов не хватит, да и времени займет много. Только скачанное лично? Нет гарантии, что под проверку попадет именно вредоносная часть комплекса. Написать систему выбора, которая сама будет помещать файлы в песочницу?
Недостатки – неполноценность подобной защиты. Кроме того, что эвристик модуля принятия решения может «промахнуться» на исполняемом модуле, такие решения демонстрируют практически нулевую сопротивляемость неисполняемым файлам, содержащим зловредные скрипты. Ну, плюс еще парочка проблем (например, с установкой зловредных расширений изнутри самого браузера, из тела эксплойта).
Ну и последнее, самое главное. Все имеющиеся на рынке песочницы известны. И злоумышленник может установить, что файл запускается именно в песочнице.
Модуль установки троянца обладает функционалом, позволяющим определить попытку запуска вредоносной программы в отладочной среде или виртуальной машине, чтобы затруднить ее исследование специалистами. Также выполняется проверка на выполнение в изолированной среде «песочницы» Sandboxie.
Троянец просто выждет определенное время, не проявляя вредоносных функций, и начнет работу, будучи выпущен на свободу.
#Dr.Web_vxCube #технологии #антивирусАнтивирусная правДА! рекомендует
Честно говоря, мы не ожидали, что песочницы третьего типа будут так похожи на Превентивную защиту Dr.Web. И кстати, у нас есть своя песочница – сервис Dr.Web vxCube. Вот только мы ее просто так не раздаем, а потому тестируемые вредоносные программы не могут знать, что запущены именно в ней.
Нам важно ваше мнение
Чтобы оставить комментарий, нужно зайти через свой аккаунт на сайте «Доктор Веб». Если аккаунта еще нет, его можно создать.
Комментарии пользователей
Littlefish
22:52:25 2018-09-17
Вячeслaв
10:29:37 2018-09-17
1, 3 вероятность такая конечно есть, но случаев таких можно пересчитать по пальцам одной руки. Все же люди в основном честные существа.
2 не получится. Вредоносное ПО не имеет выхода в настоящий Интернет
Песочница потому и не дается никому в руки, чтобы ее нельзя было изучить. Ну а изучат, найдут признаки - не особо проблема - при нахождении первого же трояна обходящего песочницу - характерные признаки, на которые реагировал троян будут изменены
Вячeслaв
10:24:38 2018-09-17
zsergey
09:10:50 2018-09-16
Любитель пляжного футбола
15:54:28 2018-09-15
Vlad X
14:43:29 2018-09-15
Построил и разрушил и т.д.Песок на месте.
Vlad X
14:33:43 2018-09-15
Татьяна
13:28:15 2018-09-15
Сегодня кстати "Кросс Нации"!
a13x
09:35:12 2018-09-15
1 вариант: кто-то из работников сливает часть важного кода в тихую.
2 вариант: кто-то создает такой вредонос, который намеренно тырит данные вашего ПО, о котором вы пока не знаете.
3 вариант: кто-то "умный" приобретает и "сливает" на торренты за деньги, чтобы отбить потраченное.
Неуёмный Обыватель
02:57:55 2018-09-15
Интересно, не приведет ли борьба когда-то к появлению абсолютного добра и абсолютного зла, которые не смогут даже теоретически перебороть друг-друга.
Неуёмный Обыватель
02:53:57 2018-09-15
Однако, статья-то из Хабра 2010 года, а превентивная защита не позже ли появилась.
Lia00
00:46:50 2018-09-15
В...а
22:09:26 2018-09-14
vla_va
21:43:52 2018-09-14
robot
21:04:59 2018-09-14
kva-kva
20:38:44 2018-09-14
Дмитрий
20:19:34 2018-09-14
Damir
20:10:46 2018-09-14
anatol
20:04:47 2018-09-14
mk.insta
19:48:27 2018-09-14
Dvakota
19:26:15 2018-09-14
DrKV
19:02:48 2018-09-14
Шалтай Александр Болтай
18:56:42 2018-09-14
Шалтай Александр Болтай
18:55:15 2018-09-14
Влад
18:02:46 2018-09-14
La folle
17:50:51 2018-09-14
Сергей
17:47:33 2018-09-14
Toma
17:37:22 2018-09-14
Toma
17:36:12 2018-09-14
anavdoni
17:35:25 2018-09-14
Masha
17:05:11 2018-09-14
Zserg
15:56:37 2018-09-14
I23
15:50:19 2018-09-14
Dmur
15:36:22 2018-09-14
Lenba
14:48:47 2018-09-14
I46
14:37:14 2018-09-14
Денисенко Павел Андреевич
13:04:21 2018-09-14
marisha-san
12:55:56 2018-09-14
Вячeслaв
12:44:05 2018-09-14
Вячeслaв
12:40:50 2018-09-14
B0RIS
12:25:31 2018-09-14
Oleg
12:10:09 2018-09-14
razgen
11:51:20 2018-09-14
vinnetou
11:45:44 2018-09-14
razgen
11:14:49 2018-09-14
А в случае с противопожарным ящиком с песком совсем наоборот.
Согласно ППБ конструкция ящика должна обеспечивать в первую очередь удобство извлечения песка и засыпки допустим разлива легковоспламеняющихся или горючих жидкостей. В общем, песок предназначен для тушения возгораний путем разбрасывания его по горящей поверхности, чем достигается механическое воздействие на пламя и его частичная изоляция. Не тащат в ящик такие возгорания.
Не тащат в ящик так же загоревшееся покрытие пола или воспламенившиеся кабели и ветошь с места проведения сварочных работ. В этих и аналогичных случаях необходимо наоборот извлекать песок из ящика для засыпки.
В общем никакой связи между этими понятиями в широко распространённом виде не вижу.
Ассоциация со взрывозащитным контейнером в метро интересна.
RIBok
10:52:54 2018-09-14
Татьяна
10:52:01 2018-09-14
sanek-xf
10:44:08 2018-09-14
Biggurza
10:36:51 2018-09-14
Andromeda
10:36:33 2018-09-14
@achemolganskiy, с Днём рождения! Удачи вам во всём!