Дыры в защите корпоративной сети: контроль доступа

Обеспечение непрерывной работы критичных систем, а также снижение рисков атаки на корпоративную сеть – это первоочередные задачи отдела ИБ почти в любой компании. Одной из самых эффективных стратегией решения этих задач является ограничение полномочий пользователей систем.

С точки зрения ИБ, у критичных систем есть два базовых свойства – целостность и доступность – от которых зависит непрерывность работы этих систем. Для защиты корпоративной сети от атак необходимо уменьшать «поверхность атаки» (attack surface), сокращая количество устройств и сетевых сервисов, доступных извне корпоративной сети, и обеспечивая защиту тех систем и сервисов, которым такой доступ необходим (веб-сервисы, шлюзы, роутеры, рабочие станции и т.д.). В частности, компьютеры пользователей (в корпоративной сети), подключенные к интернету, являются основным вектором атаки на корпоративную сеть.

Формально, чтобы защитить критичные системы от несанкционированных изменений и снизить возможность атаки на корпоративную сеть, необходимо:

  • определить какие объекты (оборудование, системы, бизнес-приложения, ценные документы и т.д.) в корпоративной сети требуют защиты;
  • описать бизнес процессы компании и, в соответствии с ними, определить уровни доступа к объектам защиты;
  • убедиться, что каждому субъекту (пользователю или корпоративному приложению) соответствует уникальная учетная запись;
  • максимально ограничить доступ субъектов к объектам, т.е. ограничить права субъектов в рамках бизнес-процессов;
  • убедиться, что все операции субъектов над объектам логируются, а логи — хранятся в надежном месте.

На практике в корпоративной сети происходит примерно следующее:

  • все корпоративные документы хранятся централизованно, в общих папках на одном из серверов компании (например, на сервере с ролью Document Controller)
  • доступ к критичным системам запрещен всем, кроме администраторов — любой админ, в случае сбоя, может зайти в систему удаленно, чтобы быстро все починить.
  • иногда администраторы пользуются «общей» учетной записью
  • учетные записи всех рядовых сотрудников имеют весьма ограниченные права «обычного пользователя», но по первому требованию каждый может получить права локального администратора

Технически, защищать критические системы намного проще, чем рабочие станции, поскольку изменения в бизнес-процессах происходят редко, регламент их внесения почти не меняется, и поэтому может быть составлен с учетом даже самых мелких деталей. С другой стороны, рабочее окружение пользователей хаотично, процессы меняются стремительно, а вместе с ними меняются и требования к обеспечению защиты. Кроме того, многие пользователи скептически и даже негативно относятся к любым ограничениям, даже если они не затрагивают рабочие процессы. Поэтому традиционная защита пользователей построена по принципу «лучше пропустить вредоносное ПО, чем заблокировать что-то нужное».

В прошлом году, компания Avecto провела исследование известных уязвимостей в ПО Microsoft и сделала вывод, что «Отказ от использования прав локального администратора позволит снизить риски эксплуатации 92% критичных уязвимостей в ПО Microsoft». Вывод кажется вполне логичным, но следует отметить, что компания Avecto не проводила реального тестирования уязвимостей, а только проанализировала данные Microsoft Vulnerability Bulletin 2013. Тем не менее, очевидно, что вредоносное ПО, запущенное без прав администратора, не сможет устанавливать драйвера, создавать/модифицировать файлы в защищенных каталогах (%systemdrive%, %windir%, %programfiles%, и т.д.), изменять конфигурацию системы (в т.ч. писать в куст реестра HKLM), а главное – не сможет пользоваться привилегированными функциями API.

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

access_control_ru

Локальные атаки

Располагая лишь стандартными правами пользователя, злоумышленник получает полный доступ к памяти всех процессов, работающих из-под учетной записи пользователя. Этого вполне достаточно для внедрения в процессы вредоносного кода с целью удаленного управления системой (backdoor), перехвата ввода с клавиатуры (keylogger), модификации контента в браузере и т.д.

Поскольку большинство антивирусов контролируют попытку внедрения неизвестного кода в процессы, злоумышленники часто прибегают к более скрытным приемам. Так, альтернативный способ внедрения бэкдора или кейлогера, например, в процесс браузера – использование плагинов и расширений. Для загрузки плагина прав обычного пользователя вполне достаточно, при этом код плагина может делать почти все тоже, что и полноценный троянский код – т.е. удаленно управлять браузером, логировать ввод данных и трафик в браузера, взаимодействовать с веб-сервисами и модифицировать контент страниц (фишинг).

