Основы информационных и телекоммуникационных технологий. Программно-аппаратное обеспечение

Автор работы: Пользователь скрыл имя, 19 Октября 2009 в 12:43, Не определен

Описание работы

Средства защиты Secret Net

Файлы: 1 файл

доп. инфо.doc

— 210.00 Кб (Скачать файл)

Из Табл.1 и Табл.2 видим, что при данных настройках системы защиты теряется какой-либо смысл атак на расширение привилегий, т.к. у пользователя System становится прав на доступ к ресурсам меньше, чем у любого другого пользователя, зарегистрированного в системе.  

В качестве замечания отметим, что, во-первых, рассмотренные  в статье решения (в частности, приведенные настройки механизма защиты) апробированы при создании семейства СЗИ НСД – КСЗИ «Панцирь» (для ОС семейств Windows и Unix) - разработка НПП «Информационные технологии в бизнесе», во-вторых, они либо уже запатентованы, либо находятся в стадии патентования, поэтому без нарушения авторских прав, рассмотренные в работе технологии не могут быть реализованы в разработках иных производителей.  

В порядке  иллюстрации, покажем, как выглядит интерфейс настройки механизма  контроля доступа к файловым объектам для субъекта процесс в КСЗИ «Панцирь» для ОС Windows 2000/XP/2003, см. рис.2 (настройками, представленными на рис.2, выделяются привилегированный процессы – процессы могут быть заданы полнопутевым именем хранения их исполняемых файлов, полнопутевым именем папки (тогда для всех процессов, исполоняемые файлы которых хранятся в этой папке, будут действовать установленные разграничения), маской, которым разрешен полный доступ (ничего не запрещено) ко всем ресурсам.  

В качестве замечания отметим, что в КСЗИ «Панцирь» для ОС Windows 2000/XP/2003 процесс, как самостоятельный субъект доступа, включен во все механизмы управления доступом к ресурсам: к локальным и разделенным в сети (по входу и выходу) файловым объектам – на жестком диске и устройствах ввода, включая Flash-устройства, к объектам реестра ОС, к портам, к сетевым ресурсам (задача межсетевого экранирования). Подобный же подход реализован и в наших СЗИ НСД для ОС семейства Unix (HP-UX, Linux, Free BSD).  

  

Рисунок 2 - Интерфейс настройки механизма контроля доступа к файловым объектам для субъекта процесс, реализованный в КСЗИ «Панцирь» для ОС Windows 2000/XP/2003

Кликните  по рисунку для увеличения масштаба  

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

Использование данного подхода несет в себе и возможность распределения  задач администрирования между администратором безопасности и системным администратором (права системного администратора СЗИ НСД могут быть сведены на нет, либо в значительной мере ограничены). До тех пор, пока активна СЗИ НСД, системный администратор сможет выполнять только те функции, которые средствами СЗИ НСД ему разрешены администратором безопасности (в предположении, что администратор безопасности управляет СЗИ НСД).  

В части  защиты компьютерной информации интерес  представляет не только системный диск, но и файловые объекты пользователей, к которым может осуществить несанкционированный доступ процесс (в частности виртуальная машина). Защита здесь состоит в том, что для работы с документами с использованием любого подобного процесса можно выделить свой файловый объект для каждого пользователя, например, каталог, куда разрешить доступ пользователю и такому процессу (к другим файловым объектам пользователя доступ данному процессу следует запретить). Например, выделим отдельный каталог для работы Java-машины и соответствующим образом разграничим права доступа процессам. При этом можем быть уверены, что информация пользователя (хранящаяся в других файловых объектах) не будет подвергнута несанкционированному доступу со стороны Java-машины, вне зависимости от того, какие действия она выполняет. Продолжая далее разговор о виртуальной машине, можем сформулировать и решить задачу изоляции среды исполнения скриптов, например, файлов с расширением «.bat». Заметим, что к этим файлам виртуальная машина обращается с запросом на чтение, а не на выполнение. Таким образом, любой пользователь сможет создать в своей папке (в которую ему разрешены запись и чтение) скрипт и запустить его. Рассмотренный выше подход позволяет разграничить права доступа для процессов собственно виртуальной машины – при этом можно разрешить запускать (читать) скрипты только из определенной папки, куда следует запретить доступ на запись пользователям.  

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

На самом  деле, приложений рассматриваемой технологии множество и мы не будем детально их рассматривать (читатель сам, при  желании, может найти ей применение для собственных нужд). В работе же мы еще остановимся на одной важной проблеме, разрешение которой возможно с использованием предлагаемой технологии.  

Рассмотри возможность противодействия группе атак на сервисы олицетворения - наиболее заметной и существенно прогрессирующей в процентном отношении в последнее время, см. рис.3 – зависимость получена на основании бюллетеней безопасности Microsoft ( http://www.microsoft.com/technet/security ) и архива рассылки NTBugTraq ( http://www.ntbagtraq.com, http://security.nnov.ru)).  

  

Рисунок 3 - Динамика изменения во времени  процентной доли атак на сервисы олицетворения  

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

Все работающие в системе процессы и потоки выполняются  в контексте защиты того пользователя, от имени которого они так или  иначе были запущены. Для идентификации  контекста защиты процесса или потока используется объект, называемый маркером доступа (access token). В контекст защиты входит информация, описывающая привилегии, учетные записи и группы, сопоставленные с процессом и потоком. В процессе регистрации в системе создается начальный маркер, представляющий пользователя, который входит в систему, и сопоставляет его с процессом оболочки, применяемой для регистрации пользователя. Все программы, запускаемые пользователем, наследуют копию этого маркера. Механизмы защиты в Windows используют маркер, определяя набор действий, разрешенных потоку или процессу.  

Маркер  может быть основным (идентифицирует контекст защиты процесса) или олицетворяющим (применяется для временного заимствования  потоком другого контекста защиты — обычно другого пользователя). Олицетворение (impersonation) предоставляет возможность отдельному потоку выполняться в контексте защиты, отличном от контекста защиты процесса, его запустившего, т.е. действовать от лица другого пользователя. Олицетворение, например, применяется в модели программирования «клиент-сервер». При заимствовании прав сервер временно принимает профиль защиты клиента, «от лица» которого обращается к ресурсу. Тогда сервер может работать с ресурсом от имени клиента, а система защиты проводить проверку его прав доступа. Обычно серверу доступен более широкий круг ресурсов, чем клиенту, и при олицетворении поток теряет часть исходных прав доступа, запустившего его процесса. И, напротив, при олицетворении соответствующий поток может получить дополнительные права.  

С учетом существующей статистики уязвимостей  данного типа, можем сделать вывод, что решение задачи контроля корректности олицетворения следует возложить  на добавочную СЗИ НСД, которая собственными средствами должна осуществлять разграничения  прав доступа к сервисам олицетворения. Для выработки подхода к решению данной задачи, прежде всего, определимся с тем, что является субъектом и объектом доступа в рассматриваемой схеме разграничений. И в этом случае нами предлагается, в качестве самостоятельного субъекта доступа рассматривать процесс, которым порождается поток, а в качестве объекта доступа – права доступа (контекст защиты), задаваемые учетной записью пользователя, которые системой защиты предоставляются, либо нет потоку, запросившему олицетворение. Другие возможные варианты - это рассматривать в качестве субъекта поток (но такой механизм будет невозможно настроить), либо пользователя. Задание в качестве субъекта доступа учетной записи пользователя вообще говоря, можно рассматривать лишь как вариант частного решения задачи (при этом все процессы, причем не только прикладные, далее покажем, что данный механизм может применяться и для контроля работы системных процессов, должны подчиняться единым правилам олицетворения). Ввиду того, что каждая программа в общем случае может затребовать собственных разрешений олицетворения для запускаемых ими потоков, именно процесс предлагается рассматривать в качестве субъекта доступа – для которого задаются разграничения. Получаем следующую схему: для процесса, потоки запускаемые которым, используют сервисы олицетворения задаются права олицетворения (соответственно, для всех потоков, порождаемых данным процессом, они одинаковы). Права олицетворения задаются следующей парой параметров: учетная запись пользователя, под которым запущен процесс, включая пользователя «SYSTEM» (процесс в общем случае может запускаться под различными учетными записями); учетная запись пользователя, с контекстом защиты которого разрешается олицетворяться потокам, запускаемым процессом, для которого задаются разграничения.  

Важным  условием корректности реализации любого механизма, реализующего разграничительную  политику доступа к ресурсам, в  том числе, и рассматриваемого в  работе, является реализация системой защиты разрешительной разграничительной политики («Все, что не разрешено (явно не прописано), то запрещено» - об этом мы подробно поговорим в одной из следующих частей нашей работы), при которой задаются (явно прописываются) разрешенные виды олицетворения. Для упрощения настроек механизма, процессы, как субъекты доступа, могут задаваться не только своими полнопутевыми именами, но и именами папок (тогда заданные разграничения действуют на все процессы, запускаемые из папки, для которой установлены разграничения), либо масками. Интерфейс настройки механизма, реализованный в КСЗИ “Панцирь” для ОС Windows 2000/XP/2003, приведен на рис. 4.  

  

Рисунок 4 - Интерфейс настройки механизма  контроля олицетворения, реализованный  в КСЗИ “Панцирь” для ОС Windows 2000/XP/2003

Кликните  по рисунку для увеличения масштаба  

Замечание. В процессе работы системы сервисом олицетворения пользуются не только прикладные, но и системные процессы. Рассматриваемый механизм может  эффективно быть использован и с  целью контроля олицетворения потоков, запускаемых системными процессами, при этом данный механизм позволяет реализовать и принципиально новые свойства защиты. Например, при авторизации пользователя при входе в систему, потоки, запускаемые процессом winlogon, олицетворяются с учетной записью авторизуемого пользователя. При использовании данного механизма (пример настроек приведен на рис. 4) можно управлять тем, какие пользователи могут входить в систему. Для настроек, представленных на рис. 4, это только пользователи «Administrator» и «User1». Наличие иных учетных записей заведенных в системе, не даст возможности войти под ними в систему.  

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

  

В качестве замечания отметим, что читатель нам может высказать мнение о  сложности настройки подобных механизмов защиты. На это мы можем возразить следующее: во-первых, все рассмотренные механизмы имеют встроенные средства аудита, используя которые, не составляет труда осуществить их настройку (а заодно при этом получите и интересную для осмысления дополнительную информацию о том, как функционирует система, в частности, ее отдельные процессы, отметим, что мы для себя открыли много неожиданного), во-вторых, задача защиты компьютерной информации сложна сама по себе (грамотно настроить встроенные механизмы защиты ОС тоже не просто), при этом защищенность вашей информации во многом зависит от квалификации администратора. Если же администратор (в частности, администратор безопасности), обладает достаточной квалификацией, ему рассмотренные механизмы настроить особого труда не составит, если же квалификация администратора низка, то он не сумеет грамотно настроить и встроенные в ОС механизмы защиты – тогда вам не поможет никакая добавочная СЗИ НСД.  

Информация о работе Основы информационных и телекоммуникационных технологий. Программно-аппаратное обеспечение