Microsoft Windows — самая популярная операционная система в мире, поэтому большинство атак направлены именно на нее. В Windows 10 разработчики заложили значительный защитный потенциал, начиная с Защитника Windows и заканчивая групповыми политиками, BitLocker и Virtualization-Based Security — их нужно только грамотно настроить.
- Введение
- Безопасность Windows 7 и Windows 10
- Защита от бесфайловой атаки
- Виртуализация Windows 10
- Защита данных от утечки
- Выводы
Введение
Защита Windows 10 устроена интересным образом и делится на 3 больших параметра:
- Управление идентификацией и доступом
- Защита от угроз
- Защита информации
Если полностью описать весь набор правил, настроек и функций безопасности Windows 10, то придется написать книгу. Даже если детально присмотреться к пункту «Защита от угроз» в локальной политике, то сразу станет понятно, что все не так просто. Существует масса ключевых моментов при настройке как «Защитника Windows», так и всех его ответвлений. Поэтому придется коснуться частных случаев целевых атак, и показать опции и функции, которые нам любезно предоставили разработчики Windows 10, чтобы помочь сохранить время, деньги и нервы в подобных случаях.
Безопасность Windows 7 и Windows 10
На момент выпуска Windows 7, а это 2009 год, защита была построена таким образом, какого требовало время выпуска данной операционной системы и обстоятельства атак. На момент написания статьи она еще получает пакеты обновления, в которые входят заплатки для уязвимостей, патчи и т. д. Кардинально она уже не меняется, и новых функций не добавляется. А 14 января 2020 года, как заявляет Microsoft, поддержка этой операционной системы вовсе закончится. И, как бы многим ни было трудно принимать сей факт, — Windows 7 является устаревшим продуктом.
В отношении Windows 10 подход с обновлениями изменился — каждый год выпускается новый релиз. Другими словами, каждые полгода с обновлениями устанавливаются не только исправления ошибок кода и патчи, но также обновляются и добавляются новые функции безопасности.
Если сравнивать разницу защищенности Windows 7 и 10, то встроенный антивирус в «десятке» — это не весь спектр защиты. Возьмем, к примеру, хранение учетных данных в памяти этих операционных систем, и сравним.
На практике делается это очень просто: есть масса программ, которые смогут сделать дамп памяти, к примеру Mimicatz.
Открываем его в командной строке от имени администратора на обеих операционных системах и вводим последовательность команд:
mimikatz # privilege::debug
mimikatz # sekurlsa::logonPasswords full
Рисунок 1. Работа программы Mimikatz
Данной утилитой мы атакуем процесс lsass.exe, который хранит учетные данные пользователей. Получаем пароль пользователя Windows 7 в открытом виде, а Windows 10 — только NTLM-хеш пароля. К сравнению: пароли на более новой операционной системе не хранятся в открытом виде. Отсюда следует, что чем новее программное обеспечение, тем оно острее отвечает на атаки. Чем быстрее организации обновляют парк программного обеспечения, тем менее уязвима информационная инфраструктура организации.
Защита от бесфайловой атаки
Хакеры часто применяют для начала атаки спам-кампании. Основаны они на рассылке писем с вредоносными файлами, запуск которых сулит открыть двери в сеть для злоумышленников.
Файлы бывают разных типов и эксплуатируют они разные уязвимости операционных систем. Однако если система под защитой антивируса, скорее всего, вредоносные действия будут заблокированы, а файл удален. Но существуют атаки, которые антивирус не в состоянии блокировать. Например, документы MS Office с вредоносными макросами. Сам документ по своей сути может быть безвреден и подозрительной сигнатуры, и странного поведения в себе не несет. Но макрос может быть написан таким способом, что боевую нагрузку он скачает с удаленного сервера и исполнит на системе. Ни встроенный в Windows 10, ни сторонний антивирус не сможет отреагировать на такую атаку, так как файл был проверен перед запуском, и он лишь исполняет макрос. А вот какие конкретно действия производит код, уже никто не смотрит. Да и бороться антивирусу особо не с чем — остается лишь код в памяти. Такие типы атак называются бесфайловыми или бестелесными (самого исполняемого файла нет), и они являются наиболее опасными при спаме.
Для тех, кто не использует макросы, защититься легче — просто отключить их. Но какие меры предпринять, когда это необходимо использовать? Ведь встает задача различать макросы, которые необходимы, от тех, которые используют атакующие. Для этой цели в Windows 10 разработали Windows Defender Exploit Guard. Это набор функций, который включает в себя:
- защиту от эксплойтов;
- уменьшение поверхности атаки;
- защиту сети;
- контролируемый доступ к папкам.
В документации Microsoft можно найти описание всех функций более подробно.
Важный момент: практически все компоненты зависят от встроенного в Windows 10 антивируса. То есть если установлен сторонний антивирус — то в Windows Defender Exploit Guard возможно будет пользоваться только защитой от эксплойтов. Остальные перечисленные функции будут работать только при включенном Windows Defender!
Для защиты от бесфайловой атаки необходима функция уменьшения поверхности атаки. Она содержит в себе порядка 14 правил. На странице представлены описания правил и их GUID. В данном случае необходимо включить правило «Блокировка создания исполняемого содержимого приложениями Office» с GUID «3B576869-A4EC-4529-8536-B80A7769E899». Это правило блокирует запуск сторонних приложений непосредственно макросом.
Чтобы включить данное правило, необходимо перейти в редактор локальных групповых политик и во вкладке «Конфигурация компьютера» идти по цепочке: Административные шаблоны → Компоненты Windows → Антивирусная программа «Защитник Windows» → Exploit Guard в Защитнике Windows → Сокращение возможных направлений атак. Далее необходимо открыть «Настроить правила сокращения возможных направлений атак».
Включаем функцию, выбрав переключатель «Включено», и нажимаем кнопку «Показать». В открывшемся окне вводим GUID правила и значение. Значения принимают вид:
0 — не работает
1 — блокирует
2 — не блокирует, но записывает логи.
Рисунок 2. Добавление правила в Windows Defender Exploit Guard
Включаем функцию, добавляем правило и пытаемся запустить файл с вредоносным макросом.
Рисунок 3. Оповещение о блокировке вредоносных действий
В этот момент появится уведомление о том, что действия макроса заблокированы. Но если запустить макрос, который, к примеру, посчитает стоимость скидки на товар внутри таблицы, его блокировать Защитник не будет.
Виртуализация Windows 10
В идеале политика защиты информационной безопасности в организации строится так, что ни на одной рабочей станции у пользователей не должно быть прав локального администратора, но на практике это тяжело выполнить. В любом случае на одной-двух станциях обычно бывают такие права. И в примере с Mimikatz было показано, как из дампа процесса lsass.exe можно достать NTLM-хеш пароля пользователя. Им все еще можно воспользоваться. Сложнее, но всё же.
На этом этапе выявляется проблема архитектуры операционной системы Windows. Если у пользователя есть права локального администратора — он может делать все на данной машине. И эту парадигму сломать нельзя, так как на ней строится большинство приложений Windows. Возник вопрос: как защитить какие-то данные, чтобы к ним не мог получить доступ никто, независимо от того, какие у него привилегии, и в то же время оставить локального администратора? В Windows 10 на этот вопрос ответ нашелся в функции Windows 10 Virtualization-Based Security.
Эта функция позволяет запустить виртуальную среду за пределами операционной системы, и внутри этой виртуализации запустить контейнеры с данными. А так как гипервизор к аппаратной части компьютера ближе, чем сама операционная система, то виртуальная среда сама определяет уровень доверия к виртуальным контейнерам.
Рисунок 4. Архитектура Windows 10 Virtualization-Based Security
В итоге ситуация выглядит таким образом: даже если в системе работает локальный администратор, он не может получить доступ к данным в виртуальном контейнере. И лишь только некоторые системные запросы могут отправляться в этот контейнер.
Но в виртуальных контейнерах нельзя хранить все что угодно. В них хранятся специально разрабатываемые так называемые Trustlet. Один из них — это Credential Guard. То есть уже нельзя сделать дамп процесса lsass.exe со всеми учетными данными, которые там есть. Если быть совсем точным: дамп сделать можно, но процесс lsass раздваивается, и та часть, которая хранит в себе «учетки», находится в виртуальном контейнере.
Из минусов данной технологии:
- Пока так защитить можно только доменные учетные данные (если были введены другие учетные данные, то они так и останутся в памяти).
- Необходимо современное оборудование, желательно с крипточипами ТМ 1.2 или 2.0.
- Данную технологию можно запустить только на Windows Enterprise, что требует отдельного лицензирования и довольно дорого.
Переводить всю инфраструктуру на эту технологию нецелесообразно, но на двух-трех рабочих станциях, где используются учетные данные локального администратора, она была бы не лишней.
Чтобы проверить готовность рабочей станции к включению данного программного обеспечения, а также для самого включения можно скачать Device Guard and Credential Guard hardware readiness tool с официального сайта Microsoft. Это программное обеспечение представляет собой скрипт PowerShell. Обычный его запуск проверит на пригодность машины, а ключи «-Eneble -CG» запустят Windows Credential Guard с Windows 10 Virtualization-Based Security.
Рисунок 5. Проверка готовности системы к запуску виртуализации
После запуска и перезагрузки в диспетчере задач появится еще один процесс (если компьютер находится в домене): lsalso.exe — это и есть вторая часть lsass.exe, которая хранится в контейнере вместе с учетными данными. Сделать дамп этого процесса невозможно, а в lsass содержится зашифрованный NTLM-хеш, использовать который на практике нереально.
Чтобы убедиться, что виртуализация запустилась, необходимо зайти в «Сведения о системе», и напротив пункта «Безопасность на основе виртуализации: настроенные службы» должно быть значение Credential Guard.
Рисунок 6. Запущенная служба виртуализации
Защита данных от утечки
В рамках определенного сценария есть предположение, что пользователь случайно (или нет) может передавать информацию третьим лицам. Эти данные могут быть очень ценными, и от них может зависеть репутация или работа компании.
Также не исключены ситуации, когда носитель информации был утерян, или к устройству был получен несанкционированный доступ. В таких случаях получение данных с устройств — это лишь вопрос времени, причем очень короткого.
К примеру, можно взять ситуацию, когда злоумышленник получает доступ к рабочей станции. Достаточно загрузиться с загрузочного носителя, и через командную строку (вызывается сочетанием клавиш Shift+F10) мы получаем полный доступ к данным на жестком диске: можем их копировать и удалять.
Чтобы избежать такой ситуации и оградить хакера от информации на диске, в Windows 10 было разработано шифрование данных функцией BitLocker, правда, работает она только на Windows 10 версий Pro, Enterprise и Education.
Чтобы включить шифрование диска, необходимо в групповых политиках пройти по цепочке Конфигурация Компьютера > Административные шаблоны > Компонент Windows и выбрать «Диски операционной системы». Далее выбираем «Этот параметр политики позволяет настроить требование дополнительной проверки подлинности при запуске».
В новом окне выберите пункт «Включено», поставьте галочку напротив «Разрешить использование BitLocker без совместимого доверенного платформенного модуля» и нажмите OK.
Рисунок 7. Изменение групповых политик для включения BitLocker
Теперь открываем «Панель управления» и заходим в раздел «Шифрование диска BitLocker», нажимаем «Включить BitLocker» и следуем инструкциям, появившимся на экране.
После шифрования диска при загрузке придется вводить пароль, который был указан при включении самой функции.
Рисунок 8. BitLocker просит ввести пароль для загрузки ОС
Если не ввести пароль в течение минуты, компьютер автоматически выключится.
Есть пара важных моментов, которые необходимо учесть при шифровании диска:
- Необходимо обзавестись ключами восстановления — на случай, если не удается получить доступ к шифрованному диску. И в рамках компании хранить такие ключи удобнее в Active Directory.
- Необходимо иметь копию данных, которые находятся на зашифрованном диске. Если, к примеру, диск был поврежден физически и из него надо извлечь данные, то нет гарантии, что будет возможность их расшифровать.
Выводы
Разработчики Microsoft провели колоссальную работу в направлении защиты Windows 10. Эта операционная система способна достойно ответить не только на вредоносный exe-файл (встроенный антивирус справляется с вредоносными программами не хуже, чем сторонние антивирусы с громкими именами, жаль только, что обновления баз данных происходит намного реже), но и отразить множество других хитрых атак хакеров.
Как уже косвенно упоминалось, обновление программного обеспечения — неотъемлемое звено в цепи защиты информации организации. К сожалению, зачастую это звено является слабым, наряду с ослабленной бдительностью администраторов и халатностью пользователей.
Исходя из всего сказанного, обновление парка операционных систем до Windows 10 — не просто необходимое, а вынужденное действие, которое должно войти в стратегию защиты информационного пространства любой организации на ближайшее время. Но, как и любое другое программное обеспечение, защита Windows 10 должна осуществляться грамотными специалистами, знающими свое дело.