Система и способ обнаружения вредоносного приложения путем перехвата доступа к отображаемой пользователю информации Российский патент 2017 года по МПК G06F21/60 G06F21/52 G06F21/84 

Описание патента на изобретение RU2634176C1

Область техники

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

Уровень техники

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

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

Существуют подходы, зачастую реализованные в антивирусных приложениях, в соответствии с которыми антивирусное приложение перехватывает доступ процессов к данным, характеризующим изображение на экране вычислительного устройства. При этом если среди окон запущенных приложений есть те, что относятся к защищаемым приложениям (приложениям, запущенным в «песочнице», от англ. "sandbox"), упомянутый доступ к данным, характеризующим изображение на экране вычислительного устройства, может быть заблокирован.

Так, в патенте US 7818800 В1 описан подход к перехвату операций доступа к отображаемой на экране информации. Предлагается использование ряда правил для определения, является ли такой доступ вредоносным. В соответствии с некоторыми правилами доступ к изображению экрана будет считаться вредоносным, если после такого доступа приложение будет осуществлять запись изображения на диск или передавать изображение другим программам. Для реализации такого подхода осуществляется перехват Win32 API функций доступа к изображению на экране. Однако такой подход обладает недостатком - в Windows 8 и более поздних версиях осуществить такой перехват не представляется возможным из-за наличия модуля PatchGuard в составе операционной системы.

В публикации US 20150319183 A1 предложена защита конкретных приложений от несанкционированного доступа к содержимому окон со стороны других приложений. Предлагается установка драйвера, который бы осуществлял перехват доступа к содержимому окон защищаемых приложений. Однако такой подход применим только к приложениям, которые помечены как «защищаемые».

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

Раскрытие изобретения

Настоящее изобретение предназначено для обнаружения вредоносного приложения.

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

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

Способ обнаружения вредоносного приложения на вычислительном устройстве пользователя, согласно которому: перехватывают при помощи средства перехвата доступ процесса к отображаемой пользователю информации для определения по меньшей мере: информации о процессе, осуществляющем доступ к информации, отображаемой пользователю, при этом упомянутая информация включает по меньшей мере идентификатор процесса (PID); области на дисплее вычислительного устройства, на которой отображается пользователю информация и к которой осуществляется доступ процесса, при этом определение области на дисплее вычислительного устройства - по крайней мере определение расположения области на дисплее вычислительного устройства; при этом под доступом к информации, отображаемой пользователю, понимают по меньшей мере вызов системной функции, в результате которого в память вычислительного устройства загружается бинарное представление отображаемой пользователю информации; анализируют при помощи средства анализа пересечений пересечение определенной на этапе ранее области на дисплее вычислительного устройства с областями элементов графического интерфейса процессов, выполняющихся на вычислительном устройстве, для определения, какие из областей элементов графического интерфейса упомянутых процессов: содержат упомянутую область; содержатся в упомянутой области; частично пересекаются с упомянутой областью; вычисляют при помощи средства анализа пересечений рейтинг важности определенной ранее области на дисплее вычислительного устройства на основании того, какие из областей элементов графического интерфейса процессов, выполняющихся на вычислительном устройстве, содержат упомянутую область, содержатся в упомянутой области, и какие из областей элементов графического интерфейса процессов частично пересекаются с упомянутой областью; при этом рейтинг важности области зависит от того, является ли информация, которая отображается пользователю при помощи процессов, области элементов графического интерфейса которых содержат, частично пересекаются с упомянутой областью, или содержатся в упомянутой области, конфиденциальной; вычисляют при помощи средства обеспечения безопасности рейтинг опасности доступа к отображаемой пользователю информации на основании информации о процессе, осуществляющем доступ к информации, отображаемой пользователю; при этом рейтинг опасности доступа к отображаемой пользователю информации - число, чем больше которое, тем более характерен доступ, перехваченный на этапе ранее, для вредоносного процесса; признают при помощи средства обеспечения безопасности приложение, из которого был запущен процесс, доступ которого к отображаемой пользователю вычислительного устройства информации был перехвачен на этапе ранее, вредоносным, если комбинация рейтинга опасности доступа к отображаемой пользователю информации и рейтинга важности области превышает пороговое значение.

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

Краткое описание чертежей

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

Фиг. 1 иллюстрирует структурную схему системы обнаружения вредоносного приложения на вычислительном устройстве пользователя.

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

Фиг. 3 показывает пример компьютерной системы общего назначения.

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

Описание вариантов осуществления изобретения

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

Введем ряд определений и понятий, которые будут использоваться при описании вариантов осуществления изобретения.

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

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

Недоверенное приложение - приложение, которое не является доверенным, но также не признано вредоносным, например, при помощи антивирусного приложения.

Вредоносный файл - файл, являющийся компонентом вредоносного приложения.

Недоверенный файл - файл, являющийся компонентом недоверенного приложения.

Доверенный файл - файл, являющийся компонентом доверенного приложения.

Вредоносный процесс - процесс, запущенный из вредоносного приложения.

Недоверенный процесс - процесс, запущенный из недоверенного приложения.

Доверенный процесс - процесс, запущенный из доверенного приложения.

Доступ к информации, отображаемой пользователю - по меньшей мере вызов системной функции, в результате которого в память вычислительного устройства загружается бинарное представление отображаемой пользователю информации. В частном случае реализации такая память является оперативной памятью вычислительного устройства. Примером такой функции может являться WinAPI-функция BitBlt.

