RU2334363C2 - Mechanism for estimation of safety risks - Google Patents
Mechanism for estimation of safety risks Download PDFInfo
- 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
Links
Images
Landscapes
- Storage Device Security (AREA)
Abstract
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
Приложение 201 может состоять из нескольких компонентов, которые работают совместно. Например, приложение 201 может включать в себя множество модулей или комплектов, таких как комплект А 202 и комплект В 203. Приложение 201 может включать в себя метаданные, описывающие приложение и каждый из ее составляющих компонентов. Метаданные могут содержаться в объявлении 205 или иначе храниться ассоциативно связанными с приложением 201. Метаданные могут включать в себя информацию, такую как имя приложения, версию приложения, а также права и полномочия, которые хотели бы иметь составляющие компоненты приложения, информацию политики конфиденциальности, информацию цифровой подписи и другую аналогичную информацию.
Приложение 201 может быть вначале загружено на вычислительное устройство 100 одним из многих способов. Например, приложение 201 может быть загружено во время сеанса связи через Интернет, оно может быть получено на оптическом диске или другом постоянном ЗУ, оно может быть принято в сообщении электронной почты или через какой-либо другой механизм. В данной реализации приложение 201 загружают и выполняют в среде 220 выполнения программ под управлением главной программы (хостирующей среде). В целях настоящего обсуждения среда 220 выполнения программ под управлением главной программы включает в себя любую среду, в которой будет исполнено приложение 201. Например, среда 220 выполнения программ под управлением главной программы может представлять собой среду выполнения управляемого кода, оболочку, другое приложение или аналогичные компоненты. В этом конкретном воплощении среда 220 выполнения программ под управлением главной программы может включать в себя ранжирование приоритета, основанное на типе системы, которая выполняет роль ведущего узла. Например, может быть установлено, что среда выполнения программ под управлением главной программы, связанная с накопителем на оптическом диске, может предложить меньший риск безопасности, чем среда выполнения программ под управлением главной программы, ассоциированная с сеансом связи через сеть Интернет. Ранжирование приоритета может быть использовано позже при присвоении метки безопасности приложению 201.
Среда 220 выполнения программ под управлением главной программы сконфигурирована с возможностью создавать объект 221 описания приложения (ООП, ADO), основанный на метаданных о приложении 201. Среда 220 выполнения программ под управлением главной программы включает в ООП 221 достаточную информацию о приложении 201, чтобы эффективно оценить риски безопасности, ассоциативно связанные с приложением 201. ООП 221 может соответственно включать в себя в форме объекта имя приложения, версию приложения, права и полномочия, требуемые составляющими компонентами приложения, информацию политики конфиденциальности, информацию цифровой подписи и аналогичные данные. Среда 220 выполнения программ под управлением главной программы также сконфигурирована с возможностью вызвать уполномоченного администратора 210 для выполнения оценки.The
Уполномоченный администратор 210 может быть уполномоченным компонентом операционной системы, установленной на вычислительном устройстве 100. В этом конкретном воплощении уполномоченный администратор 210 предоставляет интерфейс, который вызывают средой 220 выполнения программы под управлением главной программы для инициирования оценки безопасности приложения 201. Уполномоченный администратор 210 принимает ООП 221 от среды 220 выполнения программ под управлением главной программы через этот интерфейс. Уполномоченный администратор 201 также выполнен с возможностью вызвать ряд уполномоченных механизмов (машин) оценки для оценки рисков безопасности, ассоциативно связанных с приложением 201. Каждый механизм оценки сконфигурирован с возможностью оценить определенный класс угрозы на основании информации в ООП 221 или компонентов самого приложения 201. Например, механизм 240 оценки может быть механизмом количественной оценки, который оценивает очевидность по отношению к приложению, которая может содержаться в ООП 221 или иначе иметь возможность определения способности приложения выполнять враждебные действия на вычислительном устройстве 100. Механизм 241 оценки может быть обнаружителем вируса, и процессор 242 оценки может быть сконфигурирован с возможностью оценки интересов конфиденциальности о приложении 201. Каждый из механизмов оценки может быть производным из базового класса или может быть реализован как интерфейс.The authorized
Каждый механизм оценки сконфигурирован с возможностью оценить приложение 201 по его определенным правилам или критериям, чтобы определить количественную оценку 245. Примеры количественной оценки включают в себя численное значение между минимумом и максимумом или дискретную величину из набора альтернативных уровней безопасности. Эти величины являются лишь примерами и не составляют исчерпывающего списка величин. Количественную оценку 245 затем могут вернуть к уполномоченному администратору 210 посредством каждого механизма оценки при завершении такой оценки. Уполномоченный администратор 210 сконфигурирован с возможностью группировать отдельные количественные оценки в группу 250 количественных оценок, которая представляет коллективную оценку безопасности приложения в каждой из областей, для которой существует механизм оценки. Любые приоритеты, которые могут иметь место, например приоритеты, ассоциативно связанные с определенным типом среды 220 выполнения программ под управлением главной программы (хостирующей среды), могут быть приложены к группе 250 количественных оценок (ГКО), чтобы дополнительно определить коллективную оценку безопасности. На основании такой коллективной оценки безопасности уполномоченный администратор 210 может обладать достаточной информацией, чтобы принять решение о загрузке, не привлекая пользователя. Например, заранее заданные пороговые значения (установленные по умолчанию или быть может заданные пользователем) могут определять, какие программы могут быть загружены, не запрашивая согласия пользователя, или какие программы могут быть блокированы без подсказки пользователю. Если коллективная оценка безопасности для определенного (загружаемого) приложения оказывается между этими двумя пороговыми значениями, пользователя можно пригласить для принятия решения о загрузке.Each rating mechanism is configured to evaluate
Уполномоченный администратор 210 создает уполномоченный объект 261, который описывает уровень полномочий, при которых может быть загружено приложение, если это вообще произойдет. Уполномоченный объект 261 может включать в себя данные, которые определяют набор 262 предоставляемых полномочий для приложения на покомпонентной основе. Один пример иллюстративного набора 262 предоставляемых полномочий приведен на фиг. 3 и описан ниже. Если коллективная оценка безопасности для приложения 201 оказывается между этими двумя пороговыми значениями, упомянутыми выше, то уполномоченный администратор 210 может передать уполномоченный объект 261 к интерфейсу 260 пользователя, так что пользователь может получить подсказку.The authorized
Интерфейс 260 пользователя является механизмом для представления пользователю коллективной оценки безопасности осмысленным образом, так чтобы пользователь мог принять информированное решение о дальнейших шагах. Интерфейс 260 пользователя может принимать множество форм, таких как диалоговое окно, акустический сигнал, индикатор в виде графического образа или аналогичную форму. Один пример возможного интерфейса 260 пользователя показан на фиг. 4 и описан ниже. По существу, интерфейс 260 пользователя представляет единственную точку представления для различной и несопоставимой информации безопасности, которая не существует в известных системах.The
Интерфейс 260 пользователя может подсказать пользователю о возможных разветвлениях безопасности при разрешении на проведение загрузки приложения и, возможно, предоставить пользователю различные уровни полномочий, которые могут быть присвоены приложению. Пользователя запрашивают принять решение, следует ли или не следует проводить загрузку приложения. Интерфейс 260 пользователя (ИП) добавляет информацию ответа пользователя к уполномоченному объекту 261 (УО) и возвращает ее к уполномоченному администратору 210.The
Каждый раз, когда запускают или исполняют приложение 201, его среда 220 выполнения программы могла бы вызвать уполномоченного администратора 210 для извлечения оценки безопасности приложения 201. В случае, когда уже был создан набор 262 представляемых полномочий, уполномоченный администратор 210 может вернуть этот набор 262 предоставляемых полномочий среде 220 выполнения программы под управлением главной программы. Альтернативно среда 220 выполнения программы под управлением главной программы могла бы занести в кэш-память информацию оценки безопасности для последующего использования, не привлекая уполномоченного администратора 210. Среда 220 выполнения программы под управлением главной программы затем наложит любые полномочия доступа, идентифицированные в наборе 262 предоставляемых полномочий, на приложение 201. Более конкретно среда 220 выполнения программы под управлением главной программы может наложить полномочия доступа на каждый отдельный компонент, такой как комплект А 202, приложения 201. Также возможно, что среда 220 выполнения программы под управлением главной программы или какое-либо другое приложение может представить компонент уполномоченному администратору 210 для оценки безопасности без специального намерения последующего исполнения компонента.Each time the
Фиг. 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
Таблица 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
На Фиг. 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
На фиг. 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
На этапе 503 система, где выполняются программы, создает объект описания приложения (ООП) на основании информации о приложении. Как описано выше, информацию можно получить из объявления («манифеста»), включенного с приложением, или через какие-либо другие метаданные, ассоциативно связанные с приложением. ООП содержит описательную информацию о приложении, такую как имя и версия приложения, любые права, запрошенные приложением, любые полномочия на доступ к коду, запрашиваемые приложением, информацию цифровой подписи, относящуюся к приложению, информацию политики конфиденциальности и аналогичную информацию. Процесс продолжается на этапе 505.At
На этапе 505 система, где выполняются программы, вызывает уполномоченного администратора командой оценить риски, связанные ассоциативно с приложением. Система, где выполняются программы (хост), передает ООП к уполномоченному администратору, чтобы использовать при оценке.At
На этапе 507 уполномоченный администратор начинает оценку рисков безопасности приложения вызовом ряда уполномоченных модулей оценки, чтобы каждый модуль оценки оценил специфическую область рисков безопасности. Например, модуль оценки вируса может быть сконфигурирован с возможностью проверки каждого компонента приложения на возможность содержания вируса в приложении. Модуль оценки конфиденциальности может оценить полномочия, запрошенные приложением, для определения уровня угрозы конфиденциальности, которую представляет приложение. Многие другие уполномоченные модули оценки могут быть также использованы, как это будет очевидно для специалистов в данной области техники.At
Цикл 508 проводят для каждого уполномоченного модуля оценки (УМО) в системе. Цикл 508 начинается в блоке 509, где текущий уполномоченный модуль оценки проверяет информацию в ООП и/или компоненты приложения, чтобы оценить риск безопасности. Информацию в ООП можно сравнить с набором правил или других критериев для создания количественной оценки, которая количественно оценивает риск безопасности приложения. В одном примере количественная оценка может быть величиной от нуля (максимальный риск) до единицы (минимальный риск). Количественная оценка может также включать в себя приоритет и дескриптор строки.
Будет понятно, что оценки, выполняемые каждым уполномоченным модулем оценки, аналогичны похожим оценкам риска безопасности, которые могут быть выполнены известными механизмами. Однако в соответствии с настоящим изобретением каждый уполномоченный модуль оценки оценивает перспективный риск безопасности и возвращает группу количественных оценок к уполномоченному администратору (этап 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
На этапе 513 уполномоченный администратор анализирует группы количественных оценок от уполномоченных модулей оценки. Уполномоченный администратор может приоритизировать группы количественных оценок на основании заранее заданных критериев, таких как приоритет, ассоциативно связанный с определенным уполномоченным модулем оценки, или некоторой другой схемой приоритизации. Например, может иметь место большой риск, что присутствует вирус, который может перевесить малый риск в том, что может произойти нарушение конфиденциальности. Уполномоченный администратор определяет из приоритизированных групп количественных оценок групповое воздействие на безопасность на вычислительной системе. Если групповое воздействие на безопасность на системе превысит некоторое заранее заданное пороговое значение, уполномоченный администратор может просто блокировать загрузку приложения. Если групповое воздействие на безопасность ниже некоторого заранее заданного порогового значения, уполномоченный администратор может просто создать уполномоченный объект, который включает в себя достаточно полномочий для исполнения приложения. Если, однако, ни один из этих случаев не имеет места, уполномоченный администратор может вызвать интерфейс пользователя - сделать предложение пользователю принять решение.At
На этапе 515 уполномоченный администратор передает приоритизированную группу количественных оценок и информацию группового воздействия к интерфейсу пользователя (ИП) для окончательной оценки, если ее требует пользователь. Если это имеет место, групповое воздействие на безопасность представляют пользователю. Представление может быть в виде диалогового окна, которое суммирует или специально детализирует риски безопасности, ассоциативно связанные с загрузкой приложения. Например, механизм количественной оценки может определить, что приложение запросило достаточно полномочий для чтения и модификации файлов на компьютере и для передачи данных через сетевое соединение. На основании такой информации, вместе с быть может другой очевидностью модуль оценки конфиденциальности может определить, что приложение, вероятно, совместно использует информацию пользователя по сети. Следовательно, такую информацию можно объединить, чтобы информировать пользователя о том, что загрузка приложения, вероятно, приведет к тому, что пользователь становится объектом телемаркетинговых кампаний или другого неуместного использования личной информации пользователя. Пользователю предпочтительно предоставляют информацию несопоставимых рисков безопасности, собранную в общее уведомление, такое как диалоговое окно или аналогичное средство.At
На этапе 517 любым вводом от интерфейса пользователя уполномоченный администратор модифицирует уполномоченный объект, чтобы описать безопасную среду, в которой может быть исполнено приложение. В одном воплощении уполномоченный объект включает в себя данные, которые ассоциируют приложение или компоненты приложения с набором представляемых полномочий. Набор представляемых полномочий описывает уровень безопасности, который будет приложен при исполнении приложения. В одной специфической среде набор представляемых полномочий ассоциативно связан с каждым компонентом приложения. Таким образом, компонент, который совместно используются различными приложениями, может быть исполнен с различными полномочиями в зависимости от контекста приложения, в котором оно исполняется. Процесс может не выполнять никаких действий на этапе 517 до тех пор, пока не будет фактически исполнено приложение, тем самым заставляя систему, где выполняются программы, начать загрузку компонентов приложения. Затем процесс продолжается на этапе 519.At
На этапе 519 приложение загружается системой, где выполняются программы. Согласно части политики безопасности, которая проводится в отношении загружаемых приложений, система, где выполняются программы, запрашивает уполномоченного администратора об уполномоченном объекте, ассоциативно связанном с приложением. Когда загружают каждый компонент приложения, прилагают набор предоставляемых полномочий, связанный с этим приложением. Таким образом, приложениям, которые были загружены в соответствии с настоящим изобретением, разрешены лишь те полномочия, которые установил пользователь информированным, непосредственным и понятным образом. Если приложению не было предоставлено достаточно привилегий, уполномоченный администратор может заблокировать исполнение приложения.At
Вышеприведенные текст описания, примеры и данные достаточно полно описывают концепции и иллюстрированные реализации изобретения. Поскольку многие воплощения изобретения могут быть реализованы без отхода от его объема и принципов, объем патентной защиты изобретения определяется прилагаемой формулой изобретения.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)
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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2500070C1 (en) * | 2012-03-20 | 2013-11-27 | Федеральное государственное военное образовательное учреждение высшего профессионального образования "Военный авиационный инженерный университет" (г. Воронеж) Министерства обороны Российской Федерации | System for safety risk assessment and management |
-
2003
- 2003-05-17 RU RU2004119846/09A patent/RU2334363C2/en not_active IP Right Cessation
Cited By (1)
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 | |
US11050773B2 (en) | Selecting security incidents for advanced automatic analysis | |
Arslan et al. | Permission-based malware detection system for android using machine learning techniques | |
US10628600B2 (en) | Automatic audit logging of events in software applications performing regulatory workloads | |
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 | |
US8281410B1 (en) | Methods and systems for providing resource-access information | |
US20090100520A1 (en) | Detection and dynamic alteration of execution of potential software threats | |
WO2014150215A1 (en) | Enforcing policy-based compliance of virtual machine image configurations | |
US20220309167A1 (en) | Cluster security based on virtual machine content | |
US12229258B2 (en) | System, method, and apparatus for smart whitelisting/blacklisting | |
RU2334363C2 (en) | Mechanism for estimation of safety risks | |
US20170169212A1 (en) | Security enforcement in the presence of dynamic code loading | |
US11775272B1 (en) | Deployment of software programs based on security levels thereof | |
US20220129564A1 (en) | Centralized security analysis and management of source code in network environments | |
Tian et al. | Redroid: Prioritizing data flows and sinks for app security transformation | |
Koala et al. | Analysis of the Impact of Permissions on the Vulnerability of Mobile Applications | |
Ekle et al. | Cyber Risk Evaluation for Android-based Devices | |
US8627068B1 (en) | Selecting access authorities | |
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 |