С использованием средств олицетворения
Следуя логике построения КСЗИ «Панцирь+» как эшелонированной системы защиты, далее проведен анализ того, как реализуется защита от повышения прав администратора до системных прав в предположении о том, что вредоносная программа внедрена в систему с правами администратора и может быть запущена.
Проведение анализа начнем с проверки защиты от несанкционированного использования сервисов олицетворения.
Проведенный анализ возможности КСЗИ «Панцирь+» осуществлять защиту от атак на повышение привилегий с использованием сервисов олицетворения.
Состоит данная штатная возможность – олицетворение, в следующем. В ОС семейства Windows для идентификации субъектов, выполняющих в системе различные действия, используются идентификаторы защиты (security identifiers, SID). SID имеются у пользователей, локальных и доменных групп локальных компьютеров, доменов и членов доменов. Все работающие в системе процессы и потоки выполняются в контексте защиты того пользователя, от имени которого они так или иначе были запущены, а для идентификации контекста защиты процесса или потока используется объект, называемый маркером доступа (access token). В процессе регистрации в системе создается начальный маркер, представляющий пользователя, который входит в систему; и сопоставляет его с процессом оболочки, применяемой для регистрации пользователя.
Маркер может быть основным (идентифицирует контекст защиты процесса) или олицетворяющим (применяется для временного заимствования потоком другого контекста защиты — обычно другого пользователя). Олицетворение (impersonation) — средство, используемое в модели защиты Windows, предоставляющее возможность отдельному потоку выполняться в контексте защиты отличном от контекста защиты процесса, т.е. действовать от лица другого пользователя. Например, данная возможность реализуется в системе для запуска программы с правами администратора. При этом, если для запуска программы с правами администратора, обычному пользователю необходимо знать пароль администратора (как ранее говорили, он может быть усилен средствами КСЗИ «Панцирь+»), то для запуска администратором программы с правами системы, ему уже ничего не требуется.
Используя данную возможность, злоумышленник с правами администратора может запустить свою вредоносную программу с системными правами и без использования соответствующего возможностей администрирования системных объектов, которые, как отмечали, могут быть для системного администратора усечены.
В КСЗИ «Панцирь+» контроль использования данной возможности реализуется отдельным механизмом защиты «Управление олицетворением», настраиваемым из интерфейса, представленного на рис.76. Пример настройки механизма защиты приведен на рис.77.
Рис.76. Интерфейс настройки механизма защиты «Управление олицетворением»
Одним правилом при настройке этого механизма защиты, см. рис.76, предотвращается возможность олицетворения любым интерактивным пользователем, включая администратора, любым процессом (маска «*»), с системными правами.
Аналогичным правилом можно запретить возможность олицетворения любого пользователя с учетной запись администратора.
Вывод. КСЗИ «Панцирь+» осуществляет защиту от атак на повышение привилегий с использованием сервисов олицетворения по средством реализации контроля и разграничения прав доступа к сервисам олицетворения.
Однако с подобными настройками система не сможет корректно работать. Это обусловливается тем, что некоторые системные процессы, в частности winlogon и svchost (ранее это было проиллюстрировано), стартующие с системными правами, олицетворяют себя в текущего пользователя и обратно. Заметим, что сервисами олицетворения, в том числе, широко пользуются антивирусные средства защиты.
Для таких процессов в разграничительной политике доступа следует создать исключения - собственные правила, разрешающие соответствующие олицетворения, при этом субъект доступа «процесс» должен задаваться полнопутевыми именами исполняемых файлов соответствующих системных процессов.
Как видим, в рамках решения данной задачи защиты также нельзя использовать запреты по умолчанию – необходима возможность реализации именно разграничительной политики доступа к сервисам олицетворения.
Вывод. Защита от атак на повышение привилегий с использованием сервисов олицетворения должна осуществляться, по средством реализации контроля и разграничения прав доступа к сервисам олицетворения, что и обеспечивает КСЗИ «Панцирь+».
Для того чтобы осуществить корректную настройку данного механизма защиты, требуется задать правило, которым разрешить все олицетворения в системе, поставив их на контроль, и по результатам тестовой эксплуатации системы с таким правилом зарегистрировать требуемые олицетворения в системе. Данные олицетворения в качестве исключений необходимо внести в разграничительную политику доступа, запрещающие все олицетворения в системе.
Проведенная проверка корректности реализации КСЗИ «Панцирь+» защиты от атак на повышение привилегий с использованием сервисов олицетворения.
В рамках проведения соответствующей проверки проведено испытание, для чего была использована утилита DevxExec, реализующая рассмотренную возможность олицетворения.
Замечание. Все использованные при испытаниях утилиты находятся в свободном доступе в сети интернет.
С использованием данной утилиты была сделана попытка олицетворить администратора (пользователь «Татьяна») с системой. В результате запрос доступа был отклонен, при этом в соответствующем журнале аудита КСЗИ «Панцирь+» появилось сообщение об этом, см. рис.77.
Рис.77. Запись в журнале аудита
Вывод. КСЗИ «Панцирь+» корректно реализует защиту от атак на повышение привилегий с использованием сервисов олицетворения.
Как видим здесь, и увидим далее, соответствующие задачи защиты решаются КСЗИ «Панцирь+» в общем виде, не требуя детектирования соответствующих вредоносных возможностей процессов. О наличии подобных свойств в процессах уже делается вывод на основе зарегистрированных отказов попыток несанкционированного доступа.