Стратегии изучения уязвимостей и подавления уязвимостей, вызываемых посредством захвата учетных данных
Иллюстрации
Показать всеИзобретение относится к стратегии для оценки и подавления уязвимостей в окружении обработки данных. Техническим результатом является повышение безопасности окружения обработки данных организации. При осуществлении способа масштабируемого изучения состояния безопасности окружения обработки данных сначала принимают данные доступа, которые отражают предысторию доступа к компоненту в окружении обработки данных со стороны осуществляющего доступ субъекта. Также принимают данные прав, которые отражают права, которыми обладает уполномоченный на доступ субъект, при этом права дают субъекту право осуществлять доступ к множеству компонентов и предоставлять поднабор прав субъектам, осуществляющим доступ. Затем изучают состояние безопасности окружения обработки данных на основе данных доступа и данных прав. Идентифицируют степень, в которой полученные права на компоненты первой части окружения обработки данных могут быть использованы для компрометации компонентов второй части окружения обработки данных. Предоставляют вывод, который отражает результат упомянутой идентификации. 5 н. и 15 з.п. ф-лы, 6 ил.
Реферат
Уровень техники
Организации часто выделяют обширные ресурсы для повышения безопасности своих систем обработки данных. В стандартном и хорошо изученном основанном на коде подходе организация может попытаться идентифицировать слабое место в коде, используемом в ее системе обработки данных. Организация может попытаться исправить эту проблему посредством создания исправления кода, которое устраняет осознанное слабое место.
Тем не менее авторы настоящего изобретения принимают во внимание, что безопасность организации зависит не только от основанных на коде уязвимостей. Как только злоумышленный объект получил доступ к системе обработки данных (через легитимные или нелегитимные средства), этот объект иногда может в дальнейшем осуществлять в иных отношениях легитимные полномочия для того, чтобы получать управление над дополнительными частями системы обработки данных и наносить вред системе обработки данных. Устранение этого типа проблемы не обязательно выполняется через доработку кода, поскольку злоупотребление легитимными полномочиями не может отражать неточность непосредственно в коде.
Сущность изобретения
Описывается стратегия для анализа и подавления уязвимостей в окружении обработки данных организации. Уязвимости частично следуют из применения легитимных прав доступа, которыми обладают один или более администраторов в организации.
В одной примерной реализации стратегия собирает "данные доступа", которые отражают фактическое поведение входа в систему, демонстрируемое пользователями в окружении обработки данных. Стратегия также собирает "данные прав", которые отражают права, которыми обладают один или более администраторов в окружении обработки данных. На основе данных доступа и данных прав стратегия идентифицирует то, как пользователь или другой объект, который получает доступ к одной части окружения, потенциально может компрометировать дополнительные части окружения.
Стратегия может выводить результаты своего анализа в различных формах. Например, стратегия может выводить результаты своего анализа как графическое представление зависимостей безопасности в окружении обработки данных. Наконец, стратегия может рекомендовать и реализовать этапы, направленные на подавление идентифицированных уязвимостей.
Дополнительные примерные реализации и сопутствующие преимущества описываются далее.
Краткое описание чертежей
Фиг.1 и 2 показывают примерное окружение обработки данных, конкретно иллюстрируя примерный маршрут, через который объект может получать управление над частями окружения обработки данных.
Фиг.3 показывает примерную систему анализа уязвимостей (VAS) для идентификации и подавления уязвимостей в окружении обработки данных.
Фиг.4 показывает примерное выходное отображение, сформированное системой анализа уязвимостей по фиг.3.
Фиг.5 показывает примерную функциональность обработки для реализации любого аспекта системы по фиг.3.
Фиг.6 показывает примерную процедуру для идентификации и подавления уязвимостей в окружении обработки данных.
Одинаковые номера используются в данном описании и на чертежах, чтобы ссылаться на аналогичные компоненты или признаки. Номера последовательности 100 означают признаки, первоначально заложенные на фиг.1, номера последовательности 200 означают признаки, первоначально заложенные на фиг.2, номера последовательности 300 означают признаки, первоначально заложенные на фиг.3, и т.д.
Подробное описание изобретения
Это раскрытие сущности формулирует стратегию для идентификации и подавления основанных на правах уязвимостей в окружении обработки данных. Стратегия может быть проявлена в различных системах, устройствах, компонентах, процедурах, носителях данных, структурах данных и других формах.
Данное описание включает в себя следующие разделы. Раздел A описывает примерную систему для идентификации и подавления уязвимостей в окружении обработки данных. Раздел B описывает примерную процедуру, которая поясняет работу системы раздела A.
A. Примерная система
Отметим предварительно, любые из функций, описанных со ссылкой на чертежи, могут быть реализованы с помощью программного обеспечения, микропрограммного обеспечения, аппаратных средств (к примеру, схем с неизменяемой логикой), ручной обработки или комбинации этих реализаций. Термин "логика", "модуль", "компонент", "система" или "функциональность" при использовании в данном документе, в общем, представляет программное обеспечение, микропрограммное обеспечение, аппаратные средства или комбинацию элементов. Например, в случае реализации в программном обеспечении термины "логика", "модуль", "компонент", "система" или "функциональность" представляют программный код, который выполняет указанные задачи при приведении в исполнение в процессорном устройстве или устройствах (к примеру, CPU или множестве CPU). Программный код может быть сохранен на одном или более компьютерочитаемых запоминающих устройствах.
Обобщая, проиллюстрированное разделение логики, модулей, компонентов, систем и функциональности на отдельные блоки может отражать фактическую физическую группировку и назначение данного программного обеспечения, микропрограммного обеспечения и/или аппаратных средств либо может соответствовать концептуальному назначению различных задач, выполняемых посредством одной программно-реализованной программы, микропрограммно-реализованной программы и/или аппаратного блока. Проиллюстрированная логика, модули, системы и функциональность могут размещаться на одном узле (к примеру, реализованном посредством обработки) либо могут быть распределены по множеству местоположений.
Термины "компьютерочитаемые носители" и т.п. ссылаются на любой вид среды для хранения информации в любой форме, включая различные виды устройств хранения (магнитных, оптических, статических и т.д.). Термин "компьютерочитаемые носители" также охватывает переходные формы для представления информации, в том числе различные линии проводной и/или беспроводной связи для передачи информации из одной точки в другую.
A.1. Введение: основанная на правах компрометация безопасности
Фиг.1 и 2 показывают примерное окружение 100 обработки данных, предоставляемое организацией. Вместе эти два чертежа иллюстрируют один примерный способ, которым права, осуществленные одними или более администраторами в окружении 100, могут быть "несанкционированно использованы" или применены для того, чтобы осуществлять управление в окружении 100, потенциально вызывая ущерб для окружения 100. Следующий подраздел описывает систему для идентификации и подавления этих уязвимостей.
Окружение 100 обработки данных может упоминаться как любая совокупность компонентов, которые обслуживают любой тип функции. В одном случае компоненты частично могут упоминаться как компьютеры, используемые в организации любого типа. Например, компоненты могут упоминаться как различные типы пользовательских компьютеров, серверов и т.д. В иллюстративном случае по фиг.1 и 2 окружение 100 обработки данных включает в себя типичные компоненты, помеченные как A-J. (Следует принимать во внимание, что реальное окружение может включать в себя гораздо больше компонентов, к примеру потенциально включать в себя сотни компьютеров.)
Организация, ассоциативно связанная с компонентами, относится к любому типу объекта или комбинации объектов. Организация может упоминаться как одна или более коммерческих организаций, правительственных объектов, образовательных учреждений, некоммерческих организаций или других видов организаций или их комбинации. Компоненты в окружении 100 обработки данных могут быть соединены вместе через любой тип сети или комбинацию сетей (не показаны).
Окружение 100 обработки данных может использовать любой тип функциональности администрирования (не показана), чтобы администрировать и координировать действия компонентов в окружении 100. Например, функциональность администрирования может включать в себя централизованную систему каталогов, чтобы управлять правами доступа, которыми обладают агенты, действующие в окружении 100 обработки данных. В качестве иллюстрации, но не ограничения, система каталогов может быть реализована, по меньшей мере, частично, с помощью Active Directory, предоставляемой Корпорацией Microsoft, Редмонд, Вашингтон. Эта система каталогов может управлять системными ресурсами известным способом, используя различные домены, учетные записи пользователей, учетные записи групп и т.д.
Окружение 100 обработки данных может управлять доступом к своим ресурсам с помощью любого типа протокола аутентификации или комбинации протоколов аутентификации. В качестве иллюстрации, но не ограничения, окружение 100 обработки данных может использовать известный протокол Kerberos, чтобы управлять доступом к своим ресурсам. В протоколе Kerberos пользователь может участвовать в интерактивном сеансе регистрации в системе, чтобы удостоверять свою личность централизованной службе полномочий, на которую пользователю предоставлен мандат на выдачу мандатов (TGT). TGT затем может неявно использоваться для того, чтобы взаимодействовать с различными другими компонентами в окружении 100 обработки данных.
Функциональность администрирования, используемая посредством окружения 100 обработки данных, может предоставить одним или более администраторам право осуществлять доступ к соответствующим совокупностям компонентов и выполнять различные действия, которые могут затронуть компоненты. Например, функциональность администрирования может предоставить администратору право осуществлять доступ к совокупности компьютеров, чтобы изменять существующий код, установленный на этих машинах, осуществлять доступ к существующей информации, сохраненной на этих машинах, устанавливать новый код на этих машинах, удалять существующий код на этих машинах и т.д.
Термин "администратор" должен широко трактоваться при использовании в данном документе. В одном случае функциональность администрирования может формально предоставить администратору назначенные привилегии на то, чтобы осуществлять доступ к совокупности компьютеров. Например, функциональность администрирования может хранить одну или более баз данных, которые идентифицируют права одного или более администраторов. В других случаях пользователь может по своему усмотрению принимать права, чтобы управлять одним или более аспектов окружения 100 обработки данных, которые могут затронуть компьютеры одного или более пользователей. Такой пользователь может расцениваться как фактический администратор.
Вообще говоря, пакет привилегий, предоставленных администратору, упоминается как "права доступа" в данном документе. Полный объем управления, которое предоставляется администратору, упоминается как "сфера влияния" этого администратора. Например, как проиллюстрировано на фиг.1, функциональность администрирования позволяет администратору X осуществлять доступ и выполнять действия на компьютерах A, B, C и D, составляя сферу влияния 102. Функциональность администрирования позволяет администратору Y осуществлять доступ и выполнять действия на компьютерах D, E и F, составляя сферу влияния 104. Наконец, функциональность администрирования позволяет администратору Z осуществлять доступ и выполнять действия на компьютерах F, G, Y и I, составляя сферу влияния 106. Фактическое окружение обработки данных может включать в себя больше или меньше администраторов по сравнению со сценарием, показанным на фиг.1. Например, окружение обработки данных может включать в себя только одного администратора. Дополнительно, сфера влияния в фактическом окружении обработки данных может включать в себя гораздо больше компонентов по сравнению со сценарием, показанным на фиг.1 (к примеру, потенциально включающим в себя сотни, тысячи и т.д. дополнительных компонентов). Наконец, хотя не показано, фактическое окружение обработки данных может давать возможность нескольким администраторам управлять одной и той же сферой влияния. Например, и администратор X, и администратор W (не показан) могут управлять компьютерами A, B, C и D.
В качестве общей характеристики отметим, что сферы влияния, ассоциативно связанные с различными администраторами, могут перекрываться. Например, и администратор X, и администратор Y имеют доступ к машине D. Кроме того, и администратор Y, и администратор Z имеют доступ к машине F. В иллюстративном случае по фиг.1 отметим, что ни один из администраторов не имеет доступа к машине J. Дополнительно, в другом случае (не показан) администратор может иметь сферу влияния, которая не перекрывается со сферами влияния других администраторов.
"Учетные данные" администратора, в общем, упоминаются как любая информация, которая дает возможность администратору осуществлять свои административные привилегии в пределах сферы влияния. В неограничивающем случае Kerberos учетные данные относятся к информации TGT, которая предоставляется объекту после диалогового входа в систему на машине. В общем, учетные данные администратора типично постоянно находятся на машине, по меньшей мере, пока администратор интерактивно входит в систему на машине. Это дает возможность машине осуществлять привилегии администратора от имени администратора по команде администратора.
Привилегии администратора на машине могут включать в себя возможность получать любые учетные данные, постоянно размещающиеся на той машине, включая таковые для других пользователей или администраторов. После получения эти учетные данные могут использоваться тем же самым способом, как и любым законным обладателем таких учетных данных. Учетные данные остаются допустимыми в течение различных интервалов времени в зависимости от типа учетных данных. Некоторые учетные данные являются допустимыми в течение заданного интервала времени, к примеру месяц или более. Другие типы учетных данных допустимы только в течение периода, когда пользователь или администратор фактически входит в систему, и поэтому могут истечь после нескольких часов. Тем не менее привилегии администратора обычно включают в себя возможность предоставлять административные привилегии другим пользователям или даже создавать новые учетные записи пользователей с административными привилегиями на машинах в своей сфере влияния. Следовательно, возможно преобразовать краткосрочные учетные данные в долгосрочные учетные данные через различные легитимные механизмы.
С вышеупомянутыми вводными комментариями относительно примерной структуры окружения 100 обработки данных теперь допустим, что одна из машин, к примеру компьютер A, скомпрометирована. Машина скомпрометирована в том смысле, что неавторизованный пользователь или другой вид объекта (к примеру, автоматизированный агент-робот) получает доступ к учетным данным, используемым пользователем машины, чтобы получить доступ к окружению 100 обработки данных. Для целей этого пояснения несущественно, как это нарушение может произойти. Другими словами, стратегия безопасности адресует способы сгладить вредные эффекты, причиненные несанкционированным доступом к учетным данным, но не обязательно препятствует начальному несанкционированному доступу к таким учетным данным. Начальное нарушение может или не может быть обусловлено типом атаки "взлом", где злоумышленный объект получает доступ к начальной машине на основе одной или более уязвимостей кода в системе обработки данных.
После получения доступа к компьютеру A неавторизованный объект может затем потенциально получать доступ к учетным данным администратора X через механизмы, описанные выше. Например, предположим, что администратор X интерактивно входит в систему на машине, чтобы выполнить некоторую задачу администрирования на машине (к примеру, посредством добавления программного исправления на машину A). Как описано выше, эта операция имеет результатом сохранение учетных данных администратора X на машине A. Это, в свою очередь, раскрывает учетные данные администратора X для неавторизованного объекта, позволяя неавторизованному объекту захватывать учетные данные. После "кражи" учетных данных администратора X неавторизованный объект может осуществлять обычные привилегии администратора X и в этом смысле выдать себя за администратора X. Привилегии включают в себя возможность осуществлять доступ к любой из машин (A, B, C и D) в пределах сферы влияния 102 администратора X. Кроме того, привилегии администратора X в пределах его сферы влияния 102 обычно достаточны для того, чтобы получить любые учетные данные, постоянно находящиеся на любой машине в пределах этой сферы влияния 102 (через механизмы, описанные выше).
Отметим снова, что сфера влияния 102 администратора X перекрывается со сферой влияния на 104 администратора Y, а сфера влияния 104 администратора Y перекрывается со сферой влияния администратора Z 106. Соответственно, неавторизованный объект после этого может потенциально получать доступ к компьютерам в сфере влияния 104 администратора Y через компьютер D и впоследствии может потенциально получать доступ к компьютерам в сфере влияния 106 администратора Z через машину F (т.е. при условии, что эти администраторы входят в систему на машинах D и F соответственно, после чего их захватываемые учетные данные появятся на этих машинах).
Этот последовательный процесс кражи учетных данных может быть повторен любое число раз, давая возможность неавторизованному объекту получать доступ к потенциально большому количеству компьютеров в окружении 100 обработки данных. Например, переходя к фиг.2, этот чертеж указывает то, что неавторизованный объект получил доступ к компьютерам A-I через последовательность краж учетных данных. Неавторизованный объект потенциально может быть неспособен получить доступ к одному или более других компьютеров (таких как компьютер J), поскольку эти машины изолированы от связи отношений управления, которая включает в себя первоначально компрометируемую машину A в качестве своего члена.
После получения несанкционированного доступа к одному или более компьютеров в окружении 100 обработки данных неавторизованный объект может выполнять различные действия, которые могут потенциально наносить вред окружению 100. Например, окружение 100 обработки данных может установить вредоносный код в окружение 100, осуществить доступ к секретной информации и т.д.
Отметим, что процесс кражи учетных данных использует обычные каналы управления в окружении 100 обработки данных. Неавторизованный объект получает доступ посредством кражи легитимных прав, которыми обладают пользователи-администраторы, таким образом выдавая себя за пользователей-администраторов. Тем не менее нет ничего, по сути, неправильного в функциональности администрирования, используемой для того, чтобы предоставлять административные привилегии в окружении 100 обработки данных, поскольку эти привилегии в иных отношениях выполняют полезные роли в окружении 100 обработки данных. Наоборот, это является взаимодействием различных административных привилегий в окружении 100, что приводит к проблеме. Иначе говоря, именно административная управляющая структура окружения 100 в целом формирует уязвимости. Поэтому традиционные основанные на коде подходы к противодействию злонамеренным атакам, в общем, не являются, если рассматривать по отдельности, эффективными решениями этого вида проблемы, поскольку код - это не источник проблемы, или, по меньшей мере, не единственный источник проблемы.
A.2. Примерная система анализа уязвимостей
Фиг.3 показывает одну примерную реализацию системы (VAS) 302 анализа уязвимостей. В качестве краткого обзора, назначение VAS 302 состоит в том, чтобы исследовать вышеописанные типы уязвимостей перехвата учетных данных в окружении 304 обработки данных. VAS 302 отображает вывод своего анализа в различных форматах, таких как графическое представление зависимостей безопасности в окружении 304 обработки данных. VAS 302 может также включать в себя функциональность, посвященную подавлению оцененных уязвимостей, к примеру, посредством рекомендации действий, которые могут быть предприняты для того, чтобы уменьшать оцененные уязвимости, и/или фактической реализации этих действий.
VAS 302 может представить код или логическую схему (либо некоторую комбинацию означенного), которая может быть реализована на одном или более компьютерах. Например, аналитик безопасности или другой пользователь с надлежащими полномочиями может оперировать с VAS 302 на специальной рабочей станции, компьютере общего назначения или другом типе вычислительного устройства. VAS 302 может быть подключена с возможностью осуществления связи к окружению 304 обработки данных через любой вид сети или комбинацию сетей. Это функциональное соединение позволяет VAS 302 принимать данные от окружения 304 обработки данных и необязательно реализовывать изменения в окружении 304 обработки данных. Альтернативно или помимо этого, аналитик может вручную произвести изменения в окружении 304 обработки данных на основе анализа и рекомендаций, формируемых посредством VAS 302.
С учетом вышеприведенного введения, каждый из примерных компонентов VAS 302 поясняется ниже по очереди.
VAS 302 может включать в себя модуль 306 сбора данных для сбора связанных с безопасностью данных из окружения 304 обработки данных. Модуль 306 сбора данных может сохранять данные безопасности в одном или более хранилищ 308 данных. В одной реализации компоненты (к примеру, компьютеры) в окружении 304 обработки данных могут быть выполнены с возможностью проактивно перенаправлять связанные с безопасностью данные модулю 306 сбора данных, к примеру на периодической основе или в ответ на некоторое другое инициирующее событие. В другой реализации модуль 306 сбора данных может быть выполнен с возможностью опрашивать компоненты в окружении 304 обработки данных, чтобы собирать связанные с безопасностью данные. Иначе говоря, модуль 306 сбора данных может использовать модель активного или пассивного приема, чтобы собирать связанные с безопасностью данные.
Так называемые связанные с безопасностью данные относятся к любой информации, которая может опираться на уязвимости, демонстрируемые посредством окружения 304 обработки, и которая тем самым может использоваться для того, чтобы проанализировать и диагностировать такие уязвимости. Один общий класс таких связанных с безопасностью данных упоминается как "данные доступа". Как предлагает название, эти данные отражают связанное с доступом поведение пользователей и других объектов в окружении 304 обработки данных. Более конкретно, эти данные указывают события входа в систему, которые произошли в окружении 304 обработки данных. В одной примерной реализации данные доступа могут включать в себя информацию мандатов на выдачу мандатов (TGT). Информация TGT идентифицирует учетные данные, которые формируются, когда пользователи интерактивно входят в систему в окружении 304 обработки данных. Например, в контексте сценария, показанного на фиг.1 и 2, иллюстративная часть данных доступа отражает событие входа в систему администратором X на машине A.
Другой общий класс связанных с безопасностью данных упоминается как "данные прав". Данные прав отражают права доступа, содержащиеся у администраторов в окружении 304 обработки данных. Более конкретно, данные прав могут идентифицировать пользователей, которым предоставлены административные права. Данные прав также могут идентифицировать соответствующие группы машин, к которым администраторы могут осуществлять доступ и управлять в силу своих административных привилегий. Например, в контексте сценария по фиг.1 и 2, иллюстративная часть данных прав передает, что администратор X обладает определенными привилегиями доступа, чтобы выполнять действия на компьютерах A-D.
В качестве общего признака отметим, что данные доступа отражают поведение предыстории входов в систему пользователей или других объектов в окружении 304 обработки данных. Эти данные являются динамическими в том смысле, что они зависят от возникновения случайных событий в окружении 304 обработки данных (а именно, пользователи регистрируются в окружении 304 обработки данных). Напротив, данные прав отражают неслучайное структурирование административных привилегий в пределах сети. Тем не менее хотя и не являются неслучайными, данные прав также являются динамическими в том смысле, что административная структура окружения 304 обработки данных может изменяться в любое время по любой причине, к примеру чтобы отразить добавление новых администраторов, удаление существующих администраторов, изменения в сферах влияния администраторов и т.д.
Различные типы окружений обработки данных включают в себя различную функциональность администрирования и инфраструктуру учета использования сетевых ресурсов. Следовательно, VAS 302 может использовать различные методики для того, чтобы собирать данные доступа и данные прав в зависимости от конкретного анализируемого и управляемого окружения обработки данных. Фиг.3, в общем, показывает, что окружение 304 обработки данных включает в себя любую совокупность хранилищ 310 данных или других источников для предоставления данных доступа и данных прав. Хранилища 310 данных могут представлять локальные хранилища, поддерживаемые отдельными компьютерами в окружении 304 обработки данных, или централизованно поддерживаемые хранилища, которые собирают данные от нескольких различных компьютеров, или некоторую комбинацию локально поддерживаемых хранилищ и централизованно поддерживаемых хранилищ.
В одном иллюстративном и неограничивающем техническом окружении модуль 306 сбора данных может собирать связанные с безопасностью данные из четырех различных источников.
Первый источник связанных с безопасностью данных - это централизованно поддерживаемая база данных Audit Collection Services (ACS) или аналогичная база данных. Эта база данных предоставляет информацию относительно событий входа в систему, происходящих в окружении 304 обработки данных на основе создания TGT. (Напомним, что в технологии Kerberos TGT ассоциативно связаны с интерактивной активностью входа в систему, которая происходит в окружении 304 обработки данных.)
Второй источник связанных с безопасностью данных - это таблица протокола разрешения адресов (ARP) или аналогичная таблица. Данные в ARP-таблице отображают адреса интернет-протокола (IP) или адреса управления доступом к среде (MAC).
Третий источник связанных с безопасностью данных - это база данных администраторов машин. Эта база данных идентифицирует имена различных административных групп и учетных записей, которые могут управлять машинами в окружении 304 обработки данных, в одном случае идентифицируя эти машины с помощью MAC-адресов.
Четвертый источник связанных с безопасностью данных - это Active Directory или аналогичный механизм каталогов, который предоставляет информацию относительно учетных записей, которые ассоциативно связаны с различными группами в окружении обработки данных.
Информация из первого и второго источников данных составляет данные доступа. Конкретно, база данных ACS предоставляет индикацию относительно событий входа в систему, происходящих в окружении 304 обработки данных. ARP-таблица может использоваться для того, чтобы преобразовывать информацию IP-адреса (предоставляется в базе данных ACS) в информацию MAC-адреса. Информация MAC-адреса предпочтительна в сравнении с информацией IP-адреса, потому что она более определенно идентифицирует машины, которые вовлечены в действия по входу в систему.
Информация из третьего и четвертого источников данных составляет данные прав. Конкретно, база данных администраторов машин и Active Directory, взятые вместе, предоставляют индикацию относительно различных административных учетных записей и групп в окружении 304 обработки данных и учетных записей, ассоциативно связанных с отдельными группами.
Модуль 312 анализа данных далее вступает в действие посредством анализа связанных с безопасностью данных, хранимых в хранилище 308 данных. В общих чертах, назначение модуля 312 анализа данных состоит в том, чтобы раскрывать связанные с правами уязвимости в окружении 304 обработки данных на основании: (a) информации об учетных данных, которая в настоящий момент отображается в окружении 304 обработки данных (за заданный промежуток времени, такой как прошлый месяц) (т.е. как отражено данными доступа); и (b) взаимодействия административных прав, предоставленных посредством окружения 304 обработки данных (т.е. как отражено данными прав). Например, в сценарии по фиг.1 и 2 назначение модуля 312 анализа данных состоит в том, чтобы определять то, что компрометация любого одного компьютера A-I потенциально может привести к компрометации любого другого компьютера в этом наборе компьютеров. Модуль 312 анализа данных может использовать различные средства, чтобы проследить пути возможной связанной с правами компрометации в окружении 304 обработки данных. В одном иллюстративном и неограничивающем случае модуль 312 анализа данных может использовать графическое средство поиска, чтобы выполнять эту задачу, такую как средство поиска в ширину.
Модуль 312 анализа данных может ориентировать свой анализ по-разному в зависимости от входных выборов, сделанных пользователем. Типичные виды анализа, которые могут быть выбраны, идентифицируются ниже.
- В первом случае пользователь может выдать модулю 312 анализа данных команду обеспечивать полную индикацию относительно состояния безопасности в окружении 304 обработки данных. В ответ модуль 312 анализа данных может идентифицировать все управляющие связи в окружении 304 обработки данных. В одном случае модуль 312 анализа данных может предоставить анализ наихудшего варианта окончательного последствия компрометации одной машины или "кражи" определенных учетных данных учетной записи в окружении 304. В другом случае модуль 312 анализа данных может предоставлять динамический анализ, который демонстрирует то, как учетные данные могут последовательно компрометироваться в окружении 304 обработки данных за период времени.
- Во втором случае пользователь может выдать модулю 312 анализа данных команду идентифицировать части окружения 304 обработки данных, которые имеют наибольшую угрозу для окружения 304 обработки данных. Например, пользователь может запросить, чтобы модуль 312 анализа данных идентифицировал компьютеры или учетные записи, которые имеют самый большой потенциал для широко распространенного перехвата учетных данных, в случае, если скомпрометированы.
- В третьем случае пользователь может выдать модулю 312 анализа данных команду предоставлять конкретный анализ для одного или более компьютеров или учетных записей в окружении обработки данных, которые представляют интерес для пользователя. Например, эти компьютеры могут представлять машину в рабочей группе пользователя, и пользователю может быть доверено обеспечение целостности услуг, предоставляемых этими машинами. Пользователь может специально запросить, чтобы модуль 312 анализа данных идентифицировал, как представляющие интерес машины затрагиваются посредством других машин в окружении или как представляющие интерес машины влияют на другие машины в окружении. Пользователь может идентифицировать машины посредством указания MAC-адресов или другой подходящей идентификационной информации.
- В четвертом случае пользователь может запросить, чтобы модуль 312 анализа данных идентифицировал связанные с безопасностью последствия компрометации одного или более компьютеров или учетных записей.
- В пятом случае пользователь может запросить, чтобы модуль 312 анализа данных идентифицировал связанные с безопасностью последствия удаления или добавления учетных записей и/или программ в окружение 304 обработки данных.
- В шестом случае пользователь может указать различные проектные ограничения и затем запросить, чтобы модуль 312 анализа данных идентифицировал, удовлетворяются ли эти ограничения, или, если нет, указал, как эти ограничения могут быть удовлетворены. Например, пользователь может указать, что он хочет, чтобы максимум n объектов имели возможность управлять интересующей системой в любой момент. Модуль 312 анализа данных может идентифицировать, удовлетворяется ли это условие, и если нет, указать, как оно может быть удовлетворено. В другом случае пользователь может указать то, что он хочет, чтобы система М и система N были полностью изолированы. Модуль 312 анализа данных может идентифицировать, удовлетворяется ли это условие, и если нет, указать, как оно может быть удовлетворено.
Модуль 312 анализа данных может выполнять еще и другие виды специального анализа при получении инструкции от управляющего пользователя. Вышеупомянутые примеры являются типичными, а не исчерпывающими для возможных типов анализа, который может быть выполнен.
Модуль 314 вывода результатов анализа предоставляет вывод анализа модуля 312 анализа данных. В одном случае модуль 314 вывода результатов анализа предоставляет графический вывод, который наглядно передает управляющие связи в окружении 304 обработки данных. Следующий подраздел более подробно исследует этот аспект VAS 302. Модуль 314 вывода результатов анализа может альтернативно или в дополнение представлять его вывод в табличной форме (к примеру, в форме электронной таблицы), в звуковой форме (к примеру, как разговорное оповещение) либо в другой форме или комбинации форм.
Наконец, VAS 302 также включает в себя необязательный модуль 316 подавления. Одна цель модуля 316 подавления состоит в том, чтобы предоставлять рекомендации, которые позволяют пользователю уменьшать или исключать уязвимости, идентифицированные модулем 312 анализа данных. Например, модуль 316 подавления может предложить, чтобы пользователь изменил административную структуру в окружении 304 обработки данных, к примеру, посредством создания отдельных зон деятельности, изменения административных привилегий и т.д. Или модуль 316 подавления может предложить, чтобы пользователь установил изменение в поведении пользователя в окружении 304 (к примеру, посредством требования того, чтобы администраторы выполняли свои задачи администрирования без создания TGT и т.д.). Модуль 316 подавления может формировать еще другие виды рекомендаций.
Во-вторых, модуль 316 подавления необязательно может автоматически производить изменения в окружении 304 обработки данных, чтобы уменьшать или исключать уязвимости. Например, после идентификации особенно беспокоящих уязвимостей модуль 316 подавления может автоматически ограничивать или деактивировать определенные административные привилегии, предоставленные посредством окружения 304 обработки данных. Альтернативно или в дополнение, модуль 316 подавления может автоматически отсылать оповещения пользователям в окружении. Альтернативно или в дополнение, модуль 316 подавления может автоматически отправлять отчеты в центр оценки уязвимостей верхнего уровня (к примеру, который может предоставлять анализ для различных организаций).
В одном случае пользователь может осуществлять определенный контроль за вышеописанными автоматизированными операциями посредством одобрения этих операций до того, как они будут выполнены. В других случаях модуль 316 подавления может автоматически выполнять корректирующее действие без какого-либо участия пользователя или без существенного участия пользователя. В одной такой реализации VAS 302 может исследовать окружение обработки данных на периодической основе или в ответ на некоторый другой тип инициирующего события. Если VAS 302 обнаруживает наличие существенных уязвимостей, она может автоматически предпринимать профилактические действия.
Рассматривая в целом, одна основная цель VAS 302 состоит в том, чтобы обнаруживать уязвимости, вызываемые посредством несанкционированного использования легитимных каналов доступа в окружении 304 обработки данных. Как отмечено выше, эти уязвимости не обязательно отражают то, что код, используемый посредством окружения 304 обработки данных, является несовершенным по своей сути. Это делает VAS 302 более подх