Рейтинг опасности доступа к отображаемой пользователю информации (для простоты - рейтинг опасности доступа) - число (например, от 0 до +∞; или от 0 до 1000, при этом, если при вычислении рейтинг будет выше 1000, его значение принимается за 1000), чем больше которое, тем более характерен доступ к информации, отображаемой пользователю, для вредоносного процесса.

На Фиг. 1 изображена структурная схема системы обнаружения вредоносного приложения на вычислительном устройстве пользователя.

Система включает в себя следующие компоненты: средство перехвата 130, средство анализа пересечений 140, средство обеспечения безопасности 150. В частном случае реализации система дополнительно включает в себя базу данных информации 160. Упомянутая система размещена на вычислительном устройстве пользователя (например, компьютере или компьютерной системе), которое для простоты будем называть «вычислительное устройство» и детальное описание которого будет дано позднее.

Вычислительное устройство содержит дисплей 110 (в частном случае такой дисплей 110 не является частью вычислительного устройства, а подключается к нему наравне с другими устройствами ввода/вывода), при помощи которого пользователю вычислительного устройства (далее по тексту - «пользователю») отображается информация: текст, графические изображения и т.п. Информация отображается различными элементами графического интерфейса (например, панель задач в операционной системе Windows) операционной системы (ОС), а также посредством элементов графического интерфейса 115 (115а, 115б, и 115в) процессов 120, выполняющихся на вычислительном устройстве. В частном случае реализации таким элементом графического интерфейса может быть окно процесса 120. В другом частном случае элементом графического интерфейса 115 может быть виджет (англ. «widget») процесса 120. В еще одном частном случае реализации элементом графического интерфейса 115 может быть всплывающее окно. В еще одном частном случае реализации элементом графического интерфейса 115 может быть пиктограмма: иконка (icon) приложения, из которого запущен процесс 120, иконка процесса 120 в панели уведомлений (status bar для ОС Android или tray для ОС Windows). Процессы 120, выполняющиеся на вычислительном устройстве, запущены из приложений, присутствующих по меньшей мере на том же вычислительном устройстве. В частном случае реализации упомянутые приложения могут присутствовать на другом вычислительном устройстве (например, на удаленном сервере или сетевом диске). Следует иметь в виду, что среди выполняющихся процессов 120 есть процессы, не имеющие элементов графического интерфейса 115.

Средство перехвата 130 предназначено для перехвата доступа процесса к отображаемой пользователю информации. Целью такого перехвата является определение по меньшей мере:

- информации о процессе, осуществляющем доступ к информации, отображаемой пользователю, при этом упомянутая информация включает по меньшей мере идентификатор упомянутого процесса (англ. process identifier, PID);

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

Под определением области 125 на дисплее 110 вычислительного устройства понимают по крайней мере определение расположение области. В частном случае реализации под расположением области 125 на дисплее 110 вычислительного устройства, могут быть координаты вершин области 125 или координаты одной из вершин (например, верхней левой) и размеры области 125 - высота и ширина. Предполагается, что область 125 имеет прямоугольную форму. В еще одном частном случае реализации область может быть произвольной формы, определение такой формы сводится к определению функции, описывающей точное или примерное (с заданной точностью) расположение точек на границе области. Под доступом к информации, отображаемой пользователю, понимают по меньшей мере вызов функции (например системной, функции), в результате которого в память вычислительного устройства загружается бинарное представление (растровое изображение) отображаемой пользователю информации. В частном случае реализации такая память является оперативной памятью вычислительного устройства. Примером такой функции является Windows API функция BitBlt. В частном случае реализации изобретения такой функцией может являться DrvCopyBits. В еще одном частном случае реализации изобретения такой функцией может являться PrintWindow, StretchBlt или PlgBlt.

Для того чтобы осуществлять перехват, средство перехвата 130 может быть реализовано в качестве драйвера. В частном случае реализации такой драйвер перехватывает вызов функции BitBlt или PrintWindow. При перехвате такого вызова функции с помощью драйвера можно определить контекст вызова: идентификатор процесса PID (Process Identifier) и идентификатор потока TID (Thread Identifier). Полученные таким образом данные являются информацией о процессе, упомянутой выше. Расположение области 125 определяется соответствующими параметрами вызванной (и впоследствии перехваченной) функции (nHeight, hdcSrc, nXSrc, nYSrc).

В ОС Windows версии 8 и более поздних существует компонент PatchGuard, который защищает ОС от изменения некоторых критических структур и таблиц операционной системы (например, таблицы системных вызовов, глобальную таблицу дескрипторов, таблицу дескрипторов прерываний и т.п.). Этот компонент не позволяет реализовать упомянутый выше подход к перехвату доступа на уровне драйвера. В частном случае реализации средство перехвата 130 может быть реализовано в виде компонента подсистемы DWM (англ. Desktop Windows Manager) для отображения элементов графического интерфейса 115 процессов 120. Такой компонент внедряется в виде dll-файла, который загружается в адресное пространство процесса dwm.exe. За вызовом функции BitBlt некоторым процессом 120 следует цепочка вызовов функций (NtGdiBitBlt, DwmSyncCaptureScreenBits), в результате которых к DWM происходит обращение посредством LPC-запроса (англ. local procedure call), который и перехватывается средством перехвата 130. Информация о процессе 120, осуществляющем доступ к отображаемой пользователю информации, находится в заголовке этого запроса: PID и TID. Полученные таким образом данные являются информацией о процессе, упомянутой выше. Расположение области 125 определяется соответствующими параметрами вызванной при помощи LPC-запроса функции (nHeight, hdcSrc, nXSrc, nYSrc).

