|
А.Ю.Щеглов Опубликовано: dl, 27.10.05 02:26 Эффективное решение задачи антивирусной защиты сегодня имеет крайне важное значение. Это обусловлено неуклонно возрастающей долей эффективных вирусных атак на информационные ресурсы автоматизированных информационных систем (АИС) в общем списке ежегодно регистрируемых атак. Однако, подобная динамика характеризует не только важность задачи антивирусного противодействия, но и, правда косвенно, относительно низкую эффективность существующих технологий и технических средств антивирусной защиты, не смотря на тот факт, что данный сегмент рынка средств защиты на сегодняшний день наиболее полно представлен, как отечественными, так и зарубежными средствами. Все это делает актуальным проведение исследований и разработки новых подходов к антивирусной защите. В данной работе рассматриваются решения, основанные на использовании в антивирусной защите механизмов защиты информации от несанкционированного доступа (НСД), разрабатываются дополнительные требования к данным механизмам в части решения рассматриваемых задач. Предлагаемые подходы апробированы в комплексной системе защиты информации (КСЗИ) "Панцирь-К" для ОС Windows 2000/XP/2003 (новая разработка ЗАО "НПП "Информационные технологии в бизнесе"). 1. Классификация задач антивирусной защиты. Общий подход к противодействию вирусным атакам с применением механизмов защиты информации от НСД.Основной тезис, который будет обоснован в данной работе, и который будет положен в основу разработки требований к средствам антивирусной защиты, состоит в следующем: основу антивирусной защиты составляет применение механизмов защиты компьютерных ресурсов от несанкционированного доступа (НСД), причем эффективное антивирусное противодействие возможно только при реализации контроля доступа к ресурсам для субъекта "ПРОЦЕСС". Основу существующих принципов контроля доступа к ресурсам, реализуемых в современных ОС и других системных средствах, а также в большинстве современных средств защиты, включая антивирусную, составляет задание прав и реализация разграничений на основании определенных правил доступа субъектов "ПОЛЬЗОВАТЕЛЬ" к объектам, в частности, к файловым объектам. Именно данный способ контроля доступа формализован в соответствующих нормативных документах в области защиты информации. Однако именно процесс, и может нести в себе уязвимость, предоставляя возможность вирусной атаки. Тому может быть несколько причин, положим их в основу классификации уязвимостей процессов:
ВыводС учетом приведенной классификации, из которой следует, что именно процесс несет в себе угрозу вирусной атаки, может быть сформулирована задача контроля доступа к ресурсам с учетом доверия к процессам или доверительного контроля доступа к ресурсам. Естественно, что учет доверия к процессам при контроле доступа к ресурсам возможен только в том случае, если процесс можно рассматривать, как самостоятельный субъект доступа, для которого можно задавать собственные правила разграничения доступа к ресурсам, а не как субъект, наследующий права доступа пользователя (в противном случае, следует говорить о доверии к пользователю, а не к процессу). Для формулирования задач антивирусной защиты приведем укрупненную классификацию вирусных атак:
Приведенная классификация подтверждает, что проблемы антивирусной защиты в большой мере сводятся к вопросу априорного доверия к процессам, как следствие, основу их решения составляет реализация доверительного контроля доступа к ресурсам. Выводы
2. Требования к средствам антивирусной защиты.1. Основополагающие требования к антивирусной защите. Основополагающими требованиями к антивирусной защите, которые должны быть реализованы соответствующими техническими средствами, являются:
2. Базовые требования к средствам антивирусной защиты. 2.1. Требования к средству защиты от запуска несанкционированных (сторонних) процессов. Единственно корректное решение данной задачи (решение задачи защиты в общем виде) состоит в предотвращении самой возможности запуска сторонних процессов, причем как пользователем, так и системой. Решается эта задача реализацией механизма обеспечения замкнутости программной среды. Под обеспечением замкнутости программной среды в общем случае понимается локализация на защищаемом компьютере возможности запуска программ пользователями (включая System) механизмом контроля доступа к ресурсам (контролем доступа на исполнение файлов), при этом механизм реализован корректно при условии, если им выполняются требования к полноте и к корректности разграничений к исполняемыми файлами. Под полнотой разграничений понимается возможность разграничить доступ "на исполнение" для всех компьютерных ресурсов, с которых возможен запуск программы, а под корректностью разграничений понимается отсутствие какой-либо возможности модификации разрешенных к запуску исполняемых файлов, а также запуск под их именем других (несанкционированных) программ. Эффективная реализация механизма состоит в том, что разрешенные к запуску исполняемые файлы задаются не списком, а каталогом (каталогами), из которых пользователям разрешается запуск исполняемых файлов (например, это каталоги C:\Program Files и С:\Windows - подобный выбор каталогов целесообразен, так как следует контролировать запуск не только пользовательских, но и системных процессов), в которые пользователям запрещается доступ "на запись". Пользователь сможет запустить программу только из заданных каталогов - санкционированную программу, причем только с жесткого диска, и не сможет модифицировать исполняемые файлы разрешенных к запуску процессов, причем, как прикладных, так и системных. При такой реализации механизма сохраняются все штатные действия администратора - он штатными средствами должен инсталлировать программы в заданные каталоги, в частности C:\Program Files и С:\Windows, и штатными же средствами удалять программы. Тот тезис, что решение задачи антивирусного противодействия здесь осуществляется в общем виде, подтверждается тем, что при реализации рассмотренного механизма весь компьютер может быть "завирусован" (может содержать в составе ПО массу троянов, черверй и т.д.). При этом ни одна сторонняя программа (вирус) не может быть запущена. Базовые требования к средствам антивирусной защиты:
2.2. Требование к средству защиты от воздействия критичных и скомпрометированных процессов. Решение задачи защиты здесь состоит в реализации механизма доверительного контроля доступа. Основу принципа доверительного контроля доступа к ресурсам, составляет включение в схему разграничения прав доступа к ресурсам, наряду с субъектом доступа "пользователь", субъекта доступа "процесс", в предположении, что права доступа этих субъектов не совпадают. В общем случае при управлении доступом к ресурсам следует различать два самостоятельных субъекта доступа - "пользователь" и "процесс". При этом могут быть выделены следующие схемы задания разграничительной политики доступа к ресурсам:
Таким образом, если механизм обеспечения замкнутости программной среды предотвращает возможность запуска несанкционированной программы, то механизм доверительного контроля доступа позволяет локализовать заданием разграничений для субъекта "ПРОЦЕСС" несанкционированные действия санкционированных процессов, причем, как прикладных, так и системных. Это позволяет свести на нет угрозы, связанные с уязвимостями системных и прикладных процессов, в частности сетевых служб, и делает атаки на процессы, в том числе, на сетевые службы (сетевые атаки) малоэффективными. Кроме того, данный метод может эффектно противодействовать шпионским программам (по сути, это достаточно новое направление в решении задач обеспечения компьютерной безопасности). Замечание. Данное решение авторами запатентовано (Патент № 2207619), поэтому, без нарушения авторских прав ЗАО "НПП "Информационные технологии в бизнесе", оно не может быть реализовано иными разработчиками средств защиты. Важнейшим условием корректности реализации (как следствие, эффективности) механизма доверительного контроля доступа является выполнение требования к полноте разграничений для субъекта "ПРОЦЕСС" (к файловым объектам, реестру ОС, сетевым ресурсам, устройствам и т.д.), т.к. отсутствие разграничений доверительного доступа к какому-либо объекту не позволит запретить к нему несанкционированный доступ. Базовое требование к средствам антивирусной защиты. Механизм доверительного контроля доступа к ресурсам должен позиционироваться как базовый механизм антивирусной защиты, обеспечивающий решение задачи антивирусной защиты, в части защиты от воздействия критичных и скомпрометированных процессов. Данный механизм должен присутствовать на любом компьютере АИС. С реализацией данного механизма связаны и вопросы корректности реализации механизма обеспечения замкнутости программной среды (см. выше), в части запрета доступа "на запись" к системному диску системных пользователей. Заметим, что это одна из ключевых задач обеспечения компьютерной безопасности, не решаемых в требуемом объеме современными ОС. Данный недостаток связан с появлением большой группы атак на расширение привилегий - с целью несанкционированного получения прав пользователя "System", как следствие, полного (неразграничиваемого системой) доступа ко всем компьютерным ресурсам. Критичность данной проблемы обусловливается и тем, что ОС предоставляет сервис (который используют разработчики приложений), состоящий в возможности запуска приложения под учетной записью "System" или root. Это приводит к тому, что уязвимости (в частности, ошибки программирования) приложений становятся и уязвимостью ОС, что недопустимо, и что можно считать основным архитектурным недостатком реализации встроенной в современные ОС системы защиты информации. Естественно, что в общем виде (не применительно к конкретной уязвимости скомпрометированного процесса) противодействовать подобным атакам возможно лишь в том случае, если устранить привилегии пользователя, от которого запускается скомпрометированный процесс - в данном случае пользователя "System" - при этом теряется сам смысл атаки на получение прав системного пользователя. Использование рассматриваемого механизма в данном случае состоит в следующем. Пользователю "System" запрещает доступ к системному диску "на запись". В этих предположениях система не может функционировать корректно. Поэтому некоторым системным процессам (например, winlogon - всего их в системе 5-7) подобный доступ разрешается вне прав пользователя "System" (эксклюзивно). Это не несет в себе уязвимости системы, т.к. данные системные процессы не имеют средств управления пользователем. При реализации данного решения обеспечивается то, что любой процесс, запущенный с правами пользователя "System" (кроме нескольких указанных системных процессов) не будет иметь возможности модификации системного диска. Все сказанное, в полной мере относится и к объектам реестра ОС. Реализация в системе защиты данного подхода позволяет в общем виде противодействовать атакам на расширение привилегий. Базовые требования к средствам антивирусной защиты:
Выводы
Общий вывод Базовые требования к средствам антивирусной защиты реализуются средством защиты от НСД, в частности, механизмом контроля доступа к ресурсам. 2.3. Требования к средству защиты, в части локализации сторонних, критичных и скомпрометированных процессов. Наличие сторонних, критичных и скомпрометированных процессов в системе может быть выявлено на основании аудита действий по запуску процессов (при фиксировании подсистемой аудита попытки запуска исполняемого файла, не разрешенного к запуску) и непосредственно действий процесса (при фиксировании подсистемой аудита некорректного "поведения" процесса, противоречащего заданной разграничительной политики доступа субъекта "ПРОЦЕСС" к ресурсам). Сведения о зафиксированных средствами аудита некорректных попытках запуска исполняемого файла и о некорректном поведении запущенного процесса должны выдаваться в реальном времени пользователю. Для пользователя подобное сообщение является сообщением системы антивирусной защиты о выявлении сторонних, критичных и скомпрометированных процессов в системе. Требования к обеспечению локализации сторонних, критичных и скомпрометированных процессов в системе, при использовании базового средства антивирусной защиты:
Общий вывод Требования к средствам антивирусной защиты, в части локализации сторонних, критичных и скомпрометированных процессов в системе, реализуются средством защиты от НСД, в частности, механизмом аудита (регистрации событий). 3. Требования к средствам антивирусной защиты в части противодействия "Макро-вирусам" На сегодняшний день наиболее широкое распространение, в части противодействия макро-вирусам, нашли средства защиты, базирующиеся на сигнатурном анализе документов, с целью обнаружения вирусов, и на "поведенческом анализе" процессов, обладающих недекларированными свойствами. Первый подход, очевидно, является тупиковым, т.к. позволяет обнаруживать лишь известные вирусы (не обеспечивает выполнения основополагающих требований к антивирусной защите), однако обладает возможность выявления зараженных документов и частично их восстановления (по средством удаления макро-вируса из тела документа), второй, обеспечивая решение задачи в общем виде, оказывает существенное влияние на защищаемый объект, в частности на загрузку вычислительного ресурса. Вместе с тем, если можно задать и выявить корректное "поведение" процесса (соответственно, сформулировать условия признания его действий некорректными), то, следовательно, в части противодействия макро-вирусам эффективно может быть использован механизм доверительного контроля доступа к ресурсам (с учетом того, что условия корректного "поведения" процесса должны быть формализованы заранее - не в процессе его выполнения). При этом заданием соответствующих правил разграничения доступа к ресурсам для субъекта "ПРОЦЕСС", можно априори разрешить процессу только корректное "поведение". Очевидным достоинством данного подхода является то, что он не требует анализировать действий процесса и принимать решений во время выполнения процесса, как следствие, оказывается минимальное влияние на загрузку вычислительного ресурса. 3.1. Защита механизмом доверительного контроля доступа к ресурсам. Базовые требования к средствам антивирусной защиты в части противодействия "Макро-вирусам". Принципиальным отличием постановки задачи доверительного контроля доступа в данном случае является то, что мера доверия к процессу определяется доверием к документу (который может содержать макро-вирус), к которому обращается процесс. Можно выделить два случая. Первый характеризуется тем, что меру доверия к документу невозможно как-то категорировать. Например, это использование Java-машины при работе с ресурсами сети Интернет - какое здесь может быть доверие к документам, расположенным на сайтах общего доступа? Невозможность категорировать документы по степени доверия к ним, требует рассматривать задачу защиты в предположении полного недоверия к документам, как следствие, полного недоверия к процессу, призванному обрабатывать эти документы, т.е. в предположении, что процесс после чтения документа содержит макро-вирус, который выполняется под именем этого процесса, и в общем случае "от лица процесса" может осуществить любое несанкционированное действие.
Схемы, представленные на рис.1, отличаются тем, что в первом случае доступ критичного процесса к объектам хранения данных пользователей запрещен, во второму случае - разрешен только "на чтение" (соответствующим образом задаются и права доступа для некритичного процесса-проводника, осуществляющего копирование данных между соответствующими файловыми объектам). Выбор схемы обработки определяется тем, каковы функции критичного процесса, и что вкладывается в понятие НСД к информации. Например, если критичным процессом является почтовый клиент, то обработку данных критичным процессом следует выполнять по первой схеме, в противном случае имеем угрозу несанкционированного чтения данных пользователей из ОХД во внешнюю сеть. На примере рассмотрим возможность применения данного подхода. Пусть требуется обрабатывать документы (получать доступ к хостам внешней сети) с использованием Java-машины. Выделим отдельный каталог - ООД (соответственно, для различных пользователей это могут быть различные каталоги), только в который разрешим доступ процессам Java-машины, запретив им право модификации реестра ОС, право доступа к устройствам и т.д. - соответствующим образом зададим правила разграничения доступа для процесса-проводника. При этом несанкционированные возможности процессов Java-машины становятся не критичными не только по отношению к ресурсам компьютера, включая системные ресурсы, но и по отношению к данным пользователей, хранящихся на компьютере - информация пользователей. Таким образом, можем сделать вывод, что в данном случае информация и компьютерные ресурсы защищены от НСД критичными процессами в общем виде.
Естественно, что процесс (в частности, офисное приложение) при чтении документа какого-либо уровня доверия приобретает уровень доверия этого документа (он с той вероятностью будет совершать несанкционированное действие после чтения документа, с которой в прочтенном приложением документе находится макро-вирус, являющийся исполняемым кодом данного несанкционированного действия). С учетом сказанного, рассмотрим, к чему здесь сводится задача защиты данных пользователей, хранящихся на компьютере, от "заражения" вирусом (рассматриваем только задачу защиты данных пользователей в предположении, что для процессов офисных приложений, которые естественно относим к критичным, установлены соответствующие критичным процессам правила доступа к ресурсам, в том числе, к системным, о чем говорилось ранее). Естественно, что задача защиты сводится к разделению документов на категории доверия и к предотвращению возможности снижения категории документа (условимся считать, что чем выше категория документа, тем выше доверие к документу). Решение задачи антивирусной защиты состоит в следующем:
Реализация данных правил механизмом доверительного контроля доступа, проиллюстрирована на рис. 2, где в первом случае пользователь запускает процесс для работы с личными документами, во втором случае - с корпоративными. Проанализируем примеры, приведенные на рис.2. Видим, что задача предотвращения возможности снижения категории документа здесь решена в общем виде. Действительно, при обработке документов, их категория может только снижаться, но никак не повышаться. Снижение же категории (уровня доверия) документа осуществляется в том случае, если одновременно необходимо обрабатывать информацию нескольких уровней доверия. Например, новый документ создается сразу из двух документов (с использованием возможностей копирования и т.д.) различного уровня доверия. При этом новый документ имеет уровень доверия, соответствующий минимальному уровню одновременно обрабатываемых документов. Это обусловливается тем, что вероятность выполнения критичным процессом несанкционированного действия после чтения документа, здесь практически полностью задается вероятностью нахождения макро-вируса, являющегося исполняемым кодом данного несанкционированного действия, в документе наиболее низкого уровня доверия.
Данный подход к антивирусной защите и подход, описанный выше, могут быть совмещены. При этом возможны различные способы (в соответствии с решаемыми задачами) объединения этих механизмов защиты. В частности, дополнительный объект обработки данных (для записи в который, используется программа-проводник) может включаться для обработки документов наиболее низкого уровня доверия. Возвращаясь к рис.2, видим, что представленная здесь схема разграничений напоминает полномочную схему разграничений, в частности реализуемую мандатным механизмом контроля доступа, основу которого составляет предотвращение возможности понижения уровня конфиденциальности (категории) документа. Базовое требование к средствам антивирусной защиты, в части противодействия макро-вирусам:
Выводы
Общий вывод Базовые требования к средствам антивирусной защиты, в части противодействия макро-вирусам, реализуются средством защиты от НСД, в частности, механизмом контроля доступа к ресурсам. 3.3. Требования к обеспечению локализации документов, содержащих макро-вирусы, при использовании базового средства антивирусной защиты. Наличие вируса в документе может быть выявлено на основании аудита действий процесса (при фиксировании системой аудита некорректного "поведения" процесса при работе с соответствующим документом - поведения, противоречащего заданной разграничительной политики доступа субъекта "ПРОЦЕСС" к ресурсам). С целью выполнения базовых требований, сведения о зафиксированных средствами аудита некорректностях действия контролируемого процесса и о документе, при обработке которого зафиксирована некорректность, должны выдаваться в реальном времени пользователю. Для пользователя подобное сообщение является сообщением подсистемы антивирусной защиты о выявлении подозрительного документа и о целесообразности проверки его на наличие вируса средством сигнатурного анализа.. Требования к обеспечению локализации макро-вируса при использовании базого средства антивирусной защиты:
Общий вывод Требования к средствам антивирусной защиты, в части локализации документов, содержащих макро-вирусы, реализуются средством защиты от НСД, в частности, механизмом аудита (регистрации событий). 3.4. Требования к применению средств сигнатурного анализа документов - дополнительные требования к средствам антивирусной защиты. Средствами антивирусно й защиты, реализующими базовые требования, в части противодействия макро-вирусам, обеспечивается решение задачи защиты в общем виде, в части противодействия возможности заражения документов, хранящихся на компьютере, и несанкционированного воздействия вирусами на компьютерные ресурсы. При этом наличие вируса в документе может быть выявлено на основании аудита действий процесса (при фиксировании системой аудита некорректного "поведения" процесса при работе с соответствующим документом). Однако данными средствами не может быть осуществлено удаление макро-вируса из "тела" документа. С этой целью, в дополнение к базовому средству антивирусной защиты на компьютерах АИС, на которых предполагается работа с приложениями, априори обладающими несанкционированными свойствами, должно использоваться средство сигнатурного анализа документов. Дополнительное требование к средствам антивирусной защиты. В части предоставления возможности "лечения" документов (удаления из документов макро-вирусов), на компьютерах АИС, на которых предполагается работа с приложениями, априори обладающими несанкционированными свойствами (прежде всего, на рабочих станциях, на которых осуществляется обработка документов с использованием офисных приложений), должно использоваться средство сигнатурного анализа документов. К средству сигнатурного анализа документов (к работе с этим средством) выдвигаются следующие требования:
Общий вывод Специализированное средство антивирусной защиты, предоставляющее возможность "лечения" документов от макро-вирусов (на основе осуществления их сигнатурного анализа), должно использоваться в дополнение к средствам защиты информации от НСД, реализующим базовые требования к средству антивирусной защиты, только на компьютерах АИС, на которых предполагается работа с приложениями, априори обладающими несанкционированными свойствами (прежде всего, на рабочих станциях, на которых осуществляется обработка документов с использованием офисных приложений). 3. Требования к подсистеме антивирусной защиты.На основании сформулированных выше требований к средствам антивирусной защиты, могут быть сформулированы следующие требования к подсистеме антивирусной защиты АИС:
В заключение отметим, что описанные (и практически апробированные) решения авторы позиционируют как важнейшие дополнительные свойства средства защиты информации от несанкционированного доступа (а основное потребительское свойство добавочного средства защиты - возможность устранения архитектурных недостатков в защите современных ОС и наделение механизмов защиты новыми функциональными возможностями). О новых разработках ЗАО "НПП "Информационные технологии в бизнесе", в частности о КСЗИ "Панцирь-К" для ОС Windows 2000/XP/2003, можно получить дополнительную информацию на сайте компании. В настоящее время проводятся сертификационные испытания КСЗИ "Панцирь-К" по 5 классу СВТ (решение ФСТЭК России №1550 от 18 июля 2005 г.).
Д.т.н, проф. А.Ю.Щеглов
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|