RU2580053C2 - System and method of determining unknown status application - Google Patents
System and method of determining unknown status application Download PDFInfo
- Publication number
- RU2580053C2 RU2580053C2 RU2014131811/08A RU2014131811A RU2580053C2 RU 2580053 C2 RU2580053 C2 RU 2580053C2 RU 2014131811/08 A RU2014131811/08 A RU 2014131811/08A RU 2014131811 A RU2014131811 A RU 2014131811A RU 2580053 C2 RU2580053 C2 RU 2580053C2
- Authority
- RU
- Russia
- Prior art keywords
- application
- status
- protected
- information
- unknown
- Prior art date
Links
Images
Landscapes
- Storage Device Security (AREA)
Abstract
Description
Область техникиTechnical field
Изобретение относится к способам и системам определения статуса опасности неизвестных приложений.The invention relates to methods and systems for determining the hazard status of unknown applications.
Уровень техникиState of the art
Использование мобильных приложений для доступа к сервисам, требующим ввода конфиденциальных данных, приобрело массовый характер. Это происходит при оплате продуктов и услуг, при доступе к сервисам, требующим ввода регистрационных данных и т.д. При этом оплата с использованием банковских приложений применяется также и на стационарных ПК. Результатом развития этой сферы стало появление вредоносного программного обеспечения, похищающего конфиденциальные данные пользователя, использующиеся при оплате продуктов и услуг, а также при регистрации на сервисах и ресурсах в сети Интернет.The use of mobile applications to access services that require the input of confidential data has become widespread. This happens when paying for products and services, when accessing services that require registration data, etc. At the same time, payment using banking applications is also applied on stationary PCs. The result of the development of this sphere was the emergence of malicious software that steals confidential user data that is used to pay for products and services, as well as when registering for services and resources on the Internet.
Одним из способов похищения данных, вводимых пользователем, является подмена интерфейса или элемента интерфейса веб страницы или приложения, через которое осуществляется оплата или регистрация. Программа, созданная злоумышленником, подменяет, например, поля для регистрации, и пользователь вводит данные не в оригинальное поле, а в элемент интерфейса, предоставленный программой злоумышленника.One way to steal data entered by the user is to replace an interface or interface element of a web page or application through which payment or registration is carried out. The program created by the attacker replaces, for example, the fields for registration, and the user enters data not in the original field, but in the interface element provided by the attacker program.
Перед антивирусной индустрией встала задача защитить пользователя от подобных вредоносных программ, решением данной задачи стало создание различных систем, позволяющих отследить момент перекрытия интерфейса защищенного приложения интерфейсом вредоносной программы. Так, патент US 8205260 B2 описывает систему и способ обнаружения подмены окна оригинального приложения окном вредоносного программного обеспечения путем подсчета времени, которое окно защищенного приложения перекрыто окном другого приложения, если этот интервал времени больше некоторого критического интервала, пользователю выдается предупреждение. Другая публикация WO 2012101623 A1 описывает метод проверки веб элементов на предмет подмены путем сравнения структуры проверяемых элементов веб страниц с заранее известными и безопасными шаблонами структур.The antivirus industry faced the task of protecting the user from such malicious programs, the solution to this problem was the creation of various systems to track the moment the interface of the protected application was blocked by the interface of the malicious program. Thus, US Pat. No. 8,205,260 B2 describes a system and method for detecting a spoofing of an original application window by a malware window by counting the time that the window of the protected application is blocked by the window of another application, if this time interval is greater than a certain critical interval, a warning is issued to the user. Another publication WO 2012101623 A1 describes a method for checking web elements for substitution by comparing the structure of the checked elements of web pages with previously known and safe structure templates.
Анализ предшествующего уровня техники позволяет сделать вывод, что представленные решения не позволяют защититься от частичного перекрытия окна защищенного приложения без воздействия на окно защищенного приложения (закрытие окна, изменение размера и т.д.) и его процесс (например, внедрение в активный процесс).An analysis of the prior art allows us to conclude that the solutions presented do not allow protection against partial overlapping of the protected application window without affecting the protected application window (closing the window, resizing, etc.) and its process (for example, implementation in an active process).
Раскрытие изобретенияDisclosure of invention
Настоящее изобретение относится к способам и системам определения статуса неизвестных приложений.The present invention relates to methods and systems for determining the status of unknown applications.
Технический результат настоящего изобретения заключается в сокращении количества приложений, статус опасности которых неизвестен, путем определения статуса таких приложений.The technical result of the present invention is to reduce the number of applications whose hazard status is unknown by determining the status of such applications.
Способ определения статуса опасности приложения, осуществившего перекрытие защищенного приложения, в котором средством мониторинга защищенного приложения обнаруживают перекрытие, по крайней мере, одного активного элемента интерфейса защищенного приложения элементами интерфейса приложения, статус которого неизвестен, где приложением с неизвестным статусом является приложение, статус которого не содержится в базе данных, средством сбора собирают информацию о приложении с неизвестным статусом, по крайней мере, один элемент интерфейса которого перекрыл, по крайней мере, один элемент интерфейса защищенного приложения, средством анализа анализируют полученную информацию путем сравнения информации о приложении с неизвестным статусом с информацией из базы данных, которая содержит запрещенные и безопасные характеристики для приложений, осуществивших перекрытие защищенного приложения, и средством анализа в результате сравнения определяют статус приложения, осуществившего перекрытие защищенного приложения, где приложение, перекрывшее защищенное приложение, характеристики которого по результатам сравнение схожи с запрещенными характеристиками, получает статус опасное.A method for determining the hazard status of an application that has shut down a protected application, in which the monitoring tool for a protected application detects that at least one active element of the protected application interface is blocked by application interface elements whose status is unknown, where the application with unknown status is an application whose status is not contained in the database, the collection tool collects information about the application with an unknown status, at least one interface element and which was blocked by at least one element of the protected application interface, the analysis tool analyzes the information obtained by comparing information about the application with an unknown status with information from the database, which contains forbidden and safe characteristics for applications that have blocked the protected application, and the analysis tool as a result of the comparison, the status of the application that has blocked the protected application is determined, where the application that blocked the protected application, the character ISTIC which the results of the comparison are similar to the prohibited characteristics, acquires the status of a dangerous.
В частном случае характеристики по результатам сравнения считают похожими, если степень сходства между характеристиками превышает установленный порог, и приложение, характеристики которого отличны от запрещенных характеристик, получает статус безопасного.In a particular case, the characteristics according to the results of the comparison are considered similar if the degree of similarity between the characteristics exceeds the established threshold, and an application whose characteristics are different from the prohibited characteristics receives a safe status.
В другом частном случае сравнивают характеристики, по меньшей мере, одного элемента интерфейса неизвестного приложения, осуществившего перекрытие с характеристиками элементов интерфейса, хранящимися в базе данных, которым запрещено осуществлять перекрытие элементов интерфейса защищенного приложения.In another particular case, the characteristics of at least one interface element of an unknown application that has overlapped are compared with the characteristics of interface elements stored in a database that are prohibited from overlapping interface elements of a protected application.
Еще в одном частном случае элементы считаются запрещенными только для конкретного типа приложений, соответствующего типу защищенного приложения, где тип приложения определяется назначением приложения. В частном случае тип приложения - банковское приложение.In another particular case, elements are considered prohibited only for a particular type of application, corresponding to the type of protected application, where the type of application is determined by the purpose of the application. In a particular case, the type of application is a banking application.
В частном случае заносят определенный ранее статус в базу данных и на основании статуса приложения определяют категорию доверия приложения, осуществившего перекрытие защищенного приложения.In a particular case, the previously defined status is entered into the database and, based on the application status, the category of trust of the application that performed the protection application overlap is determined.
В частном случае статус актуален только для определения категории доверия приложения, осуществившего перекрытие защищенного приложения. В другом частном случае статус актуален только для системы защиты того типа приложений, который соответствует типу защищенного приложения, система защиты которого определила статус.In a particular case, the status is relevant only for determining the category of trust of the application that has performed the overlapping of the protected application. In another particular case, the status is relevant only for the security system of the type of application that corresponds to the type of secure application whose security system has determined the status.
Система определения категории доверия приложения, осуществившего перекрытие защищенного приложения, которая содержит средство мониторинга защищенного приложения, предназначенное для обнаружения перекрытия, по крайней мере, одного активного элемента интерфейса защищенного приложения элементами интерфейса приложения, статус которого неизвестен, где приложением с неизвестным статусом является приложение, статус которого не содержится в базе данных; средство сбора защищенного приложения, предназначенное для сбора информации о приложении с неизвестным статусом, по крайней мере, один элемент интерфейса которого перекрыл по крайней мере один элемент интерфейса защищенного приложения; средство анализа защищенного приложения, предназначенное для анализа полученной от средства сбора информации, путем сравнения информации о приложении с неизвестным статусом с информацией из базы данных, которая содержит запрещенные и безопасные характеристики для приложений, осуществивших перекрытие защищенного приложения и определения статуса приложения, осуществившего перекрытие защищенного приложения, где приложение, перекрывшее защищенное приложение, характеристики которого по результатам сравнение схожи с запрещенными характеристиками, получает статус опасное; базу данных, предназначенную для хранения статуса приложений и запрещенных и безопасных характеристик для приложений, осуществивших перекрытие защищенного приложения.A system for determining the category of trust of an application that has blocked a protected application, which contains a monitoring tool for a protected application designed to detect the overlap of at least one active interface element of a protected application with application interface elements whose status is unknown, where the application with unknown status is the application, status which is not contained in the database; secure application collection means for collecting information about an application with an unknown status, at least one interface element of which overlaps at least one protected application interface element; analysis tool for a secure application designed to analyze information received from the data collection tool by comparing application information with an unknown status with information from a database that contains forbidden and safe characteristics for applications that have blocked the protected application and determine the status of the application that blocked the protected application , where the application that blocked the protected application, whose characteristics are similar to the forbidden by characteristics, gets dangerous status; A database intended for storing application status and forbidden and safe characteristics for applications that have blocked a protected application.
В частном случае средство анализа сравнивает характеристики, по меньшей мере, одного элемента интерфейса неизвестного приложения, осуществившего перекрытие с характеристиками элементов интерфейса, хранящимися в базе данных, которым запрещено осуществлять перекрытие элементов интерфейса защищенного приложения.In a particular case, the analysis tool compares the characteristics of at least one interface element of an unknown application that has overlapped with the characteristics of the interface elements stored in the database, which are forbidden to overlap the interface elements of the protected application.
В другом частном случае средство анализа дополнительно заносит определенный ранее статус в базу данных. Также в частном случае средство анализа дополнительно на основании статуса приложения определяет категорию доверия приложения осуществившего перекрытие защищенного приложения.In another particular case, the analysis tool additionally enters the previously defined status into the database. Also, in the particular case, the analysis tool additionally, based on the status of the application, determines the category of trust of the application that blocked the protected application.
Краткое описание чертежейBrief Description of the Drawings
Сопровождающие чертежи включены для обеспечения дополнительного понимания изобретения и составляют часть этого описания, показывают варианты осуществления изобретения и совместно с описанием служат для объяснения принципов изобретения.The accompanying drawings are included to provide a further 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 показывает пример графического интерфейса банковского приложения для оплаты покупок или услуг;FIG. 1 shows an example of a graphical interface of a banking application for payment of purchases or services;
Фиг. 2 показывает пример системы защиты защищенного приложения;FIG. 2 shows an example of a secure application security system;
Фиг. 3 показывает способ определения категории доверия приложения, осуществившего перекрытие защищенного приложения;FIG. 3 shows a method for determining the category of trust of an application that has overlaid a secure application;
Фиг. 4 показывает способ определения статуса приложения, осуществившего перекрытие защищенного приложения;FIG. 4 shows a method for determining the status of an application that has completed a secure application overlap;
Фиг. 5 показывает пример компьютерной системы общего назначения.FIG. 5 shows an example of a general purpose computer system.
Хотя изобретение может иметь различные модификации и альтернативные формы, характерные признаки, показанные в качестве примера на чертежах, будут описаны подробно. Следует понимать, однако, что цель описания заключается не в ограничении изобретения конкретным его воплощением. Наоборот, целью описания является охват всех изменений, модификаций, входящих в рамки данного изобретения, как это определено приложенной формуле.Although the invention may have various modifications and alternative forms, the characteristic features shown by way of example in the drawings will be described in detail. It should be understood, however, that the purpose of the description is not to limit the invention to its specific embodiment. On the contrary, the purpose of the description is to cover all changes, modifications that are included in the scope of this invention, as defined by the attached formula.
Описание изобретенияDescription of the invention
Объекты и признаки настоящего изобретения, способы для достижения этих объектов и признаков станут очевидными посредством отсылки к примерным вариантам осуществления. Однако настоящее изобретение не ограничивается примерными вариантами осуществления, раскрытыми ниже, оно может воплощаться в различных видах. Приведенное описание предназначено для помощи специалисту в области техники для исчерпывающего понимания изобретения, которое определяется только в объеме приложенной формулы.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 above description is intended to help a person skilled in the art for a comprehensive understanding of the invention, which is defined only in the scope of the attached claims.
Принципы работы вредоносных приложений, осуществляющих перехват путем замены элементов интерфейса, представлены ниже. В контексте данной заявки под интерфейсом понимается графический пользовательский интерфейс (GUI), который является разновидностью пользовательского интерфейса, где элементы интерфейса (меню, кнопки, значки, списки и т.п.), представленные пользователю на дисплее, исполнены в виде графических изображений. Сами элементы интерфейса - это примитивы графического интерфейса пользователя. К элементам интерфейса, по меньшей мере, относятся:The principles of operation of malicious applications that intercept by replacing interface elements are presented below. In the context of this application, an interface is understood as a graphical user interface (GUI), which is a type of user interface where interface elements (menus, buttons, icons, lists, etc.) presented to the user on the display are made in the form of graphic images. The interface elements themselves are the primitives of the graphical user interface. Interface elements at least include:
- кнопка (button),- button (button),
- сдвоенная кнопка (split button) - кнопка, вызывающая список с вторичным(и) действием(и) (кнопками),- double button (split button) - a button that calls up a list with secondary (s) action (s) (buttons),
- радиокнопка (radio button),- radio button (radio button),
- флаговая кнопка (check box),- flag button (check box),
- значок (иконка, icon),- icon (icon, icon),
- список (list box),- list (list box),
- дерево - иерархический список (tree view),- tree - hierarchical list (tree view),
- раскрывающийся список (combo box, drop-down list),- drop-down list (combo box, drop-down list),
- метка (label),- label
- поле редактирования (textbox, edit field),- edit field (textbox, edit field),
- элемент для отображения табличных данных (grid view),- an element for displaying tabular data (grid view),
- меню (menu),- menu
- главное меню окна (main menu или menu bar),- the main menu of the window (main menu or menu bar),
- контекстное меню (popup menu),- context menu (popup menu),
- ниспадающее меню (pull down menu),- pull down menu
- окно (window),- window (window),
- диалоговое окно (dialog box),- dialog box (dialog box),
- модальное окно (modal window),- modal window (modal window),
- панель (panel),- panel
- вкладка (tab),- tab (tab),
- панель инструментов (toolbar),- toolbar
- полоса прокрутки (scrollbar),- scrollbar (scrollbar),
- ползунок (slider),- slider (slider),
- строка состояния (status bar),- status bar (status bar),
- всплывающая подсказка (tooltip, hint).- tooltip (tooltip, hint).
На Фиг. 1 изображен пример графического интерфейса банковского приложения для оплаты покупок или услуг. Вредоносное приложение в частном случае заменяет полностью интерфейс банковского приложения на свое. В другом частном случае вредоносное приложение заменяет отдельные элементы интерфейса, например поле для ввода номера кредитной карты 1006 и CVV кода, также окно 100а вредоносного приложения может быть невидимым, оно активно, но для пользователя оно не отрисовывается. Во всех описанных случаях пользователь вводит свои конфиденциальные данные не в оригинальный интерфейс банковского приложения, а в элементы интерфейса 100, созданные вредоносным приложением. Вредоносное приложение для осуществления перекрытия отслеживает работу интересующих его приложений, например приложений, работающих с банковскими сервисами, в момент запуска или в периоды работы этих приложений перекрывает элементы интерфейса 100 банковского приложения своими элементами.In FIG. 1 shows an example of a graphical interface of a banking application to pay for purchases or services. In a particular case, the malicious application completely replaces the banking application interface with its own. In another particular case, the malicious application replaces individual interface elements, for example, the field for entering the
Для защиты от описанной выше атаки приложению (защищенное приложение) необходимо обнаруживать факт перекрытия собственных элементов интерфейса 100. Обнаружение осуществляется различными путями. В одном случае защищенное приложение в момент своей активности (пользователь вводит данные, работает с интерфейсом) постоянно опрашивает систему на предмет нахождения своего окна поверх всех остальных окон и других элементов интерфейса, т.е. на предмет активности своего окна. Активным, в данном контексте, понимается элемент интерфейса приложения, с которым работает пользователь. Если приложение получает от системы сообщение о том, что поверх находится элемент интерфейса приложения, отличного от защищенного приложения (окно защищенного приложения перестало быть активным), окно защищенного приложения считается перекрытым. Далее дополнительно могут определяться координаты элементов интерфейса, перекрывших защищенное приложение, определяться их видимость и т.д. В другом частном случае факт перекрытия определяется путем отслеживания событий системы, связанных с созданием или активацией элементов интерфейса, и если эти события инициированы приложением, отличным от защищенного приложения, защищенное приложение считается перекрытым. Например, появление в системе события EVENT_SYSTEM_FOREGROUND (http://msdn.microsoft.com/en-us/library/windows/desktop/dd318066%28v=vs.85%29.aspx) говорит о том, что активное окно было изменено. Также защищенное приложение определяет перекрытие, отслеживая появление окон с определенным заголовком, например с заголовком KasperskyBank.To protect against the attack described above, an application (protected application) needs to detect the fact that its own elements of the interface 100 overlap. Detection is carried out in various ways. In one case, a protected application at the time of its activity (the user enters data, works with the interface) constantly polls the system to find its window on top of all other windows and other interface elements, i.e. for the activity of his window. Active, in this context, is understood as the interface element of the application with which the user is working. If an application receives a message from the system that there is an application interface element other than a protected application (the protected application window has ceased to be active), the protected application window is considered to be closed. Further, the coordinates of the interface elements that overlap the protected application can be additionally determined, their visibility determined, etc. In another particular case, the fact of overlap is determined by tracking system events associated with the creation or activation of interface elements, and if these events are triggered by an application other than a protected application, the protected application is considered to be closed. For example, the appearance of the EVENT_SYSTEM_FOREGROUND event (http://msdn.microsoft.com/en-us/library/windows/desktop/dd318066%28v=vs.85%29.aspx) in the system indicates that the active window has been changed. A protected application also detects overlap by monitoring the appearance of windows with a specific title, for example, with the title of KasperskyBank.
Перекрытие может осуществляться не только вредоносным приложением, но и безопасным приложением. Определение приложения, осуществившего перекрытие, производят несколькими путями. В одном случае это осуществляется путем определения идентификатора процесса через описатель элемента интерфейса, осуществившего перекрытие, т.е. получают описатель (handle) элемента интерфейса, осуществившего перекрытие, имея описатель элемента интерфейса, получают идентификатор процесса, создавшего окно. Зная идентификатор процесса, определяют сам процесс и создавшее его приложение. В другом случае, например в операционной системе типа Android, отслеживают события в системном журнале ОС Android (logcat). Показ окна любого приложения записывается операционной системой в logcat. Системный журнал анализируют и определяют приложение, окно которого сейчас активно. Ниже представлен пример записей из системного журнала с описанной информацией:Overlapping can be carried out not only by a malicious application, but also by a safe application. The definition of the application that performed the overlap is done in several ways. In one case, this is done by determining the process identifier through the handle of the interface element that performed the overlap, i.e. get the handle of the interface element that performed the overlap, having the handle of the interface element, get the identifier of the process that created the window. Knowing the process identifier, the process itself and the application that created it are determined. In another case, for example, in an operating system such as Android, events are tracked in the Android system log (logcat). The window display of any application is recorded by the operating system in logcat. The system log is analyzed and determined by the application whose window is currently active. The following is an example of syslog entries with the information described:
I/ActivityManager (445): No longer want com.google.android.inputmethod.latin.dictionarypackI / ActivityManager (445): No longer want com.google.android.inputmethod.latin.dictionarypack
(pid 25679): empty #17(pid 25679): empty # 17
W/WFApp (2479): onTrimMemory (20) calledW / WFApp (2479): onTrimMemory (20) called
V/AudioHardwareMSM8660 (129): open driverV / AudioHardwareMSM8660 (129): open driver
I/ActivityManager (445): START u0 {act=android.intent.action.MAINI / ActivityManager (445): START u0 {act = android.intent.action.MAIN
cat=[android.intent.category.LAUNCHER]flg=0×10200000cat = [android.intent.category.LAUNCHER] flg = 0 × 10200000
cmp=com.android.settings/.Settings} from pid 727cmp = com.android.settings / .Settings} from pid 727
V/AudioHardwareMSM8660 (129): get configV / AudioHardwareMSM8660 (129): get config
V/AudioHardwareMSM8660 (129): set configV / AudioHardwareMSM8660 (129): set config
V/AudioHardwareMSM8660 (129): buffer_size: 4800V / AudioHardwareMSM8660 (129): buffer_size: 4800
Из записи определяют идентификатор процесса (pid 727), далее по идентификатору процесса определяют приложение. Также анализируется манифест приложения, в частном случае осуществляется сканирование антивирусным программным обеспечением.The process identifier is determined from the record (pid 727), then the application is determined by the process identifier. The application manifest is also analyzed, in a particular case, scanning by antivirus software is performed.
После определения конкретного приложения, осуществившего перекрытие, получают информацию о приложении. Информация представляет из себя различные характеристики приложения и различных его компонентов (файлах, элементах интерфейса и т.д.). Информация о приложении позволит сделать вывод о степени доверия приложению. В качестве информации может выступать хэш-сумма приложения или отдельных файлов, а также установщика (инсталлятора), версия приложения, имя приложения, источник приложения, размер, путь к приложению на устройстве, типы ресурсов приложения и их хэш-суммы и гистограммы и т.д. Это фактические характеристики, которые возможно собрать непосредственно с устройства. Другая группа информации - статистические характеристики, которые получают на основании фактических характеристик, обращением к внешней или внутренней базе данных, в качестве такой информации выступает статус опасности приложения или отдельного файла приложения в репутационной базе данных (база, хранящая оценки опасности для объектов, в частном случае файлов), количество установок приложения в мире или отдельном регионе и т.д. Полученные фактические и статистические характеристики используют для последующего анализа приложения. Отдельно выделяются фактические характеристики приложения, характеризующие ресурсы приложения, в частности элементы интерфейса приложения (кнопки, окна). В качестве характеристик может выступать форма окна, заголовок окна, имя кнопки и т.д. Информация об элементах интерфейса получается, например, в виде хэш-сумм и гистограмм.After determining the specific application that performed the overlap, information about the application is obtained. Information is the various characteristics of the application and its various components (files, interface elements, etc.). Information about the application allows us to conclude on the degree of trust in the application. The information may be the hash sum of the application or individual files, as well as the installer (installer), version of the application, application name, application source, size, path to the application on the device, types of application resources and their hash sums and histograms, etc. d. These are actual specifications that can be collected directly from the device. Another group of information is statistical characteristics, which are obtained on the basis of actual characteristics by referring to an external or internal database, such information is the hazard status of the application or a separate application file in the reputation database (a database that stores hazard assessments for objects, in a particular case files), the number of application installations in a world or a specific region, etc. The obtained actual and statistical characteristics are used for subsequent analysis of the application. The actual characteristics of the application characterizing the resources of the application, in particular the application interface elements (buttons, windows), are separately highlighted. The window shape, window title, button name, etc. can serve as characteristics. Information about the interface elements is obtained, for example, in the form of hash sums and histograms.
Полученную информацию используют для определения категории доверия приложения, осуществившего перекрытия. Понятие категория и категория доверия в рамках данной заявки равнозначны. Под категорией доверия приложения подразумевается степень доверия к приложению (доверенное или недоверенное) со стороны системы защиты защищенного приложения (будет описана ниже). В одном из вариантов реализации категории приложений могут быть две: доверенные приложения и недоверенные приложения. В рамках текущей заявки следует отделять понятие категории приложения от понятия статуса опасности приложения. Статус приложения в рамках данной заявки может быть следующим: опасное, безопасное. Также есть неизвестные приложения - это те приложения, статус которых не определен. Статус опасности приложения определяет опасность приложения, осуществившего перекрытие для защищенного приложения. Опасность приложения, осуществившего перекрытие, для защищенного приложения заключается, в частном случае, в краже данных, обрабатываемых защищенным приложением, подмене данных.The information obtained is used to determine the category of trust of the application that performed the overlap. The concept of category and category of trust in the framework of this application are equivalent. The category of application trust refers to the degree of trust in the application (trusted or untrusted) by the security system of the protected application (will be described below). In one implementation option, the application category can be two: trusted applications and untrusted applications. Within the framework of the current application, the concept of the category of application should be separated from the concept of hazard status of the application. The application status within the framework of this application may be as follows: dangerous, safe. There are also unknown applications - these are applications whose status is not defined. An application’s danger status determines the danger of an application that has shut down a protected application. The danger of the application that performed the overlap for a protected application consists, in the particular case, of the theft of data processed by the protected application, of data spoofing.
К доверенным приложениям относятся приложения, перекрытие которыми интерфейса защищенного приложения, по мнению системы защиты, является безопасным. Система защиты защищенного приложения, присваивая категорию доверия приложению, делает это локально, в рамках текущего состояния на устройстве и на основании информации о приложении, элементы интерфейса которого перекрыли элементы интерфейса защищенного приложения. В частном случае такой информацией является статус приложения, осуществившего перекрытие. Статус приложения может быть общим, т.е. использоваться при проверке приложений на вредоносность в различном контексте (например, при выполнении полнодисковой проверки устройства на вредоносное программное обеспечение), или частным, т.е. статус актуален только при определении категории приложения при перекрытии. Статус также может быть еще более частным и относиться лишь к определенным типам приложений при определении категории, например приложение, осуществившее перекрытие, имеет статус опасное лишь при анализе системой защиты защищенного банковского приложения, для других типов защищенных приложений (игровых, почтовых и т.д.) приложение, осуществившее перекрытие, имеет статус безопасное. В частном случае тип приложения определяется его назначением. Статус приложения определяют, используя хэш-сумму приложения или отдельного файла приложения. Для этого организуют запрос к репутационной базе данных, база располагается в одном частном случае на исследуемом устройстве, в другом частном случае база располагается удаленно. Если исследуемое приложение известно (хэш сумма содержится в репутационной базе), то, соответственно, приложение, осуществившее перекрытие, уже имеет статус безопасное или опасное, в зависимости от того, какой хэш-сумме из репутационной базы соответствует проверяемая хэш-сумма приложения. Если хэш-сумма приложения или отдельного файла приложения не содержится в базе данных, приложение или отдельный файл приложения считаются неизвестными, т.е. приложение, осуществившее перекрытие, не имеет статуса. Если приложение или файл имеют статус безопасный, то в частном случае приложение, осуществившее перекрытие, получает категорию доверенное. В другом частном случае категория приложения определяется исходя из другой фактической и статистической информации о приложении, например по пути установки приложения на устройстве или принадлежности его к предустановленным системным приложениям. Если приложение является системным (на это указывает путь установки), при этом статус его неизвестен, приложение признается доверенным.Trusted applications include applications whose overlapping of the protected application interface, in the opinion of the security system, is safe. The security system of a protected application, assigning a category of trust to the application, does this locally, within the current state on the device and based on information about the application, the interface elements of which overlapped the interface elements of the protected application. In the particular case, such information is the status of the application that performed the overlap. The application status can be general, i.e. be used when scanning applications for malware in a different context (for example, when performing a full-disk scan of a device for malicious software), or private, i.e. The status is relevant only when determining the category of the application when overlapping. The status can also be even more private and refer only to certain types of applications when defining a category, for example, an application that has shut down has a dangerous status only when the security system analyzes a secure banking application for other types of secure applications (gaming, email, etc.). ) the application that performed the overlap has a safe status. In a particular case, the type of application is determined by its purpose. The application status is determined using the hash of the application or a separate application file. To do this, they organize a request to a reputation database, the database is located in one particular case on the device under study, in another particular case, the database is located remotely. If the application under study is known (the hash amount is contained in the reputation database), then, accordingly, the application that performed the overlap already has the safe or dangerous status, depending on which hash sum from the reputation database corresponds to the application hash being verified. If the hash of the application or an individual application file is not contained in the database, the application or an individual application file is considered unknown, i.e. the application that performed the overlap has no status. If the application or file has the safe status, then in the particular case the application that performed the overlap gets the trusted category. In another particular case, the category of the application is determined on the basis of other actual and statistical information about the application, for example, by installing the application on the device or by belonging to preinstalled system applications. If the application is a system application (the installation path indicates this), and its status is unknown, the application is recognized as trusted.
Приложению, осуществившему перекрытие, может быть присвоен статус одновременно с определением категории доверия. Например, осуществляется сравнение элементов интерфейса защищенного приложения с элементами интерфейса приложения, осуществившего перекрытие, если элементы признаются похожими, то приложению, осуществившему перекрытие, присваивается статус опасное. В другом частном случае информация об элементах интерфейса приложения, осуществившего перекрытие, сравнивается с информацией об элементах интерфейса приложений, находящихся в черном списке. Черный список содержит информацию об элементах интерфейса, которым запрещено перекрывать элементы интерфейса защищенных приложений. Такими элементами могут быть кнопки с названием ″введите код″, окна с заголовками, содержащими слово ″Банк″ и т.д. Черный список в одном случае может находиться на локальном устройстве, в другом случае располагается удаленно. В частном случае черный список структурирован в зависимости от типа защищенного приложения. Например, защищенное приложение относится к банковским приложениям и перекрытие окна защищенного приложения окном, содержащим в заголовке название банка, является опасным, поэтому для банковских приложений подобное окно будет находиться в черном списке, в другом случае защищенное приложение относится к игровым и перекрытие окна данного приложения окном, содержащим в заголовке название банка, является безопасным и в черном списке находиться не будет. Черный список содержит, по меньшей мере, характеристики элементов интерфейса, являющиеся копиями элементов интерфейса защищенного приложения.The application that performed the overlap can be assigned status at the same time as determining the category of trust. For example, the interface elements of a protected application are compared with the interface elements of the application that performed the overlap, if the elements are recognized as similar, then the application that performed the overlap is assigned a dangerous status. In another particular case, information about the user interface elements of the application that performed the overlap is compared with information about the user interface elements of the blacklisted application. The black list contains information about interface elements that are prohibited from overriding the interface elements of protected applications. Such elements can be buttons with the name ″ enter code ″, windows with headers containing the word ″ Bank ″, etc. The blacklist in one case can be located on the local device, in the other case it is located remotely. In the particular case, the blacklist is structured depending on the type of protected application. For example, a protected application refers to banking applications and blocking the window of a protected application with a window containing the bank name in the header is dangerous, therefore, for banking applications, such a window will be blacklisted, in another case, a protected application refers to gaming and blocking the window of this application with a window containing the name of the bank in the header is safe and will not be on the black list. The black list contains at least the characteristics of the interface elements that are copies of the interface elements of the protected application.
На Фиг. 2 изображена система защиты 202 защищенного приложения 201. Система защиты 202 является частью защищенного приложения 201. Само приложение 201 со всеми его компонентами хранится в системной памяти 22. Система защиты 202 включает в себя средство мониторинга 203, предназначенное для обнаружения перекрытия элементов интерфейса защищенного приложения элементами интерфейса другого приложения. Средство мониторинга 203 связано с базой данных 204, которая содержит информацию о статусах приложений, установленных на устройстве, и список запрещенных элементов интерфейса и может располагаться удаленно на устройстве 49. Средство мониторинга 203 также связано со средством сбора 205, предназначенным для сбора информации о приложении, осуществившем перекрытие. Средство мониторинга 203 и средство сбора 205 связаны со средством анализа 206, предназначенным для анализа собранной информации средством 205. В результате анализа собранной информации средство анализа 206 определяет категорию доверия приложения, осуществившего перекрытие. Также средство анализа 206 определяет статус приложения, осуществившего перекрытие. В частном случае реализации все средства системы защиты 202 защищенного приложения связаны с программной и аппаратной частью устройства, пример которой изображен на Фиг. 5 (фигура описана ниже), посредством установленной связи средства системы защиты 202 осуществляют настройку и модификацию: операционной системы 35, под управлением которой работает устройство, файловой системы 36, приложений 37 и других компонентов, хранящихся в системной памяти 22, а также настройку компонентов аппаратной части устройства.In FIG. 2 shows the
На Фиг. 3 изображен способ определения категории приложения, осуществившего перекрытие защищенного приложения. На этапе 301 защищенное приложение обнаруживает перекрытие одного из активных элементов своего интерфейса (элемент, с которым пользователь взаимодействует в текущий момент времени), по меньшей мере, одним элементом интерфейса другого приложения. В частном случае перекрытие обнаруживается путем сравнения информации об окне защищенного приложения с информацией об активном окне в системном журнале операционной системы. Далее на этапе 302 защищенное приложение собирает информацию о приложении, осуществившем перекрытие, где в качестве информации выступает по меньшей мере статус приложения, хранящийся в базе данных 204. Собранная информация анализируется на этапе 303 и на основании анализа определяется категория доверия приложения, осуществившего перекрытие, в частном случае категорию приложения определяют на основании статуса приложения, хранящегося в базе данных 204, где приложение признается недоверенным, если статус приложения «опасное» и, наоборот, приложение признается доверенным, если статус приложения «безопасное». В том случае, когда статус приложения неизвестен, собирается дополнительная информация, такой информацией, например, является принадлежность приложения, осуществившего перекрытие, к предустановленным системным приложениям, где приложение признается доверенным, если оно относится к предустановленным системным приложениям. Как указывалось выше, в частном случае статус актуален только для определения категории доверия приложения, осуществившего перекрытие защищенного приложения, а в другом частном случае статус актуален только для системы защиты того типа приложений, который соответствует типу защищенного приложения 201, система защиты 202 которого установила статус ранее.In FIG. 3 depicts a method for determining the category of an application that has overlaid a secure application. At
На Фиг. 4 изображен способ определения статуса приложения, осуществившего перекрытие защищенного приложения, где на этапе 401 защищенное приложение обнаруживает перекрытие своих элементов интерфейса элементами интерфейса приложения, статус которого неизвестен, где приложением с неизвестным статусом является приложение, статус которого не содержится в базе данных 204. Далее на этапе 402 собирают информацию о приложении с неизвестным статусом и на этапе 403 анализируют полученную информацию путем сравнения информации о приложении, статус которого неизвестен, с информацией из базы данных 204, содержащей запрещенные и безопасные характеристики для приложений, осуществляющих перекрытие защищенного приложения, где запрещенные характеристики - это такие характеристики, которые не должно иметь перекрывающее приложение, а безопасные характеристики - это такие характеристики, наличие которых у перекрывающего приложения допустимо. На заключительном этапе 404 определяют статус приложения, осуществившего перекрытие защищенного приложения, где приложение, перекрывшее защищенное приложение, характеристики которого по результатам сравнение схожи с запрещенными характеристиками, получает статус опасное, статус заносится в базу данных 204. В частном случае приложение, характеристики которого не похожи на запрещенные характеристики, получает статус безопасного, характеристики по результатам сравнения считают похожими, если степень сходства между характеристиками превышает установленный порог. В частном случае реализации изобретения степень сходства определяют в соответствии с мерой Дайса, в другом частном случае реализации степень сходства определяют в соответствии с одной из метрик: Хэмминга, Левенштейна, Жаккара.In FIG. Figure 4 shows a method for determining the status of an application that has closed a protected application, where, at
В частном случае средством анализа 206 защищенного приложения сравнивают характеристики, по меньшей мере, одного элемента интерфейса неизвестного приложения, осуществившего перекрытие с характеристиками элементов интерфейса, хранящимися в базе данных 204, которым запрещено осуществлять перекрытие элементов интерфейса защищенного приложения. Запрещенными могут являться только для конкретного типа приложений, соответствующего типу защищенного приложения, где тип приложения определяется, например, назначением приложения.In a particular case, the
Фиг. 5 представляет пример компьютерной системы общего назначения, персональный компьютер или сервер 20, содержащий центральный процессор 21, системную память 22 и системную шину 23, которая содержит разные системные компоненты, в том числе память, связанную с центральным процессором 21. Системная шина 23 реализована, как любая известная из уровня техники шинная структура, содержащая в свою очередь память шины или контроллер памяти шины, периферийную шину и локальную шину, которая способна взаимодействовать с любой другой шинной архитектурой. Системная память содержит постоянное запоминающее устройство (ПЗУ) 24, память с произвольным доступом (ОЗУ) 25. Основная система ввода/вывода (BIOS) 26 содержит основные процедуры, которые обеспечивают передачу информации между элементами персонального компьютера 20, например, в момент загрузки операционной системы с использованием ПЗУ 24.FIG. 5 is an example of a general purpose computer system, a personal computer or
Персональный компьютер 20 в свою очередь содержит жесткий диск 27 для чтения и записи данных, привод магнитных дисков 28 для чтения и записи на сменные магнитные диски 29 и оптический привод 30 для чтения и записи на сменные оптические диски 31, такие как CD-ROM, DVD-ROM и иные оптические носители информации. Жесткий диск 27, привод магнитных дисков 28, оптический привод 30 соединены с системной шиной 23 через интерфейс жесткого диска 32, интерфейс магнитных дисков 33 и интерфейс оптического привода 34 соответственно. Приводы и соответствующие компьютерные носители информации представляют собой энергонезависимые средства хранения компьютерных инструкций, структур данных, программных модулей и прочих данных персонального компьютера 20.The
Настоящее описание раскрывает реализацию системы, которая использует жесткий диск 27, сменный магнитный диск 29 и сменный оптический диск 31, но следует понимать, что возможно применение иных типов компьютерных носителей информации 56, которые способны хранить данные в доступной для чтения компьютером форме (твердотельные накопители, флеш карты памяти, цифровые диски, память с произвольным доступом (ОЗУ) и т.п.), которые подключены к системной шине 23 через контроллер 55.The present description discloses an implementation of a system that uses a
Компьютер 20 имеет файловую систему 36, где хранится записанная операционная система 35, а также дополнительные программные приложения 37, другие программные модули 38 и данные программ 39. Пользователь имеет возможность вводить команды и информацию в персональный компьютер 20 посредством устройств ввода (клавиатуры 40, манипулятора «мышь» 42). Могут использоваться другие устройства ввода (не отображены): микрофон, джойстик, игровая консоль, сканнер и т.п. Подобные устройства ввода по своему обычаю подключают к компьютерной системе 20 через последовательный порт 46, который в свою очередь подсоединен к системной шине, но могут быть подключены иным способом, например, при помощи параллельного порта, игрового порта или универсальной последовательной шины (USB). Монитор 47 или иной тип устройства отображения также подсоединен к системной шине 23 через интерфейс, такой как видеоадаптер 48. В дополнение к монитору 47, персональный компьютер может быть оснащен другими периферийными устройствами вывода (не отображены), например колонками, принтером и т.п.
Персональный компьютер 20 способен работать в сетевом окружении, при этом используется сетевое соединение с другим или несколькими удаленными компьютерами 49. Удаленный компьютер (или компьютеры) 49 является таким же персональным компьютером или сервером, которые имеют большинство или все упомянутые элементы, отмеченные ранее при описании существа персонального компьютера 20, представленного на Фиг. 5. В вычислительной сети могут присутствовать также и другие устройства, например маршрутизаторы, сетевые станции, пиринговые устройства или иные сетевые узлы.The
Сетевые соединения могут образовывать локальную вычислительную сеть (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
В заключение следует отметить, что приведенные в описании сведения являются примерами, которые не ограничивают объем настоящего изобретения, определенного формулой. Специалисту в данной области становится понятным, что могут существовать и другие варианты осуществления настоящего изобретения, согласующиеся с сущностью и объемом настоящего изобретения.In conclusion, it should be noted that the information provided in the description are examples that do not limit the scope of the present invention defined 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 (15)
а) средством мониторинга защищенного приложения обнаруживают перекрытие, по крайней мере, одного активного элемента интерфейса защищенного приложения элементами интерфейса приложения, статус которого неизвестен, где приложением с неизвестным статусом является приложение, статус которого не содержится в базе данных;
б) средством сбора собирают информацию о приложении с неизвестным статусом, по крайней мере, один элемент интерфейса которого перекрыл, по крайней мере, один элемент интерфейса защищенного приложения;
в) средством анализа анализируют полученную информацию путем сравнения информации о приложении с неизвестным статусом с информацией из базы данных, которая содержит запрещенные и безопасные характеристики для приложений, осуществивших перекрытие защищенного приложения;
г) средством анализа в результате сравнения определяют статус приложения, осуществившего перекрытие защищенного приложения, где приложение, перекрывшее защищенное приложение, характеристики которого по результатам сравнение схожи с запрещенными характеристиками, получает статус опасное.1. A method for determining the hazard status of an application that has performed a shutdown of a protected application, in which:
a) the monitoring application of the protected application detects the overlap of at least one active element of the protected application interface with application interface elements whose status is unknown, where the application with unknown status is an application whose status is not contained in the database;
b) a collection tool collects information about an application with an unknown status, at least one interface element of which overlaps at least one interface element of a protected application;
c) the analysis tool analyzes the information obtained by comparing information about an application with an unknown status with information from a database that contains forbidden and safe characteristics for applications that have blocked a protected application;
d) as a result of the comparison, the analysis tool determines the status of the application that blocked the protected application, where the application that blocked the protected application, the characteristics of which are similar to the forbidden characteristics by the results, receives a dangerous status.
а) средство мониторинга защищенного приложения, предназначенное для обнаружения перекрытия, по крайней мере, одного активного элемента интерфейса защищенного приложения элементами интерфейса приложения, статус которого неизвестен, где приложением с неизвестным статусом является приложение, статус которого не содержится в базе данных;
б) средство сбора защищенного приложения, предназначенное для сбора информации о приложении с неизвестным статусом, по крайней мере, один элемент интерфейса которого, перекрыл по крайней мере один элемент интерфейса защищенного приложения;
в) средство анализа защищенного приложения, предназначенное для:
- анализа полученной от средства сбора информации, путем сравнения информации о приложении с неизвестным статусом с информацией из базы данных, которая содержит запрещенные и безопасные характеристики для приложений, осуществивших перекрытие защищенного приложения;
- определения статуса приложения, осуществившего перекрытие защищенного приложения, где приложение, перекрывшее защищенное приложение, характеристики которого по результатам сравнение схожи с запрещенными характеристиками, получает статус опасное;
г) базу данных, предназначенную для хранения:
- статуса приложений;
- запрещенных и безопасных характеристик для приложений, осуществивших перекрытие защищенного приложения.12. A system for determining the hazard status of an application that has completed a secure application that contains:
a) a secure application monitoring tool designed to detect the overlap of at least one active interface of a secure application by application interface elements whose status is unknown, where an application with unknown status is an application whose status is not contained in the database;
b) a secure application collection tool designed to collect information about an application with an unknown status, at least one interface element of which has blocked at least one protected application interface element;
c) a secure application analysis tool for:
- analysis of information received from the means of collecting information by comparing information about an application with an unknown status with information from a database that contains forbidden and safe characteristics for applications that have blocked a protected application;
- determining the status of the application that has blocked the protected application, where the application that blocked the protected application, the characteristics of which are similar in comparison with the prohibited characteristics, receives a dangerous status;
d) a database intended for storage:
- application status;
- Forbidden and secure features for applications that override a secure application.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
RU2014131811/08A RU2580053C2 (en) | 2014-08-01 | 2014-08-01 | System and method of determining unknown status application |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
RU2014131811/08A RU2580053C2 (en) | 2014-08-01 | 2014-08-01 | System and method of determining unknown status application |
Publications (2)
Publication Number | Publication Date |
---|---|
RU2014131811A RU2014131811A (en) | 2016-02-20 |
RU2580053C2 true RU2580053C2 (en) | 2016-04-10 |
Family
ID=55313441
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
RU2014131811/08A RU2580053C2 (en) | 2014-08-01 | 2014-08-01 | System and method of determining unknown status application |
Country Status (1)
Country | Link |
---|---|
RU (1) | RU2580053C2 (en) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU103643U1 (en) * | 2010-11-01 | 2011-04-20 | Закрытое акционерное общество "Лаборатория Касперского" | ANTI-PHISH ATTACK SYSTEM |
-
2014
- 2014-08-01 RU RU2014131811/08A patent/RU2580053C2/en active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU103643U1 (en) * | 2010-11-01 | 2011-04-20 | Закрытое акционерное общество "Лаборатория Касперского" | ANTI-PHISH ATTACK SYSTEM |
Also Published As
Publication number | Publication date |
---|---|
RU2014131811A (en) | 2016-02-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
RU2580032C2 (en) | System and method of determining the category of proxy application | |
US12026257B2 (en) | Method of malware detection and system thereof | |
US11240262B1 (en) | Malware detection verification and enhancement by coordinating endpoint and malware detection systems | |
US11936666B1 (en) | Risk analyzer for ascertaining a risk of harm to a network and generating alerts regarding the ascertained risk | |
RU2530210C2 (en) | System and method for detecting malware preventing standard user interaction with operating system interface | |
JP6100898B2 (en) | Method and device for processing messages | |
US9977895B2 (en) | Malicious software identification integrating behavioral analytics and hardware events | |
US9424422B2 (en) | Detection of rogue software applications | |
US11531748B2 (en) | Method and system for autonomous malware analysis | |
WO2016121348A1 (en) | Anti-malware device, anti-malware system, anti-malware method, and recording medium in which anti-malware program is stored | |
US9679134B1 (en) | Systems and methods for detecting display-controlling malware | |
CN110659478B (en) | Method for detecting malicious files preventing analysis in isolated environment | |
RU2645265C2 (en) | System and method of blocking elements of application interface | |
US12013942B2 (en) | Rootkit detection based on system dump sequence analysis | |
US9177146B1 (en) | Layout scanner for application classification | |
WO2014036932A1 (en) | A user interface hijacking prevention device and method | |
US11886585B1 (en) | System and method for identifying and mitigating cyberattacks through malicious position-independent code execution | |
RU2580053C2 (en) | System and method of determining unknown status application | |
US20140068776A1 (en) | User interface hijacking prevention device and method | |
EP2750066B1 (en) | System and method for detecting malware that interferes with a user interface | |
EP2980721A1 (en) | System and method for determining a category of trust of applications performing an interface overlay | |
Howard et al. | An approach for detecting malicious keyloggers | |
Teufl et al. | Android-On-device detection of SMS catchers and sniffers | |
RU2634176C1 (en) | System and method for detecting malware by intercepting access to information displayed to user | |
RU2595510C1 (en) | Method for excluding processes of antivirus scanning on the basis of data on file |