В еще одном частном случае реализации изобретения средство перехвата 130 может быть реализовано в виде драйвера, который перехватывает обращения приложений к дисплейному драйверу (например, cdd.dll - Canonical Display Driver). В данном случае средство перехвата 130 перехватывает вызов функции копирования поверхности (англ. surface) DrvCopyBits. При перехвате такого вызова функции с помощью драйвера можно определить контекст вызова: PID (Process Identifier) и TID (Thread Identifier). Полученные таким образом данные являются информацией о процессе, упомянутой выше. Кроме того, при вызове функции обращения к поверхности средство 130 определяет идентификатор поверхности, к которой производится доступ. При помощи идентификатора поверхности средство перехвата 130 определяет область, к которой осуществляется доступ - координаты и размеры. Расположение области 125 определяется соответствующими параметрами вызванной функции (параметр pptlSrc).

В еще одном варианте реализации под определением расположения области 125 на дисплее 110 вычислительного устройства понимают определение контекста устройства (англ. device context), который соответствует области 125 и в рамках которого осуществляется доступ к информации (иными словами, контекст устройства, указанный как параметр вызова функции), отображаемой пользователю. В частном случае реализации контекст устройства является параметром вызова перехваченной функции hdcSrc (например, для функций BitBlt, PlgBlt и StretchBlt).

В еще одном варианте реализации под определением расположения области 125 на дисплее 110 вычислительного устройства понимают определение поверхности, которая соответствует области 125, к которой осуществляется доступ посредством вызова перехваченной функции. В частном случае реализации поверхность (а именно указатель на структуру SURFOBJ) является параметром psoSrc вызова перехваченной функции DrvCopyBits.

В еще одном варианте реализации под определением расположения области 125 на дисплее 110 вычислительного устройства понимают определение идентификатор окна (англ. window handle), которое соответствует области 125, к которой осуществляется доступ посредством вызова перехваченной функции. В частном случае реализации идентификатор окна является параметром hwnd вызова перехваченной функции PrintWindow.

Определенная средством перехвата 130 информация о процессе 120, осуществляющем доступ к информации, отображаемой пользователю, а также область 125 на дисплее 110 вычислительного устройства (в частном информация, описывающая область - расположение области 125 на дисплее 110 вычислительного устройства), на которой отображается пользователю информация и к которой осуществляется доступ, передается средством перехвата 130 средству анализа пересечений 140. Определенная средством перехвата 130 информация о процессе 120, осуществляющем доступ к информации, отображаемой пользователю также передается средству обеспечения безопасности 150.

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

Средство анализа пересечений 140 предназначено для анализа пересечений определенной при помощи средства перехвата 130 области 125 на дисплее 110 вычислительного устройства с областями элементов графического интерфейса 115 процессов 120, выполняющихся на вычислительном устройстве, для определения, какие из областей элементов графического интерфейса 115 упомянутых процессов 120:

- содержат упомянутую область;

- содержатся в упомянутой области;

- частично пересекаются с упомянутой областью.

В частном случае реализации в рамках упомянутого выше анализа средство анализа пересечений 140 сравнивает расположение областей всех элементов графического интерфейса 115 процессов 120, выполняющихся на вычислительном устройстве, с расположением определенной средством перехвата 130 области 125. В частном случае реализации изобретения расположение областей элементов графического интерфейса 115 процессов 120 определяется средством анализа пересечений 140 на основании данных об элементах графического интерфейса 115 (а именно их расположении и размерах) процессов 120, которые предоставляются операционной системой. В частном случае реализации такие данные предоставляются ОС в ответ на вызов функции GetWindowRect.

В еще одном частном случае реализации расположение областей элементов графического интерфейса 115 процессов 120 определяется средством анализа пересечений 140 на основании данных о поверхностях (ранее упоминались как surface) и их расположениях. Такие данные средство анализа пересечений 140 получает путем перехвата вызовов функций создания поверхностей DrvEnableSurface, а именно возвращаемого значения - указателя на структуру SURFOBJ, в которой указано расположение поверхности, которая соответствует элементу графического интерфейса 115 процесса 120.

В другом варианте реализации средство анализа пересечений 140 определяет, какие из областей элементов графического интерфейса 115 процессов 120 содержат область 125, содержатся в области 125 или частично пересекаются с областью 125, если определенный средством перехвата 130 контекст устройства, в рамках которого осуществляется доступ к информации, отображаемой пользователю (или поверхность, к которой осуществляется доступ), совпадает с контекстом устройства рабочего стола (англ. desktop), или определенный средством перехвата 130 идентификатор окна, являющийся параметром перехваченной функции, является идентификатором рабочего стола (англ. desktop).

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

В еще одном частном случае реализации средство анализа пересечений 140 определяет долю пересечения - отношение размера области 125 к размеру области пересечения области 125 и области элемента графического интерфейса 115. Например, для области элемента графического интерфейса 115а доля пересечения будет равняться 1, для области элемента графического интерфейса 115б - 1/3, для области элемента графического интерфейса 115в такая доля пересечения будет равняться 0 (пересечения нет).

