СИСТЕМА ОГРАНИЧЕНИЯ ПРАВ ДОСТУПА К РЕСУРСАМ НА ОСНОВЕ РАСЧЕТА РЕЙТИНГА ОПАСНОСТИ

Область техники
Полезная модель относится к антивирусным технологиям, в частности, системам ограничения прав доступа к системным ресурсам на основе расчета рейтинга опасности процессов.
Уровень техники
В настоящее время распространение вредоносного программного обеспечения (далее ПО) увеличивается, а также увеличивается и вред, который данное ПО наносит компьютерным системам. Существующие системы защиты персональных компьютеров, а также компьютеров в корпоративной сети основаны на обнаружении известных угроз. Однако новые угрозы появляются все чаще и чаще, и становятся необходимыми методы распознавания неизвестных угроз. С ростом коммуникационных сетей, таких как Интернет, увеличивается потребность в обмене данными, включая все более растущее использование почтовых сообщений. Поэтому заражение компьютеров посредством передачи данных через коммуникационные каналы или обмен файлами - это важная задача, которую следует решать. Заражения могут принимать различные формы, но в основном они бывают в виде компьютерных вирусов, троянских программ, и других форм вредоносного кода.
Недавние события, связанные с почтовыми атаками, имели большие последствия как для поставщиков интернет-услуг (ISP), так и для множества компаний. Поэтому необходимо улучшать стратегии обнаружения вредоносных атак.
С одной стороны для детектирования вредоносных программ применяется сигнатурное детектирование. Системы сигнатурного детектирования используют шаблоны кода, которые были получены из известных вредоносных программ, и подозреваемые объекты сканируются на наличие в коде данных шаблонов. Одним из недостатков систем сигнатурного детектирования является то, что таким способом могут быть обнаружены только известные вредоносные программы. Все вредоносные программы, которые не были идентифицированы ранее как вредоносные, а также вредоносные программы, созданные после обновления сигнатурных баз, не будут распознаны данной системой.
С другой стороны существует технология проверки целостности информации. Системы проверки целостности информации используют код уже известных доверенных (чистых) программ и создается на их основе экземпляр чистого кода программы. Данный экземпляр хранится вместе с информацией о программном файле, такой как заголовок программы и длина файла, дата и время создания экземпляра чистого кода. Через определенные промежутки времени программа сравнивается с хранящимся экземпляром, находящимся в базе данных компьютера для выявления факта модификации программы.
Системы проверки целостности информации обычно создают длинные списки модифицированных файлов после обновлений операционной системы, когда устанавливается много обновлений программ. Основной недостаток систем проверки целостности заключается в том, что система реагирует на любые изменения в программе, хотя эти изменения могут быть и не вредоносными. Также пользователю сложно решить, является ли то или иное изменение атакой на компьютерную систему.
Системы наблюдения контрольной суммы обнаруживают вредоносные программы с помощью генерации значения циклического кода избыточности (CRC) для каждого программного файла. Модификации программного файла будут обнаружены, если изменится значение CRC. Системы наблюдения контрольной суммы вместе с применением систем проверки целостности улучшают устойчивость общей системы. Тем не менее, системы наблюдения контрольной суммы имеют те же недостатки, как и системы проверки целостности, связанные с большим количеством ложных предупреждений при малейших изменениях программы.
Одной из целей представленной полезной модели является анализ файлов на наличие вируса. Для этого осуществляется эмуляция файла с целью определения его поведения, которая в случае представленной полезной модели реализуется при вычислении динамического рейтинга. Также анализируются такие параметры, как размер и имя файла, что в представленной полезной модели реализуется при вычислении статического рейтинга. На основании полученных результатов выносят вердикт о заражении файла вирусом или об отсутствии заражения файла.
Такое использование эмуляции раскрывается в патентной заявке US 2004/0255165, где описывается метод обнаружения вредоносных файлов, который выполняет инструкции подозреваемого файла на эмуляторе. Подобная технология описывается в патенте US 5765030, где приведен режим эмуляции предварительной выборки исполняемых инструкций и устанавливаются флаги, если данные инструкции изменяются после добавления в выборку. В патенте US 5826013 описывается режим эмуляции для нахождения полиморфных вирусов, а в заявке US 2002/0073323 представлена система эмуляции файлов, пытающихся получить доступ к ресурсам компьютерной системы.
Однако данные решения не позволяют динамически изменять рейтинг опасности и отслеживать процесс во время его выполнения, и при обнаружении вредоносных действий, изменять рейтинг опасности.
Анализ предшествующего уровня техники и возможностей, которые появляются при комбинировании их в одной системе, позволяют получить новый результат, а именно ограничить права доступа к системным ресурсам на основе расчета рейтинга опасности процессов.
Раскрытие полезной модели
Технический результат настоящей полезной модели заключается в ограничении прав доступа к системным ресурсам на основе расчета статического и динамического рейтинга опасности процессов.
В варианте реализации настоящей полезной модели предоставляется система для ограничения прав доступа к ресурсам, которая включает: процессор, выполняющий процесс файла, запущенный в памяти из исполняемых файлов; память, в которой содержаться процессы файлов, исполняемых на процессоре, и из которой средство защиты и ограничения прав доступа к ресурсам считывает информацию о процессах; средство хранения факторов риска, которым соответствуют определенные группы доступа и веса, при этом средство хранения факторов риска связано со средством хранения множества весов и средством защиты и ограничения прав доступа к ресурсам, при этом средство хранения факторов риска предназначено для хранения факторов риска, которые используются при вычислении рейтинга опасности процесса; средство хранения множества весов, которое предназначено для хранения множества весов, проставляемых по соответствующим факторам риска; средство хранения данных о группах доступа, которое предназначено для определения доступа к определенным ресурсам компьютерной системы, при этом средство хранения групп доступа связано со средством хранения факторов риска и средством хранения ограничений для групп доступа; средство хранения данных об ограничениях для групп доступа к ресурсам компьютерной системы, которым соответствуют определенные группы доступа, при этом средство хранения данных об ограничениях для групп доступа предназначено для определения ограничений доступа к ресурсам компьютерной системы; средство защиты и ограничения прав доступа к ресурсам, предназначенное для инициализации рейтинга опасности для процессов в компьютерной системе, основанной на анализе риска путем сравнения атрибутов исполняемого файла, из которого был запущен процесс в компьютерной системе, с факторами и соответствующими весами риска для составления статистического рейтинга; при этом средство защиты и ограничения прав доступа к ресурсам продолжает отслеживать процессы на предмет обнаружения подозрительных действий и обновления рейтинга опасности процесса по отношению к определенной группе доступа, если он пытается совершить действие, которое относится к соответствующим факторам риска, для составления динамического рейтинга; при этом средство защиты и ограничения прав доступа к ресурсам блокирует доступ процесса к тем ресурсам компьютерной системы, которые находятся на множестве ограничений определенной группы доступа к ресурсам компьютерной системы, которые связаны с группами доступа;
В одном из частных вариантов реализации средство защиты и ограничения прав доступа к ресурсам обнаруживает попытку запуска исполняемого файла.
В одном из частных вариантов реализации средство защиты и ограничения прав доступа к ресурсам предназначено для передачи информации о запускаемых исполняемых файлах средству хранения факторов риска.
В одном из частных вариантов реализации средство защиты и ограничения прав доступа к ресурсам предназначено для обновления рейтинга опасности, если процесс пытается провести подозрительные действия.
В еще одном из частных вариантов реализации средство защиты и ограничения прав доступа к ресурсам предназначено для оповещения пользователя, если обновленный рейтинг опасности достигает первого порога.
В еще одном из частных вариантов реализации средство защиты и ограничения прав доступа к ресурсам предназначено для блокировки доступа процесса к ресурсам компьютерной системы, если обновленный рейтинг опасности достигает второго порога.
В одном из частных вариантов реализации средство защиты и ограничения прав доступа к ресурсам предназначено для осуществления лечения процесса, и в случае успеха, разрешает его дальнейшее выполнение.
В одном из частных вариантов реализации средство защиты и ограничения прав доступа к ресурсам предназначено для удаления файла, если испорченный файл является независимым, а именно не важным для работы системы, исполняемым файлом.
В одном из частных вариантов реализации средство защиты и ограничения прав доступа к ресурсам предназначено для помещения файла в карантин, если испорченный файл является независимым, а именно не важным для работы системы, исполняемым файлом.
В одном из частных вариантов реализации средство защиты и ограничения прав доступа к ресурсам предназначено для лечения файла, если испорченный файл является независимым, а именно не важным для работы системы, исполняемым файлом.
В одном из частных вариантов реализации статический рейтинг опасности основан на статистических свойствах файла, таких как имя файла, размер файла, местоположение файла, структура файла, электронно-цифровая подпись, параметры сжатия файла, а также скачан ли файл с CD-ROM или из сети Интернет.
В одном из частных вариантов реализации динамический рейтинг опасности основан на результатах процесса эмуляции.
В одном из частных вариантов реализации средством защиты и ограничения прав доступа к ресурсам является антивирусное приложение.
В одном из частных вариантов реализации подозрительным действием является, по меньшей мере, одно из следующих действий: пытается ли процесс сделать запись в памяти других процессов; пытается ли процесс получить доступ к защищенным архивным файлам; пытается ли процесс запустить службу с именем, совпадающим с именем системного процесса; пытается ли процесс запустить службу с именем, совпадающим с именем антивирусного процесса; пытается ли процесс захватить или удалить системную службу; пытается ли процесс захватить или удалить антивирусную службу; пытается ли процесс изменить данные в системном реестре; пытается ли процесс сканировать сетевые ресурсы; пытается ли процесс добавить сетевой ресурс; пытается ли процесс запросить системные привилегии; пытается ли процесс получить доступ к системному ядру; а также на свойствах системных вызовов, совершаемых процессом.
В одном из частных вариантов реализации ресурсами для групп доступа могут быть следующие ресурсы компьютерной системы: доступ к локальной сети; доступ к сети Интернет; доступ к файлам; доступ к системному реестру; действия с паролями; действия, требующие системных привилегий; и действия, требующие привилегий ядра операционной системы.
Краткое описание чертежей
Дополнительные цели, признаки и преимущества настоящей полезной модели будут очевидными из прочтения последующего описания осуществления полезной модели со ссылкой на прилагаемые чертежи, на которых:
Фиг.1 показывает примерный вариант реализации способа вычисления рейтинга опасности для процессов.
Фиг.2 показывает примерный вариант реализации блок-схемы системы для вычисления рейтинга опасности для процессов.
Фиг.3 показывает примерный вариант реализации связи между процессами и группами.
Фиг.4 показывает примерный вариант реализации связи между группами и ресурсами компьютерной системы.
Описание вариантов осуществления полезной модели
Далее будут описаны примерные варианты реализации настоящей полезной модели со ссылкой на сопровождающие чертежи. Объекты и признаки настоящей полезной модели, а также способы для достижения этих объектов и признаков станут очевидными посредством отсылки к примерным вариантам реализации. Однако настоящая полезная модель не ограничивается примерными вариантами реализации, раскрытыми ниже, оно может воплощаться в различных видах. Сущность, определенная в описании, является ничем иным, как конкретными деталями, предоставленным для помощи специалисту в области техники в исчерпывающем понимании полезной модели, и настоящая полезная модель определяется только в объеме приложенной формулы.
Настоящая полезная модель используется в компьютерах общего назначения, например, обычных компьютерах или серверах. Такие компьютеры содержат процессор, системную память и системную шину, которая соединяет разные системные компоненты, включая системную память, с процессором. Системная шина может быть одним из нескольких типов шинной структуры, включая шину памяти или контроллер памяти, периферийной шиной и локальной шиной, использующей любую шинную архитектуру. Системная память включает в себя постоянную память (ROM) и оперативную память (RAM).
Базовая система ввода-вывода (BIOS), содержащая основные программы, которые помогают передавать информацию между элементами в компьютере, такую как во время запуска, сохраняется в ROM. Компьютер может дополнительно содержать накопитель на жестком диске для чтения или записи на жесткий диск, накопитель на магнитных дисках для считывания с или записи на сменный магнитный диск, и накопитель на оптических дисках для чтения с или записи на сменный оптический диск, такой как CD-ROM, DVD-ROM или другие оптические носители.
Накопитель на жестком диске, накопитель на магнитных дисках и накопитель на оптических дисках также соединяются с системной шиной посредством интерфейса накопителя на жестком диске, интерфейса накопителя на магнитных дисках и интерфейса накопителя на оптических дисках, соответственно. Накопители и связанные с ними машиночитаемые носители обеспечивают энергонезависимое хранение машиночитаемых команд, структур данных, программных модулей и других данных для компьютера.
Компьютер может также содержать магнитные кассеты, карты флэш-памяти, цифровые видеодиски, картриджи Бернулли, оперативные памяти (RAM), постоянные памяти (ROM) и другие виды памяти.
Ряд программных модулей может быть сохранен на жестком диске, магнитном диске, оптическом диске, ROM или RAM, включая операционную систему (например, Windows™ 2000). Компьютер включает в себя также файловую систему, связанную с или включенную в операционную систему, такую как Windows NT™ File System (NTFS), одну или более прикладных программ, другие программные модули и данные программ. Пользователь может вводить команды и информацию в компьютер с помощью устройств ввода/вывода, таких как клавиатура и указательное устройство (мышь).
Другие устройства ввода могут включать в себя микрофон, джойстик, игровой планшет, спутниковую антенну, сканер или т.п. Эти и другие устройства ввода/вывода соединены с процессором через интерфейс последовательного порта, который соединен с системной шиной. Следует отметить, что эти устройства ввода/вывода могут соединяться с другими интерфейсами, такими как параллельный порт или универсальный последовательный порт (USB). Монитор или другой тип устройства отображения также соединяется с системной шиной через интерфейс, такой как видеоадаптер. Кроме того компьютер может включать в себя другие периферийные устройства вывода, такие как динамики и принтеры.
Компьютер, в котором используются заявленные системы, работает в сетевой среде, использующей логические соединения с одним или более удаленными компьютерами. Удаленный компьютер (или компьютеры) могут быть другими компьютерами, серверами, маршрутизаторами, сетевыми PC, одноранговым устройством или другим общим сетевым узлом. Этот компьютер может быть подсоединен к локальной сети (LAN) или к глобальной сети (WAN), к сети в офисах, Интернету или Интранету.
Когда компьютер используется в сетевой среде LAN, компьютер соединяется с локальной сетью через сетевой интерфейс или адаптер. Когда используется в сетевой среде WAN, компьютер обычно включает в себя модем или другие средства для установления связи через глобальную сеть, такую как Интернет. Модем, который может быть внутренним или внешним, соединяется с системной шиной через интерфейс последовательного порта.
Настоящая полезная модель описывает систему и способ вычисления статического и динамического рейтинга опасности процессов.
В одном варианте реализации система и способ используют анализ риска процесса, основанный на рейтинге опасности R. Рейтинг опасности R изменяется от «безопасного» до «опасного» и вычисляется в процентах от 0 до 100. Соответственно, 0% - это самый безопасный уровень рейтинга, а 100% - самый опасный уровень рейтинга. Для упрощения понимания "опасности" процесса можно ввести 3 уровня опасности: 0 - зеленый, процесс не опасен; 1, 2 - желтый, умеренно опасен; 3 - красный, процесс опасен. Соответственно, в процентном соотношении можно ввести следующее предположение: от 0 до 25% - безопасный, от 25 до 75 - умеренно опасный, больше 75% - опасный. Следует также учесть, что эта информация будет изменяемой. Например, верхняя планка безопасного процесса может снизиться (т.е. безопасный процесс должен иметь не более 10%), как и нижняя, у опасного уровня (вполне возможно, что достаточно будет преодолеть барьер в 60-70% для того, чтобы считать процесс опасным).
Рейтинг опасности R является числом, однако, его можно разделить на две составляющие: динамическую и статическую. Перед тем, как осуществлять запуск файла, специальный анализатор проанализирует следующие параметры: имя файла, размер файла, местонахождение файла, параметры сжатия, источники файла (скачан ли файл с CD-ROM или из интернета). Эти критерии определяют статический рейтинг файла S.
После этого запускается эмулятор. Происходит изучение результатов эмуляции файла и каждое из поведенческих событий сравнивается с набором критериев оценки и получает индивидуальную оценку опасности. Итоговая оценка является суммой оценок всех операций. Также происходит поиск в исполняемом файле и его памяти (полученной на стадии эмуляции) характерных сигнатур, присущих определенным классам вредоносных программ. Это составляет динамический рейтинг D.
Итоговый рейтинг высчитывается на основе динамического и статического рейтинга
R=R(D,S)
Запущенному процессу присваивается рейтинг R.
При этом рейтинг может изменяться в случае, если процесс совершает какие-то непозволительные действия.
Ниже приведено подробное рассмотрение факторов для оценки рейтинга опасности.
Одним из факторов может быт источник файла, который может повлиять на рейтинг процесса следующим образом. Файл, полученный на компьютер с дисковода CD-ROM, наверняка имеет меньше шансов быть зараженным, чем загруженный из Интернета файл. Для загруженных из Интернета файлов большое значение имеет ссылка, с которой произошла загрузка. Фактор риска увеличивается, если файл упакован, т.к. вредоносные программы очень часто упаковывают для того, чтобы обойти сигнатурные методы обнаружения вирусов. Месторасположение файла также принимается во внимание, т.к. некоторые исполняемые файлы устанавливают свои копии в определенные директории, а особенно в часто-используемые директории.
Другим фактором для вычисления рейтинга опасности является размер файла. Более опасным будет приниматься во внимание маленький файл, который запускается впервые, нежели большой файл, который постоянно запускается на компьютере. Размер большинства вредоносных файлов варьируется от сотен байт до нескольких мегабайт. Размер вредоносного файла не должен быть слишком большим, т.к. в этом случае становится сложнее распространять его. Рассылка почтовых сообщений с большими зараженными файлами не может быть осуществлена на много компьютеров, в то время как рассылка с небольшими файлами возможна в больших количествах. Например, троянский загрузчик может быть написан на языке программирования «Ассемблер» и иметь размер в 1.5-2 кб, а также может быть написан на языке программирования «Delphi» с применением VCL - а это уже 200-600 кб. Очень редко встречаются полезные приложения размером не более 15-20 кб, т.е. файл размером до 50 кб можно считать подозрительным.
Атрибуты «Архивный» и «Только для чтения» у файлов встречаются довольно часто, однако наличие атрибутов «Скрытый» и «Системный» у исполняемого файла является сигналом того, что файл подозрительный. Этот фактор добавит, например, 5% к рейтингу опасности.
Рейтинг опасности увеличивается также, если процесс записывает что-то в память других процессов, создает удаленные потоки, производит манипуляции с контекстом потока чужого приложения.
Другим фактором риска может быть факт того, что исполняемый файл может быть установщиком. Другими словами, небольшой файл начинает в какой-то момент загружать другой исполняемый файл с сервера Интернета. Также важно учитывать то, как был создан файл, а именно какой процесс создал этот файл, был ли файл загружен из Интернета (а в этом случае важна и ссылка, с которой файл был загружен). Также важно знать, в какой директории был создан файл (например, временная папка файлов из Интернета добавляет большое значение к рейтингу опасности).
Одним из факторов является факт того, подписан ли файл электронно-цифровой подписью, т.к. неподписанные файлы имеют большую вероятность быть вредоносными.
Еще среди факторов, влияющих на рейтинг опасности, находятся запись одним процессом в память других процессов, или попытка изменить системные службы. Если процесс копирует себя куда-либо, то к рейтингу опасности добавляется 70%. Если процесс создает исполняемые файлы в папках WINDOWS, SYSTEM32, DRIVERS, то это самый опасный уровень и добавляется 100% к рейтингу опасности. Создание альтернативных файловых потоков ADS в исполняемых файлах и папках устанавливает самый опасный уровень (100% опасности к рейтингу опасности). Создание характерных файлов вроде autorun.inf, runtime.sys и т.д. также является причиной увеличения рейтинга до 100% также как и удаление или модификация системных файлов, доступ к файлам, хранящим пароли и прочую конфиденциальную информацию. Обращение к устройствам типа /.//С, \\.\\PHYSICALDRIVE0 и т.п., а также доступ к C:\WINDOWS\system32\drivers\etc\hosts, C:\boot.ini увеличивает рейтинг опасности до 100%. Удаление любых файлов за пределами папки программы или папки TEMP, а также поиск файлов EXE, DLL, SYS в системных папках по маске устанавливают средний рейтинг опасности «подозрительный».
Регистрация своего драйвера или службы также является «подозрительной». Удаление или манипулирование службами антивирусов или файр-волла увеличивает рейтинг до самого опасного (например, ChangeServiceConfig(BITS) или DeleteService('McShield'), OpenService(0×1c, "avpcc")). Рейтинг увеличивается до 100%, если у процесса есть доступ к ключам, хранящим пароли или настройки (например, Soft-ware\Ghisler\Total Commander, Software\CoffeeCup Software\Internet\Profiles, Software\Mail.Ru\Agent\mra_logins, SOFTWARE\RIT\The Bat!, SOFT-WARE\Far\Plugins\FTP\Hosts), или процесс работает с ключами автозапуска. Создание ключей в разделе регистрации служб делает рейтинг средне опасным, а удаление существующих - особо опасным (например, удаление ключа типа \Registry\Machine\SYSTEM\ControlSet001\Services\SymEvent или \Registry\Machine\SYSTEM\ControlSet001\Services\SYMTDI).
Получив суммарный рейтинг, система ограничивает те процессы, рейтинг которых слишком велик (т.е. они потенциально опасны). Для ограничения использования ресурсов применяется метод HIPS (Host Intrusion Prevention System - система предотвращения вторжений, объединяющая функционал проактивной защиты и сетевого экрана, которая управляет разрешениями на доступ к файлу, реестру, системным правам, и т.д.). Т.е. для опасных процессов можно запретить использовать сеть и доступ в Интернет, ограничить использование памяти и т.д.
HIPS можно использовать с виртуализацией, если, например, процесс хочет создать в системной папке файл, то фактически это сделать ему не разрешается, но при этом этому процессу возвращается положительное значение. В таком случае можно найти и более комплексные вредоносных программ.
Во время работы процесс может потребовать ресурсы (например, доступ в сеть), которые можно запросить у пользователя, для того, чтобы он мог сам разрешить это (разрешить программе скачать апдейт и т.п.)
Существуют некоторые группы правил, по которым вычисляется рейтинг опасности, которые разбиты на следующие категории:
- Службы и драйверы
- Процессы
- Реестр
- Файловые операции
- Интернет
- Сеть и локальная вычислительная сеть
- Защищенное хранилище
- Привилегии и отладка
- Руткиты, снятие хуков, защита от антируткитов
У каждого правила есть собственные параметры, такие как идентификатор, API функция, условия для аргументов (которые задают промежуток значений для того или иного уровня опасности в процентном соотношении), оценка в процентах по количеству операций (1, 2-3, больше 3 операций), решение о возможности признать процесс вредоносным на основании этого правила.
Примеры правил приведены ниже.
Правило «Загрузка драйвера вредоносной программы через низкоуровневое API ntdll.dll»:
Идентификатор правила: 84
API функция: Загрузка драйвера (NtLoadDriver)
Условие для аргумента 1: Содержит вхождение группы <Службы/драйвера вредоносных программ>
Условие для аргумента 2: *
Условие для аргументов 3..N: *
Оценка: единичная операция - 100%, 2-3 операции - 100%, >3 операций - 100%
На основании данного правила можно признать процесс вредоносным: Да
Правило «Загрузка драйвера через низкоуровневое API ntdll.dll»:
Идентификатор правила: 83
API функция: Загрузка драйвера (NtLoadDriver)
Условие для аргумента 1: *
Условие для аргумента 2: *
Условие для аргументов 3..N: *
Оценка: единичная операция - 40%, 2-3 операции - 50%, >3 операций - 60%
На основании данного правила можно признать процесс вредоносным: Нет
Правило «Открытие службы антивируса»:
Идентификатор правила: 13
API функция: Открытие службы (OpenService)
Условие для аргумента 1: *
Условие для аргумента 2: Содержит вхождение группы <Службы антивирусов>
Условие для аргументов 3..N: *
Оценка: единичная операция - 20%, 2-3 операции - 30%, >3 операций - 40%
На основании данного правила можно признать процесс вредоносным: Нет
Правило «Создание службы вредоносной программы (имя службы)»:
Идентификатор правила: 15
API функция: Создание службы/драйвера (CreateService)
Условие для аргумента 1: *
Условие для аргумента 2: Содержит вхождение группы <Службы/драйвера вредоносных программ>
Условие для аргументов 3..N: *
Оценка: единичная операция - 100%, 2-3 операции - 100%, >3 операций - 100%
На основании данного правила можно признать процесс вредоносным: Да
Правило «Удаление системной службы»:
Идентификатор правила: 2
API функция: Удаление службы/драйвера (DeleteService)
Условие для аргумента 1: Содержит вхождение группы <Системные службы>
Условие для аргумента 2: *
Условие для аргументов 3..N: *
Оценка: единичная операция - 100%, 2-3 операции - 100%, >3 операций - 100%
На основании данного правила можно признать процесс вредоносным: Нет
Правило «Удаление службы антивируса»:
Идентификатор правила: 1
API функция: Удаление службы/драйвера (DeleteService)
Условие для аргумента 1: Содержит вхождение группы <Службы антивирусов>
Условие для аргумента 2: *
Условие для аргументов 3..N: *
Оценка: единичная операция - 100%, 2-3 операции - 100%, >3 операций - 100%
На основании данного правила можно признать процесс вредоносным: Да
Правило «Манипуляции с autorun.inf (создание)»:
Идентификатор правила: 44
API функция: Создание/открытие файла (CreateFile)
Условие для аргумента 1: Содержит вхождение «autorun.inf»
Условие для аргумента 2: *
Условие для аргументов 3..N: *
Оценка: единичная операция - 100%, 2-3 операции - 100%, >3 операций - 100%
На основании данного правила можно признать процесс вредоносным: Да
Правило «Манипуляции с autorun.inf (удаление)»:
Идентификатор правила: 43
API функция: Удаление файла (DeleteFile)
Условие для аргумента 1: Содержит вхождение «autorun.inf»
Условие для аргумента 2: *
Условие для аргументов 3..N: *
Оценка: единичная операция - 70%, 2-3 операции - 80%, >3 операций - 100%
На основании данного правила можно признать процесс вредоносным: Нет
Есть группы процессов и сервисов, разбитые на следующие категории: процессы антивирусов, службы антивирусов, окна и элементы интерфейса антивирусов, системные службы, системные процессы, службы/драйвера вредоносных программ, имена файлов служб и драйверов вредоносных программ, принадлежащие антивирусам ключи реестра, важные системные ключи, ключи служб и драйверов, имена для прямого обращения к диску, полные имена критических системных объектов, файлы с настройками и паролями, имена в системном хранилище, используемые вредоносными программами, а также ключи реестра, отвечающие за автозапуск, применяемые для хранения паролей и настроек ПО, применяемые для идентификации ПО и поиска его местоположения.
На фиг.1 изображена блок-схема метода создания рейтинга опасности для процессов. Как показано на шаге 102 фиг.1, сначала вызывается исполнение файла. На шаге 104, производится анализ риска, используя различные факторы (например, анализ риска на основе ссылок, анализ размера файла, и т.д.). На шаге 106 запускается процесс. На шаге 108 система анализирует риск работы запущенного процесса, поставив в соответствие процессу рейтинг S. Даже если изначально рейтинг S очень низкий (например, от 0 до 25%), то затем рейтинг может изменяться, если процесс производит подозрительные действия. Например, когда процесс копируется куда-нибудь или когда процесс создает исполняемые файлы в папках WINDOWS, SYSTEM32, DRIVERS, то рейтинг опасности сразу же возрастает до 75-100%. Другими действиями, которые могут вызвать повышение рейтинга, могут быть запись одного процесса в память другого процесса. Рейтинг увеличивается также, если процесс пытается получить доступ к защищенным паролем файлам или пытается запустить службу, имя которой совпадает с именем системного процесс, или пытается запустить службу с именем процесса антивируса. Попытки процесса сканировать сетевые ресурсы, добавлять сетевые ресурсы, запрашивать системные привилегии или получать доступ к ядру системы также могут увеличить рейтинг.
На шаге 110 систем продолжает наблюдать за процессом на наличие вредоносного поведения. Если система все-таки обнаруживает подозрительное поведение на шаге 112, то она автоматически обновляет рейтинг процесса R на шаге 116.
На шаге 118, если рейтинг опасности процесса R больше 50%, то процесс считается «подозрительным» или «преимущественно опасным». В этом случае система предупреждает пользователя на шаге 120 и продолжает выполнение процесса на шаге 114, если пользователь не предпринял действий по остановке этого процесса.
Если рейтинг опасности R больше 75% на шаге 112, то процесс считается «опасным», что доказывает то, что процесс вредоносный. В этом случае на шаге 124 выполнение процесса блокируется и затем завершается на шаге 126. На шаге 128 пользователю сообщается о возникшей проблеме. Система может попытаться вылечить процесс на шаге 130, и если это проходит, то система разрешает процессу дальнейшее выполнение на шаге 114. Процесс может быть вылечен, например, если поврежденный участок кода загрузить заново из Интернета и заменить или же восстановить файла из доверенной копии, а затем перезапустить процесс.
После остановки процесса на шаге 128 система может начать исправление поврежденного файла. Если поврежденный файл является компонентой системы или является полезным файлом (например, полезными файлами могут быть Microsoft Word или Microsoft Excel) на шаге 132, то система может попытаться вылечить файл на шаге 134, таким же образом, как описывалось лечение процесса, и выполнение файла будет продолжено на шаге 114. Однако, если поврежденный файл - независимый исполняемый файл, то система после неудачно попытки лечения, поместит его в карантин или удалит файл на шаге 136 и продолжит наблюдать за процессами на предмет вредоносной активности на шаге 110.
На фиг.2 изображена система для расчета рейтинга опасности для процессов. Память 22 содержит различные процессы компьютерной системы. Каждый процесс характеризуется множеством атрибутов, которые сравниваются со списком факторов 202а и списком весов 202б в модуле подсчета рейтинга опасности 202, и после этого процессу присваивается определенный рейтинг опасности. В одном из вариантов реализации модуль подсчета рейтинга опасности 202 может быть обособленным устройством, которое также включает в себя собственные процессор и память. В памяти в этом случае хранится стек процессов, список правил и весов. Также в одном из вариантов реализации в состав модуля расчета рейтинга опасности дополнительно входят группы доступа 202в и список ограничений доступа 202г. Более подробно про ограничение прав доступа к ресурсам будет рассмотрено на фиг.3 и 4.
Обновления о состоянии процессов и изменения весов и правил (например, после исправления их пользователем) устройству предоставляет антивирусное приложение 204. Для того чтобы обеспечить устойчивую работу общей системы, возможна реализация зашифрованного соединения между антивирусным приложением 204 и модулем подсчета рейтинга опасности 202. Система, используя антивирусную программу 204, присваивает начальный рейтинг опасности S процессу. Управляющая программа 212 проверяет процесс на наличие вредоносного поведения. В одном из вариантов реализации управляющая программа может быть встроена в антивирусную программу 204. Если управляющая программа 212 обнаруживает процесс, совершающий подозрительные действия, то система обновляет рейтинг опасности процессу до R, заново сравнивая атрибуты процесса со списком факторов 202а и списком весов 202б, хранящимися на диске 202. Если R больше 50%, то система выдаст сообщение пользователю 212 и продолжит выполнение процесса на процессоре 21. Если R больше 75%, то антивирусная программа 204 определит его как опасный, что будет означать большую вероятность нахождения вредоносного поведения (шаблоны вредоносного поведения хранятся в базе данных 206) в исследуемом процессе. Система блокирует обнаруженное вредоносное действие и останавливает и/или блокирует доступ процесса к компьютерным ресурсам, таким как память, диск, сетевая карта, и т.д. Система, используя антивирусную программу 204, попытается, если это возможно, вылечить процесс путем загрузки чистого кода через Интернет 208 с сервера 210 или восстановить файла из доверенной резервной копии и перезапустить процесс. Система также попытается вылечить обнаруженный вредоносный файла таким же образом, как и процесс, для того чтобы продолжить выполнение программы. Специалисту текущего уровня техники должно быть понятно, что все приведенные процентные значения являются примерами и могут меняться в зависимости от реализации.
Рейтинг опасности может быть увеличен в зависимости от свойств системных вызовов процесса. Например, свойством системного вызова может быть количество системных вызовов, совершенных процессом. Другим примером может служить имя одной из системных служб или имя ключа системного реестра. Имена критических системных объектов, имена системных служб, имена антивирусных объектов, и т.д. могут быть объединены в группы, и большинство системных вызовов может относиться к этим группам. Подобные группы могут быть сохранены как группы доступа 202в. Таким образом, если процесс совершает системный вызов с параметрами, удовлетворяющими этим группам, рейтинг процесса увеличится.
То есть процесс может подходить к группе, в которой будут находиться процессы, имеющие одинаковые разрешения на определенные действия. Если процесс совершает действие, разрешенное для другой группы, но не для своей группы, то эта попытка будет заблокирована и процессу будет повышен рейтинг. Примерами таких действий могут быть доступ к локальной сети, доступ к сети Интернет, доступ к файлам, к системному реестру, и действия по получению привилегий ядра операционной системы.
Как показано на фиг.3 рейтинг может быть набран в рамках каждой группы. Каждая группа представляет тот список факторов 202а, который затрагивает определенный ресурс, например, доступ к сети или Интернет. Таким образом, каждый процесс по мере своей работы может набирать не один общий рейтинг, а сразу несколько по одному для каждой группы. Например, процесс может интенсивно работать с файлами, набрав большой рейтинг именно для группы файловой системой.
В нынешнее время вредоносные программы часто имеют распределенную структуру, имея состав из нескольких частей. Например, многих загрузчики вредоносного программного обеспечения только лишь загружают оставшиеся части вредоносного программного обеспечения, не причиняя никакого другого вреда. В то же время другие части могут иметь строго направленный функционал, который нельзя полностью счесть вредоносным.
На фиг.4 показано, что для каждой группы есть ограничения по доступу к ресурсам другой группы, которые могут быть сохранены в виде данных в списке ограничений доступа 202г. Например, для группы файловой системы может быть ограничен, а то и вовсе запрещен доступ к ресурсам группы сети (Интернет), так и наоборот. В то же время у группы файловой системы может быть ограниченный доступ к ресурсам группы реестра, что позволит легальным программам производить собственную установку. В то же время неизвестные вредоносные программы не смогут нанести вред компьютеру, так как в случае с теми же загрузчиками для них будет просто отказано в доступе к ресурсам группы файловой системы и они не смогут записать скачанные файлы в определенные папки. Механизм ограничения доступа к ресурсам другой группы может быть выполнен с помощью антивирусного приложения 204, которое также выступает и в качестве средства защиты компьютера от различных угроз.
В заключение следует отметить, что приведенные в описании сведения являются только примерами, которые не ограничивают объем настоящей полезной модели, определенного формулой. Специалисту в данной области становится понятным, что могут существовать и другие варианты осуществления настоящей полезной модели, согласующиеся с сущностью и объемом настоящей полезной модели.