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

Когда антивирус запускает какое-либо приложение в виртуальной среде с названием "песочница", как эта песочница работает именно с точки зрения ядра Windows?

Сложно ли написать такую ​​песочницу?

Ответы

Ответ 1

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

Что касается трудности, это, вероятно, одна из самых сложных вещей, которые вы когда-либо могли написать. Мало того, что вы должны обеспечить перехваты для большинства всего ядра операционной системы, но вы должны запретить приложению получать доступ к памяти других процессов, у вас должен быть способ сохранить состояние изменений, которые делает программа что программа не понимает, что она работает под песочницей. Вы должны сделать все это в режиме ядра, что фактически ограничивает вас использованием C и заставляет вас иметь дело с различными видами памяти, например. выгружаемый пул и невыгружаемый пул. О, и вам нужно быстро выполнить все очень, чтобы пользователь считал целесообразным запускать приложения внутри вашей песочницы. Большинство пользователей не будут допускать 50% -ых результатов.