В еще одном варианте реализации средство анализа пересечений 140 определяет элемент графического интерфейса 115 процесса 120, как содержащий область 125, если этот элемент графического интерфейса 115 представляет собой окно, и контекст устройства этого окна (который может быть определен при помощи вызова функции WinAPI GetDC) совпадает с определенным ранее при помощи средства перехвата 130 контекстом устройства, в рамках которого осуществляется доступ к информации, отображаемой пользователю. При этом доля пересечения равна 1. Для всех остальных процессов 120 считается, что их элементы графического интерфейса 115 не пересекаются с областью 125.

В еще одном варианте реализации средство анализа пересечений 140 определяет элемент графического интерфейса 115 процесса 120, как содержащий область 125, если этот элемент графического интерфейса 115 представляет собой окно, и поверхность, которая соответствует области 125, к которой осуществляется доступ посредством вызова перехваченной функции, является поверхностью этого окна. При этом доля пересечения равна 1. Для всех остальных процессов 120 считается, что их элементы графического интерфейса 115 не пересекаются с областью 125.

В еще одном варианте реализации средство анализа пересечений 140 определяет элемент графического интерфейса 115 процесса 120, как содержащий область 125, если этот элемент графического интерфейса 115 представляет собой окно, и идентификатор этого окна (HWND) совпадает с идентификатором окна, который соответствует области 125 и определен ранее при помощи средства перехвата 130. При этом доля пересечения равна 1. Для всех остальных процессов 120 считается, что их элементы графического интерфейса 115 не пересекаются с областью 125.

Средство анализа пересечений 140 также предназначено для вычисления рейтинга важности определенной при помощи средства перехвата 130 области 125 на дисплее вычислительного устройства 110 на основании того, какие из областей элементов графического интерфейса 115 выполняющихся на вычислительном устройстве процессов 120 содержат упомянутую область 125, какие из областей элементов графического интерфейса 115 содержатся в упомянутой области 125, и какие из областей элементов графического интерфейса 115 частично пересекаются с упомянутой областью 125. При этом рейтинг важности области 125 зависит от того, является ли информация, которая отображается пользователю при помощи процессов 120, области элементов графического интерфейса 115 которых содержат, частично пересекаются с упомянутой областью 125, или содержатся в упомянутой области 125, конфиденциальной. Чем выше рейтинг важности области 125, тем больше вероятность того, что упомянутая информация является конфиденциальной. В частном случае реализации изобретения при вычислении рейтинга важности области 125 дополнительно используются доли пересечения области 125 с областями элементов графического интерфейса 115 процессов 120.

В частном случае реализации конфиденциальность информации, которая отображается пользователю при помощи процесса 120, область элементов графического интерфейса 115 которого содержит, частично пересекается с областью 125, или содержится в упомянутой области 125, определяется при помощи базы данных информации 160, которая связана со средством анализа пересечений 140. База данных информации 160 хранит коэффициенты конфиденциальности элементов графического интерфейса 115 процессов 120, выраженные числом. Чем выше коэффициент конфиденциальности элемента графического интерфейса 115 процесса 120, тем больше вероятность того, что элемент графического интерфейса 115 этого процесса 120 может отображать пользователю конфиденциальную информацию. Предполагается, что процессы 120 приложений для удаленной работы с банками, процессы 120, запущенные в «безопасном режиме» (так называемая «песочница» - от англ. sandbox), процессы 120 приложений для работы с электронной почтой, а также дочерние приложения упомянутых процессов (например, процесс winword.exe, в котором открыто вложение в электронное письмо) с большой вероятностью отображают конфиденциальную информацию при помощи своих элементов графического интерфейса 115 (например, при помощи своих окон).

В частном случае реализации информация, которая хранится в базе данных информации 160, формируется специалистом в области информационной безопасности и записывается в базу 160 средством анализа пересечений 140, которое получает эту информацию от удаленного сервера безопасности или системного администратора.

В еще одном варианте реализации в систему обнаружения вредоносного приложения дополнительно входит средство мониторинга активности 170. Средство мониторинга активности 170 предназначено для слежения за действиями, осуществляемыми процессами 120, а также для вычисления коэффициентов конфиденциальности, которые соответствуют элементам графического интерфейса 115 процессов 120, на основании действий, осуществляемых процессами 120. В частном случае реализации вычисленные средством 170 коэффициенты конфиденциальности передаются в базу данных информации 160 (если база данных 160 уже хранит значения коэффициентов конфиденциальности, их значения будут обновлены). В другом частном случае реализации изобретения вычисленные коэффициенты конфиденциальности передаются средством мониторинга активности 170 средству обеспечения безопасности 150, которое, в свою очередь, использует эти коэффициенты наравне с теми, которые средство обеспечения безопасности 150 получает из базы данных информации 160. Под действиями, осуществляемыми процессом 120, понимают системные вызовы или наборы системных вызовов, осуществляемых процессом 120. В еще одном частном случае реализации под действием понимают передачу/получение электронного сообщения (например, сообщения e-mail, голосового сообщения или сообщения для службы мгновенного обмена сообщениями). Для осуществления слежения средство мониторинга активности 170 может быть реализовано в качестве драйвера или набора драйверов, при помощи которых осуществляется определение системных вызовов (посредством перехвата), осуществляемых процессами 120 - таким образом осуществляется слежение. При этом под определением системного вызова подразумевается определение процесса 120, который осуществляет этот вызов, а также аргументы вызова. В частном случае реализации при помощи драйверов средством мониторинга активности 170 определяются вызовы функций запуска процессов (например, LoadModule, CreateProcess, CreateProcessAsUser, ShellExecute, WinExec и т.п.), а также функции сетевого взаимодействия (например, connect, socket, bind, receive, send и т.п.). Следует упомянуть, что возможности определения сетевых вызовов не ограничены приведенными примерами использования драйверов. В еще одном варианте реализации средство 170 может быть реализовано в качестве плагина (англ. plug-in) для приложения, из которого запущен процесс 120, при этом при помощи плагина осуществляется определение информации о сообщении, которое передано или получено этим процессом 120. В частном случае такой информацией является отправитель сообщения, получатель сообщения, тема сообщения, содержимое сообщения, тип сообщения - входящее или исходящее. В еще одном варианте реализации при помощи такого плагина средство мониторинга активности 170 определяет автора документа, например автора документа Microsoft Word, при этом авторство указывается в заголовке документа (файла документа) при создании или модификации документа.

