RU2334363C2 - Mechanism for estimation of safety risks - Google Patents

Mechanism for estimation of safety risks Download PDF

Info

Publication number
RU2334363C2
RU2334363C2 RU2004119846/09A RU2004119846A RU2334363C2 RU 2334363 C2 RU2334363 C2 RU 2334363C2 RU 2004119846/09 A RU2004119846/09 A RU 2004119846/09A RU 2004119846 A RU2004119846 A RU 2004119846A RU 2334363 C2 RU2334363 C2 RU 2334363C2
Authority
RU
Russia
Prior art keywords
application
computer
security
assessment
authorized
Prior art date
Application number
RU2004119846/09A
Other languages
Russian (ru)
Other versions
RU2004119846A (en
Inventor
Аарон ГОУЛДФЕДЕР (US)
Аарон ГОУЛДФЕДЕР
Джон ХОКИНС (US)
Джон ХОКИНС
Серж ХОРАН (US)
Серж ХОРАН
Виреш РАМДАТМИСИЕР (US)
Виреш РАМДАТМИСИЕР
Джо ФЭРРО (US)
Джо ФЭРРО
Грегори Даррелл ФИ (US)
Грегори Даррелл ФИ
Джереми ЭПЛИНГ (US)
Джереми ЭПЛИНГ
Эндрю БАЙБИ (US)
Эндрю БАЙБИ
Цзин н СЮЙ (US)
Цзинян СЮЙ
Тони ШРАЙНЕР (US)
Тони ШРАЙНЕР
Джэми КУЛ (US)
Джэми КУЛ
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 RU2004119846/09A priority Critical patent/RU2334363C2/en
Publication of RU2004119846A publication Critical patent/RU2004119846A/en
Application granted granted Critical
Publication of RU2334363C2 publication Critical patent/RU2334363C2/en

Links

Images

Landscapes

  • Storage Device Security (AREA)

Abstract

FIELD: information technologies.
SUBSTANCE: mechanism for collective estimation of safety risks, associative linked with application loading consists that the hosting environment, associative linked with application loading, calls the authorised manager for estimation of safety risks which calls a set of the authorised estimation units, and each authorised estimation unit is responsible for the analysis and estimation of various safety risks. After the end of estimation of each safety risk, the results of such separate risk estimation are sent to the authorised manager. The authorised manager groups the variety of results of safety risks estimation and makes the definition of the safety based on grouped results of estimation. The following possible results are: loading of the application, blocking of the application loading or the hint to the user to make solution on expediency of performance of loading.
EFFECT: protection of the user computer from variety of non-comparable safety risks.
20 cl, 5 dwg

Description

Настоящая заявка была подана по процедуре РСТ 17 мая 2003 года инофирмой Майкрософт Корпорейшн, созданной и находящейся в США с указанием всех стран, за исключением США.This application was filed under the PCT on May 17, 2003 by Microsoft Corporation, a foreign company created and located in the United States with all countries except the United States.

Область техники, к которой относится изобретениеFIELD OF THE INVENTION

Настоящее изобретение относится к системам компьютерной безопасности. Более конкретно, настоящее изобретение относится к механизму для оценки и группированию информации по оценке безопасности для вычислительных систем.The present invention relates to computer security systems. More specifically, the present invention relates to a mechanism for evaluating and grouping security assessment information for computing systems.

Предшествующий уровень техникиState of the art

Современные пользователи компьютеров имеют доступ ко множеству различных приложений и служб. Типичный пользователь компьютера может устанавливать дюжины компьютерных программ в течение года работы на компьютере. В большинстве случаев пользователи компьютеров сознательно устанавливают программы на своих компьютерах. Например, пользователь может купить программу пакета программного обеспечения и установить ее вручную. Иногда пользователь может установить непреднамеренно программу, например, при посещении определенного сайта в Интернете, имеющего конфигурацию, которая позволяет установить на компьютере пользователей прикладную мини-программу или небольшую программу. Установка программ на компьютерах в настоящее время превратилась в обыденное дело, причем некоторые пользователи не осведомлены о проблемах безопасности, вызываемых установкой нового программного обеспечения. Другие пользователи отлично осведомлены, в общем, о проблемах безопасности, но они, как правило, не знают о конкретных проблемах, которые могут возникнуть при установке конкретной программы.Modern computer users have access to many different applications and services. A typical computer user can install dozens of computer programs over a year on a computer. In most cases, computer users deliberately install programs on their computers. For example, a user can buy a software package program and install it manually. Sometimes a user may unintentionally install a program, for example, when visiting a certain site on the Internet that has a configuration that allows you to install an application mini-program or a small program on your computer. Installing programs on computers has now become routine, with some users unaware of the security issues caused by installing new software. Other users are generally well aware of security issues, but they are generally not aware of the specific problems that may arise when installing a specific program.

Большинство пользователей понимает, что новые программы могут внести вирусы или другой враждебный программный код в их компьютеры. Пользователи также понимают, что некоторые разработчики программного обеспечения создают программы, которые являются легкодоступными и имеют открытую функцию или назначение, такую как усовершенствование передачи сообщений по электронной почте, и скрытую функцию или назначение, такую как запись информации о пользователе, которая позже превращается в рыночной объект. Этот конкретный тип программного обеспечения часто называют "шпионскими" средствами для слежки. Так что пользователи часто пытаются защитить себя различными способами от таких угроз безопасности. Например, многие пользователи устанавливают антивирусные служебные программы, чтобы обезопасить себя от вирусов. Некоторые пользователи также устанавливают служебные программы против средств для слежки, чтобы решить проблему безопасности и защитить себя от средств для слежки.Most users understand that new programs can introduce viruses or other hostile code into their computers. Users also understand that some software developers create programs that are easily accessible and have an open function or purpose, such as improving email messaging, and a hidden function or purpose, such as recording user information, which later turns into a market object . This particular type of software is often called "spyware" snooping tools. So users often try to protect themselves in various ways from such security threats. For example, many users install antivirus utilities to protect themselves from viruses. Some users also install utilities against snooping tools to solve the security problem and protect themselves from snooping tools.

К сожалению, каждая служебная программа безопасности работает отдельно от каждой другой служебной программы безопасности и не знает о результатах работы друг друга, таким образом обременяя пользователя необходимостью сравнения информации от каждой служебной программы безопасности. Современные системы безопасности работают в вакууме по отношению друг к другу и каждая из систем сообщает пользователю лишь о ее специфических рисках безопасности. Большинство пользователей не желает иметь отдельных уведомлений о различных рисках безопасности от нескольких несопоставимых систем. Более того, они хотят лишь чтобы работали их системы безопасности. Характер "лоскутной" работы служебных программ безопасности в настоящее время обычно оставляет у пользователей ощущение страха, что остается брешь в их защите, и опасения того, что враждебные или нежелательные программы могут проникнуть через защиту. Из-за такого опасения многие пользователи неохотно используют новые программы, особенно в средах для работы в реальном масштабе времени.Unfortunately, each security utility runs separately from each other security utility and does not know about each other's performance, thus burdening the user with the need to compare information from each security utility. Modern security systems operate in a vacuum in relation to each other and each of the systems informs the user only about its specific security risks. Most users do not want to have separate notifications of various security risks from several disparate systems. Moreover, they only want their security systems to work. The nature of the “patchwork” work of security utilities currently usually leaves users with a sense of fear that there remains a gap in their protection, and fears that hostile or unwanted programs may penetrate through protection. Because of this fear, many users are reluctant to use new programs, especially in real-time environments.

К сожалению, в настоящее время отсутствуют механизмы, которые могут защитить пользователя от множества несопоставимых рисков безопасности, представляемых определенной программой пакета программного обеспечения, когда такую программу загружают, устанавливают или исполняют. Адекватный механизм для оценки рисков безопасности ускользнул от внимания специалистов в данной области техники.Unfortunately, there are currently no mechanisms that can protect the user from the many disparate security risks posed by a particular software package program when such a program is downloaded, installed or executed. An adequate mechanism for assessing security risks has eluded the attention of specialists in this field of technology.

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

Настоящее изобретение относится к системе и способу для накопления информации оценки безопасности о программе и для работы на основе этой информации удобным и полезным образом. Вкратце, среда выполнения программ под управлением главной программы (хостирующее окружение) отвечает за загрузку приложения. В ответ на инициирование загрузки приложения хостирующее окружение вызывает уполномоченный администратор для оценки рисков безопасности, связанных с таким приложением. Уполномоченный администратор вызывает множество уполномоченных модулей оценки, при этом каждый уполномоченный модуль оценки отвечает за анализ и оценку различных рисков безопасности. После завершения оценки каждого риска безопасности результаты таких отдельных оценок риска безопасности возвращают к уполномоченному администратору. Уполномоченный администратор группирует множество результатов оценки риска безопасности и выполняет определение безопасности на основе результатов сгруппированной оценки. В результате такого определения может быть принято решение приступить к загрузке приложения, блокировать загрузку приложения или быть может подсказать пользователю решение о целесообразности начинать загрузку. Будет предпочтительным, если пользователь после такой подсказки будет иметь возможность принять решение, основанное на коллективной оценке безопасности приложения, которая, в общем, придает пользователю большую уверенность в защите его вычислительной системы.The present invention relates to a system and method for accumulating safety assessment information about a program and for operating based on this information in a convenient and useful manner. In short, the runtime of programs under the control of the main program (hosted environment) is responsible for loading the application. In response to initiating application downloads, the hosted environment calls an authorized administrator to evaluate the security risks associated with the application. An authorized administrator calls up a number of authorized assessment modules, with each authorized assessment module responsible for analyzing and evaluating various security risks. After each security risk assessment has been completed, the results of these individual security risk assessments are returned to the authorized administrator. The Authorized Administrator groups many of the results of a security risk assessment and performs a security determination based on the results of a grouped assessment. As a result of such a determination, a decision may be made to start downloading the application, block the loading of the application, or perhaps prompt the user to decide whether to start the download. It will be preferable if the user after such a hint will be able to make a decision based on a collective assessment of the security of the application, which, in general, gives the user greater confidence in the protection of his computing system.

Краткое описание чертежейBrief Description of the Drawings

Фиг. 1 - функциональная блок-схема, иллюстрирующая вычислительное устройство, которое может быть использовано при реализациях настоящего изобретения.FIG. 1 is a functional block diagram illustrating a computing device that can be used in implementations of the present invention.

Фиг. 2 - функциональная блок-схема, иллюстрирующая, в общем, компоненты системы для выполнения оценки безопасности приложения и для представления пользователю коллективной оценки безопасности такого определения риска.FIG. 2 is a functional block diagram illustrating, in general, system components for performing an application security assessment and for presenting a collective security assessment of such a risk definition to a user.

Фиг. 3 - графическое представление одного иллюстративного набора предоставляемых полномочий для приложения, который ассоциирует определенные полномочия с компонентами приложения в контексте приложения.FIG. 3 is a graphical representation of one illustrative set of granted privileges for an application that associates certain privileges with application components in the application context.

Фиг. 4 - графическое представление одного иллюстративного интерфейса пользователя, который может быть использован для представления информации коллективной оценки безопасности пользователю.FIG. 4 is a graphical representation of one illustrative user interface that can be used to present collective security assessment information to a user.

Фиг. 5 - логическая блок-схема последовательности операций, в общем иллюстрирующая процесс оценки рисков безопасности, связанных с приложением, и представления пользователю коллективной оценки безопасности.FIG. 5 is a flowchart generally illustrating a process for assessing security risks associated with an application and presenting a collective security assessment to a user.

Подробное описание предпочтительного воплощения изобретенияDetailed description of a preferred embodiment of the invention

Настоящее изобретение будет описано здесь со ссылкой на один пример иллюстративной вычислительной среды, в которой могут быть реализованы варианты воплощения настоящего изобретения. Далее будет описан подробный пример одного специфического варианта воплощения настоящего изобретения. Альтернативные воплощения могут быть также включены в отношении некоторых деталей специфического воплощения. Должно быть понятно, что воплощения настоящего изобретения не ограничиваются описанными здесь вариантами.The present invention will be described here with reference to one example illustrative computing environment in which embodiments of the present invention may be implemented. Next, a detailed example of one specific embodiment of the present invention will be described. Alternative embodiments may also be included with respect to certain details of a specific embodiment. It should be understood that embodiments of the present invention are not limited to the embodiments described herein.

Иллюстративная вычислительная среда изобретенияIllustrative Computing Environment of the Invention

Фиг. 1 иллюстрирует вычислительное устройство, которое может быть использовано в иллюстративных вариантах воплощения настоящего изобретения. Как показано на фиг. 1, одна приведенная в качестве примера система для реализации изобретения включает вычислительное устройство, такое как вычислительное устройство 100. В наиболее общей конфигурации вычислительное устройство 100 обычно включает в себя, по меньшей мере, один процессор 102 и системную память 104. В зависимости от точной конфигурации и типа вычислительного устройства системная память 104 может быть энергозависимой (такой как ОЗУ), энергонезависимой (такой как ПЗУ, флэш-память и т.д.) или некоей комбинацией этих двух памятей. Системная память 104 обычно включает в себя операционную систему 105, один или более программных модулей 106 и может включать данные 107 программы. Эта базовая конфигурация вычислительного устройства 100 показана на фиг. 1 теми компонентами, которые лежат внутри области, обведенной пунктирной линией 108.FIG. 1 illustrates a computing device that can be used in illustrative embodiments of the present invention. As shown in FIG. 1, one exemplary system for implementing the invention includes a computing device, such as computing device 100. In a most general configuration, computing device 100 typically includes at least one processor 102 and system memory 104. Depending on the exact configuration and a type of computing device, system memory 104 may be volatile (such as RAM), non-volatile (such as ROM, flash memory, etc.), or some combination of these two memories. System memory 104 typically includes an operating system 105, one or more program modules 106, and may include program data 107. This basic configuration of computing device 100 is shown in FIG. 1 by those components that lie within the area surrounded by dashed line 108.

Вычислительное устройство 100 может иметь дополнительные признаки или функциональные возможности. Например, вычислительное устройство 100 может также включать дополнительные устройства хранения данных (съемные и/или несъемные), такие как, например, магнитные диски, оптические диски или магнитная лента. Такое дополнительное устройство хранения данных показано на фиг. 1 съемным устройством 109 хранения данных и несъемным устройством 110 хранения данных. Носители данных компьютера могут включать энергозависимые и энергонезависимые, съемные и несъемные носители, реализованные любым способом или технологией для хранения информации, такой как читаемые компьютером команды, структуры данных, программные модули или другие данные. Системная память 104, съемное устройство 109 хранения данных и несъемное устройство 110 хранения данных являются все примерами носителей данных компьютера. Носители данных компьютера включают, но не ограничиваются ими, ОЗУ, ПЗУ, электрически стираемое программируемое ПЗУ, флэш-память или другие технические средства памяти, перезаписываемый компакт-диск (CD-ROM), цифровые многоцелевые диски ("DVD") или другое оптическое устройство хранения данных, магнитные кассеты, магнитную ленту, магнитные дисковые ЗУ или другие магнитные устройства хранения данных, или любой другой носитель данных, который может быть использован для хранения требуемой информации и к которому может получить доступ вычислительное устройство 100. Любой такой носитель данных компьютера может быть частью устройства 100. Вычислительное устройство 100 может также иметь вводное устройство (устройства) 112, такое как клавиатура 122, мышь 123, перо, устройство речевого ввода, сенсорное устройство ввода, сканер и т.д. Выводное устройство (устройства) 114, такое как устройство отображения, громкоговорители, принтер и т.д., может быть также включено в состав системы. Эти устройства хорошо известны в данной области техники и не требуют подробного обсуждения здесь.Computing device 100 may have additional features or functionality. For example, computing device 100 may also include additional storage devices (removable and / or non-removable), such as, for example, magnetic disks, optical disks, or magnetic tape. Such an additional data storage device is shown in FIG. 1 by a removable data storage device 109 and a non-removable data storage device 110. Computer storage media may include volatile and non-volatile, removable and non-removable media implemented in any way or technology for storing information, such as computer-readable instructions, data structures, program modules or other data. System memory 104, removable data storage device 109 and non-removable data storage device 110 are all examples of computer storage media. Computer storage media includes, but is not limited to, RAM, ROM, electrically erasable programmable ROM, flash memory or other technical storage media, rewritable compact disc (CD-ROM), digital multi-purpose discs ("DVD"), or other optical device data storage, magnetic cassettes, magnetic tape, magnetic disk drives or other magnetic data storage devices, or any other storage medium that can be used to store the required information and which can be accessed by the computer device 100. Any such computer storage medium may be part of device 100. Computing device 100 may also have input device (s) 112, such as keyboard 122, mouse 123, pen, speech input device, touch input device, scanner, etc. d. An output device (s) 114, such as a display device, speakers, printer, etc., may also be included in the system. These devices are well known in the art and do not require a detailed discussion here.

Вычислительное устройство 100 может также содержать соединения 116 связи, которые дают возможность устройству поддерживать связь с другими вычислительными устройствами 118, такую как связь через сеть. Соединения 116 связи являются одним примером среды передачи данных. Среда передачи данных может обычно быть реализована читаемыми компьютером командами, структурами данных, программными модулями или другими данными в сигнале модулированных данных, такие как несущая волна или другой транспортный механизм, и включают любые среды доставки информации. Понятие "сигнал модулированных данных" означает сигнал, который имеет одну или более своих характеристик, установленных или измененных таким образом, чтобы кодировать информацию в сигнале. В качестве примера, но не ограничения, среды передачи данных включают в себя проводные среды, например проводная сеть или прямое проводное соединение, беспроводные среды, например акустические, РЧ (радиочастотные), инфракрасные и другие беспроводные среды. Понятие "читаемые компьютером среды", используемое здесь, включает как носители данных, так и среды передачи данных.Computing device 100 may also include communications connections 116 that enable the device to communicate with other computing devices 118, such as network communications. Communication connections 116 are one example of a communications medium. The data medium can usually be implemented by computer-readable instructions, data structures, program modules or other data in a modulated data signal, such as a carrier wave or other transport mechanism, and include any information delivery medium. The term "modulated data signal" means a signal that has one or more of its characteristics set or changed in such a way as to encode information in the signal. By way of example, but not limitation, communication media include wired media, such as a wired network or a direct wired connection, wireless media, such as acoustic, RF (radio frequency), infrared, and other wireless media. The term “computer-readable media” as used herein includes both storage media and data transmission media.

Описание специфической реализации изобретенияDescription of the specific implementation of the invention

Фиг. 2 - функциональная блок-схема, иллюстрирующая, в общем, компоненты среды, реализующие настоящее изобретение. Как показано на фиг. 2, уполномоченная система 200 оценки имеет конфигурацию для оценки приложения 201 и идентификации любых рисков безопасности, ассоциативно связанных с приложением 201. Приложение 201 может быть любым исполняемым кодом, доступным для вычислительного устройства 100. Имеют место некоторые присущие риски безопасности, связанные с исполнением приложения 201 на вычислительном устройстве 100. Например, приложение 201 может содержать вирус или представлять средства для слежки. Система 200 сконфигурирована соответственно для анализа приложения 201, чтобы дать оценку и количественно определить степень этих рисков осмысленным образом. Уполномоченная система 200 оценки затем принимает решение о загрузке приложения 201.FIG. 2 is a functional block diagram illustrating, in general, environmental components implementing the present invention. As shown in FIG. 2, the authorized assessment system 200 is configured to evaluate the application 201 and identify any security risks associated with the application 201. The application 201 may be any executable code available to the computing device 100. There are some inherent security risks associated with the execution of the application 201 on computing device 100. For example, application 201 may contain a virus or provide means for surveillance. System 200 is respectively configured to analyze application 201 to evaluate and quantify the degree of these risks in a meaningful way. The authorized evaluation system 200 then decides to download the application 201.

Приложение 201 может состоять из нескольких компонентов, которые работают совместно. Например, приложение 201 может включать в себя множество модулей или комплектов, таких как комплект А 202 и комплект В 203. Приложение 201 может включать в себя метаданные, описывающие приложение и каждый из ее составляющих компонентов. Метаданные могут содержаться в объявлении 205 или иначе храниться ассоциативно связанными с приложением 201. Метаданные могут включать в себя информацию, такую как имя приложения, версию приложения, а также права и полномочия, которые хотели бы иметь составляющие компоненты приложения, информацию политики конфиденциальности, информацию цифровой подписи и другую аналогичную информацию.Application 201 may consist of several components that work together. For example, an application 201 may include many modules or kits, such as kit A 202 and kit B 203. Application 201 may include metadata describing the application and each of its constituent components. The metadata may be contained in ad 205 or otherwise stored associatively associated with the application 201. The metadata may include information such as the name of the application, version of the application, as well as the rights and authority that the components of the application would like to have, privacy policy information, digital information signatures and other similar information.

Приложение 201 может быть вначале загружено на вычислительное устройство 100 одним из многих способов. Например, приложение 201 может быть загружено во время сеанса связи через Интернет, оно может быть получено на оптическом диске или другом постоянном ЗУ, оно может быть принято в сообщении электронной почты или через какой-либо другой механизм. В данной реализации приложение 201 загружают и выполняют в среде 220 выполнения программ под управлением главной программы (хостирующей среде). В целях настоящего обсуждения среда 220 выполнения программ под управлением главной программы включает в себя любую среду, в которой будет исполнено приложение 201. Например, среда 220 выполнения программ под управлением главной программы может представлять собой среду выполнения управляемого кода, оболочку, другое приложение или аналогичные компоненты. В этом конкретном воплощении среда 220 выполнения программ под управлением главной программы может включать в себя ранжирование приоритета, основанное на типе системы, которая выполняет роль ведущего узла. Например, может быть установлено, что среда выполнения программ под управлением главной программы, связанная с накопителем на оптическом диске, может предложить меньший риск безопасности, чем среда выполнения программ под управлением главной программы, ассоциированная с сеансом связи через сеть Интернет. Ранжирование приоритета может быть использовано позже при присвоении метки безопасности приложению 201.Application 201 may first be downloaded to computing device 100 in one of many ways. For example, the application 201 can be downloaded during a communication session over the Internet, it can be obtained on an optical disk or other permanent memory, it can be received in an e-mail message or through some other mechanism. In this implementation, application 201 is downloaded and executed in a program execution environment 220 under the control of a main program (hosted environment). For the purposes of this discussion, the program execution environment 220 under the control of the main program includes any environment in which the application 201 will be executed. For example, the program execution environment 220 under the control of the main program can be a managed code execution environment, a shell, another application, or similar components . In this particular embodiment, the program execution environment 220 under the control of the main program may include priority ranking based on the type of system that acts as the master node. For example, it can be established that the runtime of programs under the control of the main program associated with the optical disk drive may offer a lower security risk than the runtime of programs under the control of the main program associated with a communication session via the Internet. Priority ranking can be used later when assigning a security label to application 201.

Среда 220 выполнения программ под управлением главной программы сконфигурирована с возможностью создавать объект 221 описания приложения (ООП, ADO), основанный на метаданных о приложении 201. Среда 220 выполнения программ под управлением главной программы включает в ООП 221 достаточную информацию о приложении 201, чтобы эффективно оценить риски безопасности, ассоциативно связанные с приложением 201. ООП 221 может соответственно включать в себя в форме объекта имя приложения, версию приложения, права и полномочия, требуемые составляющими компонентами приложения, информацию политики конфиденциальности, информацию цифровой подписи и аналогичные данные. Среда 220 выполнения программ под управлением главной программы также сконфигурирована с возможностью вызвать уполномоченного администратора 210 для выполнения оценки.The program execution environment 220 under the control of the main program is configured to create an application description object (OO, ADO) 221 based on the metadata about the application 201. The program execution environment 220 under the control of the main program includes sufficient information about the application 201 in the OOP 221 to effectively evaluate security risks associated with application 201. OOP 221 may accordingly include, in the form of an object, the application name, application version, rights and authorities required by the component components and applications, privacy policy information, digital signature information and similar data. The program execution environment 220 under the control of the main program is also configured to call an authorized administrator 210 to perform an evaluation.

Уполномоченный администратор 210 может быть уполномоченным компонентом операционной системы, установленной на вычислительном устройстве 100. В этом конкретном воплощении уполномоченный администратор 210 предоставляет интерфейс, который вызывают средой 220 выполнения программы под управлением главной программы для инициирования оценки безопасности приложения 201. Уполномоченный администратор 210 принимает ООП 221 от среды 220 выполнения программ под управлением главной программы через этот интерфейс. Уполномоченный администратор 201 также выполнен с возможностью вызвать ряд уполномоченных механизмов (машин) оценки для оценки рисков безопасности, ассоциативно связанных с приложением 201. Каждый механизм оценки сконфигурирован с возможностью оценить определенный класс угрозы на основании информации в ООП 221 или компонентов самого приложения 201. Например, механизм 240 оценки может быть механизмом количественной оценки, который оценивает очевидность по отношению к приложению, которая может содержаться в ООП 221 или иначе иметь возможность определения способности приложения выполнять враждебные действия на вычислительном устройстве 100. Механизм 241 оценки может быть обнаружителем вируса, и процессор 242 оценки может быть сконфигурирован с возможностью оценки интересов конфиденциальности о приложении 201. Каждый из механизмов оценки может быть производным из базового класса или может быть реализован как интерфейс.The authorized administrator 210 may be an authorized component of the operating system installed on the computing device 100. In this particular embodiment, the authorized administrator 210 provides an interface that is invoked by the program execution environment 220 under the control of the main program to initiate the security assessment of application 201. The authorized administrator 210 receives OOP 221 from environment 220 run programs under the control of the main program through this interface. Authorized administrator 201 is also configured to call a number of authorized assessment mechanisms (machines) to evaluate security risks associated with application 201. Each assessment mechanism is configured to evaluate a specific threat class based on information in OOP 221 or components of application 201 itself. For example, evaluation mechanism 240 may be a quantification mechanism that evaluates evidence in relation to an application that may be contained in OOP 221 or otherwise be able to limiting the ability of an application to perform hostile acts on computing device 100. The evaluation engine 241 may be a virus detector, and the evaluation processor 242 may be configured to evaluate the privacy interests of the application 201. Each of the evaluation mechanisms may be derived from a base class or may be implemented as interface.

Каждый механизм оценки сконфигурирован с возможностью оценить приложение 201 по его определенным правилам или критериям, чтобы определить количественную оценку 245. Примеры количественной оценки включают в себя численное значение между минимумом и максимумом или дискретную величину из набора альтернативных уровней безопасности. Эти величины являются лишь примерами и не составляют исчерпывающего списка величин. Количественную оценку 245 затем могут вернуть к уполномоченному администратору 210 посредством каждого механизма оценки при завершении такой оценки. Уполномоченный администратор 210 сконфигурирован с возможностью группировать отдельные количественные оценки в группу 250 количественных оценок, которая представляет коллективную оценку безопасности приложения в каждой из областей, для которой существует механизм оценки. Любые приоритеты, которые могут иметь место, например приоритеты, ассоциативно связанные с определенным типом среды 220 выполнения программ под управлением главной программы (хостирующей среды), могут быть приложены к группе 250 количественных оценок (ГКО), чтобы дополнительно определить коллективную оценку безопасности. На основании такой коллективной оценки безопасности уполномоченный администратор 210 может обладать достаточной информацией, чтобы принять решение о загрузке, не привлекая пользователя. Например, заранее заданные пороговые значения (установленные по умолчанию или быть может заданные пользователем) могут определять, какие программы могут быть загружены, не запрашивая согласия пользователя, или какие программы могут быть блокированы без подсказки пользователю. Если коллективная оценка безопасности для определенного (загружаемого) приложения оказывается между этими двумя пороговыми значениями, пользователя можно пригласить для принятия решения о загрузке.Each rating mechanism is configured to evaluate application 201 according to its specific rules or criteria in order to quantify 245. Examples of quantification include a numerical value between a minimum and a maximum or a discrete value from a set of alternative security levels. These quantities are merely examples and do not constitute an exhaustive list of quantities. Quantification 245 may then be returned to the authorized administrator 210 through each evaluation mechanism at the completion of such evaluation. The Authorized Administrator 210 is configured to group individual scores into a scores group 250, which represents a collective assessment of application security in each of the areas for which a scoring mechanism exists. Any priorities that may occur, for example, priorities associated with a particular type of program execution environment 220 under the control of the main program (hosted environment), can be applied to the quantitative assessment group (GKO) 250 to further define a collective safety assessment. Based on such a collective security assessment, an authorized administrator 210 may have sufficient information to make a download decision without involving the user. For example, predefined thresholds (default or maybe user defined) can determine which programs can be downloaded without asking for user consent, or which programs can be blocked without prompting the user. If a collective security assessment for a specific (downloadable) application falls between these two thresholds, the user can be invited to make a download decision.

Уполномоченный администратор 210 создает уполномоченный объект 261, который описывает уровень полномочий, при которых может быть загружено приложение, если это вообще произойдет. Уполномоченный объект 261 может включать в себя данные, которые определяют набор 262 предоставляемых полномочий для приложения на покомпонентной основе. Один пример иллюстративного набора 262 предоставляемых полномочий приведен на фиг. 3 и описан ниже. Если коллективная оценка безопасности для приложения 201 оказывается между этими двумя пороговыми значениями, упомянутыми выше, то уполномоченный администратор 210 может передать уполномоченный объект 261 к интерфейсу 260 пользователя, так что пользователь может получить подсказку.The authorized administrator 210 creates an authorized object 261, which describes the level of authority at which the application can be downloaded, if at all. Authorized entity 261 may include data that defines a set of 262 granted permissions for an application on an exploded basis. One example of an illustrative set of granted permissions 262 is shown in FIG. 3 and is described below. If the collective security assessment for the application 201 falls between these two thresholds mentioned above, then the authorized administrator 210 can transfer the authorized object 261 to the user interface 260, so that the user can get a hint.

Интерфейс 260 пользователя является механизмом для представления пользователю коллективной оценки безопасности осмысленным образом, так чтобы пользователь мог принять информированное решение о дальнейших шагах. Интерфейс 260 пользователя может принимать множество форм, таких как диалоговое окно, акустический сигнал, индикатор в виде графического образа или аналогичную форму. Один пример возможного интерфейса 260 пользователя показан на фиг. 4 и описан ниже. По существу, интерфейс 260 пользователя представляет единственную точку представления для различной и несопоставимой информации безопасности, которая не существует в известных системах.The user interface 260 is a mechanism for presenting the user with a collective safety assessment in a meaningful way so that the user can make an informed decision about the next steps. The user interface 260 can take many forms, such as a dialog box, an acoustic signal, an indicator in the form of a graphical image, or a similar form. One example of a possible user interface 260 is shown in FIG. 4 and is described below. Essentially, the user interface 260 represents a single viewpoint for various and disparate security information that does not exist in known systems.

Интерфейс 260 пользователя может подсказать пользователю о возможных разветвлениях безопасности при разрешении на проведение загрузки приложения и, возможно, предоставить пользователю различные уровни полномочий, которые могут быть присвоены приложению. Пользователя запрашивают принять решение, следует ли или не следует проводить загрузку приложения. Интерфейс 260 пользователя (ИП) добавляет информацию ответа пользователя к уполномоченному объекту 261 (УО) и возвращает ее к уполномоченному администратору 210.The user interface 260 may prompt the user about possible security branches when authorized to download the application, and possibly provide the user with various levels of authority that may be assigned to the application. The user is asked to decide whether or not to download the application. The user interface (UI) 260 adds the user response information to the authorized entity 261 (UO) and returns it to the authorized administrator 210.

Каждый раз, когда запускают или исполняют приложение 201, его среда 220 выполнения программы могла бы вызвать уполномоченного администратора 210 для извлечения оценки безопасности приложения 201. В случае, когда уже был создан набор 262 представляемых полномочий, уполномоченный администратор 210 может вернуть этот набор 262 предоставляемых полномочий среде 220 выполнения программы под управлением главной программы. Альтернативно среда 220 выполнения программы под управлением главной программы могла бы занести в кэш-память информацию оценки безопасности для последующего использования, не привлекая уполномоченного администратора 210. Среда 220 выполнения программы под управлением главной программы затем наложит любые полномочия доступа, идентифицированные в наборе 262 предоставляемых полномочий, на приложение 201. Более конкретно среда 220 выполнения программы под управлением главной программы может наложить полномочия доступа на каждый отдельный компонент, такой как комплект А 202, приложения 201. Также возможно, что среда 220 выполнения программы под управлением главной программы или какое-либо другое приложение может представить компонент уполномоченному администратору 210 для оценки безопасности без специального намерения последующего исполнения компонента.Each time the application 201 is launched or executed, its program execution environment 220 could call an authorized administrator 210 to retrieve the security assessment of the application 201. In the case where a set of 262 represented credentials has already been created, the authorized administrator 210 may return this set of 262 granted credentials environment 220 program execution under the control of the main program. Alternatively, the program execution environment 220 under the control of the main program could cache the security assessment information for subsequent use without involving an authorized administrator 210. The program execution environment 220 under the control of the main program will then impose any access privileges identified in the set of granted permissions 262, to application 201. More specifically, the program execution environment 220 under the control of the main program can impose access privileges on each individual computer a component such as package A 202, applications 201. It is also possible that the program execution environment 220 under the control of the main program or some other application may present the component to an authorized administrator 210 for evaluating security without the special intention of subsequent execution of the component.

Фиг. 3 - графическое представление иллюстративного набора 301 представляемых полномочий, который может быть создан реализациями настоящего изобретения. Следует заметить, что понятие "набор предоставляемых полномочий", использованное в настоящем документе, означает любую группу информации, которая используется для определения безопасной среды, в которой может быть исполнено приложение. Понятие "набор предоставляемых полномочий", использованное в этом документе, не ограничивается определенной безопасной средой, такой как среда выполнения общего языка, но оно предназначено для того, чтобы обозначить информацию, использованную для определения безопасной среды, в которой исполняют приложение, безотносительно к конкретной рабочей среде.FIG. 3 is a graphical representation of an illustrative set of 301 represented credentials that can be created by implementations of the present invention. It should be noted that the concept of “set of granted authority” used in this document means any group of information that is used to determine the safe environment in which the application can be executed. The concept of “set of privileges granted” used in this document is not limited to a specific safe environment, such as a common language runtime, but is intended to indicate the information used to determine the safe environment in which the application is run, regardless of the specific working environment. environment.

В этом конкретном примере набор 301 предоставляемых полномочий может представлять собой данные внутри объекта, такого как уполномоченный объект или аналогичные данные. В этом примере набор 301 предоставляемых полномочий включает в себя информацию, которая идентифицирует каждый компонент приложения. Кроме того, набор 301 предоставляемых полномочий включает в себя информацию, которая определяет полномочия для каждого компонента приложения. В этом случае таблица 310 компонентов идентифицирует компонент следующим образом: комплект А, комплект В и комплект С и ассоциирует каждый из этих компонентов с набором полномочий. Например, в наборе 301 предоставляемых полномочий комплект А идентифицируется как имеющий набор полномочий (НП 1).In this specific example, the set of granted permissions 301 may be data within an object, such as an authorized object or similar data. In this example, the set of granted permissions 301 includes information that identifies each component of the application. In addition, the set of granted permissions 301 includes information that defines the credentials for each component of the application. In this case, the component table 310 identifies the component as follows: set A, set B, and set C, and associates each of these components with a set of permissions. For example, in set 301 of granted credentials, set A is identified as having a set of credentials (NP 1).

Таблица 320 полномочий также включена в набор 301 предоставляемых полномочий для определения специально таких полномочий, как полномочий, являющихся правами безопасности, ассоциативно связанными с каждым набором полномочий. В этом примере набор полномочий НП 1 включает такие полномочия и права, идентифицированные в примере как полномочия 1. Понятно, что как описано выше, когда среда 220 выполнения программы под управлением главной программы начинает загрузку компонентов приложения, обращаясь к набору 301 предоставляемых полномочий, соответствующие полномочия могут быть применены к каждому компоненту приложения в контексте приложения. Другими словами, некоторое другое приложение может также включать в себя комплект В, но в контексте этого другого приложения комплект В может иметь отличающийся набор полномочий. В таком случае, когда исполняют другое приложение и когда был загружен комплект В, оно будет иметь комплект полномочий, определенный набором предоставляемых полномочий, ассоциативно связанных с другим приложением.Authorization table 320 is also included in a set of 301 granted privileges to specifically define privileges such as privileges, which are security rights associated with each set of privileges. In this example, the set of permissions NP 1 includes such privileges and rights identified in the example as permissions 1. It is clear that, as described above, when the program execution environment 220 under the control of the main program starts loading application components, referring to the set of 301 granted permissions, the corresponding permissions can be applied to each component of the application in the context of the application. In other words, some other application may also include B, but in the context of this other application, B may have a different set of privileges. In this case, when another application is being executed and when set B has been downloaded, it will have a set of permissions defined by the set of granted permissions associated with another application.

На Фиг. 4 представлен иллюстративный диалог интерфейса пользователя, который может быть представлен пользователю на основании оценки безопасности приложения. В таком конкретном примере диалог 401 представлен на основании оценки приложения, которое запросило доступ к файловой системе и сети. Кроме того, модуль оценки вируса определил, что приложение не содержит вируса. В индикацию в виде графического образа может быть также включен уровень 405 риска. Пользователю предоставляется возможность выбора или провести загрузку, например, щелчком по клавише 410 "ОК" или прервать загрузку. Интерфейс пользователя, показанный на фиг. 4, приведен лишь для иллюстрации и его нельзя считать ограничивающим или исключительным механизмом для предоставления информации безопасности пользователю. Действительно, можно предположить, что очень многие различные формы представления коллективной оценки безопасности станут очевидными из раскрытия этого документа.In FIG. 4 illustrates an illustrative user interface dialog that can be presented to a user based on an application security rating. In such a specific example, a dialog 401 is presented based on an evaluation of an application that requested access to a file system and a network. In addition, the virus assessment module determined that the application does not contain a virus. An indication in the form of a graphic image may also include a risk level 405. The user is given the opportunity to select or perform a download, for example, by clicking on the OK button 410 or interrupt the download. The user interface shown in FIG. 4 is for illustration only and cannot be considered a limiting or exclusive mechanism for providing security information to a user. Indeed, it can be assumed that so many different forms of presenting a collective safety assessment will become apparent from the disclosure of this document.

На фиг. 5 приведена логическая блок-схема последовательности операций, в общем иллюстрирующая процесс идентификации и коллективного предоставления осмысленным образом информации о рисках безопасности, предложенных приложением. Процесс начинается с этапа 501 начала, где приложение загружают для исполнения на вычислительной системе. Как описано выше, приложение может быть загружено многими различными способами через различные типы систем, где выполняются программы. Этап 501 начала показывает соответствующим образом, что определенное приложение загружают с использованием определенной системы, где исполняют программу. Процесс продолжается на этапе 503.In FIG. Figure 5 is a logical flowchart generally illustrating the process of identifying and collectively providing meaningfully information on the security risks proposed by the application. The process begins at step 501, where the application is downloaded for execution on a computing system. As described above, an application can be downloaded in many different ways through various types of systems where programs are running. The start step 501 accordingly shows that the specific application is downloaded using the specific system where the program is being executed. The process continues to step 503.

На этапе 503 система, где выполняются программы, создает объект описания приложения (ООП) на основании информации о приложении. Как описано выше, информацию можно получить из объявления («манифеста»), включенного с приложением, или через какие-либо другие метаданные, ассоциативно связанные с приложением. ООП содержит описательную информацию о приложении, такую как имя и версия приложения, любые права, запрошенные приложением, любые полномочия на доступ к коду, запрашиваемые приложением, информацию цифровой подписи, относящуюся к приложению, информацию политики конфиденциальности и аналогичную информацию. Процесс продолжается на этапе 505.At step 503, the system where the programs are executed creates an application description object (OOP) based on the application information. As described above, information can be obtained from the announcement (“manifest”) included with the application, or through any other metadata associated with the application. OOP contains descriptive information about the application, such as the name and version of the application, any rights requested by the application, any code access permissions requested by the application, digital signature information related to the application, privacy policy information and similar information. The process continues to step 505.

На этапе 505 система, где выполняются программы, вызывает уполномоченного администратора командой оценить риски, связанные ассоциативно с приложением. Система, где выполняются программы (хост), передает ООП к уполномоченному администратору, чтобы использовать при оценке.At step 505, the system where the programs are executed calls an authorized administrator by the team to assess the risks associated with the application. The system where the programs are running (host) transfers the OOP to an authorized administrator for use in the evaluation.

На этапе 507 уполномоченный администратор начинает оценку рисков безопасности приложения вызовом ряда уполномоченных модулей оценки, чтобы каждый модуль оценки оценил специфическую область рисков безопасности. Например, модуль оценки вируса может быть сконфигурирован с возможностью проверки каждого компонента приложения на возможность содержания вируса в приложении. Модуль оценки конфиденциальности может оценить полномочия, запрошенные приложением, для определения уровня угрозы конфиденциальности, которую представляет приложение. Многие другие уполномоченные модули оценки могут быть также использованы, как это будет очевидно для специалистов в данной области техники.At step 507, the authorized administrator begins the application security risk assessment by invoking a series of authorized assessment modules so that each assessment module evaluates a specific area of security risk. For example, the virus assessment module may be configured to check each component of the application for the possibility of containing the virus in the application. The privacy assessment module can evaluate the credentials requested by the application to determine the level of privacy threat that the application presents. Many other authorized assessment modules can also be used, as will be apparent to those skilled in the art.

Цикл 508 проводят для каждого уполномоченного модуля оценки (УМО) в системе. Цикл 508 начинается в блоке 509, где текущий уполномоченный модуль оценки проверяет информацию в ООП и/или компоненты приложения, чтобы оценить риск безопасности. Информацию в ООП можно сравнить с набором правил или других критериев для создания количественной оценки, которая количественно оценивает риск безопасности приложения. В одном примере количественная оценка может быть величиной от нуля (максимальный риск) до единицы (минимальный риск). Количественная оценка может также включать в себя приоритет и дескриптор строки.Cycle 508 is conducted for each authorized evaluation module (EMA) in the system. Cycle 508 begins at block 509, where the current authorized evaluation module checks the information in the OOP and / or application components to evaluate the security risk. Information in OOP can be compared with a set of rules or other criteria to create a quantitative assessment that quantifies the security risk of the application. In one example, the quantification can be from zero (maximum risk) to one (minimum risk). Quantification may also include priority and a string descriptor.

Будет понятно, что оценки, выполняемые каждым уполномоченным модулем оценки, аналогичны похожим оценкам риска безопасности, которые могут быть выполнены известными механизмами. Однако в соответствии с настоящим изобретением каждый уполномоченный модуль оценки оценивает перспективный риск безопасности и возвращает группу количественных оценок к уполномоченному администратору (этап 511). Когда каждый уполномоченный модуль оценки вернул уполномоченному администратору его группу количественных оценок, цикл завершается и процесс продолжается на этапе 513.It will be appreciated that the assessments performed by each authorized assessment module are similar to similar safety risk assessments that can be performed by known mechanisms. However, in accordance with the present invention, each authorized assessment module evaluates the prospective security risk and returns the quantitative assessment group to the authorized administrator (step 511). When each authorized evaluation module returned to the authorized administrator its quantitative evaluation group, the cycle ends and the process continues at step 513.

На этапе 513 уполномоченный администратор анализирует группы количественных оценок от уполномоченных модулей оценки. Уполномоченный администратор может приоритизировать группы количественных оценок на основании заранее заданных критериев, таких как приоритет, ассоциативно связанный с определенным уполномоченным модулем оценки, или некоторой другой схемой приоритизации. Например, может иметь место большой риск, что присутствует вирус, который может перевесить малый риск в том, что может произойти нарушение конфиденциальности. Уполномоченный администратор определяет из приоритизированных групп количественных оценок групповое воздействие на безопасность на вычислительной системе. Если групповое воздействие на безопасность на системе превысит некоторое заранее заданное пороговое значение, уполномоченный администратор может просто блокировать загрузку приложения. Если групповое воздействие на безопасность ниже некоторого заранее заданного порогового значения, уполномоченный администратор может просто создать уполномоченный объект, который включает в себя достаточно полномочий для исполнения приложения. Если, однако, ни один из этих случаев не имеет места, уполномоченный администратор может вызвать интерфейс пользователя - сделать предложение пользователю принять решение.At step 513, the authorized administrator analyzes the quantification groups from the authorized evaluation modules. An authorized administrator can prioritize groups of quantitative evaluations based on predefined criteria, such as priority associated with a specific authorized evaluation module, or some other prioritization scheme. For example, there may be a high risk that a virus is present that can outweigh the low risk that a privacy violation may occur. The authorized administrator determines from the prioritized groups of quantitative assessments the group effect on security on the computer system. If the group security impact on the system exceeds a predetermined threshold, an authorized administrator can simply block the application from loading. If the group security impact is below a predetermined threshold, an authorized administrator can simply create an authorized entity that includes enough authority to execute the application. If, however, none of these cases occurs, an authorized administrator can call the user interface - make an offer to the user to make a decision.

На этапе 515 уполномоченный администратор передает приоритизированную группу количественных оценок и информацию группового воздействия к интерфейсу пользователя (ИП) для окончательной оценки, если ее требует пользователь. Если это имеет место, групповое воздействие на безопасность представляют пользователю. Представление может быть в виде диалогового окна, которое суммирует или специально детализирует риски безопасности, ассоциативно связанные с загрузкой приложения. Например, механизм количественной оценки может определить, что приложение запросило достаточно полномочий для чтения и модификации файлов на компьютере и для передачи данных через сетевое соединение. На основании такой информации, вместе с быть может другой очевидностью модуль оценки конфиденциальности может определить, что приложение, вероятно, совместно использует информацию пользователя по сети. Следовательно, такую информацию можно объединить, чтобы информировать пользователя о том, что загрузка приложения, вероятно, приведет к тому, что пользователь становится объектом телемаркетинговых кампаний или другого неуместного использования личной информации пользователя. Пользователю предпочтительно предоставляют информацию несопоставимых рисков безопасности, собранную в общее уведомление, такое как диалоговое окно или аналогичное средство.At step 515, the authorized administrator passes the prioritized group of quantitative estimates and group exposure information to the user interface (IP) for a final assessment, if required by the user. If this is the case, a group security impact is presented to the user. The presentation may be in the form of a dialog box that summarizes or specifically details the security risks associated with downloading the application. For example, a quantification mechanism may determine that an application has requested sufficient authority to read and modify files on a computer and to transfer data over a network connection. Based on such information, along with perhaps other evidence, the privacy assessment module can determine that the application is likely to share user information over the network. Therefore, such information can be combined to inform the user that downloading the application is likely to result in the user becoming the target of telemarketing campaigns or other inappropriate use of the user's personal information. The user is preferably provided with information on disparate security risks collected in a general notification, such as a dialog box or similar tool.

На этапе 517 любым вводом от интерфейса пользователя уполномоченный администратор модифицирует уполномоченный объект, чтобы описать безопасную среду, в которой может быть исполнено приложение. В одном воплощении уполномоченный объект включает в себя данные, которые ассоциируют приложение или компоненты приложения с набором представляемых полномочий. Набор представляемых полномочий описывает уровень безопасности, который будет приложен при исполнении приложения. В одной специфической среде набор представляемых полномочий ассоциативно связан с каждым компонентом приложения. Таким образом, компонент, который совместно используются различными приложениями, может быть исполнен с различными полномочиями в зависимости от контекста приложения, в котором оно исполняется. Процесс может не выполнять никаких действий на этапе 517 до тех пор, пока не будет фактически исполнено приложение, тем самым заставляя систему, где выполняются программы, начать загрузку компонентов приложения. Затем процесс продолжается на этапе 519.At step 517, by any input from the user interface, the authorized administrator modifies the authorized object to describe a secure environment in which the application can be executed. In one embodiment, an authorized entity includes data that associates an application or application components with a set of credentials. The set of privileges presented describes the level of security that will be applied during application execution. In one specific environment, the set of represented privileges is associated with each component of the application. Thus, a component that is shared between different applications can be executed with different privileges depending on the context of the application in which it is executed. The process may not perform any actions at step 517 until the application is actually executed, thereby forcing the system where the programs are running to start loading application components. The process then continues to step 519.

На этапе 519 приложение загружается системой, где выполняются программы. Согласно части политики безопасности, которая проводится в отношении загружаемых приложений, система, где выполняются программы, запрашивает уполномоченного администратора об уполномоченном объекте, ассоциативно связанном с приложением. Когда загружают каждый компонент приложения, прилагают набор предоставляемых полномочий, связанный с этим приложением. Таким образом, приложениям, которые были загружены в соответствии с настоящим изобретением, разрешены лишь те полномочия, которые установил пользователь информированным, непосредственным и понятным образом. Если приложению не было предоставлено достаточно привилегий, уполномоченный администратор может заблокировать исполнение приложения.At step 519, the application is loaded by the system where the programs are executed. According to the part of the security policy that is applied to downloadable applications, the system where the programs are executed asks an authorized administrator for an authorized object associated with the application. When each component of the application is downloaded, the set of granted permissions associated with this application is attached. Thus, applications that have been downloaded in accordance with the present invention are allowed only those privileges set by the user in an informed, direct and understandable way. If the application has not been granted sufficient privileges, an authorized administrator can block the execution of the application.

Вышеприведенные текст описания, примеры и данные достаточно полно описывают концепции и иллюстрированные реализации изобретения. Поскольку многие воплощения изобретения могут быть реализованы без отхода от его объема и принципов, объем патентной защиты изобретения определяется прилагаемой формулой изобретения.The above description text, examples, and data adequately describe the concepts and illustrated implementations of the invention. Since many embodiments of the invention can be implemented without departing from its scope and principles, the scope of patent protection of the invention is determined by the attached claims.

Claims (20)

1. Считываемый компьютером носитель, имеющий исполняемые компьютером компоненты, содержащие уполномоченного администратора, выполненного с возможностью принимать уведомление о том, что приложение загружается, и в ответ на это инициировать проведение оценки приложения в отношении множества рисков безопасности, причем уполномоченный администратор также выполнен с возможностью группирования количественных оценок, связанных ассоциативно с каждой оценкой риска безопасности для определения коллективной оценки безопасности, основанной на сгруппированных количественных оценках, и интерфейс пользователя, выполненный с возможностью представления коллективной оценки безопасности, определенной уполномоченным администратором, и предоставления возможности принимать определение о том, продолжать ли загрузку приложения.1. Computer-readable media having computer-executable components comprising an authorized administrator configured to receive a notification that the application is loading, and in response to this, initiate an application assessment for a plurality of security risks, and the authorized administrator is also configured to group quantifications associated with each safety risk assessment to determine a collective safety assessment based on on grouped quantitative assessments, and a user interface configured to present a collective security assessment as determined by an authorized administrator and to provide the ability to make a determination as to whether to continue downloading the application. 2. Считываемый компьютером носитель по п.1, в котором приложение загружается средой выполнения программ под управлением главной программы (хостирующим окружением), причем упомянутая среда выполнения программ под управлением главной программы выдает уведомление уполномоченному администратору.2. The computer-readable medium according to claim 1, wherein the application is loaded by the program runtime under the control of the main program (hosted environment), said program runtime under the control of the main program giving a notification to the authorized administrator. 3. Считываемый компьютером носитель по п.2, в котором упомянутая среда выполнения программ под управлением главной программы выполнена с возможностью создавать объект описания приложения, который включает описательную информацию о приложении.3. The computer-readable medium of claim 2, wherein said program execution environment under the control of the main program is configured to create an application description object that includes descriptive information about the application. 4. Считываемый компьютером носитель по п.3, в котором описательная информация включает в себя имя приложения и версию приложения.4. The computer-readable medium of claim 3, wherein the descriptive information includes an application name and an application version. 5. Считываемый компьютером носитель по п.3, в котором описательная информация идентифицирует права и полномочия, запрашиваемые компонентами приложения.5. The computer-readable medium of claim 3, wherein the descriptive information identifies the rights and authorities requested by the application components. 6. Считываемый компьютером носитель по п.3, в котором описательная информация включает в себя информацию политики конфиденциальности.6. The computer-readable medium of claim 3, wherein the descriptive information includes privacy policy information. 7. Считываемый компьютером носитель по п.3, в котором описательная информация включает в себя информацию цифровой подписи в отношении приложения.7. The computer-readable medium of claim 3, wherein the descriptive information includes digital signature information regarding the application. 8. Считываемый компьютером носитель по п.1, в котором оценки риска безопасности выполняют отдельным уполномоченным модулем оценки, причем каждый уполномоченный модуль оценки выполнен с возможностью анализировать конкретный риск безопасности, ассоциативно связанный с этим приложением.8. The computer-readable medium of claim 1, wherein the security risk assessments are performed by a separate authorized assessment module, wherein each authorized assessment module is configured to analyze a particular security risk associated with this application. 9. Считываемый компьютером носитель по п.8, в котором конкретным риском безопасности является присутствие вируса.9. The computer-readable medium of claim 8, wherein the specific security risk is the presence of a virus. 10. Считываемый компьютером носитель по п.8, в котором конкретным риском безопасности является нарушение конфиденциальности.10. The computer-readable medium of claim 8, wherein the particular security risk is a breach of confidentiality. 11. Считываемый компьютером носитель по п.1, в котором коллективная оценка безопасности идентифицирует один или более рисков, ассоциативно связанных с загрузкой приложения.11. The computer-readable medium of claim 1, wherein the collective security assessment identifies one or more risks associated with downloading the application. 12. Считываемый компьютером носитель по п.1, в котором уполномоченный администратор дополнительно выполнен с возможностью группировать оценки от рисков безопасности, определенных после приема уведомления, что приложение загружается.12. The computer-readable medium of claim 1, wherein the authorized administrator is further configured to group estimates of security risks determined upon receipt of the notification that the application is loading. 13. Считываемый компьютером носитель по п.1, который дополнительно содержит структуру данных, причем в упомянутой структуре содержится набор предоставляемых полномочий, ассоциативно связанных с приложением, причем набор предоставляемых полномочий включает в себя первую таблицу и вторую таблицу, первая таблица включает в себя список компонентов, составляющих приложение, при этом каждый компонент ассоциативно связан с набором полномочий, вторая таблица включает в себя список наборов полномочий и описание каждого набора полномочий.13. The computer-readable medium according to claim 1, which further comprises a data structure, wherein said structure contains a set of granted privileges associated with the application, the set of granted powers includes a first table and a second table, the first table includes a list of components constituting the application, with each component being associated with a set of permissions, the second table includes a list of sets of permissions and a description of each set of permissions. 14. Реализованный на компьютере способ оценки и группирования информации по оценке безопасности для вычислительной системы, содержащий прием уведомления о том, что приложение загружается посредством среды выполнения программ под управлением главной программы (хостирующего окружения), прием объекта описания приложения, который включает в себя информацию о приложении, инициирование проведения оценки приложения для определения множества рисков безопасности, ассоциированных с приложением, группирование результатов из оценки множества рисков безопасности и предоставление сгруппированных результатов в виде коллективной оценки безопасности приложения и предоставление возможности принимать определение о том, разрешать ли загрузку приложения.14. A computer-implemented method for evaluating and grouping security assessment information for a computing system, comprising receiving a notification that the application is being downloaded by the program runtime under the control of the main program (hosted environment), receiving an application description object that includes information about application, initiating an application assessment to determine the multiple security risks associated with the application, grouping the results from an assessment of the set Security claims and providing results grouped in a collective assessment of the security applications and enabling to make a determination on whether to allow downloading applications. 15. Реализованный на компьютере способ по п.14, в котором инициирование проведения оценки приложения также содержит вызов множества уполномоченных модулей оценки, причем каждый уполномоченный модуль оценки ассоциативно связан с отдельным возможным риском безопасности и имеет возможность оценить вероятность того, что приложению будет нанесен ущерб от определенного возможного риска безопасности, соответствующего такому уполномоченному модулю оценки.15. The computer-implemented method of claim 14, wherein initiating the evaluation of the application also comprises calling a plurality of authorized evaluation modules, each authorized evaluation module being associated with a particular potential security risk and able to assess the likelihood that the application will be damaged by a certain potential safety risk corresponding to such an authorized assessment module. 16. Реализованный на компьютере способ по п.14, также содержащий присваивание набора полномочий приложению, причем набор полномочий определяет полномочия, с которыми будет разрешено исполнение приложения.16. Implemented on a computer the method according to 14, also containing the assignment of a set of permissions to the application, and the set of permissions determines the authority with which execution of the application will be allowed. 17. Реализованный на компьютере способ по п.16, также содержащий этап: в ответ на уведомление об исполнении приложения извлекают набор полномочий и обусловливают исполнение приложения с соответствующими полномочиями.17. Implemented on a computer, the method according to clause 16, also comprising the step of: in response to the notification of the execution of the application, a set of privileges is extracted and the execution of the application with the corresponding authorities is determined. 18. Реализованный на компьютере способ по п.16, в котором набор полномочий определяет полномочия для компонентов приложения.18. Implemented on a computer, the method according to clause 16, in which the set of permissions determines the authority for the application components. 19. Реализованный на компьютере способ по п.16, дополнительно содержащий прерывание загрузки приложения в ответ на получение сгруппированных результатов.19. Implemented on a computer, the method according to clause 16, further comprising interrupting the loading of the application in response to receiving grouped results. 20. Реализованный на компьютере способ по п.16, в котором инициирование проведения оценки приложения для определения множества рисков безопасности, связанных с приложением, содержит проверку того, что принято приложение для определения рисков безопасности после уведомления о том, что приложение загружается средой выполнения программ под управлением главной программы.20. The computer-implemented method of claim 16, wherein initiating an application assessment to determine a plurality of security risks associated with the application, comprises verifying that the application for determining security risks has been accepted after notification that the application is loading by the program runtime under management of the main program.
RU2004119846/09A 2003-05-17 2003-05-17 Mechanism for estimation of safety risks RU2334363C2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
RU2004119846/09A RU2334363C2 (en) 2003-05-17 2003-05-17 Mechanism for estimation of safety risks

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
RU2004119846/09A RU2334363C2 (en) 2003-05-17 2003-05-17 Mechanism for estimation of safety risks

Publications (2)

Publication Number Publication Date
RU2004119846A RU2004119846A (en) 2005-05-10
RU2334363C2 true RU2334363C2 (en) 2008-09-20

Family

ID=35746778

Family Applications (1)

Application Number Title Priority Date Filing Date
RU2004119846/09A RU2334363C2 (en) 2003-05-17 2003-05-17 Mechanism for estimation of safety risks

Country Status (1)

Country Link
RU (1) RU2334363C2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2500070C1 (en) * 2012-03-20 2013-11-27 Федеральное государственное военное образовательное учреждение высшего профессионального образования "Военный авиационный инженерный университет" (г. Воронеж) Министерства обороны Российской Федерации System for safety risk assessment and management

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2500070C1 (en) * 2012-03-20 2013-11-27 Федеральное государственное военное образовательное учреждение высшего профессионального образования "Военный авиационный инженерный университет" (г. Воронеж) Министерства обороны Российской Федерации System for safety risk assessment and management

Also Published As

Publication number Publication date
RU2004119846A (en) 2005-05-10

Similar Documents

Publication Publication Date Title
US8156558B2 (en) Mechanism for evaluating security risks
US10664592B2 (en) Method and system to securely run applications using containers
US11372997B2 (en) Automatic audit logging of events in software applications performing regulatory workloads
Arslan et al. Permission-based malware detection system for android using machine learning techniques
TWI559166B (en) Threat level assessment of applications
US9836608B2 (en) System, method and apparatus for simultaneous definition and enforcement of access-control and integrity policies
US7743414B2 (en) System and method for executing a permissions recorder analyzer
US11050773B2 (en) Selecting security incidents for advanced automatic analysis
US8281410B1 (en) Methods and systems for providing resource-access information
WO2014150215A1 (en) Enforcing policy-based compliance of virtual machine image configurations
US20090100520A1 (en) Detection and dynamic alteration of execution of potential software threats
US20220309167A1 (en) Cluster security based on virtual machine content
US11550926B2 (en) Managing the loading of sensitive modules
US20170169212A1 (en) Security enforcement in the presence of dynamic code loading
RU2334363C2 (en) Mechanism for estimation of safety risks
Tian et al. Redroid: Prioritizing data flows and sinks for app security transformation
Pei et al. ASCAA: API‐level security certification of android applications
US8627068B1 (en) Selecting access authorities
US11775272B1 (en) Deployment of software programs based on security levels thereof
US20230038774A1 (en) System, Method, and Apparatus for Smart Whitelisting/Blacklisting
US20220129564A1 (en) Centralized security analysis and management of source code in network environments
Ekle et al. Cyber Risk Evaluation for Android-based Devices
ZA200405127B (en) Mechanism for evaluating security risks.
KR20230124189A (en) Vulnerability diagnosis method provided by diagnosis server

Legal Events

Date Code Title Description
MM4A The patent is invalid due to non-payment of fees

Effective date: 20130518