СТРАТЕГИИ ИЗУЧЕНИЯ УЯЗВИМОСТЕЙ И ПОДАВЛЕНИЯ УЯЗВИМОСТЕЙ, ВЫЗЫВАЕМЫХ ПОСРЕДСТВОМ ЗАХВАТА УЧЕТНЫХ ДАННЫХ
STRATEGIES TO STUDY VULNERABILITIES AND TO SUPPRESS VULNERABILITIES CAUSED BY CAPTURING ACCOUNT DATA

Уровень техники
Организации часто выделяют обширные ресурсы для повышения безопасности своих систем обработки данных. В стандартном и хорошо изученном основанном на коде подходе организация может попытаться идентифицировать слабое место в коде, используемом в ее системе обработки данных. Организация может попытаться исправить эту проблему посредством создания исправления кода, которое устраняет осознанное слабое место.
Тем не менее авторы настоящего изобретения принимают во внимание, что безопасность организации зависит не только от основанных на коде уязвимостей. Как только злоумышленный объект получил доступ к системе обработки данных (через легитимные или нелегитимные средства), этот объект иногда может в дальнейшем осуществлять в иных отношениях легитимные полномочия для того, чтобы получать управление над дополнительными частями системы обработки данных и наносить вред системе обработки данных. Устранение этого типа проблемы не обязательно выполняется через доработку кода, поскольку злоупотребление легитимными полномочиями не может отражать неточность непосредственно в коде.
Сущность изобретения
Описывается стратегия для анализа и подавления уязвимостей в окружении обработки данных организации. Уязвимости частично следуют из применения легитимных прав доступа, которыми обладают один или более администраторов в организации.
В одной примерной реализации стратегия собирает "данные доступа", которые отражают фактическое поведение входа в систему, демонстрируемое пользователями в окружении обработки данных. Стратегия также собирает "данные прав", которые отражают права, которыми обладают один или более администраторов в окружении обработки данных. На основе данных доступа и данных прав стратегия идентифицирует то, как пользователь или другой объект, который получает доступ к одной части окружения, потенциально может компрометировать дополнительные части окружения.
Стратегия может выводить результаты своего анализа в различных формах. Например, стратегия может выводить результаты своего анализа как графическое представление зависимостей безопасности в окружении обработки данных. Наконец, стратегия может рекомендовать и реализовать этапы, направленные на подавление идентифицированных уязвимостей.
Дополнительные примерные реализации и сопутствующие преимущества описываются далее.
Краткое описание чертежей
Фиг.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 обработки данных.
n
- В шестом случае пользователь может указать различные проектные ограничения и затем запросить, чтобы модуль 312 анализа данных идентифицировал, удовлетворяются ли эти ограничения, или, если нет, указал, как эти ограничения могут быть удовлетворены. Например, пользователь может указать, что он хочет, чтобы максимум объектов имели возможность управлять интересующей системой в любой момент. Модуль 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 более подходящим средством обеспечения безопасности, чем некоторые традиционные основанные на коде подходы к угрозам безопасности. Кроме того, если слабое место в коде способствовало уязвимости, то за счет достижения лучшей изолированности в окружении обработки данных VAS 302 может также помочь уменьшать распространение атак кодового типа в окружении обработки данных.
В другой реализации анализ, выполняемый посредством VAS 302, может быть комбинирован с основанными на коде методиками оценки уязвимостей. Такая схема может позволить пользователю обеспечивать улучшенные средства, чтобы анализировать и преодолевать распространение вредоносного кода или других вредоносных действий в окружении обработки данных. Например, основанные на коде методики оценки уязвимостей могут идентифицировать то, как пользователь может первоначально взламывать окружение 304 обработки данных с тем, чтобы захватить учетные данные. VAS 302 может в таком случае идентифицировать, как пользователь может впоследствии использовать легитимные каналы, чтобы расширить свою неавторизованную сферу управления в окружении 304 обработки данных.
Обобщая, VAS 302 может обнаруживать уязвимости посредством ориентирования на учетные данные, которые фактически появились в окружении обработки данных вместе с административными правами, которые могут использоваться в окружении обработки данных. Это позволяет VAS 302 оценивать уязвимости, используя относительно сжатый объем информации, к примеру учетные записи, предыстории входов в систему, групповые членства и т.д. Этот признак, в свою очередь, предоставляет, по меньшей мере, два основных преимущества.
Во-первых, подход, предпринимаемый VAS 302, является в высшей степени масштабируемым. Например, подход, предпринимаемый VAS 302, не требует подробного и идиосинкратического знания о характеристиках машин, которые заполняют окружение обработки данных. Это позволяет применять VAS 302 с относительной простотой к окружениям обработки данных, которые имеют относительно большое количество машин. Другими словами, VAS 302 может быть расширен на дополнительные машины без необходимости обременительных задач установки и поддержки и без значительного увеличения нагрузки по анализу, налагаемой на VAS 302.
Во-вторых, подход, предпринимаемый VAS 302, является в высшей степени подходящим для использования. Например, VAS 302 составляет свой анализ в терминах дискретного набора практических и хорошо понятных признаков окружения обработки данных (к примеру, как указано выше, на основе учетных записей, предысторий входов в систему, группового членства и т.д.). Это означает, что VAS 302 может четко сформулировать свой анализ и предложенные решения пользователям прозрачным и простым для понимания способом, к примеру без добавления наложения "новых", связанных с безопасностью абстракций. Это также означает, что VAS 302 уполномочивает пользователей управлять уязвимостями с помощью уже широко известных инструментов и идей администрирования, не прибегая к специализированным "исправлениям", которые требуют специального обучения и поддержки.
Фиг.4 показывает одно примерное представление 400 графического интерфейса пользователя, которое может быть сформировано посредством VAS 302. Это представление 400 графического интерфейса пользователя выступает в качестве интерфейса управления, который позволяет пользователю инициализировать требуемый анализ уязвимости и принимать результаты такого анализа. (VAS 302 может, в общем, формировать графические выходные представления с помощью множества различных методик представления, стилей и т.д. Соответственно, представление 400 графического интерфейса пользователя, показанное на фиг.4, должно пониматься как строго примерное, а не ограничивающее.)
n
Типичное представление 400 графического интерфейса пользователя, показанное на фиг.4, включает в себя первую секцию 402, которая может отображать различные варианты анализа. Представление 400 графического интерфейса пользователя - альтернативно представлять эти варианты в раскрывающемся меню или любом другом стиле представления. Конкретные варианты, представленные в первой секции 402, являются типичными, неисчерпывающими и неограничивающими. Первый вариант может быть активирован, чтобы выдать команду VAS 302 предоставлять полную оценку состояния безопасности в окружении 304 обработки данных. Второй вариант может быть активирован, чтобы выдать команду VAS 302 предоставлять информацию относительно особенно проблематичных частей окружения 304 обработки данных. Таким образом, после вызова этого варианта VAS 302 может предоставлять анализ относительно самых активных нарушителей, идентифицированных посредством VAS 302. Третий вариант может быть активирован, чтобы выдать команду VAS 302 предоставлять информацию относительно конкретных, выбираемых пользователем частей окружения 304 обработки данных. После вызова этого варианта VAS 302 передает информацию относительно последствий определенных гипотетических событий, которые могут воздействовать (или на них могут воздействовать) на определенные идентифицированные части окружения 304. Четвертый вариант может быть активирован, чтобы выдать команду VAS 302 выполнять различные типы анализа "что-если" (как описано выше). Пятый вариант может быть активирован, чтобы выдать команду VAS 302 предоставлять предложения относительно того, как уменьшить уязвимости в окружении 304 обработки данных. Эти варианты являются примерными, а не ограничивающими; дополнительные типы вариантов могут быть представлены пользователю в первой секции 402.
n
Вторая секция 404 представления 400 графического интерфейса пользователя может предоставлять вывод анализа VAS 302. В этом конкретном сценарии пользователь запросил, чтобы VAS 302 идентифицировал  самых активных нарушителей в окружении 304 обработки данных. В ответ вторая секция 404 предоставляет графическое представление самых проблематичных частей окружения 304 обработки данных. Более конкретно, секция 404 передает эти результаты в древовидной форме, идентифицируя каждого нарушителя (к примеру, объект A и объект B), а также системы, которые могут быть затронуты объектами-нарушителями. Например, этот тип отображения передает, что посредством перехвата учетных данных конкретного объекта A неавторизованный пользователь может затем компрометировать системы 1, 2, 3 и 4. VAS 302 может передать обширные списки поврежденных систем в сжатой форме. Например, нарушитель B потенциально воздействует на 32 системы. VAS 302 может отобразить одно поле, которое представляет эти 32 системы в свернутой форме. Пользователь может щелкнуть это поле, чтобы принять список, который перечисляет все эти 32 системы в несвернутой форме.
Графическое дерево, показанное в секции 404, включает в себя два уровня, а именно объект-нарушитель как первый уровень и поврежденные системы как второй уровень. В альтернативном случае VAS 302 может передавать отношения управления с помощью дополнительных уровней. Например, VAS 302 может добавить еще один уровень, чтобы продемонстрировать то, как компрометация системы 1 может привести к компрометации дополнительных машин. Влияния еще более высокого порядка могут быть сообщены аналогичным образом посредством добавления дополнительных уровней к дереву.
Графическое дерево, показанное в секции 404, представляется в формате списка сверху вниз. В альтернативном случае VAS 302 может передавать отношения управления в других форматах, включая звездообразную форму. В этой форме объект-нарушитель помещается в центр звезды с рукавами, заканчивающимися в потенциально поврежденных системах.
В еще других случаях VAS 302 может альтернативно или в дополнение передавать уязвимости в неграфической форме, к примеру в форме электронной таблицы, звуковой форме и т.д.
A.3. Примерная функциональность обработки
Различные аспекты компонентов, показанных на фиг.3, могут быть реализованы оборудованием обработки информации, включающим в себя любую комбинацию программного обеспечения, микропрограммного обеспечения и аппаратных средств. Фиг.5 излагает примерную функциональность 502 обработки, которая может быть использована для того, чтобы реализовать любой аспект этих компонентов. Например, в случаях, если VAS 302 может быть реализована компьютером, функциональность 502 обработки данных может использоваться для того, чтобы реализовать этот компьютер. Функциональность 502 обработки также может, в общем, представлять любой компонент в окружении 304 обработки данных, такой как пользовательский компьютер, сервер и т.д.
Функциональность 502 обработки может включать в себя различную энергозависимую и энергонезависимую память, такую как RAM 504 и ROM 506, а также один или более центральных процессоров (CPU) 508. Функциональность 502 обработки может выполнять различные операции, идентифицированные выше, когда CPU 508 приводит в исполнение инструкции, которые хранятся в памяти (к примеру, 504, 506 или другой). Функциональность 502 обработки также необязательно включает в себя различные устройства-носители 510, такие как модуль жесткого диска, модуль оптического диска и т.д.
Функциональность 502 обработки также включает в себя модуль 512 ввода-вывода для приема различных вводов от пользователя (через устройства 514 ввода) и для предоставления различных выводов пользователю (через устройства 516 вывода). Одно конкретное устройство вывода может включать в себя устройство отображения и ассоциативно связанный графический интерфейс пользователя (GUI) 518. Функциональность 502 обработки также может включать в себя один или более сетевых интерфейсов 520 для обмена данными с другими устройствами через один или более каналов 522 связи. Одна или более шин 524 связи функционально соединяют вышеописанные компоненты между собой.
Каналы 522 связи могут быть реализованы по-разному, чтобы соответствовать различным техническим и коммерческим окружениям. Например, каналы 522 связи могут включать в себя любой вид сети (или комбинацию сетей), таких как глобальная вычислительная сеть (к примеру, Интернет), сеть Интранет, сетевая инфраструктура цифровых абонентских линий (DSL), инфраструктура связи "точка-точка" и т.д. В случае если одна или более цифровых сетей используются, чтобы обмениваться информацией, каналы 522 связи могут включать в себя различные линии проводной и/или беспроводной связи, маршрутизаторы, шлюзы, серверы доменных имен и т.д.
B. Примерная процедура
Фиг.6 показывает процедуру 600, которая поясняет работу VAS 302 в форме блок-схемы последовательности операций способа. Чтобы упростить пояснение, определенные операции описываются как составляющие различные этапы, выполняемые в определенном порядке. Эти реализации являются примерными и неограничивающими. Определенные этапы, описанные в данном документе, могут быть сгруппированы вместе и выполняться в одной операции, а определенные этапы могут выполняться в порядке, который отличается от порядка, используемого в примерах, изложенных в данном раскрытии сущности. Этапы, показанные в блок-схемах последовательности операций способа, могут быть реализованы программным обеспечением, микропрограммным обеспечением, аппаратными средствами, ручной обработкой, любой комбинацией этих реализаций и т.д.
Поскольку функции, описанные на блок-схеме последовательности операций способа, уже сформулированы в разделе A, раздел B выступает преимущественно как обзор этих функций.
На этапе 602 VAS 302 собирает данные безопасности для использования в оценке уязвимостей окружения 304 обработки данных. Как описано, данные безопасности могут включать в себя данные доступа и данные прав. Данные доступа отражают фактическое поведение входа в систему пользователей в окружении 304 обработки данных. Данные прав отражают структуру административных прав в окружении 304 обработки данных.
На этапе 604 VAS 302 определяет на основе данных безопасности, собранных на этапе 602, пути связанной с правами компрометации в окружении 304 обработки данных. Этап 604 может использовать алгоритм поиска по графу, чтобы выполнять свой анализ, например алгоритм поиска в ширину.
На этапе 606 VAS 302 предоставляет вывод своего анализа пользователю. Как описано выше, VAS 302 может использовать различные методики, чтобы передать свои результаты, включая различные типы наглядных представлений, табличных представлений и т.д.
На этапе 608 VAS 302 может потенциально подавлять уязвимости, оцененные на предыдущем этапе (606). Подавление может принимать форму предоставления рекомендаций пользователю. Рекомендации идентифицируют способы уменьшать уязвимости. Помимо этого или альтернативно, подавление может быть реализовано посредством автоматического осуществления корректирующего действия, которое затрагивает окружение обработки данных.
В заключение, ряд признаков описан в данном документе посредством первоначальной идентификации примерных проблем, которые эти признаки могут разрешать. Этот способ пояснения не является принятием того, чтобы другие признавали или формулировали проблемы способом, заданным в данном документе. Признание и формулирование проблем, имеющихся в данной области техники, должно пониматься как часть настоящего изобретения.
Обобщая, хотя изобретение описано на языке, характерном для структурных признаков и/или методологических действий, необходимо понимать, что изобретение, заданное в прилагаемой формуле изобретения, не обязательно ограничено описанными характерными признаками или действиями. Наоборот, характерные признаки и действия раскрываются как примерные формы реализации заявленного изобретения.