В частном случае реализации изобретения средство мониторинга активности 170 вычисляет коэффициенты конфиденциальности для элементов графического интерфейса 115 процессов 120 при помощи эвристических правил. Цель использования эвристических правил - установить высокие коэффициенты конфиденциальности элементов графического интерфейса 115 тех процессов 120, при помощи которых пользователю может быть отображена конфиденциальная информация, или любая другая информация, кража которой нежелательна. В частном случае реализации примером таких эвристических правил могут быть:

- установить максимальное значение коэффициента конфиденциальности для элементов графического интерфейса 115 тех процессов 120, которые устанавливают защищенные сетевые соединения (например, https);

- установить максимальное значение коэффициента конфиденциальности для элементов графического интерфейса 115 тех процессов 120, которые устанавливают соединения с удаленными серверами из списка защищаемых удаленных серверов;

- установить максимальное значение коэффициента конфиденциальности для элементов графического интерфейса 115 тех процессов 120, которые запущены из списка защищаемых приложений;

- установить максимальное значение коэффициента конфиденциальности для элементов графического интерфейса 115 тех процессов 120, которые открывают документы, созданные авторами из списка защищаемых авторов;

- установить максимальное значение коэффициента конфиденциальности для элементов графического интерфейса 115 тех процессов 120, которые получают сообщения от адресантов (или передают сообщения адресатам) из списка защищаемых контактов.

При этом база данных информации 160 хранит адреса (IP-адреса) удаленных серверов (например, банковских или почтовых), входящих в список защищаемых удаленных серверов. При этом список защищаемых приложений - перечень приложений, который хранится в базе данных 160 (например, приложения для работы с банками, приложения для предотвращения утечек информации - DLP, Data Leak Prevention и пр.). При этом список защищаемых контактов - перечень контактов (например, имена или адреса e-mail отправителей или получателей сообщений), который хранится в базе данных 160. При этом список защищаемых авторов - перечень авторов (например, имя пользователя, создавшего документ), который хранится в базе данных 160.

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

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

В еще одном частном случае реализации рабочий стол в ОС также является элементом графического интерфейса 115 (как и окна процессов 120), соответствующим (принадлежащим) процессу explorer.exe, соответственно в базе данных информации 160 хранится коэффициент конфиденциальности элемента графического интерфейса 115 (рабочего стола). В частном случае реализации изобретения за значение этого коэффициента конфиденциальности принимается максимальное значение коэффициента конфиденциальности.

В частном случае реализации средство мониторинга активности вычисляет коэффициенты конфиденциальности элементов графического интерфейса 115 для каждого процесса 120, запущенного на вычислительном устройстве. В еще одном частном случае реализации средство мониторинга активности 170 вычисляет коэффициенты конфиденциальности элементов графического интерфейса 115 процессов 120, информация о которых, например идентификатор процесса или название процесса (например, winword.exe), хранятся в базе данных информации 160.

В частном случае реализации средство анализа пересечений 140 вычисляет рейтинг важности области 125 в соответствии со следующей формулой:

В еще одном частном случае реализации средство анализа пересечений 140 вычисляет рейтинг важности области 125 в соответствии со следующей формулой:

В еще одном частном случае реализации средство анализа пересечений 140 вычисляет рейтинг важности области 125 в соответствии со следующей формулой:

В еще одном частном случае реализации средство анализа пересечений 140 вычисляет рейтинг важности области 125 в соответствии со следующей формулой:

В еще одном частном случае реализации средство анализа пересечений 140 вычисляет рейтинг важности области 125 в соответствии со следующей формулой:

В вышеуказанных формулах использовались следующие обозначения:

K - рейтинг важности области 125;

n - количество элементов графического интерфейса 115 процессов 120, которые отображаются на дисплее 110 вычислительного устройства;

pi - коэффициент конфиденциальности i-го элемента графического интерфейса 115 (в частном случае реализации принимает значение 1 для i-го элемента графического интерфейса, если в базе данных 160 для этого элемента графического интерфейса 115 процесса 120 не указан соответствующий коэффициент);

ki - доля пересечения области 125 с областью i-го элемента графического интерфейса 115;

si - весовой коэффициент, который для i-го элемента графического интерфейса равен:

1, если область i-ого элемента графического интерфейса 115 частично пересекает область 125;

S1, где S1>1 (например 100), если область i-го элемента графического интерфейса 115 содержит область 125;

S2, где S2>S1 (например 200), если область i-го элемента графического интерфейса 115 содержится в области 125.

В частном случае реализации изобретения коэффициент конфиденциальности pi i-го элемента графического интерфейса 115 некоторого процесса 120а равняется максимальному среди коэффициентов конфиденциальности элементов графического интерфейса 115 процессов 120, которые являются родительскими по отношению к процессу 120а. В еще одном частном случае реализации изобретения коэффициент конфиденциальности pi i-го элемента графического интерфейса 115 процесса 120а равняется максимальному среди коэффициентов конфиденциальности i-го элемента графического интерфейса 115 процесса 120а и коэффициентов конфиденциальности элементов графического интерфейса 115 его N родительских процессов 120 (где N, например, может равняться 2, если у процесса 120а есть 2 родительских процесса).

Стоит понимать, что вышеперечисленные формулы - лишь примеры, частные случаи реализации, и для вычисления рейтинга важности области 125 средством анализа пересечений 140 может быть использована любая формула, в соответствии с которой рейтинг важности области 125 будет тем больше, чем больше коэффициенты pi, ki, si.

Вычисленный рейтинг важности области 125 средство анализа пересечений 140 передает средству обеспечения безопасности 150.

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

В частном случае реализации средство обеспечения безопасности 150 вычисляет рейтинг опасности доступа 125 в соответствии со следующей формулой:

В еще одном частном случае реализации средство обеспечения безопасности 150 вычисляет рейтинг опасности доступа 125 в соответствии со следующей формулой:

В еще одном частном случае реализации средство обеспечения безопасности 150 вычисляет рейтинг опасности доступа 125 в соответствии со следующей формулой:

В вышеуказанных формулах использовались следующие обозначения:

D - рейтинг опасности доступа, осуществляемого процессом 120 к области 125 и перехваченного средством перехвата 130;

S - коэффициент, который принимает следующие значения:

1, если процесс 120, который осуществляет перехваченный доступ, является доверенным процессом;

S1, где S1>1 (например 5), если процесс 120, который осуществляет перехваченный доступ, является недоверенным процессом (или в базе данных 160 отсутствует информация о том, что процесс 120 доверенный);

V - коэффициент, который принимает следующие значения:

1, если процесс 120, который осуществляет перехваченный доступ, запущен из приложения, для которого не существует известных уязвимостей (или в базе данных 160 отсутствует информация об известных уязвимостях);

V1, где V1>1, если процесс 120, который осуществляет перехваченный доступ, запущен из приложения, для которого существуют известные уязвимости (при этом V1 может быть фиксированным числом, например 10, или числом, зависящим от количества известных уязвимостей, например V1=2*U, где U - число известных уязвимостей);

А – коэффициент, который принимает следующие значения:

1, если процесс 120, который осуществляет перехваченный доступ, запущен из приложения, функционал которого включает осуществление доступа к отображаемой пользователю информации (или в базе данных - 160 отсутствует информация о функционале упомянутого приложения);

А1, где A1>1 (например 100), если процесс 120, который осуществляет перехваченный доступ, запущен из приложения, функционал которого не включает осуществление доступа к отображаемой пользователю информации.

Стоит понимать, что вышеперечисленные формулы - лишь примеры, частные случаи реализации, и для вычисления рейтинга опасности доступа к отображаемой на дисплее 110 информации процессом 120 средством обеспечения безопасности 150 может быть использована любая формула, в соответствии с которой рейтинг опасности доступа будет тем больше, чем больше коэффициент A, S и V. В частном случае реализации значение рейтинга опасности доступа D не может быть меньше 1.

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

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

В частном случае реализации изобретения информация о том, включает ли функционал приложения, из которого запущен процесс 120, который осуществляет перехваченный доступ, осуществление доступа к отображаемой пользователю информации, хранится в базе данных информации 160 и предоставляется средству обеспечения безопасности 150. При этом под функционалом приложения понимают множество функций, вызовы которых характерны для процесса, запущенного из приложения. Соответственно, база данных информации 160 в частном случае реализации ставит в соответствие приложению, из которого запущен процесс 120, список характерных для упомянутого приложения функций - функционал приложения.

Как было отмечено ранее, в частном случае реализации информация, которая хранится в базе данных информации 160, формируется специалистом в области информационной безопасности. В частном случае реализации такой специалист сам передает (записывает) эту информацию в базу данных информации 160. В другом частном случае реализации эта информация записывается в базу данных информации 160 средством анализа пересечений 140, которое получает эту информацию от удаленного сервера безопасности или системного администратора.

Стоит отметить, что база данных 160 в частном случае реализации может быть реализована как совокупность баз данных, каждая из которых предназначена для хранения данных одного или более типов - например, коэффициентов конфиденциальности pi, весовых коэффициентов si, используемых в вышеописанных формулах, и пр.

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

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

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

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

На Фиг. 2 показана примерная схема способа обнаружения вредоносного приложения на вычислительном устройстве пользователю, который может быть реализован средствами системы обнаружения вредоносного приложения на вычислительном устройстве пользователю.

На этапе 201 средство перехвата 130 перехватывает доступ процесса 120 к отображаемой пользователю информации для определения по меньшей мере: информации о процессе 120, осуществляющем доступ к информации, отображаемой пользователю, а также области на дисплее 110 вычислительного устройства, на которой отображается пользователю информация и к которой осуществляется доступ. Полученную информацию о процессе средство перехвата 130 передает средству обеспечения безопасности 150 и средству анализа пересечений 140, а определенную область 125 - средству анализа пересечений 140. На этапе 202 средство анализа пересечений 140 анализирует пересечение определенной средством перехвата области 125 с областями элементов графического интерфейса 115 выполняющихся на вычислительном устройстве процессов 120 для определения, какие из областей элементов графического интерфейса 115 упомянутых процессов: содержат упомянутую область, содержатся в упомянутой области, частично пересекаются с упомянутой областью. Информация о пересечениях используется средством анализа пересечений 140 на этапе 203 для вычисления рейтинга важности области 125. Вычисленный рейтинг важности области 125 передается средством анализа пересечений 140 средству обеспечения безопасности 150. Средство обеспечения безопасности 150 на этапе 204 вычисляет рейтинг опасности доступа к отображаемой пользователю информации на основании данных, полученных от средства перехвата 130 - информации о процессе, осуществляющем доступ, который был перехвачен средством перехвата 130. На этапе 205 средство обеспечения безопасности 150 вычисляет комбинацию рейтинга важности области 125 и рейтинга опасности доступа. Далее, если полученная на этапе 205 комбинация больше порогового значения, то на этапе 206 средство обеспечения безопасности 150 признает приложение, из которого был запущен процесс 120, доступ которого к отображаемой пользователю вычислительного устройства информации был перехвачен на этапе 201, вредоносным. Если же полученная комбинация не превышает порогового значения, то на этапе 207 средство обеспечения безопасности 150 не признает упомянутое приложение вредоносным.

Следует отметить, что этап 204 не зависит от выполнения этапов 202 и 203, поэтому может быть выполнен параллельно с выполнением этих этапов или перед этими этапами.

В еще одном варианте реализации система обнаружения вредоносного приложения дополнительно включает средство мониторинга активности 170, которое вычисляет коэффициенты конфиденциальности элементов графического интерфейса 115 процессов 120 при помощи эвристических правил (этот этап не отмечен на Фиг. 2 и не зависит от выполнения этапов 201 и 202, поэтому может быть выполнен параллельно с выполнением этих этапов или перед этими этапами).

Фиг. 3 представляет пример компьютерной системы общего назначения, персональный компьютер или сервер 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, представленного на Фиг. 3. В вычислительной сети могут присутствовать также и другие устройства, например маршрутизаторы, сетевые станции, пиринговые устройства или иные сетевые узлы.

Сетевые соединения могут образовывать локальную вычислительную сеть (LAN) 50 и глобальную вычислительную сеть (WAN). Такие сети применяются в корпоративных компьютерных сетях, внутренних сетях компаний и, как правило, имеют доступ к сети Интернет. В LAN- или WAN-сетях персональный компьютер 20 подключен к локальной сети 50 через сетевой адаптер или сетевой интерфейс 51. При использовании сетей персональный компьютер 20 может использовать модем 54 или иные средства обеспечения связи с глобальной вычислительной сетью, такой как Интернет. Модем 54, который является внутренним или внешним устройством, подключен к системной шине 23 посредством последовательного порта 46. Следует уточнить, что сетевые соединения являются лишь примерными и не обязаны отображать точную конфигурацию сети, т.е. в действительности существуют иные способы установления соединения техническими средствами связи одного компьютера с другим.

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

Похожие патенты RU2634176C1

название год авторы номер документа
Система и способ блокирования доступа к защищаемым приложениям 2016
  • Калинин Александр Валентинович
  • Полозов Павел Леонидович
  • Левченко Вячеслав Иванович
  • Юдин Максим Витальевич
RU2634168C1
Способ блокировки доступа к данным на мобильных устройствах с использованием API для пользователей с ограниченными возможностями 2015
  • Демов Алексей Александрович
  • Филатов Константин Михайлович
  • Яблоков Виктор Владимирович
RU2618946C1
Способ выявления несогласованного использования ресурсов вычислительного устройства пользователя 2020
  • Паринов Денис Игоревич
  • Виноградов Дмитрий Валерьевич
  • Власова Виктория Владимировна
  • Давыдов Василий Александрович
RU2757330C1
СИСТЕМА И СПОСОБ ЗАЩИТЫ КОМПЬЮТЕРНЫХ ПРИЛОЖЕНИЙ 2011
  • Русаков Вячеслав Евгеньевич
  • Ширяев Александр Васильевич
RU2460133C1
Система и способ анализа файла на вредоносность в виртуальной машине 2017
  • Пинтийский Владислав Валерьевич
  • Аникин Денис Вячеславович
  • Кобычев Денис Юрьевич
  • Головкин Максим Юрьевич
  • Бутузов Виталий Владимирович
  • Карасовский Дмитрий Валериевич
  • Кирсанов Дмитрий Александрович
RU2665911C2
Система и способ восстановления модифицированных данных 2015
  • Паршин Юрий Геннадьевич
  • Романенко Александр Александрович
  • Слободянюк Юрий Геннадьевич
RU2622630C2
Система и способ формирования журнала при исполнении файла с уязвимостями в виртуальной машине 2018
  • Монастырский Алексей Владимирович
  • Павлющик Михаил Александрович
  • Пинтийский Владислав Валерьевич
  • Аникин Денис Вячеславович
  • Кирсанов Дмитрий Александрович
RU2724790C1
СИСТЕМА И СПОСОБ ЗАЩИТЫ ПЕРЕДАЧИ ДАННЫХ С УСТРОЙСТВ ВВОДА 2014
  • Коган Сергей Вольфович
  • Маслов Игорь Сергеевич
RU2568283C2
СПОСОБ АВТОМАТИЧЕСКОЙ НАСТРОЙКИ СРЕДСТВА БЕЗОПАСНОСТИ 2012
  • Зайцев Олег Владимирович
RU2514137C1
СПОСОБ ФОРМИРОВАНИЯ АНТИВИРУСНОЙ ЗАПИСИ ПРИ ОБНАРУЖЕНИИ ВРЕДОНОСНОГО КОДА В ОПЕРАТИВНОЙ ПАМЯТИ 2015
  • Павлющик Михаил Александрович
  • Монастырский Алексей Владимирович
  • Назаров Денис Александрович
RU2592383C1

Иллюстрации к изобретению RU 2 634 176 C1

Реферат патента 2017 года Система и способ обнаружения вредоносного приложения путем перехвата доступа к отображаемой пользователю информации

Изобретение относится к области защиты данных приложений, а именно к системам и способам обнаружения вредоносного приложения путем перехвата доступа к отображаемой пользователю информации. Технический результат настоящего изобретения заключается в повышении безопасности вычислительного устройства пользователя, которое достигается путем обнаружения вредоносного приложения, из которого был запущен процесс, осуществляющий доступ к отображаемой пользователю вычислительного устройства информации. Раскрыт способ обнаружения вредоносного приложения на вычислительном устройстве пользователя, согласно которому: а. перехватывают при помощи средства перехвата доступ процесса к отображаемой пользователю информации для определения по меньшей мере: информации о процессе, осуществляющем доступ к информации, отображаемой пользователю, при этом упомянутая информация включает по меньшей мере идентификатор процесса (PID); области на дисплее вычислительного устройства, на которой отображается пользователю информация и к которой осуществляется доступ процесса; б. анализируют при помощи средства анализа пересечений пересечение определенной на этапе ранее области на дисплее вычислительного устройства с областями элементов графического интерфейса процессов, выполняющихся на вычислительном устройстве, для определения, какие из областей элементов графического интерфейса упомянутых процессов: содержат упомянутую область; содержатся в упомянутой области; частично пересекаются с упомянутой областью; в. вычисляют при помощи средства анализа пересечений рейтинг важности определенной ранее области на дисплее вычислительного устройства на основании того, какие из областей элементов графического интерфейса процессов, выполняющихся на вычислительном устройстве, содержат упомянутую область, содержатся в упомянутой области, и какие из областей элементов графического интерфейса процессов частично пересекаются с упомянутой областью; г. вычисляют при помощи средства обеспечения безопасности рейтинг опасности доступа к отображаемой пользователю информации на основании информации о процессе, осуществляющем доступ к информации, отображаемой пользователю; д. признают при помощи средства обеспечения безопасности приложение, из которого был запущен процесс, доступ которого к отображаемой пользователю вычислительного устройства информации был перехвачен на этапе «а», вредоносным, если комбинация рейтинга опасности доступа к отображаемой пользователю информации и рейтинга важности области превышает пороговое значение. 2 н. и 2 з.п. ф-лы, 3 ил.

Формула изобретения RU 2 634 176 C1

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

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

- информации о процессе, осуществляющем доступ к информации, отображаемой пользователю, при этом упомянутая информация включает по меньшей мере идентификатор процесса (PID);

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

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

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

- содержат упомянутую область;

- содержатся в упомянутой области;

- частично пересекаются с упомянутой областью;

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

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

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

при этом рейтинг опасности доступа к отображаемой пользователю информации - число, чем больше которое, тем более характерен доступ, перехваченный на этапе «а», для вредоносного процесса;

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

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

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

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

- информации о процессе, осуществляющем доступ к информации, отображаемой пользователю, при этом упомянутая информация включает по меньшей мере идентификатор процесса (PID);

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

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

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

- содержат упомянутую область;

- содержатся в упомянутой области;

- частично пересекаются с упомянутой областью;

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

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

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

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

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

Документы, цитированные в отчете о поиске Патент 2017 года RU2634176C1

Токарный резец 1924
  • Г. Клопшток
SU2016A1
Токарный резец 1924
  • Г. Клопшток
SU2016A1
Многоступенчатая активно-реактивная турбина 1924
  • Ф. Лезель
SU2013A1
US 8627456 B2, 07.01.2014
СПОСОБ ВЫЗОВА СИСТЕМНЫХ ФУНКЦИЙ В УСЛОВИЯХ ИСПОЛЬЗОВАНИЯ СРЕДСТВ ЗАЩИТЫ ЯДРА ОПЕРАЦИОННОЙ СИСТЕМЫ 2014
  • Юдин Максим Витальевич
  • Тарасенко Александр Сергеевич
  • Левченко Вячеслав Иванович
  • Кумагин Игорь Юрьевич
RU2585978C2

RU 2 634 176 C1

Авторы

Калинин Александр Валентинович

Полозов Павел Леонидович

Левченко Вячеслав Иванович

Юдин Максим Витальевич

Даты

2017-10-24Публикация

2016-07-29Подача