Не менее интересны для злоумышленников и обычные офисные приложения (например, почтовые и IM-клиенты), которые могут быть использованы для атаки других пользователей в сети (в т.ч. фишинга и социальной инженерии). Злоумышленник может получить доступ к таким программам как Outlook, The Bat, Lync, Skype и т.д. не только внедряя код в соответствующие процессы, но и через API и локальные сервисы таких приложений.

Очевидно, что не только приложения, но и хранящиеся на ПК данные могут представлять для злоумышленника большую ценность. Кроме корпоративных документов, злоумышленники часто ищут файлы различных приложений, содержащие пароли, зашифрованные данные, цифровые ключи (SSH, PGP и др) и т.д. В случае, если на компьютере пользователя есть исходные коды, злоумышленник может попытаться внедрить в них свой вредоносный код.

Доменные атаки

Поскольку учетные записи большинства корпоративных пользователей являются доменными, механизмы доменной авторизации (Windows Authentication) предоставляют пользователю доступ к различным сетевым службам в корпоративной сети. Часто доступ предоставляется автоматически, без дополнительных проверок логина и пароля. В результате, если у зараженного пользователя есть права для доступа к какой-либо корпоративной базе данных, злоумышленник может легко ими воспользоваться.

С помощью доменной авторизации злоумышленнику также доступны все сетевые папки и диски, доступные пользователю, внутренние ресурсы интранета, а иногда – доступ к другим рабочим станция в том же сегменте сети.

Кроме сетевых папок и баз данных, в корпоративной сети нередко встречаются различные сетевые службы, такие как удаленный доступ, FTP, SSH, TFS, GIT, SVN и т.д. Даже если для доступа к этим службам используются отдельные (не доменные) учетные данные, злоумышленник легко может воспользоваться ими в процессе работы пользователя (т.е. во время активной сессии)

Защита

Обеспечить высокий уровень безопасности на рабочих станциях путем лишения пользователей прав администратора – практически невозможно. Даже установка антивирусного ПО на рабочую станцию хотя и повысит ее защищенность, но также не решит все проблемы.  Достичь высокого уровня безопасности поможет технология Application Control («Контроль приложений»), состоящая из трех ключевых элементов:

  1. Режим «Запрещено по умолчанию» (Default Deny), позволяющий устанавливать и запускать только то ПО, которое было разрешено администратором. При этом, администратору совсем не обязательно вносить в список разрешенных каждое отдельное приложений (хэш). В его распоряжении есть множество разнообразных generic-инструментов, позволяющих динамически добавлять в список разрешенного все ПО подписанное тем или иным сертификатом, созданное каким-либо производителем, полученное из доверенного источника или содержащееся в базе данных Whitelistingпоставщика защитного ПО.
  2. Режим контроля доверенных приложений, позволяющий ограничить работу разрешенного ПО только теми функциями, которое это ПО должно выполнять. Например, для нормальной работы, браузер должен иметь возможность создавать сетевые соединения, но, при этом, браузеру совершенно не за чем читать/писать в память других процессов, подключаться к сетевым базам данных или сохранять файлы на сетевые шары.
  3. Контроль установки обновлений, позволяющий беспрепятственно обновлять ПО на рабочих станциях (в режиме «Запрещено по умолчанию»), в то же время, снижая риск заражения системы через механизмы обновления.

Кроме перечисленного, конкретные продукты, в состав которых входит технология Application Control могут предоставлять различные полезные функции на ее основе. В частности, это инвентаризация, контроль за установленным в сети ПО, сбор журналов событий (которые пригодятся в случае расследования инцидентов) и т.д.

Сочетание технологий позволяет, с одной стороны, дать пользователю все, что ему нужно для работы и даже для развлечений, а если завтра вдруг понадобится ещё что-то – он без труда может это «что-то» получить. С другой стороны, возможности злоумышленника, получившего доступ к защищенной системе, крайне ограничены. Без сомнения – это и есть тот самый «идеальный» баланс между гибкостью и безопасностью в защите корпоративной сети.

Публикации на схожие темы

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *