RU2460133C1 - System and method of protecting computer applications - Google Patents

System and method of protecting computer applications Download PDF

Info

Publication number
RU2460133C1
RU2460133C1 RU2011126328/08A RU2011126328A RU2460133C1 RU 2460133 C1 RU2460133 C1 RU 2460133C1 RU 2011126328/08 A RU2011126328/08 A RU 2011126328/08A RU 2011126328 A RU2011126328 A RU 2011126328A RU 2460133 C1 RU2460133 C1 RU 2460133C1
Authority
RU
Russia
Prior art keywords
objects
request
host system
application
virtual
Prior art date
Application number
RU2011126328/08A
Other languages
Russian (ru)
Inventor
Вячеслав Евгеньевич Русаков (RU)
Вячеслав Евгеньевич Русаков
Александр Васильевич Ширяев (RU)
Александр Васильевич Ширяев
Original Assignee
Закрытое акционерное общество "Лаборатория Касперского"
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Закрытое акционерное общество "Лаборатория Касперского" filed Critical Закрытое акционерное общество "Лаборатория Касперского"
Priority to RU2011126328/08A priority Critical patent/RU2460133C1/en
Application granted granted Critical
Publication of RU2460133C1 publication Critical patent/RU2460133C1/en

Links

Images

Landscapes

  • Storage Device Security (AREA)

Abstract

FIELD: information technology.
SUBSTANCE: system and method enable to intercept program requests to secure application projects, analysis thereof for malicious nature and in case of danger, block the request, virtualise application objects and the host system and, depending on the request analysis results, provide a link to the object or virtual copy thereof.
EFFECT: preventing unauthorised access to secure application objects.
16 cl, 10 dwg

Description

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

Настоящее изобретение относится к системам и способам защиты информации и, более конкретно, к системам и способам виртуализации приложений с целью обеспечения безопасности информации, обрабатываемой данным приложением.The present invention relates to systems and methods for protecting information and, more specifically, to systems and methods for virtualizing applications to ensure the security of information processed by this application.

Уровень техникиState of the art

Ускоренный рост вредоносных программ и атак на информационные ресурсы приводит к тому, что специалисты по информационной безопасности не способны обработать все новые файлы для их последующего обнаружения даже с применением автоматизированных средств.The accelerated growth of malware and attacks on information resources leads to the fact that information security specialists are not able to process all new files for their subsequent detection, even using automated tools.

При работе с конфиденциальной информацией безопасность приобретает еще большую актуальность. Эффективность средства обнаружения угроз колеблется в зависимости от новизны и сложности вредоносного кода и не является абсолютной. Появляется необходимость в новом рубеже защиты, который должен оградить критические объекты системы или приложения от несанкционированного доступа. Подобным средством может являться «песочница» - средство для исполнения инструкций приложения в виртуальной среде с заданными правилами. Исполнение программы может быть ограничено, что исключает доступ к критической области памяти и процессам. Основной целью применения подобных средств является защита системы от непроверенного программного кода, в том числе от вредоносных программ.When working with confidential information, security becomes even more relevant. The effectiveness of a threat detection tool varies depending on the novelty and complexity of the malicious code and is not absolute. There is a need for a new frontier of protection, which should protect critical objects of the system or application from unauthorized access. A similar tool can be a “sandbox” - a tool for executing application instructions in a virtual environment with specified rules. Program execution may be limited, which excludes access to critical memory areas and processes. The main purpose of using such tools is to protect the system from unverified program code, including malware.

Вероятность того, что компьютерная система заражена и содержит вирус (тут и далее под вирусом понимается любой вид вредоносной программы), существует всегда. Этот случай указывает новое направление развития средств безопасности, когда на зараженной компьютерной системе необходимо совершить действия с конфиденциальной или секретной информацией в безопасном режиме, т.е. ограничить процессы, память, файлы и другие объекты защищаемого приложения от других программ, сохранив при этом работоспособность данного приложения. Подобное решение раскрывается в данном изобретении.The likelihood that a computer system is infected and contains a virus (hereinafter, the virus refers to any type of malware) always exists. This case indicates a new direction in the development of security tools when it is necessary to perform actions with confidential or secret information in a safe mode on an infected computer system, i.e. limit processes, memory, files and other objects of the protected application from other programs, while maintaining the functionality of this application. A similar solution is disclosed in this invention.

Существуют технологии, определяющие предшествующий уровень техники. Описанные в заявках US 20100024936 и US 20100192224 системы и способы виртуализации приложений, и более детально веб-браузеров, направлены на защиту хостовой системы от угроз, исходящих из сети Интернет, но не позволяют безопасно работать с приложением, когда хостовая система уже является зараженной вредоносной программой. В заявке US 20090300307 более детально описан способ виртуализации на лету за счет внедрения уровня виртуализации между операционной системой и модулем памяти, который контролирует команды чтения/записи в область памяти. Данная технология не позволяет фильтровать запросы по видам операций, отличным от чтения/записи, анализировать запросы по алгоритмам антивирусной проверки и динамически изменять правила фильтрации запросов.There are technologies defining the prior art. The systems and methods of application virtualization described in applications US 20100024936 and US20100192224, and in more detail web browsers, are aimed at protecting the host system from threats coming from the Internet, but do not allow safe operation of the application when the host system is already infected with malware . In the application US 20090300307 a more detailed description of the virtualization method on the fly by introducing a virtualization level between the operating system and the memory module, which controls the read / write commands in the memory area. This technology does not allow you to filter requests by types of operations other than read / write, analyze requests by anti-virus scanning algorithms and dynamically change the rules for filtering requests.

Данное изобретение устраняет описанные недостатки предшествующего уровня техники и позволяет повысить уровень защищенности приложений и его объектов.This invention eliminates the described disadvantages of the prior art and improves the level of security of applications and its objects.

Сущность изобретенияSUMMARY OF THE INVENTION

Настоящее изобретение предназначено для защиты приложений от других процессов, исполняющихся на компьютере. Техническим результатом настоящего изобретения является предотвращение несанкционированного доступа к объектам защищаемого приложения. Описанное далее изобретение позволяет перехватывать программные запросы к объектам защищаемого приложения, анализировать их на вредоносный характер и в случае опасности блокировать запрос, виртуализировать объекты приложения и хостовой системы и в зависимости от результатов анализа запроса предоставлять ссылку на объект или его виртуальную копию. Система защиты компьютерных приложений состоит из: (а) драйвера защиты, который предназначен для перехвата программных запросов; (б) обработчика безопасной среды исполнения, который предназначен для выделения программных запросов к объектам защищаемого приложения от процессов хостовой системы, обработки выделенных запросов в соответствии с установленными ограничениями и отправки ответа на перехваченный запрос, включающего запрашиваемый объект, ошибку или виртуальный объект в зависимости от установленных ограничений; (в) безопасной среды исполнения, предназначенной для создания виртуальных копий объектов, к которым адресуются перехваченные запросы.The present invention is intended to protect applications from other processes running on a computer. The technical result of the present invention is the prevention of unauthorized access to the objects of the protected application. The invention described below allows you to intercept software requests to the objects of the protected application, analyze them for malicious character and, in case of danger, block the request, virtualize the application and host system objects and, depending on the results of the request analysis, provide a link to the object or its virtual copy. The security system for computer applications consists of: (a) a security driver that is designed to intercept software requests; (b) a safe runtime processor that is designed to isolate program requests to the objects of the protected application from the host system processes, process selected requests in accordance with the established restrictions, and send a response to the intercepted request, including the requested object, error, or virtual object, depending on the installed restrictions; (c) a secure execution environment designed to create virtual copies of objects to which intercepted requests are addressed.

Система защиты компьютерных приложений также может быть настроена на обработку запросов от приложений к хостовой системе.The computer application security system can also be configured to process requests from applications to the host system.

Вариант реализации изобретения предполагает перехват запросов, включающих операцию открытия процесса, или операцию открытия потока, или операцию чтения памяти процесса, или операцию прямого доступ к памяти, или операцию доступа к файловой системе, или операцию доступа к реестру, или операцию доступа к объектам ядра ОС, или операцию на получение привилегий, имя объекта в качестве операнда.An embodiment of the invention involves intercepting requests including a process open operation, or a thread open operation, or a process memory read operation, or a direct memory access operation, or a file system access operation, or a registry access operation, or an access operation to OS kernel objects , or operation to obtain privileges, the name of the object as an operand.

В одном из вариантов реализации система защиты приложений содержит средство обнаружения угроз, предназначенное для определения вредоносного характера перехваченного запроса и блокирования запроса в том случае, если вредоносный характер перехваченного запроса установлен.In one embodiment, the application protection system comprises a threat detection means for determining the malicious nature of the intercepted request and blocking the request if the malicious nature of the intercepted request is established.

В другом варианте реализации безопасная среда исполнения контролирует изменения виртуальных объектов и позволяет применить изменения путем переноса виртуальных объектов в хостовую систему или отменить изменения, удалив редактированные виртуальные объекты.In another embodiment, the secure runtime monitors changes to virtual objects and allows you to apply changes by transferring virtual objects to the host system or discard changes by deleting edited virtual objects.

В одном из примеров системы защиты приложений объектами хостовой системы или объектами приложения являются запись реестра, каталоги файловой системы, ядро операционной системы и сервисы пользователя.In one example of an application security system, host system objects or application objects are registry entries, file system directories, the kernel of the operating system, and user services.

Краткое описание прилагаемых чертежейBrief description of the attached drawings

Сопровождающие чертежи, которые включены для обеспечения дополнительного понимания изобретения и составляют часть этого описания, показывают варианты осуществления изобретения и совместно с описанием служат для объяснения принципов работы изобретения.The accompanying drawings, which are included to provide an additional understanding of the invention and form part of this description, show embodiments of the invention and together with the description serve to explain the principles of the invention.

Заявленное изобретение поясняется следующими чертежами, на которых:The claimed invention is illustrated by the following drawings, in which:

Фиг.1 показывает пример архитектуры компьютерной системы с установленной операционной системой и работающими в ней приложениями.Figure 1 shows an example architecture of a computer system with an installed operating system and applications running in it.

Фиг.2 показывает пример архитектуры компьютерной системы с установленной операционной системой, работающими в ней приложениями и системой защиты приложений.Figure 2 shows an example architecture of a computer system with an installed operating system, applications running in it, and an application security system.

Фиг.3 показывает пример виртуализации СОМ-подсистемы.Figure 3 shows an example of virtualization of the COM subsystem.

Фиг.4 показывает один из вариантов схемы перехватов и обработки запросов приложения.Figure 4 shows one embodiment of an interception scheme and processing application requests.

Фиг.5 показывает состав виртуальных объектов в безопасной среде исполнения.Figure 5 shows the composition of virtual objects in a secure runtime.

Фиг.6 показывает способ переадресации запросов за счет изменения имен портов.6 shows a method of forwarding requests by changing port names.

Фиг.7 показывает функциональную схему системы защиты приложений.7 shows a functional diagram of an application security system.

Фиг.8 показывает блок-схему способа защиты приложений.FIG. 8 shows a flowchart of an application security method.

Фиг.9 показывает схему системы защиты приложений.9 shows a diagram of an application security system.

Фиг.10 показывает пример компьютерной системы общего назначения.10 shows an example of a general purpose computer system.

Описание предпочтительных вариантов осуществленияDescription of Preferred Embodiments

Объекты и признаки настоящего изобретения, способы для достижения этих объектов и признаков станут очевидными посредством отсылки к примерным вариантам осуществления. Однако настоящее изобретение не ограничивается примерными вариантами осуществления, раскрытыми ниже, оно может воплощаться в различных видах. Сущность, приведенная в описании, является ничем иным, как конкретными деталями для помощи специалисту в области техники в исчерпывающем понимании изобретения, и настоящее изобретение определяется только в объеме приложенной формулы.The objects and features of the present invention, methods for achieving these objects and features will become apparent by reference to exemplary embodiments. However, the present invention is not limited to the exemplary embodiments disclosed below, it can be embodied in various forms. The essence described in the description is nothing more than specific details to assist the specialist in the field of technology in a comprehensive understanding of the invention, and the present invention is defined only in the scope of the attached claims.

Система защиты компьютерной программы представляет собой устройство, предназначенное для безопасной работы приложения в программной среде, подверженной угрозам вирусного заражения и несанкционированного доступа.The computer program protection system is a device designed for safe operation of the application in a software environment that is prone to threats of virus infection and unauthorized access.

Система защиты компьютерной программы осуществляет защиту файлов, процессов приложения от других приложений и служб за счет виртуализации приложения и за счет набора правил, по которым осуществляется взаимодействие приложения с компьютерной системой.The computer program protection system protects files, application processes from other applications and services due to application virtualization and due to a set of rules by which the application interacts with the computer system.

При отсутствии в компьютере системы защиты программа, исполняемая в режиме пользователя, остается уязвимой, например, для троянских вредоносных программ, которые перехватывают информацию ввода/вывода, данные из программных файлов, которые могут содержать конфиденциальную информацию, и отсылают их злоумышленнику.In the absence of a security system in the computer, the program executed in user mode remains vulnerable, for example, to Trojan malware that intercepts I / O information, data from program files that may contain confidential information and sends it to an attacker.

На Фиг.1 показан пример архитектуры компьютерной системы с установленной операционной системой и работающими в ней приложениями 100, которые в совокупности составляют хостовую систему. Управление аппаратными средствами 120, в том числе процессором, памятью, осуществляется программно. Процессоры и операционные системы поддерживают несколько уровней привилегий исполнения программ. В частности, операционная система (ОС) Windows поддерживает два режима исполнения программ: режим ядра 110 и режим пользователя 115. Приложения запускаются в режиме пользователя. Это увеличивает степень защищенности всей системы от критических ошибок и защищает системные службы 130, драйверы 140 и другие процессы, необходимые для корректной работы компьютера. В системе пользователя также работают сервисы 150, например, службы безопасности, такие как антивирус, которые контролируют работу приложений и состояние системы в целом.Figure 1 shows an example architecture of a computer system with an installed operating system and applications 100 running in it, which together constitute a host system. Hardware management 120, including the processor, memory, is carried out programmatically. Processors and operating systems support several levels of privileges for executing programs. In particular, the Windows operating system (OS) supports two modes of program execution: kernel mode 110 and user mode 115. Applications run in user mode. This increases the degree of security of the entire system from critical errors and protects system services 130, drivers 140, and other processes necessary for the computer to function correctly. The user’s system also runs services 150, for example, security services, such as anti-virus, which monitor the operation of applications and the state of the system as a whole.

На Фиг.2 показан пример реализации системы защиты приложения в хостовой системе. Под хостовой системой в данной заявке следует понимать основную операционную систему, приложения, работающие в ней, и обрабатываемые ей файлы. В операционную систему встраивается драйвер защиты 230, который перехватывает все программные запросы к приложению 100 и от него, а также переправляет их в среду безопасного исполнения 220, которая работает в режиме пользователя. Безопасная среда исполнения (БСИ) 220 обрабатывает запрос в виртуальной системе, после чего отсылается ответ на запрос без воздействия на хостовую систему. Под хостовой системой понимается операционная система, работающие в данной операционной системе приложения и их объекты. Объектами хостовой системы и, в частности, объектами приложения являются каталоги и файлы, процессы, ключи реестра, библиотеки, область памяти и т.д.Figure 2 shows an example implementation of an application security system in a host system. The host system in this application should be understood as the main operating system, the applications running in it, and the files processed by it. A security driver 230 is built into the operating system, which intercepts all program requests to and from the application 100, and also forwards them to the secure execution environment 220, which operates in user mode. Safe Execution Environment (BSI) 220 processes the request in a virtual system, after which a response to the request is sent without affecting the host system. Host system is understood as an operating system, applications and their objects working in a given operating system. The objects of the host system and, in particular, the objects of the application are directories and files, processes, registry keys, libraries, memory, etc.

БСИ 220 является сервисом операционной системы 150, работающим на уровне пользователя. Пример виртуализации СОМ-подсистемы показан на Фиг.3. Модель СОМ предоставляет возможность создания многократно используемых компонентов. Такие компоненты представляют собой исполняемые файлы или динамические библиотеки, которые созданы с возможностью их вызова из любой программы, поддерживающей модель СОМ. Примером такой программы является Internet Explorer или другой браузер. Через СОМ возможно получить доступ к запущенной копии приложения и управлять ею. При обращении к сервису СОМ 300 запрос переадресуется в виртуальную копию СОМ 301, созданную безопасной средой исполнения. Благодаря этому доступ к СОМ-объектам операционной системы и отдельных приложений осуществляется не напрямую. Виртуальный сервис СОМ не отличается от оригинального сервиса. При запросе от приложения он запускает СОМ-сервер 310, который возвращает приложению 100 требуемый объект. Виртуальный сервис соответственно создает виртуальный сервер 311 и возвращает виртуальный объект.BSI 220 is an operating system service 150 operating at the user level. An example of virtualization of the COM subsystem is shown in Figure 3. The COM model provides the ability to create reusable components. Such components are executable files or dynamic libraries that are created with the ability to call them from any program that supports the COM model. An example of such a program is Internet Explorer or another browser. Through COM, it is possible to access and manage a running copy of the application. When accessing the COM 300 service, the request is redirected to a virtual copy of COM 301 created by the secure runtime. Due to this, access to the COM objects of the operating system and individual applications is not carried out directly. The virtual COM service is no different from the original service. Upon request from the application, it starts the COM server 310, which returns the required object to the application 100. The virtual service accordingly creates a virtual server 311 and returns a virtual object.

На Фиг.4 показана общая схема работы безопасной среды исполнения для защиты хостовой системы от заражения. Во время исполнения приложения 100 перехватываются следующие запросы:Figure 4 shows the general operation scheme of a secure runtime environment to protect the host system from infection. At runtime, application 100 intercepts the following requests:

- открытие процесса/потока;- opening a process / thread;

- чтение памяти процесса;- reading process memory;

- прямой доступ к памяти/диску;- direct access to memory / disk;

- доступ к файловой системе, реестру и объектам ядра ОС 400;- access to the file system, registry and kernel objects of the OS 400;

- запрос на получение привилегий.- request for privileges.

Приложение посылает запрос ОС 400, где его должен обработать обработчик 405 ОС. Указанные выше запросы перехватываются и не попадают в обработчик 405. Перехват осуществляется драйвером защиты 230, после чего запрос перенаправляется в безопасную среду исполнения 220, где выполняется виртуализация необходимых объектов системы. Запрос попадает к обработчику 410 безопасной среды исполнения, где процесс исполняется.The application sends an OS 400 request, where the OS handler 405 should process it. The above requests are intercepted and do not fall into the handler 405. The interception is carried out by the protection driver 230, after which the request is redirected to the secure execution environment 220, where the necessary system objects are virtualized. The request goes to the processor 410 safe runtime environment, where the process is executed.

Ход выполнения программы зависит от уровня детализации виртуализации хостовой системы. Для эффективной работы без возникновения ошибок необходимо создать виртуальную копию файловой системы, реестра и некоторых служб ОС. На Фиг.5 показан состав виртуальных объектов, входящих в безопасную среду исполнения 220. В нее входят виртуализация сервисов пользователя 500 и СОМ подсистемы 505, виртуализация объектов ядра 510 (port, pipe, event, mutex, section, smaphore), виртуализация реестра 520 и виртуализация файловой системы 530. Виртуализация происходит без процесса инсталляции, перезагрузки системы, т.к. не требует изменений в ядре ОС.The progress of the program depends on the level of detail of the host virtualization. To work effectively without errors, you must create a virtual copy of the file system, registry and some OS services. Figure 5 shows the composition of virtual objects included in the secure runtime environment 220. It includes virtualization of user services 500 and COM subsystem 505, virtualization of kernel objects 510 (port, pipe, event, mutex, section, smaphore), registry virtualization 520, and file system 530 virtualization. Virtualization occurs without the installation process, system reboot, because does not require changes in the kernel of the OS.

Виртуализация подразумевает, что изменения, которые приложение совершает в системе, реально в системе не совершаются. Оригинальная информация в хостовой системе (файл или ключ реестра) не меняется. Под виртуализацией процесса понимается виртуализация его доступа к объектам ОС (в том числе к файлам и реестру). Виртуализация объекта предполагает создание его виртуальной копии, если это необходимо (может быть также предоставлен доступ к реальному объекту). Создание копии выполняется по решению обработчика безопасной среды исполнения. Реальный объект возвращается, как правило, при доступе только на чтение. Виртуальные файлы хранятся в специальной директории, а ключи реестра в специальной ветке реестра. Другие объекты ОС хранятся в оперативной памяти.Virtualization implies that the changes that the application makes in the system are not really made in the system. The original information in the host system (file or registry key) does not change. Virtualization of a process refers to virtualization of its access to OS objects (including files and registry). Virtualizing an object involves creating a virtual copy of it if necessary (access to the real object can also be provided). Creating a copy is performed by the decision of the processor of the safe execution environment. The real object is returned, as a rule, with read-only access. Virtual files are stored in a special directory, and registry keys in a special registry branch. Other OS objects are stored in RAM.

Драйвер защиты 230 перехватывает также локальные вызовы процедур (LPC). Это позволяет системе защиты приложения изолировать приложения за счет подмены имен портов. Пример подобного перехвата отражен на Фиг.6. Приложение отправляет запрос на создание объекта в библиотеку внедрения объектов OLE32.dll 600 (в ОС Windows). Данная библиотека вызывает функцию установления соединения с портом NtConnectPort("\\RPC_Control\epmapper"), где "\\RPC_Control\epmapper" - имя порта. Запрос перехватывается и заменяется имя порта. После подмены имени порта запрос поступает не в сервис удаленного вызова процедур RPCSS 610 (в ОС Windows), а в виртуальный сервис удаленного вызова процедур Virtual RPCSS 615. Виртуальный сервис 615 возвращает приложению интерфейс epmapper для дальнейшего взаимодействия с виртуальной системой.Security driver 230 also intercepts local procedure calls (LPCs). This allows the application security system to isolate applications by spoofing port names. An example of such an interception is shown in Fig.6. The application sends a request to create an object to the OLE32.dll 600 object injection library (on Windows). This library calls the function of establishing a connection to the NtConnectPort port ("\\ RPC_Control \ epmapper"), where "\\ RPC_Control \ epmapper" is the port name. The request is intercepted and replaced by the port name. After changing the port name, the request does not arrive at the RPCSS 610 remote procedure call service (on Windows), but at the Virtual RPCSS 615 remote procedure call service. The 615 virtual service returns the epmapper interface to the application for further interaction with the virtual system.

Предыдущие примеры рассматривались в отношении взаимодействия приложения с ОС. Подобные примеры раскрывают возможность защиты ОС от вредоносного воздействия на нее со стороны приложений. Однако виртуализировать все приложения на компьютере чрезвычайно ресурсоемкая задача и это нецелесообразно для решения задачи безопасной работы с конфиденциальной информацией. Существует ограниченный набор приложений на компьютере, которые хранят, передают и принимают информацию, содержащую личные данные, которые пользователь пожелал бы скрыть. К подобной информации относятся личная переписка, персональные данные, секретные коды, пароли, номера кредитных карт и другие данные. Виртуализация приложений и их взаимодействие с другими приложениями и ОС по определенным правилам является необходимым слоем защиты в условиях постоянного роста риска информационной безопасности. Описываемое изобретение позволяет ограничить приложение от потенциально вредоносного программного обеспечения без потери функциональности, не требует дополнительного процесса инсталляции и перезагрузок.Previous examples have been considered in relation to the interaction of the application with the OS. Such examples reveal the possibility of protecting the OS from malicious exposure on the part of applications. However, virtualizing all applications on a computer is an extremely resource-intensive task and it is not practical to solve the problem of safe work with confidential information. There is a limited set of applications on the computer that store, transmit and receive information containing personal data that the user would like to hide. Such information includes personal correspondence, personal data, secret codes, passwords, credit card numbers and other data. Application virtualization and their interaction with other applications and operating systems according to certain rules is a necessary layer of protection in the face of a constant increase in information security risk. The described invention allows you to limit the application from potentially malicious software without loss of functionality, does not require an additional installation process and reboots.

Система защиты приложений, являясь средством виртуализации приложения, организует в первую очередь защиту хостовой системы от заражения через уязвимости и ошибки в запущенном приложении по следующим принципам:The application protection system, as a means of application virtualization, primarily organizes the protection of the host system from infection through vulnerabilities and errors in the running application according to the following principles:

- ограничение доступа к защищенным объектам - объектам, содержащим конфиденциальные данные пользователя;- restriction of access to protected objects - objects containing confidential user data;

- защита хостовой системы от изменений: создание и предоставление копии объекта приложению, запущенному в безопасной среде исполнения при попытке модификации объекта в хостовой системе;- protection of the host system from changes: creating and providing a copy of the object to an application running in a safe runtime environment when trying to modify the object in the host system;

- защита критичных процессов и служб, запущенных в хостовой системе, от доступа со стороны приложения, запущенного в безопасной среде исполнения с целью исключения утечки вредоносных процессов в хостовую систему.- protection of critical processes and services running on the host system from access by an application running in a safe runtime to prevent malicious processes from leaking to the host system.

В данном случае система защиты приложений представляет собой фильтр запросов, поступающих от приложения, запущенного в безопасной среде исполнения, к объектам хостовой системы.In this case, the application protection system is a filter of requests from an application running in a safe runtime to the objects of the host system.

С другой стороны, за счет дополнительных ограничений и интеграции со средством обнаружения угроз, система защиты приложений позволяет получить новый технический результат, заключающийся в фильтрации запросов, поступающих к приложению, исполняемому в безопасной среде исполнения, от процессов, запущенных в хостовой системе.On the other hand, due to additional restrictions and integration with the threat detection tool, the application protection system allows you to get a new technical result, which consists in filtering requests received by the application running in a safe execution environment from processes running in the host system.

Реализация нового подхода к защите приложений дополнительно характеризуется следующими положительными факторами:The implementation of a new approach to application security is additionally characterized by the following positive factors:

- защита от проникновения вредоносных программ в ходе работы приложения в сети Интернет в хостовую систему;- protection against malware penetration during the operation of the application on the Internet in the host system;

- очистка временных файлов, журналов посещений и других данных, хранящих историю работы приложения;- cleaning of temporary files, visit logs and other data storing the history of the application;

- защита пользовательских данных, обрабатываемых защищаемым приложением, от несанкционированного доступа процессов из хостовой системы;- protection of user data processed by the protected application from unauthorized access of processes from the host system;

- безопасный запуск программ из защищаемого приложения, которые автоматически будут запущены в безопасной среде исполнения.- safe launch of programs from the protected application, which will be automatically launched in a safe execution environment.

На Фиг.7 показана работа песочницы для защиты приложения от вредоносной программы, которая не была обнаружена антивирусными средствами защиты хостовой системы. В качестве примера выбрано приложение браузер 700, как наиболее распространенное. Аналогично осуществляется защита для банковских приложений, средств быстрого обмена сообщениями, веб-агентов и других программ. Алгоритм кражи конфиденциальной информации, обрабатываемой программой, может содержать считывание памяти процесса и передача информации в сеть 711 вредоносной программой 710, установленной в хостовую систему. Когда некая программа обращается к браузеру, например, на чтение памяти одного из процессов, данный запрос перехватывается драйвером защиты 230. Среда безопасного исполнения 220 переправляет запрос и имя вызвавшей программы в средство проверки 210, которое должно определить характер запроса и установить вердикт - разрешить запрос, заблокировать запрос или перенаправить запрос в виртуальную систему. Средство проверки представляет собой экспертную систему правил 720, учитывающую запрос (действие), объект запроса, статистику запросов, атрибуты и поведение обращающейся к приложению программы. Простым примером подобных правил является исключение доступа в зависимости от объекта, отмеченного в примере угловыми скобками:Figure 7 shows the operation of the sandbox to protect the application from a malicious program that was not detected by anti-virus means of protecting the host system. As an example, the browser application 700 is selected as the most common. Similarly, protection is provided for banking applications, means of quick messaging, web agents and other programs. The algorithm for stealing confidential information processed by the program may include reading the process memory and transmitting information to the network 711 with a malicious program 710 installed in the host system. When a certain program accesses the browser, for example, to read the memory of one of the processes, this request is intercepted by the security driver 230. Safe execution environment 220 redirects the request and the name of the calling program to the verification tool 210, which should determine the nature of the request and establish a verdict - allow the request, block the request or redirect the request to the virtual system. The verification tool is an expert system of rules 720 that takes into account the request (action), the request object, request statistics, attributes, and behavior of the program accessing the application. A simple example of such rules is the exclusion of access depending on the object marked in angle brackets in the example:

Если {доступ к<объекту ядра ОС>}, то {доступ блокировать}If {access to <OS kernel object>}, then {access block}

В зависимости от вердикта запрос либо направляется обработчику ОС без модификации, либо блокируется, либо запрос направляется в виртуальную систему, созданную в безопасной среде исполнения. Обращения к процессам, данным и памяти приложений фильтруются в соответствии с правилами, что усиливает защиту доступа к конфиденциальным данным 730 приложения.Depending on the verdict, the request is either sent to the OS handler without modification, or it is blocked, or the request is sent to a virtual system created in a secure execution environment. Accesses to processes, data and application memory are filtered in accordance with the rules, which enhances the protection of access to sensitive data 730 of the application.

Алгоритм защиты приложения в виде блок-схемы показан на Фиг.8. Происходит перехват запроса 800 к приложению (памяти приложения, его процессам, файлам приложения) или от него. Запрос проверяется на соответствие правилам безопасности 810 и в результате проверки принимается решение 815 - запрос блокируется 825, если он не соответствует условиям безопасности, запрос разрешается 820 (посылается обработчику ОС), если не представляет угрозы, запрос виртуализируется, если запрос не соответствует первым двум условиям. Безопасная среда исполнения создает виртуальную систему 830, состав которой показан на Фиг.5. В виртуальной системе запрос обрабатывается виртуальным обработчиком 835 и подменяет память, процессы, файлы и другие объекты на виртуальные копии, которые возвращаются вызывающей программе. Производимые действия с виртуальной системой сохраняются 840 и далее по желанию могут быть применены 845 к хостовой системе. В случае применения изменений, объекты виртуальной системы переносятся 850 в хостовую. На этом цикл операций завершается 855 до следующего запроса, после чего цикл повторяется.The application security algorithm in the form of a block diagram is shown in Fig. 8. Request 800 is intercepted to or from the application (application memory, its processes, application files). The request is checked for compliance with safety rules 810 and the decision is made as a result of the verification 815 - the request is blocked 825 if it does not meet the security conditions, the request is allowed 820 (sent to the OS handler) if it does not pose a threat, the request is virtualized if the request does not meet the first two conditions . The secure runtime creates a virtual system 830, the composition of which is shown in FIG. 5. In a virtual system, the request is processed by virtual processor 835 and replaces memory, processes, files, and other objects with virtual copies that are returned to the calling program. The actions performed with the virtual system are stored 840 and then, if desired, 845 can be applied to the host system. In the case of applying the changes, the objects of the virtual system are transferred 850 to the host. This completes the operation cycle 855 until the next request, after which the cycle repeats.

Итоговая схема системы защиты приложений представлена на Фиг.9. Драйвер защиты 230 перехватывает программные запросы, которые и являются входными параметрами системы. Перехваченные запросы поступают в безопасную среду исполнения, в которой происходит виртуализация защищаемых приложений и обработка запроса обработчиком безопасной среды исполнения 900. Примеры перехватываемых запросов описаны выше. Если запрос направлен к критическому объекту с ограниченным доступом, создается виртуализированный объект, возвращаемый программе, от которой поступил запрос. Как показано на Фиг.9, объектами виртуализации являются файловая система 530, ядро операционной системы 510, реестр 520 и сервисы пользователя 500. Помимо ограничений, накладываемых безопасной средой исполнения на объекты защищаемого приложения, в системе также присутствует средство обнаружения угроз 210. Оно необходимо для определения подозрительной активности программ, обращающихся к защищаемому приложению, и анализа активности защищаемого приложения, на случай, чтобы оно не осуществляло действий, способных нанести ущерб хостовой системе. Обнаружение происходит по обновляемым правилам, составляющим рейтинг опасности того или иного процесса. Получив запрос, безопасная среда исполнения направляет его в средство обнаружения угроз, которое возвращает вердикт о том, является ли данный запрос безопасным или может составлять угрозу для приложения и обрабатываемых данных. Более подробное описание работы упомянутого средства обнаружения угроз содержится в патенте номер US7530106 «System and method for security rating of computer processes». Если запрос адресован от безопасного процесса и не попадает под ограничения безопасной среды исполнения, то он без изменений возвращается обработчику операционной системы. Другим случаем является необходимость блокировать запрос, когда процесс, сделавший запрос, может быть вредоносным. Еще одна ситуация возникает, когда запрос попадает под ограничения безопасной среды исполнения, например, чтение памяти процесса. Для того чтобы защитить данные приложения и сохранить при этом функциональность, запрос направляется в обработчик безопасной среды исполнения, который осуществляет взаимодействие с виртуальными объектами.The final diagram of the application security system is presented in Fig.9. The protection driver 230 intercepts program requests, which are the input parameters of the system. The intercepted requests arrive in a secure runtime, in which the protected applications are virtualized and the request is processed by the secure runtime processor 900. Examples of intercepted requests are described above. If the request is directed to a critical object with limited access, a virtualized object is created that is returned to the program from which the request was received. As shown in Fig. 9, the objects of virtualization are the file system 530, the kernel of the operating system 510, the registry 520, and user services 500. In addition to the restrictions imposed by the safe runtime environment on the objects of the protected application, the system also has a threat detection tool 210. It is necessary for determining the suspicious activity of programs accessing the protected application, and analyzing the activity of the protected application, in case it does not take actions that could harm the host system. Detection takes place according to updated rules that make up the hazard rating of a process. Upon receipt of the request, the secure runtime sends it to the threat detection tool, which returns a verdict on whether the request is safe or could constitute a threat to the application and the data being processed. A more detailed description of the operation of the aforementioned threat detection tool is contained in patent number US7530106 "System and method for security rating of computer processes". If the request is addressed from a safe process and does not fall under the restrictions of a safe runtime environment, then it is returned to the processor of the operating system without changes. Another case is the need to block the request when the process that made the request may be malicious. Another situation arises when a request falls within the limits of a safe execution environment, for example, reading process memory. In order to protect application data and preserve functionality, the request is sent to the secure execution environment handler, which interacts with virtual objects.

Фиг.10 представляет пример компьютерной системы общего назначения, персональный компьютер или сервер 20, содержащий центральный процессор 21, системную память 22 и системную шину 23, которая содержит разные системные компоненты, в том числе память, связанную с центральным процессором 21. Системная шина 23 реализована, как любая известная из уровня техники шинная структура, содержащая в свою очередь память шины или контроллер памяти шины, периферийную шину и локальную шину, которая способна взаимодействовать с любой другой шинной архитектурой. Системная память содержит постоянное запоминающее устройство (ПЗУ) 24, память с произвольным доступом (ОЗУ) 25. Основная система ввода/вывода (BIOS) 26 содержит основные процедуры, которые обеспечивают передачу информации между элементами персонального компьютера 20, например, в момент загрузки операционной системы с использованием ПЗУ 24.10 is an example of a general purpose computer system, a personal computer or server 20 comprising a central processor 21, a system memory 22, and a system bus 23 that contains various system components, including memory associated with the central processor 21. The system bus 23 is implemented like any bus structure known in the art, which in turn contains a bus memory or a bus memory controller, a peripheral bus and a local bus that is capable of interacting with any other bus architecture. The system memory contains read-only memory (ROM) 24, random access memory (RAM) 25. The main input / output system (BIOS) 26 contains the basic procedures that ensure the transfer of information between the elements of the personal computer 20, for example, at the time of loading the operating system using ROM 24.

Персональный компьютер 20 в свою очередь содержит жесткий диск 27 для чтения и записи данных, привод магнитных дисков 28 для чтения и записи на сменные магнитные диски 29 и оптический привод 30 для чтения и записи на сменные оптические диски 31, такие как CD-ROM, DVD-ROM и иные оптические носители информации. Жесткий диск 27, привод магнитных дисков 28, оптический привод 30 соединены с системной шиной 23 через интерфейс жесткого диска 32, интерфейс привода магнитных дисков 33 и интерфейс оптического привода 34 соответственно. Приводы и соответствующие компьютерные носители информации представляют собой энергонезависимые средства хранения компьютерных инструкций, структур данных, программных модулей и прочих данных персонального компьютера 20.The personal computer 20 in turn contains a hard disk 27 for reading and writing data, a magnetic disk drive 28 for reading and writing to removable magnetic disks 29, and an optical drive 30 for reading and writing to removable optical disks 31, such as a CD-ROM, DVD -ROM and other optical information carriers. The hard disk 27, the magnetic disk drive 28, the optical drive 30 are connected to the system bus 23 through the interface of the hard disk 32, the magnetic disk drive interface 33 and the optical drive interface 34, respectively. Drives and associated computer storage media are non-volatile means of storing computer instructions, data structures, software modules and other data of a personal computer 20.

Настоящее описание раскрывает реализацию системы, которая использует жесткий диск 27, сменный магнитный диск 29 и сменный оптический диск 31, но следует понимать, что возможно применение иных типов компьютерных носителей информации 56, которые способны хранить данные в доступной для чтения компьютером форме (твердотельные накопители, флеш-карты памяти, цифровые диски, память с произвольным доступом (ОЗУ) и т.п.), которые подключены к системной шине 23 через контроллер 55.The present description discloses an implementation of a system that uses a hard disk 27, a removable magnetic disk 29, and a removable optical disk 31, but it should be understood that other types of computer storage media 56 that can store data in a form readable by a computer (solid state drives, flash memory cards, digital disks, random access memory (RAM), etc.) that are connected to the system bus 23 through the controller 55.

Компьютер 20 имеет файловую систему 36, где хранится записанная операционная система 35 и дополнительные программные приложения 37, другие программные модули 38 и программные данные 39. Пользователь имеет возможность вводить команды и информацию в персональный компьютер 20 посредством устройств ввода (клавиатуры 40, манипулятора «мышь» 42). Могут использоваться другие устройства ввода (не отображены): микрофон, джойстик, игровая консоль, сканер и т.п. Подобные устройства ввода по своему обычаю подключают к компьютерной системе 20 через последовательный порт 46, который в свою очередь подсоединен к системной шине, но могут быть подключены иным способом, например, при помощи параллельного порта, игрового порта или универсальной последовательной шины (USB). Монитор 47 или иной тип устройства отображения также подсоединен к системной шине 23 через интерфейс, такой как видеоадаптер 48. В дополнение к монитору 47, персональный компьютер может быть оснащен другими периферийными устройствами вывода (не отображены), например, колонками, принтером и т.п.Computer 20 has a file system 36 where the recorded operating system 35 and additional software applications 37, other program modules 38, and program data 39 are stored. The user is able to enter commands and information into the personal computer 20 via input devices (keyboard 40, mouse) 42). Other input devices (not displayed) can be used: microphone, joystick, game console, scanner, etc. Such input devices are, as usual, connected to the computer system 20 via a serial port 46, which in turn is connected to the system bus, but can be connected in another way, for example, using a parallel port, a game port, or a universal serial bus (USB). A monitor 47 or other type of display device is also connected to the system bus 23 via an interface such as a video adapter 48. In addition to the monitor 47, the personal computer can be equipped with other peripheral output devices (not displayed), for example, speakers, a printer, etc. .

Персональный компьютер 20 способен работать в сетевом окружении, при этом используется сетевое соединение с другим или несколькими удаленными компьютерами 49. Удаленный компьютер (или компьютеры) 49 являются такими же персональными компьютерами или серверами, которые имеют большинство или все упомянутые элементы, отмеченные ранее при описании существа персонального компьютера 20, представленного на Фиг.10. В вычислительной сети могут присутствовать также и другие устройства, например, маршрутизаторы, сетевые станции, пиринговые устройства или иные сетевые узлы.The personal computer 20 is capable of operating in a networked environment, using a network connection with another or more remote computers 49. The remote computer (or computers) 49 are the same personal computers or servers that have most or all of the elements mentioned earlier in the description of the creature personal computer 20 shown in Fig.10. Other devices, such as routers, network stations, peer-to-peer devices, or other network nodes may also be present on the computer network.

Сетевые соединения могут образовывать локальную вычислительную сеть (LAN) 50 и глобальную вычислительную сеть (WAN). Такие сети применяются в корпоративных компьютерных сетях, внутренних сетях компаний и, как правило, имеют доступ к сети Интернет. В LAN- или WAN-сетях персональный компьютер 20 подключен к локальной сети 50 через сетевой адаптер или сетевой интерфейс 51. При использовании сетей персональный компьютер 20 может использовать модем 54 или иные средства обеспечения связи с глобальной вычислительной сетью, такой как Интернет. Модем 54, который является внутренним или внешним устройством, подключен к системной шине 23 посредством последовательного порта 46. Следует уточнить, что сетевые соединения являются лишь примерными и не обязаны отображать точную конфигурацию сети, т.е. в действительности существуют иные способы установления соединения техническими средствами связи одного компьютера с другим.Network connections can form a local area network (LAN) 50 and a wide area network (WAN). Such networks are used in corporate computer networks, internal networks of companies and, as a rule, have access to the Internet. In LAN or WAN networks, the personal computer 20 is connected to the local area network 50 via a network adapter or network interface 51. When using the networks, the personal computer 20 may use a modem 54 or other means of providing communication with a global computer network such as the Internet. The modem 54, which is an internal or external device, is connected to the system bus 23 via the serial port 46. It should be clarified that the network connections are only exemplary and are not required to display the exact network configuration, i.e. in reality, there are other ways to establish a technical connection between one computer and another.

В заключение следует отметить, что приведенные в описании сведения являются только примерами, которые не ограничивают объем настоящего изобретения, описанного формулой. Специалисту в данной области становится понятным, что могут существовать и другие варианты осуществления настоящего изобретения, согласующиеся с сущностью и объемом настоящего изобретения.In conclusion, it should be noted that the information provided in the description are only examples that do not limit the scope of the present invention described by the claims. One skilled in the art will recognize that there may be other embodiments of the present invention consistent with the spirit and scope of the present invention.

Claims (16)

1. Система защиты компьютерных приложений, состоящая из:
(а) драйвера защиты, загруженного в память и исполняемого на процессоре хостовой системы, который предназначен для перехвата программных запросов на уровне ядра хостовой системы и связан при этом с обработчиком безопасной среды исполнения;
(б) обработчика безопасной среды исполнения, загруженного в память и исполняемого на процессоре хостовой системы, который предназначен для:
- выделения программных запросов к объектам защищаемого приложения от процессов хостовой системы и обработки выделенных запросов в соответствии с установленными ограничениями, накладываемыми на объект, или на операцию, или на операцию с объектом;
- отправки ответа на перехваченный запрос, включающего:
- запрашиваемый объект, в том случае, если запрос к данному объекту разрешен в соответствии с упомянутыми ограничениями, или
- ошибку в случае, если запрос к данному объекту заблокирован в соответствии с упомянутыми ограничениями, или
- виртуальный объект в том случае, если запрос к данному объекту не заблокирован и не разрешен в соответствии с упомянутыми ограничениями, при этом упомянутый обработчик безопасной среды исполнения связан с безопасной средой исполнения;
(в) безопасной среды исполнения, загруженной в память, исполняемой на процессоре хостовой системы и предназначенной для создания виртуальных копий объектов, к которым адресуются перехваченные запросы.
1. A system for protecting computer applications, consisting of:
(a) a protection driver loaded into memory and executed on the processor of the host system, which is designed to intercept software requests at the kernel level of the host system and is associated with the processor of the safe execution environment;
(b) a processor for a secure execution environment loaded into memory and executed on the processor of the host system, which is intended for:
- allocation of program requests to the objects of the protected application from the processes of the host system and processing of selected requests in accordance with the established restrictions imposed on the object, or on the operation, or on the operation with the object;
- sending a response to an intercepted request, including:
- the requested object, if the request for this object is allowed in accordance with the mentioned restrictions, or
- an error if the request to this object is blocked in accordance with the mentioned restrictions, or
- a virtual object in the event that the request to this object is not blocked and is not allowed in accordance with the mentioned restrictions, while the said processor of the safe execution environment is associated with a safe execution environment;
(c) a secure execution environment loaded into memory executable on the processor of the host system and designed to create virtual copies of objects to which intercepted requests are addressed.
2. Система по п.1, которая дополнительно содержит средство обнаружения угроз, загруженное в память, исполняемое на процессоре и предназначенное для определения вредоносного характера перехваченного запроса и блокирования запроса в том случае, если вредоносный характер перехваченного запроса установлен.2. The system according to claim 1, which further comprises a threat detection tool loaded into memory executed on the processor and designed to determine the malicious nature of the intercepted request and block the request if the malicious nature of the intercepted request is established. 3. Система по п.1, в которой обработчик безопасной среды исполнения предназначен также для обработки программных запросов от приложения к объектам хостовой системы в соответствии с установленными ограничениями.3. The system of claim 1, wherein the safe runtime processor is also designed to process program requests from the application to the host system objects in accordance with the established restrictions. 4. Система по п.1, в которой безопасная среда исполнения предназначена также для сохранения изменений виртуальных объектов.4. The system according to claim 1, in which the safe runtime is also designed to save changes to virtual objects. 5. Система по п.4, в которой безопасная среда исполнения предназначена также для переноса сохраненных изменений виртуальных объектов в объекты хостовой системы.5. The system according to claim 4, in which the safe runtime is also intended for transferring saved changes of virtual objects to objects of the host system. 6. Система по п.4, в которой безопасная среда исполнения предназначена также для удаления сохраненных изменений виртуальных объектов.6. The system according to claim 4, in which the safe runtime is also designed to delete saved changes to virtual objects. 7. Система по п.1, в которой объектами хостовой системы или объектами приложения являются, по меньшей мере, запись реестра, каталоги файловой системы, ядро операционной системы и сервисы пользователя.7. The system according to claim 1, in which the objects of the host system or objects of the application are at least a registry entry, file system directories, the kernel of the operating system and user services. 8. Система по п.1, в которой перехватываемый запрос включает операцию открытия процесса, или операцию открытия потока, или операцию чтения памяти процесса, или операцию прямого доступ к памяти, или операцию доступа к файловой системе, или операцию доступа к реестру, или операцию доступа к объектам ядра ОС, или операцию на получение привилегий и имя объекта в качестве операнда.8. The system of claim 1, wherein the intercepted request includes a process open operation, or a thread open operation, or a process memory read operation, or a direct memory access operation, or a file system access operation, or a registry access operation, or an operation access to the objects of the OS kernel, or the operation to obtain privileges and the name of the object as an operand. 9. Способ защиты приложений, в котором:
(а) перехватывают программные запросы на уровне ядра хостовой системы;
(б) выделение программных запросов к объектам защищаемого приложения от процессов хостовой системы;
(в) обрабатывают перехваченный запрос в соответствии с установленными ограничениями, накладываемыми на объект, или на операцию, или на операцию с объектом;
(г) создают виртуальную копию объекта, к которому адресуется перехваченный запрос;
(д) отправляют ответ на перехваченный запрос, включающий:
- запрашиваемый объект в том случае, если запрос к данному объекту разрешен в соответствии с упомянутыми ограничениями, или
- ошибку в случае, если запрос к данному объекту заблокирован в соответствии с упомянутыми ограничениями, или
- виртуальную копию запрашиваемого объекта в том случае, если запрос к данному объекту не заблокирован и не разрешен в соответствии с упомянутыми ограничениями.
9. A method of protecting applications in which:
(a) intercept program requests at the kernel level of the host system;
(b) the allocation of program requests to the objects of the protected application from the processes of the host system;
(c) process the intercepted request in accordance with the established restrictions imposed on the object, or on the operation, or on the operation with the object;
(d) create a virtual copy of the object to which the intercepted request is addressed;
(e) send a response to the intercepted request, including:
- the requested object if the request to this object is permitted in accordance with the above restrictions, or
- an error if the request to this object is blocked in accordance with the mentioned restrictions, or
- a virtual copy of the requested object in the event that the request to this object is not blocked and is not allowed in accordance with the mentioned restrictions.
10. Способ по п.9, в котором дополнительно определяют вредоносный характер перехваченного запроса и блокируют запрос в том случае, если вредоносный характер перехваченного запроса установлен.10. The method according to claim 9, in which additionally determine the malicious nature of the intercepted request and block the request if the malicious nature of the intercepted request is established. 11. Способ по п.9, в котором дополнительно перехватывают программные запросы от приложения к объектам хостовой системы.11. The method according to claim 9, in which additionally intercept program requests from the application to the objects of the host system. 12. Способ по п.9, в котором дополнительно сохраняют изменения виртуальных объектов.12. The method according to claim 9, in which additionally save changes to virtual objects. 13. Способ по п.12, в котором дополнительно переносят сохраненные изменения виртуальных объектов в объекты хостовой системы.13. The method according to item 12, in which the stored changes of the virtual objects are further transferred to the objects of the host system. 14. Способ по п.12, в котором дополнительно удаляют сохраненные изменения виртуальных объектов.14. The method of claim 12, further comprising deleting the stored changes to the virtual objects. 15. Способ по п.9, в котором объектами хостовой системы или объектами приложения являются, по меньшей мере, запись реестра, каталоги файловой системы, ядро операционной системы и сервисы пользователя.15. The method according to claim 9, in which the objects of the host system or objects of the application are at least a registry entry, file system directories, the kernel of the operating system and user services. 16. Способ по п.9, в котором перехватываемый запрос включает операцию открытия процесса, или операцию открытия потока, или операцию чтение памяти процесса, или операцию прямого доступ к памяти, или операцию доступа к файловой системе, или операцию доступа к реестру, или операцию доступа к объектам ядра ОС, или операцию на получение привилегий и имя объекта в качестве операнда. 16. The method according to claim 9, in which the intercepted request includes a process opening operation, or a thread opening operation, or a process memory reading operation, or a direct memory access operation, or a file system access operation, or a registry access operation, or an operation access to the objects of the OS kernel, or the operation to obtain privileges and the name of the object as an operand.
RU2011126328/08A 2011-06-28 2011-06-28 System and method of protecting computer applications RU2460133C1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
RU2011126328/08A RU2460133C1 (en) 2011-06-28 2011-06-28 System and method of protecting computer applications

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
RU2011126328/08A RU2460133C1 (en) 2011-06-28 2011-06-28 System and method of protecting computer applications

Publications (1)

Publication Number Publication Date
RU2460133C1 true RU2460133C1 (en) 2012-08-27

Family

ID=46937931

Family Applications (1)

Application Number Title Priority Date Filing Date
RU2011126328/08A RU2460133C1 (en) 2011-06-28 2011-06-28 System and method of protecting computer applications

Country Status (1)

Country Link
RU (1) RU2460133C1 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2537814C2 (en) * 2013-02-06 2015-01-10 Закрытое акционерное общество "Крафтвэй корпорейшн ПЛС" Method of launching hypervisor in computer system at early computer booting stage
RU2538286C2 (en) * 2013-02-06 2015-01-10 Закрытое акционерное общество "Крафтвэй корпорейшн ПЛС" Method of launching hypervisor in computer system at early computer booting stage
RU2606877C1 (en) * 2015-09-28 2017-01-10 Общество С Ограниченной Ответственностью "Яндекс" System and method of processing data in executed on computer system
US10855725B2 (en) 2016-06-02 2020-12-01 Microsoft Technology Licensing, Llc Hardware-based virtualized security isolation

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU84594U1 (en) * 2009-03-10 2009-07-10 Федеральное государственное унитарное предприятие "18 Центральный научно-исследовательский институт" Министерства обороны Российской Федерации STORAGE WITH PROTECTION FROM UNAUTHORIZED ACCESS TO MEMORY

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU84594U1 (en) * 2009-03-10 2009-07-10 Федеральное государственное унитарное предприятие "18 Центральный научно-исследовательский институт" Министерства обороны Российской Федерации STORAGE WITH PROTECTION FROM UNAUTHORIZED ACCESS TO MEMORY

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2537814C2 (en) * 2013-02-06 2015-01-10 Закрытое акционерное общество "Крафтвэй корпорейшн ПЛС" Method of launching hypervisor in computer system at early computer booting stage
RU2538286C2 (en) * 2013-02-06 2015-01-10 Закрытое акционерное общество "Крафтвэй корпорейшн ПЛС" Method of launching hypervisor in computer system at early computer booting stage
RU2538286C9 (en) * 2013-02-06 2018-07-12 Закрытое акционерное общество "Крафтвэй корпорэйшн ПЛС" Method of launching hypervisor in computer system at early computer booting stage
RU2537814C9 (en) * 2013-02-06 2018-07-13 Закрытое акционерное общество "Крафтвэй корпорэйшн ПЛС" Method of launching hypervisor in computer system at early computer booting stage
RU2606877C1 (en) * 2015-09-28 2017-01-10 Общество С Ограниченной Ответственностью "Яндекс" System and method of processing data in executed on computer system
US9996702B2 (en) 2015-09-28 2018-06-12 Yandex Europe Ag System for and method of data processing in a computer-implemented system
US10855725B2 (en) 2016-06-02 2020-12-01 Microsoft Technology Licensing, Llc Hardware-based virtualized security isolation
RU2755880C2 (en) * 2016-06-02 2021-09-22 МАЙКРОСОФТ ТЕКНОЛОДЖИ ЛАЙСЕНСИНГ, ЭлЭлСи Hardware virtualized isolation for ensuring security

Similar Documents

Publication Publication Date Title
US10956184B2 (en) On-demand disposable virtual work system
US8099596B1 (en) System and method for malware protection using virtualization
US10242186B2 (en) System and method for detecting malicious code in address space of a process
RU2714607C2 (en) Double self-test of memory for protection of multiple network endpoints
US9396326B2 (en) User transparent virtualization method for protecting computer programs and data from hostile code
US8161563B2 (en) Running internet applications with low rights
TWI470471B (en) Protecting operating-system resources
US8510838B1 (en) Malware protection using file input/output virtualization
US20170272462A1 (en) System and Method for Process Hollowing Detection
US9009836B1 (en) Security architecture for virtual machines
EP2902937B1 (en) Method, apparatus, and system for triggering virtual machine introspection
US7665139B1 (en) Method and apparatus to detect and prevent malicious changes to tokens
CA2635583A1 (en) Real time lockdown
RU2697954C2 (en) System and method of creating antivirus record
US9454652B2 (en) Computer security system and method
US8775802B1 (en) Computer security system and method
US11416611B2 (en) Countering malware detection evasion techniques
Wueest Threats to virtual environments
RU2460133C1 (en) System and method of protecting computer applications
KR100704721B1 (en) method for computer protection with real-time monitoring and thereby computer and thereby system
Zhao et al. Virtual machine security systems
RU2592383C1 (en) Method of creating antivirus record when detecting malicious code in random-access memory
US10452817B1 (en) File input/output redirection in an API-proxy-based application emulator
RU2739832C1 (en) System and method of detecting changed system files for checking for malware in a cloud service
RU92217U1 (en) HARDWARE ANTI-VIRUS