Сверху — защищённый процесс Edge в виртуальной машине Hyper-V под Windows 10, снизу — обычный Edge. Изображение: Microsoft
Вчера на технической конференции Microsoft Ignite редмондская компания анонсировала ряд новых программных решений и сервисов для IT-профессионалов. Самым интересным среди них выглядит технология Windows Defender Application Guard, которую выкатят в начале 2017 года с ближайшим крупным обновлением Windows 10 Enterprise. Именно Enterprise. Microsoft решила, что защита браузера должна работать только в корпоративной версии.
Windows Defender Application Guard — это специальный «защищённый» режим. В этом режиме процессы Edge запускаются внутри виртуальной машины на основе гипервизора Hyper-V.
Зачем это нужно?
Новая система защиты процессов Edge работает на основе системы виртуализации под названием Virtualization Based Security (VBS), которую компания Microsoft представила в июне.
С помощью VBS происходит изоляция критических данных и процессов от остальной системы. Таким образом, запущенные в незащищённой части программы не имеют доступа к конфиденциальным данным, спрятанным в контейнере. Например, программа MimiKatz для сбора парольных хэшей, сертификатов и прочей полезной информации с машины жертвы не должна просто так получить доступ к данным внутри контейнера Credential Guard в Windows 10, а вот под Windows 7 программа работает замечательно.
Изоляция процессов Edge усложнит злоумышленникам запуск эксплоита через браузер. Нужно будет сначала выйти за пределы виртуальной машины.
Вообще-то, в Edge и сейчас процессы запускаются в относительно изолированной «песочнице», у которой ограничен доступ к остальным ресурсам в системе. В такой же «песочнице» запускаются процессы в Chrome (он вообще первым среди браузеров внедрил «песочницу» для отдельных процессов) и в других браузерах. Как показывает практика, чтобы выйти из «песочницы» и успешно запустить код на компьютере жертвы, хакеру приходится использовать цепочку эксплоитов, иногда с несколькими 0day-уязвимостями. Но это вполне реально, тем более что новые 0day-уязвимости в браузерах, плагинах и операционных системах находят почти каждый день.
Windows Defender Application Guard станет гораздо более серьёзным препятствием, чем «песочница» в браузере. Из виртуальной машины не видны другие процессы, нет доступа к накопителю, к установленным приложениям и файлам, и, самое главное, нет доступа к ядру операционной системы.
При закрытии «защищённого» процесса виртуальная машина гарантированно уничтожается, вместе со всеми куками и прочими данными. С точки зрения безопасности это идеальный вариант.
Очевидно, что в виртуальном окружении программа будет работать медленнее, чем в обычном, но Microsoft пока не сообщает подробную информацию на этот счёт.
Hyper-V
Технология аппаратной виртуализации Hyper-V работает в серверных Windows Server 2012 R2, Windows Server 2012, Windows Server 2008 R2, Windows Server 2008, а также в настольных 64-битных Pro и Enterprise версиях Windows 8, Windows 8.1, Windows 10.
Согласно архитектуре Hyper-V, в каждом экземпляре гипервизора есть родительский раздел с запущенной операционной системой. В нём запускается стек виртуализации. После этого родительский раздел порождает дочерние разделы при помощи API-гипервизора, представленного в Hyper-V. Каждый дочерний раздел может порождать собственные дочерние разделы.
Дочерние разделы не имеют непосредственного доступа к аппаратным ресурсам, но зато получают виртуальное представление ресурсов, называемое виртуальными устройствами. Любая попытка обращения к виртуальным устройствам перенаправляется через логический канал VMBus к устройствам родительского раздела, которые и обработают данный запрос.
В случае с Windows Defender Application Guard в виртуальной машине работает браузер Edge, а также те модули операционной системы, которые необходимы для запуска браузера.
Официально функция виртуализации Edge будет доступна только в версии Windows 10 Enterprise. Как и другие функции VBS, она доступна вместе с административными функциями через групповые политики.
Система виртуализации Hyper-V работает также в 64-битных версиях Pro операционных систем Windows 8, Windows 8.1 и Windows 10. Теоретически, ничего не мешает запускать Edge с гипервизором на Windows 10 Pro, если этот компонент установлен в операционной системе, но официально такая конфигурация не поддерживается.
Для работы Hyper-V требуется x64-совместимый процессор с аппаратной поддержкой виртуализации, например, Intel VT или AMD Virtualization. То есть Edge в новом режиме сможет работать не на каждом компьютере.
Пользователям также следует иметь в виду, что после установки Hyper-V могут возникнуть проблемы с работой других гипервизоров, таких как VMware Workstation или Virtual Box.
Microsoft не предоставляет API, чтобы функцией виртуализации на уровне ОС воспользовались другие приложения. Пока эта эксклюзивная возможность оставлена только для программ Microsoft. Поэтому браузер от Microsoft получит привилегированное положение в операционной системе от Microsoft. Ничего удивительного, если этот факт вызовет интерес антимонопольных органов.
Раньше все устанавливали Windows в максимальной конфигурации даже на домашние компьютеры. Судя по последним действиям Microsoft, теперь «профессиональная» версия уступает по функциональности корпоративной версии. Неужели в будущем придётся ставить на домашние компьютеры и ноутбуки Windows 10 Enterprise — и платить 7 долларов в месяц за каждое рабочее место?
Комментарии (40)
Am0ralist
27.09.2016 18:39-1«Microsoft не предоставляет API, чтобы функцией виртуализации на уровне ОС воспользовались другие приложения. Пока эта эксклюзивная возможность оставлена только для программ Microsoft. Поэтому браузер от Microsoft получит привилегированное положение в операционной системе от Microsoft. Ничего удивительного, если этот факт вызовет интерес антимонопольных органов.»
А с каких пор Edge или Hyper-V являются монополистами на рынке?maxpsyhos
28.09.2016 07:25Очевидно, что Microsoft монополист на рынке Hyper-V :). И предоставляет для себя любимого фичи, которыми не делится с остальными.
RedVelvet
27.09.2016 19:54+1Ну если следовать логике МС-бояре корпоративщики, имеют более ценную информацию на пк, чем холопы — простые юзеры.
Alex_ME
27.09.2016 20:07+7Думаю, что в большинстве случаев так и есть.
Spaceoddity
27.09.2016 20:53Думаю, что в большинстве случаев самая ценная информация хранится всё-таки на личных ПК ;)
ACooper
27.09.2016 20:09-1Мне кажется, или это грубая попытка повторить экосистему iOS: изолированные друг от друга приложения?
Dolbe
27.09.2016 23:33Мне кажется, что не совсем. Это грубая попытка сделать эдж «защищенным», точнее Windows 10 защищенной от всяких зловредов, которые могут пролезть через эдж. А сделано для того, чтобы можно было сказать «наш эдж защищен, а все остальное НЕТ! пользуйтесь эдж». Повторить экосистему iOS — было бы неплохо для безопасности системы в общем, а тут всего лишь маркетинговая уловка.
orcy
04.10.2016 13:16Экосистем iOS в Windows уже есть — это их WinRT система добавленная в Windows 8. В принципе задумка неплохая, но похоже не взлетело. А так было бы неплохо — я бы предпочел ставить некоторые приложения в песочнице, когда им не нужен какой-нибудь системный доступ.
basili4
27.09.2016 20:47-1Чего только не придумают лишь бы не делать браузер безопасным.
Temtaime
27.09.2016 23:33+1Нет, а правда? Делать дыры в софте стало мейнстримом? Надо придумывать всякие ASLR, DEP, сотни всяких механизмов? И ещё всё это оборачивать в виртуальную машину?
Приумножаем тормоза из-за собственной лени проводить аудит безопастности софта?xMushroom
28.09.2016 14:36Делать дыры в софте стало мейнстримом
А то нет. Или вы знаете софт без дыр (не считая того, которым пользуются 3,5 человека)?
AllexIn
27.09.2016 21:10+3«Очевидно, что в виртуальном окружении программа будет работать медленнее, чем в обычном»
Потеря 1-3% производительности никогда не будет замечена пользователем. Да и бенчмарки не факт что смогут выявить эту потерю, учитывая специфику работы сайтов, производительность которых очень сильно скачет. Настолько сильно, что даже 5% разницы в производительности могут оказаться не замечеными.Magister7
27.09.2016 22:37+2Ну это только если они пробросили аппаратное ускорение отрисовки (ну и ещё декодирования видео заодно).
А если там все программно — то для браузера разница будет значительно заметнее.kahi4
27.09.2016 23:26+1Hyper-V умеет пробрасывать GPU. Да и думаю, что если бы действительно были большие проблемы с производительностью, они бы не пошли на такие меры. Хотя движение выглядит интересным, смотри — упростят прослойку, сделают контеризацию…
Aquilo
28.09.2016 10:49+1Так проброс GPU (у интела) это VT-d, а его нет на половине процессоров (например на всех К). То есть на разгонных процех идж будет тормозить еще больше?
chupasaurus
28.09.2016 14:04VT-d есть на большинстве процессоров начиная с Haswell (расширенный поиск на ark.intel.com в помощь). Беда в том, что только со Skylake VT-d есть на большинстве чипсетов, а Discrete Device Assignment, реализующий IOMMU-passthrough в Hyper-V, есть только в Server 2016.
GnuriaN
27.09.2016 21:37Мне кажется, что было бы лучше, если бы они сделали возможность запускать любую программу в изолированной песочнице.
Efethu
27.09.2016 21:37Не было бы более разумным дать возможность запускать любые приложения в легкой, быстрой и нативной виртуальной машине?
И не подходят ли лучше для этого контейнеры?
Disbeleiver
27.09.2016 21:37+1Особо не интересовался подробностями устройства Hyper-V, но интересно — а что будет, когда я захочу в иешечке «сохранить как» картинку? Браузер таки получит доступ к файловой системе? Или будет костыль вроде «пишем только в ~\Downloads»?
Mako_357
27.09.2016 22:51+1Edge готов для корпоративного сектора? Не риторический и саркастический вопрос.
И Enterprise версий же 2: обычная и LTSB, где нет метро-приложений и Edge.
Вообще у них крайне недоброжелательная политика. Полная защита, например Applocker, а теперь и «это» только в Enterprise редакции.
RafaelRS
28.09.2016 00:34Жалкие потуги на аналог контейнерной виртуализации в Linux?
Laney1
28.09.2016 15:32+1во-первых, контейнерная виртуализация в Windows есть уже какое-то время. Вплоть до наличия соответствующих образов на docker hub: https://hub.docker.com/r/microsoft/windowsservercore/ (кстати, так как вы видимо знакомы с темой, советую попробовать поставить его на linux)
во-вторых, нет, это не контейнерная, а полноценная виртуализация с помощью Hyper-V. Ближайший аналог в linux — это Qubes OS госпожи Рутковской
FilimoniC
28.09.2016 07:36теперь «профессиональная» версия уступает по функциональности корпоративной версии.
Да как минимум с Vista верии Enterprise бьют по функциональности любую другую. Другое дело, что раньше в 99% случаев, функционал Enterprise, отсутствующий в других версях был нужен на только на корпоративной машине.
maaGames
28.09.2016 08:30+2В стародавние времена (лет 5-6 назад) я ходил в интернет через VirtualBox с установленной Win98 и соответствующим браузером. Было довольно забавно, когда вирусы просили обновить браузер, потому что скрипт не запускался. Такая милота была.
Я не параноик, просто была необходимость кое что скачать с заведомо небезопасных сайтов.
tangro
28.09.2016 10:30+1В такой же «песочнице» запускаются процессы в Chrome (он вообще первым среди браузеров внедрил «песочницу» для отдельных процессов) и в других браузерах.
Не в «такой же». Песочница Chrome построена на механизме Integrity Levels, песочница Edge построена на Integrity Levels + App Container + запрет загрузки в процесс любых библиотек, кроме явно подписанных Microsoft. Странно это говорить, но Edge уже сейчас значительно надёжнее Хрома, а с этим новым механизмом безопасности — будет ещё на порядок круче.
В общем через пару лет официально на уровне корпораций наверняка будет указание — «Пользоваться только Edge для доступа к корпоративным ресурсам».
kalach_89
28.09.2016 10:33а российские сайты госзакупок и банков продолжат требовать 6 IE и яву 6 версии… плевали они на Edge в виртуализации…
realscorp
28.09.2016 10:38Microsoft решила, что защита браузера должна работать только в корпоративной версии.
Майкрософт где-то официально заявила, что подобной фичи в остальных редакциях ОС не будет никогда? Интересно было бы увидеть источник. Пока больше похоже на то, что такая защита не совсем готова для домашнего пользователя — например, из-за проблем с производительностью на мультимедиа-контенте, и будет доступна для особо требовательного к ИБ корпоративного сектора в виде опциональной настройки.
shep
28.09.2016 10:47-1Изобрели VMWare Unity Mode но для одного приложения и на много лет позже. Молодцы.
Xaliuss
28.09.2016 12:41Раньше все устанавливали Windows в максимальной конфигурации даже на домашние компьютеры. Судя по последним действиям Microsoft, теперь «профессиональная» версия уступает по функциональности корпоративной версии. Неужели в будущем придётся ставить на домашние компьютеры и ноутбуки Windows 10 Enterprise — и платить 7 долларов в месяц за каждое рабочее место?
Всегда же так было, с разницей в стоимости. Вот сравнение возможностей, где видно, что Home в большинстве сценариев достаточно для обычного пользователя на домашнем компьютере, профессиональная уже может входить в домен и имеет кучу дополнительных возможностей, а корпоративная уже может всё. Вопрос только в том, что нужно для работы.
А привычка ставить на домашний комп самую крутую винду связана с пиратством, и я не думаю что 90% пользователей той же Windows 7 Ultimate (не купленной) использовали существенно то, что её отличает от профессиональной версии, а большинство не заметило бы разницы с домашней.
Erelecano
28.09.2016 12:55Qubes OS легендарной Йоанны Рутковски смотрит на поделку MSа, сделанную в качестве подражания Qubes OS, с презрением.
SkyWheel
30.09.2016 09:45+1Человек высказался несколько грубо, но строго говоря он прав: то что Microsoft пытается реализовать сейчас, уже давно реализовано в Qubes OS. Зря минусанули.
И тут майки не придумали ничего нового.
timsoid
Т.е. это должно защитить от шифровальщиков?
danzealzer
В теории, да. Как будет на самом деле… надо будет проследить.
abstractbug
От шифровальщиков защищает обычное теневое копирование, только его надо включить и настроить. Отработал шифровальщик, две команды, и все на месте.
Кстати, если у него нет доступа к хранилищу, зачем он нужен? шифровальщиков обычно запускают скачав файл с почты. но если качать некуда, никто и не будет там пользоваться почтой, а значит почту будут запускать как всегда, в обычном режиме и шифровальщик как работал, так и будет отрабатывать на ура.
timsoid
Уже не в первый раз вижу шифровальщики, теневое копирование спасает не всегда.
drsmoll
многие шифровальщики перед своей работой удаляют теневые копии