СИСТЕМА И СПОСОБ ВЫЯВЛЕНИЯ ВРЕДОНОСНЫХ ПРОГРАММ, ПРЕПЯТСТВУЮЩИХ ШТАТНОМУ ВЗАИМОДЕЙСТВИЮ ПОЛЬЗОВАТЕЛЯ С ИНТЕРФЕЙСОМ ОПЕРАЦИОННОЙ СИСТЕМЫ
SYSTEM AND METHOD FOR DETECTING MALWARE PREVENTING STANDARD USER INTERACTION WITH OPERATING SYSTEM INTERFACE

Область техники
Изобретение относится к антивирусным системам и способам, более конкретно к системам и способам выявления фактов присутствия в операционной системе вредоносного программного обеспечения, препятствующего нормальной работе пользователя с операционной системой.
Уровень техники
В настоящее время компьютерное вредоносное программное обеспечение, такое как вирусы, компьютерные черви и троянские программы, представляют одну из самых важных проблем компьютерной безопасности. Было подсчитано, что ежегодные финансовые потери предпринимательства от вредоносного программного обеспечения составляют десятки миллиардов долларов.
В последние годы получило распространение семейство вредоносных программ, блокирующих или затрудняющих работу пользователя с операционной системой и требующих перечисления денег злоумышленникам за восстановление работоспособности компьютера. Далее по тексту в рамках патентной заявки термин вредоносные программы будет относиться к упомянутому семейству.
Программы, относящиеся указанному семейству, технически представляют собой обычную троянскую программу, и заражение происходит из массовой рассылки при запуске исполняемого файла или при атаке через уязвимость в сетевой службе.
Для противодействия данному семейству вредоносных программ антивирусные компании традиционно используют базовый метод сигнатурного обнаружения, основанный на сравнении кода программ с сигнатурами известных вредоносных программ, хранящихся в антивирусных базах. Альтернативным же решением проблемы резкого увеличения числа вредоносных программ стало использование сочетания нескольких технологий проактивной антивирусной защиты, основной целью которых в отличие от реактивных (сигнатурных) технологий является предотвращение заражения системы пользователя неизвестным вредоносным программным обеспечением. Например, эвристический анализ при эмуляции кода успешно сочетается с поведенческим анализом для предотвращения заражения операционной системы пользователя вредоносной программой.
В режиме эмуляции кода имитируется поведение операционной системы и центрального процессора, поэтому приложение не может нанести вред операционной системе пользователя. Эвристический анализ на основе анализа кода приложения определяет участки кода, отвечающие за вредоносную активность. А поведенческий анализатор режима исполнения определяет, является ли программа вредоносной исходя из ее поведения.
Основным преимуществом таких технологий является их способность отличать безопасные программы от вредоносных без помощи профессионального вирусного аналитика. Проблема же заключается в том, что существует некая промежуточная зона между явно вредоносными и допустимыми действиями. Кроме того, одни и те же действия или участки кода могут быть вредоносными в программе, предназначенной для вымогательства денег, и полезными в легитимном программном обеспечении. Например, запуск полноэкранного приложения с окном поверх остальных окон используется вредоносной программой для затруднения взаимодействия пользователя с графическим интерфейсом операционной системы и совершенно легитимно применяется в компьютерных играх, например, когда игровое компьютерное приложение запускается на весь экран и не реагирует на специальные сочетания клавиш, такие как ALT-F4 или ALT-TAB.
В связи с этим существует вероятность отсутствия обнаружения с использованием технологий антивирусной защиты неизвестной ранее вредоносной программы, что приведет к блокированию работы пользователя с операционной системой и, как следствие, к блокированию доступа пользователя к инструментам антивирусного продукта. Поэтому существует необходимость создания способов выявления присутствия в операционной системе вредоносной программы, препятствующей взаимодействию пользователя с интерфейсом операционной системы, для оперативного вмешательства антивирусного продукта.
Существует метод обнаружения вредоносных программ, описанный, например, в патенте US7533131B2. В основе данного метода лежит выявление повторяющейся вредоносной активности после первичного выявления и удаления вредоносной программы с целью удаления с компьютерной системы пользователя пропущенных ранее файлов.
Или существует другой метод, описанный в патенте US8171550B2, по которому осуществляется выявление ранее неизвестных вредоносных программ по функциональным шаблонам известных вредоносных программ. Вредоносный файл трассируется и разбивается на «пути» - последовательности исполняемых функций. Пути объединяются в шаблоны, с помощью которых можно обнаруживать ранее неизвестные вредоносные программы, например полиморфные версии, по схожему вредоносному функционалу.
Анализ предшествующего уровня техники позволяет сделать вывод о неэффективности и в некоторых случаях о невозможности применения существующих методов для выявления фактов присутствия в операционной системе вредоносной программы.
Раскрытие изобретения
Настоящее изобретение реализует способ выявления факта присутствия в операционной системе вредоносных программ, которые препятствуют работе пользователя с операционной системой.
Технический результат настоящего изобретения заключается в выявлении присутствия вредоносных программ, препятствующих взаимодействию пользователя с интерфейсом операционной системы. Данный технический результат достигается посредством анализа совокупности внешних по отношению к вредоносной программе признаков: поведению пользователя и состоянию операционной системы.
Система выявления фактов присутствия в операционной системе вредоносных программ, препятствующих взаимодействию пользователя с интерфейсом операционной системы, содержит: (а) средство поведенческого анализа пользователя, осуществляющее сравнение последовательностей данных, формирующихся в процессе работы пользователя с интерфейсами ввода, с шаблонами поведений, характеризующими возможные варианты поведения пользователя при нарушении во взаимодействии пользователя с интерфейсом операционной системы, и передающее результаты сравнения средству принятия решения; (б) средство анализа состояния операционной системы, осуществляющее сравнение текущего состояния операционной системы с шаблонами состояний, характеризующих работу операционной системы с вредоносной программой, препятствующей взаимодействию пользователя с интерфейсом операционной системы, и передающее результаты сравнения средству принятия решения; (в) средство хранения упомянутых шаблонов поведений, характеризующих возможные варианты поведения пользователя при нарушении во взаимодействии пользователя с интерфейсом операционной системы, и упомянутых шаблонов состояний, характеризующих работу операционной системы с вредоносной программой, препятствующей взаимодействию пользователя с интерфейсом операционной системы; при этом средство хранения шаблонов поведений и шаблонов состояний связано со средством поведенческого анализа пользователя и средством анализа состояния операционной системы; и (г) средство принятия решения, выявляющее факт присутствия в операционной системе вредоносной программы, препятствующей взаимодействию пользователя с интерфейсом операционной системы, по результатам сравнений, полученным от упомянутого средства поведенческого анализа пользователя и упомянутого средства анализа состояния операционной системы.
В частном варианте осуществления система выявления фактов присутствия в операционной системе вредоносных программ, препятствующих взаимодействию пользователя с интерфейсом операционной системы, дополнительно содержит средство обнаружения вредоносных программ, препятствующих взаимодействию пользователя с интерфейсом операционной системы, осуществляющее сравнение характеристик активных процессов с базой известных характеристик вредоносных программ.
В другом частном варианте осуществления система выявления фактов присутствия в операционной системе вредоносных программ, препятствующих взаимодействию пользователя с интерфейсом операционной системы, дополнительно содержит средство деактивации вредоносных программ, препятствующих взаимодействию пользователя с интерфейсом операционной системы, завершающее обнаруженные активные процессы, совпадающие собственными характеристиками с известными характеристиками вредоносных программ.
Согласно способу выявления фактов присутствия в операционной системе вредоносных программ, препятствующих взаимодействию пользователя с интерфейсом операционной системы: (а) выявляют наступление события, характеризуемого нарушением во взаимодействии пользователя с интерфейсом операционной системы; (б) сравнивают текущее состояние операционной системы с шаблонами состояний, характеризующими работу операционной системы с вредоносной программой, препятствующей взаимодействию пользователя с интерфейсом операционной системы; и (в) при выявлении упомянутого события, характеризуемого нарушением во взаимодействии пользователя с интерфейсом операционной системы, и совпадении текущего состояния операционной системы с упомянутыми шаблонами состояний, характеризующими работу операционной системы с вредоносной программой, препятствующей взаимодействию пользователя с интерфейсом операционной системы, выявляют факт присутствия в операционной системе вредоносной программы, препятствующей взаимодействию пользователя с интерфейсом операционной системы.
В частном варианте осуществления обнаруживают активные процессы, препятствующие взаимодействию пользователя с интерфейсом операционной системы, сравнивая характеристики активных процессов с базой известных характеристик вредоносных программ.
В другом частном варианте завершают обнаруженные активные процессы, совпадающие собственными характеристиками с известными характеристиками вредоносных программ.
В другом частном варианте выявление наступления события, характеризуемого нарушением во взаимодействии пользователя с интерфейсом операционной системы, осуществляется по последовательностям данных, формирующихся в процессе работы пользователя с интерфейсами ввода.
В другом частном варианте осуществления выявление упомянутых последовательностей данных, формирующихся в процессе работы пользователя с интерфейсами ввода, осуществляется в рамках временного окна.
В другом частном варианте осуществления выявление упомянутых последовательностей данных, формирующихся в процессе работы пользователя с интерфейсами ввода, осуществляется по факту заполнения буфера данных.
В другом частном варианте осуществления сравнивают упомянутые последовательности данных, формирующихся в процессе работы пользователя с интерфейсами ввода, с шаблонами, характеризующими возможные варианты поведения пользователя при нарушении во взаимодействии пользователя с интерфейсом операционной системы, и по результатам сравнения принимают решение о наступлении упомянутого события, характеризуемого нарушением во взаимодействии пользователя с интерфейсом операционной системы.
В другом частном варианте осуществления последовательности данных, формирующихся в процессе работы пользователя с интерфейсами ввода, могут содержать, по меньшей мере: последовательности вводимых с клавиатуры символов и временные показатели между вводимыми символами; команды и координаты от указательных и сенсорных устройств управления; фото-, видео- и аудиоданные.
Краткое описание чертежей
Дополнительные цели, признаки и преимущества настоящего изобретения будут очевидными из прочтения последующего описания осуществления изобретения со ссылкой на прилагаемые чертежи, на которых:
Фиг.1 иллюстрирует примеры различных окон с сообщениями и инструкциями для разблокировки операционной системы.
Фиг.2А показывает принципиальную архитектуру системы одного из вариантов осуществления изобретения.
Фиг.2Б отображает типовую схему функционирования средства поведенческого анализа пользователя.
Фиг.2В показывает архитектуру системы в другом варианте осуществления изобретения.
Фиг.3 иллюстрирует способ работы данного изобретения.
Фиг.4 показывает пример компьютерной системы общего назначения.
Описание вариантов осуществления изобретения
Объекты и признаки настоящего изобретения, способы для достижения этих объектов и признаков станут очевидными посредством отсылки к примерным вариантам осуществления. Однако настоящее изобретение не ограничивается примерными вариантами осуществления, раскрытыми ниже, оно может воплощаться в различных видах. Сущность, приведенная в описании, является ничем иным, как конкретными деталями, необходимыми для помощи специалисту в области техники в исчерпывающем понимании изобретения, и настоящее изобретение определяется в объеме приложенной формулы.
Вредоносные программы могут распространяться через сайты, предлагающие бесплатное программное обеспечение, файлообменники и взломанные легитимные веб-ресурсы. Зачастую пользователи сами загружают и запускают вредоносную программу, полагая, что устанавливают легитимное программное обеспечение.
Набор стандартных действий вредоносной программы выглядит следующим образом:
1. После попадания в систему и запуска вредоносная программа для закрепления в системе создает файл и прописывает его в автозагрузку операционной системы.
2. Как правило, вредоносная программа отключает диспетчер задач Microsoft Windows и возможность загрузки системы в безопасном режиме. Это делается для того, чтобы усложнить пользователю борьбу с вредоносной программой, блокирующей взаимодействие пользователя с операционной системой.
3. Далее начинается непосредственная «работа» вредоносной программы. Вредоносная программа блокирует взаимодействие пользователя с операционной системой, отображая поверх всех окон окно с сообщением о том, что компьютер заблокирован, и «инструкцией» для разблокировки. В «инструкции» злоумышленники под разными предлогами требуют, чтобы пользователь заплатил за коды разблокировки, и информируют его о том, каким образом он получит коды и сможет разблокировать компьютер после оплаты. Примеры различных окон с сообщениями и инструкциями приведены на Фиг.1.
Последнее время создатели вредоносных программ могут даже не закладывать возможность разблокировки в логику работы вредоносной программы. Более того, в обновленных версиях тех вредоносных программ, которые раньше «честно» давали пользователю возможность разблокировать компьютер, эта функция уже может быть не предусмотрена.
Объясняется такая тенденция просто. Во-первых, для авторов вредоносных программ очень неудобно работать с кодами разблокировки: нужно вставлять новые коды в новые версии вредоносной программы, постоянно следить за базой соответствия телефонных номеров и кодов разблокировки. Гораздо проще компилировать новые образцы вредоносных программ, не заботясь о кодах, - просто заменяя номера мобильных телефонов/счетов для получения денег.
Во-вторых, применение кодов разблокировки обязывает злоумышленников использовать только те способы оплаты, которые позволяют отправлять ответные сообщения пользователям (как правило, в этой схеме используются мобильные премиум-номера). Без привязки к коду разблокировки мошенники могут эксплуатировать любые удобные им способы получения денег.
И, наконец, в-третьих, отсутствие кода разблокировки значительно усложняет жизнь антивирусным компаниям. Ранее компании добавляли найденные во вредоносных программах коды разблокировки на специальные сервисы снятия блокировки известных вредоносных программ, например Kaspersky Deblocker. Такие сервисы предоставляют пользователям коды разблокировки, соответствующие номерам телефонов/счетов, которые используют злоумышленники, и инструкции по лечению операционной системы. В настоящее время при отсутствии кодов разблокировки во вредоносных программах антивирусные компании противопоставляют им специальные утилиты, например Kaspersky Windows Unlocker. Утилита работает отдельно от зараженной операционной системы и благодаря этому способна устранять последствия заражения, удаляя файлы и ключи системного реестра, созданные вредоносной программой.
Очевидно, что в случае отсутствия обнаружения средствами антивирусной защиты вредоносной программы заражение операционной системы приведет к блокированию работы пользователя с операционной системой и, как следствие, к невозможности осуществления доступа к инструментам антивирусного продукта со стороны пользователя. Таким образом, на данный момент для снятия блокировки пользователю неизбежно приходится обращаться к специальным сервисам посредством сторонней компьютерной системы.
Данное изобретение позволяет пользователю справляться с ситуациями блокирования взаимодействия пользователя с операционной системой со стороны вредоносных программ без помощи сторонних утилит и ресурсов путем распознания соответствующих ситуаций, связанных с нарушениями во взаимодействии пользователя с интерфейсом операционной системы.
На Фиг.2А изображена принципиальная архитектура одного из вариантов осуществления изобретения. Система выявления фактов присутствия в операционной системе вредоносных программ, препятствующих взаимодействию пользователя с интерфейсом операционной системы, включает в себя четыре средства: средство хранения шаблонов 201, средство поведенческого анализа пользователя 205, средство анализа состояния операционной системы 210 и средство принятия решения 215. Средство хранения шаблонов 201 содержит, по меньшей мере, две пополняемые базы данных: базу 202 шаблонов поведений, характеризующих возможные варианты поведения пользователя при нарушении во взаимодействии пользователя с интерфейсом операционной системы; и базу 203 шаблонов состояний, характеризующих работу операционной системы с вредоносной программой, препятствующей взаимодействию пользователя с интерфейсом операционной системы. Средство поведенческого анализа пользователя 205 предназначено для выявления признаков в поведении пользователя, характерных для определенных ситуаций, например, связанных с нарушениями во взаимодействии пользователя с интерфейсом операционной системы. В процессе работы средство поведенческого анализа 205 взаимодействует со средством хранения шаблонов 201, оперируя известными шаблонами поведений, находящимися в пополняемой базе 202 шаблонов поведений. Средство анализа состояния операционной системы 210 осуществляет сравнение текущего состояния операционной системы с шаблонами состояний из базы 203 шаблонов состояний, характеризующих работу операционной системы с вредоносной программой, препятствующей взаимодействию пользователя с интерфейсом операционной системы. На основании результатов работы двух средств: средства поведенческого анализа пользователя 205 и средства анализа состояния операционной системы 210 - средство принятия решения 215 делает вывод о присутствии в операционной системе вредоносной программы, препятствующей взаимодействию пользователя с интерфейсом операционной системы.
Состояние операционной системы может лишь свидетельствовать о том, что в операционной системе работает вредоносная программа, затрудняющая пользователю взаимодействие с интерфейсом операционной системы, без указания, какое конкретно приложение ей является. Признаками, включаемыми в шаблоны состояний из базы 203 шаблонов состояний, указывающих на работу операционной системы с вредоносной программой, препятствующей взаимодействию пользователя с интерфейсом операционной системы, могут быть, например:
- ограничение зоны работы курсора; или
- отключение элементов управления, таких как кнопка «Пуск» или диспетчер задач; и др.
Стоит отметить, что средство анализа состояний операционной системы 210 чаще всего выступает вспомогательным средством при установлении факта присутствия в операционной системе вредоносной программы и необходимо для подтверждения, нежели самостоятельного установления данного факта. Такое применение средства анализа состояний операционной системы 210 обусловлено тем, что признаки, указывающие на состояние операционной системы с вредоносной программой, препятствующей взаимодействию пользователя с интерфейсом операционной системы, могут характеризовать операционную систему и без активного заражения со стороны вредоносных программ. Поэтому средство принятия решения 215 делает вывод о присутствии в операционной системе вредоносной программы, препятствующей взаимодействию пользователя с интерфейсом операционной системы, исходя из данных от двух аналитических средств: средства поведенческого анализа 205 и средства анализа состояния операционной системы 210.
Для наглядного представления принципа работы средства поведенческого анализа пользователя 205 необходимо разобрать его простейшую типовую схему функционирования, приведенную на Фиг.2Б. На данной схеме средство поведенческого анализа 205' включает в себя два основных модуля. Первый модуль 206 состоит из различных средств мониторинга данных, формирующихся в процессе работы пользователя с интерфейсами ввода. По меньшей мере, одно из средств мониторинга данных может иметь аппаратную реализацию. Второй модуль 207 - это средство анализа данных, которое анализирует последовательности данных и взаимодействует со средством хранения шаблонов 201, оперируя известными шаблонами поведений, находящимися в пополняемой базе 202 шаблонов поведений, характеризующих возможные варианты поведения пользователя при нарушении во взаимодействии пользователя с интерфейсом операционной системы.
Под интерфейсами операционной системы согласно «Словарям» Yandex () подразумеваются средства и способы взаимодействия пользователей с операционной системой компьютера или пользовательской программой. В рамках данного изобретения необходимо различать графический интерфейс пользователя (взаимодействие с компьютером организуется с помощью пиктограмм, меню, диалоговых окон и пр.) и интерфейсы ввода (средства взаимодействия пользователя с компьютером). В частности запуск вредоносной программы приводит к блокированию графического интерфейса пользователя. А интерфейсами ввода могут быть, например, средства ввода данных, такие как клавиатура, мышь или сенсорные элементы управления, а также средства фото-, видео- и аудиозахвата данных и другие средства.
В процессе взаимодействия пользователя с операционной системой посредством интерфейсов ввода в рамках компьютерной системы 211 циркулируют, по меньшей мере, следующие данные, перехват которых могут осуществлять средства мониторинга данных 206:
- последовательности вводимых с клавиатуры символов и временные показатели между вводимыми символами;
- команды и координаты от указательных и сенсорных устройств управления;
- фото-, видео- и аудиоданные; и
- другие данные.
Из перехватываемых данных в рамках определенного временного окна формируются последовательности данных, анализ которых осуществляет средство анализа 207 путем сравнения их с шаблонами поведений из базы 202 шаблонов поведений, характеризующих возможные варианты поведения пользователя при нарушении во взаимодействии пользователя с интерфейсом операционной системы. Временное окно может быть выбрано в интервале от нескольких секунд до нескольких минут. Альтернативой временному окну может быть, например, буфер определенного размера, формирующий последовательности данных для анализа по факту заполнения. При этом в одном из вариантов реализации буфер может работать по принципу FIFO (акроним First In, Firs Out, обозначающий принцип «первым пришел - первым ушел»), когда при поступлении от клавиатуры нового кода о нажатии клавиши или поступлении события от мыши первые поступившие данные в начале очереди вытесняются последними данными в конце очереди. В еще одном варианте реализации буфер может очищаться, если от одной секунды до нескольких минут в него не поступало новых данных.
Простейшим примером описания поведения пользователя, указывающего на нарушение во взаимодействии пользователя, к примеру, с графическим интерфейсом операционной системы, может быть нажатие определенной комбинации заранее заданных клавиш, указанных в шаблоне поведения из базы 202 шаблонов поведения. В более сложном варианте исполнения нарушение во взаимодействии пользователя с интерфейсом операционной системы может быть установлено и описано в шаблоне поведения по характеру и последовательностям вводимых пользователем символов, к примеру по многократным, повторяющимся нажатиям специальных комбинаций клавиш, таких как CTRL+ALT+DELETE, ALT+F4, ALT+TAB, CTRL+SHIFT+ESC и т.п. Также частота и несвязность нажимаемых пользователем клавиш могут свидетельствовать о панике пользователя, вызванной блокированием взаимодействия пользователя с операционной системой. В другом варианте реализации признаки паники у пользователя могут быть выявлены, например, посредством анализа фото-, видео-, аудиоданных путем выявления усиления вибраций при взаимодействии пользователя со средством сенсорного управления, а также посредством выявления отклонений от обычного поведения пользователя и другими способами.
Типовая архитектура средства поведенческого анализа 205', изображенного на Фиг.2Б, позволяет реализовывать различные сценарии выявления ситуаций, связанных с нарушением во взаимодействии пользователя с интерфейсом операционной системы. Возможности средства поведенческого анализа 205' определяются лишь набором интерфейсов ввода, доступных в рамках каждой конкретной компьютерной системы 211, которые определяют задействованные средства мониторинга данных 206. И, как следствие, определяют способы описания шаблонов поведений из базы 202 шаблонов поведений, характеризующих возможные варианты поведения пользователя при нарушениии во взаимодействии пользователя с интерфейсом операционной системы.
Очевидно, что приведенные выше варианты поведения пользователя, в широком варианте, могут свидетельствовать о фактах возникновения проблем у пользователя и, в более конкретном варианте, могут свидетельствовать о нарушении во взаимодействии пользователя с интерфейсом операционной системы. И лишь в сочетании с положительным вердиктом от средства анализа состояния операционной системы 210 позволят средству принятия решения 215 сделать вывод о присутствии в операционной системе вредоносной программы, препятствующей взаимодействию пользователя с интерфейсом операционной системы.
В другом варианте осуществления данного изобретения система выявления фактов присутствия в операционной системе вредоносных программ, препятствующих взаимодействию пользователя с интерфейсом операционной системы, изображенная на Фиг.2В, дополнительно содержит средство обнаружения вредоносных программ, препятствующих взаимодействию пользователя с интерфейсом операционной системы, 220 и средство деактивации вредоносных программ, препятствующих взаимодействию пользователя с интерфейсом операционной системы, 230.
Средство обнаружения вредоносных программ, препятствующих взаимодействию пользователя с интерфейсом операционной системы, 220 осуществляет сравнение наборов характеристик активных процессов с базой 225 известных характеристик вредоносных программ. Данные характеристики могут включать в себя характеристики окон и поведение приложений, например:
- присутствует полноэкранное окно или окно размером большим, чем разрешение экрана;
- присутствует окно с отсутствующим системным оконным меню (SYSMENU, кнопки MINIMIZE, MAXIMIZE и т.д.) или окно CHILD, POPUP;
- у окна установлен флаг TOPMOST (окно поверх всех остальных окон) или ТОР (более мягкое условие);
- окно постоянно меняет свой параметр Z-ORDER на ТОР или TOPMOST;
- установлены хуки (программные обработчики перехватываемого ввода) на клавиатуру и мышь без дальнейшей передачи управления (жесткое условие) или просто хуки на клавиатуру и мышь (мягкое условие);
- приложение, запускающее само себя в случае удаления из памяти, т.е. запущены 2 процесса из одного исполняемого файла, при этом каждый процесс отслеживает наличие второго в памяти; и др.
При обнаружении активных процессов, совпадающих собственными характеристиками с известными характеристиками вредоносных программ из базы 225 известных характеристик вредоносных программ, средство деактивации вредоносных программ, препятствующих взаимодействию пользователя с интерфейсом операционной системы, 230 осуществляет их принудительное завершение.
На Фиг.3 изображена схема реализации способа выявления факта присутствия в операционной системе вредоносной программы, препятствующей взаимодействию пользователя с интерфейсом операционной системы. По данной схеме на этапе 301 осуществляется анализ последовательностей данных, формирующихся в процессе работы пользователя с интерфейсами ввода, после чего на этапе 305 формируется вывод об обнаружении события, характеризуемого нарушением во взаимодействии пользователя с интерфейсом операционной системы. В случае если такое событие не обнаружено, способ возвращается на первый этап 301. При обнаружении события осуществляется переход к этапу 310, на котором осуществляется анализ состояния операционной системы. Если в результате анализа 310 на этапе 315 не будет установлено состояние, характерное для операционной системы с вредоносной программой, препятствующей взаимодействию пользователя с интерфейсом операционной системы, то способ вернется к первому этапу 301. Выявление факта присутствия в операционной системе вредоносной программы, препятствующей взаимодействию пользователя с интерфейсом операционной системы, на этапе 320 осуществляется только в случае двух положительных вердиктов, когда на этапе 305 имеет место быть нарушение во взаимодействии пользователя с интерфейсом операционной системы и дополнительно на этапе 315 установлено состояние операционной системы, характеризуемое присутствием в ней вредоносной программы, препятствующей взаимодействию пользователя с интерфейсом операционной системы.
По способу выявления факта присутствия в операционной системе вредоносной программы, препятствующей взаимодействию пользователя с интерфейсом операционной системы, изображенному на Фиг.3, этапы 301 и 310 выполняются последовательно для наглядного представления одного из вариантов осуществления данного изобретения. В другом варианте осуществления данного изобретения этапы 301 и 310 могут выполняться параллельно.
Фиг.4 представляет пример компьютерной системы общего назначения, персональный компьютер или сервер 20, содержащий центральный процессор 21, системную память 22 и системную шину 23, которая содержит разные системные компоненты, в том числе память, связанную с центральным процессором 21. Системная шина 23 реализована, как любая известная из уровня техники шинная структура, содержащая в свою очередь память шины или контроллер памяти шины, периферийную шину и локальную шину, которая способна взаимодействовать с любой другой шинной архитектурой. Системная память содержит постоянное запоминающее устройство (ПЗУ) 24, память с произвольным доступом (ОЗУ) 25. Основная система ввода/вывода (BIOS) 26, содержит основные процедуры, которые обеспечивают передачу информации между элементами персонального компьютера 20, например, в момент загрузки операционной системы с использованием ПЗУ 24.
Персональный компьютер 20 в свою очередь содержит жесткий диск 27 для чтения и записи данных, привод магнитных дисков 28 для чтения и записи на сменные магнитные диски 29 и оптический привод 30 для чтения и записи на сменные оптические диски 31, такие как CD-ROM, DVD-ROM и иные оптические носители информации. Жесткий диск 27, привод магнитных дисков 28, оптический привод 30 соединены с системной шиной 23 через интерфейс жесткого диска 32, интерфейс магнитных дисков 33 и интерфейс оптического привода 34 соответственно. Приводы и соответствующие компьютерные носители информации представляют собой энергонезависимые средства хранения компьютерных инструкций, структур данных, программных модулей и прочих данных персонального компьютера 20.
Настоящее описание раскрывает реализацию системы, которая использует жесткий диск 27, сменный магнитный диск 29 и сменный оптический диск 31, но следует понимать, что возможно применение иных типов компьютерных носителей информации 56, которые способны хранить данные в доступной для чтения компьютером форме (твердотельные накопители, флеш-карты памяти, цифровые диски, память с произвольным доступом (ОЗУ) и т.п.), которые подключены к системной шине 23 через контроллер 55.
Компьютер 20 имеет файловую систему 36, где хранится записанная операционная система 35, а также дополнительные программные приложения 37, другие программные модули 38 и данные программ 39. Пользователь имеет возможность вводить команды и информацию в персональный компьютер 20 посредством устройств ввода (клавиатуры 40, манипулятора «мышь» 42). Могут использоваться другие устройства ввода (не отображены): микрофон, джойстик, игровая консоль, сканнер и т.п. Подобные устройства ввода по своему обычаю подключают к компьютерной системе 20 через последовательный порт 46, который в свою очередь подсоединен к системной шине, но могут быть подключены иным способом, например при помощи параллельного порта, игрового порта или универсальной последовательной шины (USB). Монитор 47 или иной тип устройства отображения также подсоединен к системной шине 23 через интерфейс, такой как видеоадаптер 48. В дополнение к монитору 47, персональный компьютер может быть оснащен другими периферийными устройствами вывода (не отображены), например колонками, принтером и т.п.
Персональный компьютер 20 способен работать в сетевом окружении, при этом используется сетевое соединение с другим или несколькими удаленными компьютерами 49. Удаленные компьютеры (или компьютер) 49 являются такими же персональными компьютерами или серверами, которые имеют большинство или все упомянутые элементы, отмеченные ранее при описании существа персонального компьютера 20, представленного на Фиг.4. В вычислительной сети могут присутствовать также и другие устройства, например маршрутизаторы, сетевые станции, пиринговые устройства или иные сетевые узлы.
Сетевые соединения могут образовывать локальную вычислительную сеть (LAN) 50 и глобальную вычислительную сеть (WAN). Такие сети применяются в корпоративных компьютерных сетях, внутренних сетях компаний и, как правило, имеют доступ к сети Интернет. В LAN- или WAN-сетях персональный компьютер 20 подключен к локальной сети 50 через сетевой адаптер или сетевой интерфейс 51. При использовании сетей персональный компьютер 20 может использовать модем 54 или иные средства обеспечения связи с глобальной вычислительной сетью, такой как Интернет. Модем 54, который является внутренним или внешним устройством, подключен к системной шине 23 посредством последовательного порта 46. Следует уточнить, что сетевые соединения являются лишь примерными и не обязаны отображать точную конфигурацию сети, т.е. в действительности существуют иные способы установления соединения техническими средствами связи одного компьютера с другим.
В заключение следует отметить, что приведенные в описании сведения являются только примерами, которые не ограничивают объем настоящего изобретения, определенного формулой.