Abstract:
This invention concerns a method for the automatic analysis of security requirements in information technology systems. To this end, it proposes an automatic analysis process, implemented on a processor, and which allows: taking account of all security aspects, both organisational and technical, interacting with the users (security experts, decision makers, etc.) and synthesizing relevant information which can then be easily compared with the actual situation, systematically checking security information for completeness and consistency in order to detect potential weaknesses of the system (or future system). The method according to the invention enables the description and comparison of different structured views of the information. This information structuring principle meets requirements which are increasingly difficult to satisfy by human reasoning, because of the growing complexity of information technology systems and the vast increase in volumes of parameters and information to be considered.

Description:
BACKGROUND OF THE INVENTION  
       [0001]     1. Field of the Invention  
         [0002]     The invention concerns a method for the automatic analysis of security requirements in information technology systems.  
         [0003]     Its purpose is to analyse the security requirements of information technology systems so as to prevent omissions or conflicting requirements that might lead to major weaknesses in the system, and to provide justifications for the countermeasures required to ensure the security of the system.  
         [0004]     2. Description of the Prior Art  
         [0005]     The security of information technology systems is becoming both more and more complex and increasingly crucial for modern companies. The management of risks, which was initially the exclusive expertise of the military area and certain specific industrial sectors, has long been a very confidential topic with secret and company specific practices. Current risk management processes are based on: 
        either empirical approaches, which are by essence subjective and difficult to justify or     objective or formal (mathematically grounded) methods, which are rigorous but difficult to apply to concrete situations and rather inflexible. In addition such methods require a strong expertise in the mathematical theories involved, which is a strong limitation for a wider use.        
 
         [0008]     In both cases, there is a lack of automatic tools which would allow the security analysis task to be automated.  
       OBJECT OF THE INVENTION  
       [0009]     This invention therefore has the particular aim of filling the gap between pragmatic but non systematic methods on one hand and methods which are more rigorous but also more difficult to apply on the other hand.  
       SUMMARY OF THE INVENTION  
       [0010]     To this end, it proposes an automatic analysis method, implemented on a processor, and which allows:  
         [0011]     taking account of all security aspects, both organisational and technical,  
         [0012]     interacting with the users (security experts, decision makers, etc.) and synthesizing relevant information which can then be easily compared with the actual situation,  
         [0013]     systematically checking security information for completeness and consistency in order to detect potential weaknesses of the system (or future system).  
         [0014]     The method according to the invention enables the description and comparison of different structured views of the information. This information structuring principle meets requirements which are increasingly difficult to satisfy by human reasoning, because of the growing complexity of information technology systems and the vast increase in volumes of parameters and information to be considered.  
         [0015]     The process according to the invention involves:  
         [0016]     Actors (including, for example, human beings, companies, organisations, applications, etc.) capable of performing certain actions (whether authorised or malicious) on the system. For reasons of convenience, these actors can be grouped into classes (or roles), which makes it possible to treat them in a uniform manner. With each actor (or class of actors), it is possible to associate attributes such as a, for example, its confidence level, or its means (characterising its ability to carry out certain attacks). Such attributes can be numerical values or values of a more complex nature allowing the information to be described more precisely. As far as means are concerned, for example, it is possible to distinguish the hardware means (oscilloscope, etc.), the qualifications (knowledge of specific techniques, etc.), the determination, and the potential benefits that the actor could gain from a malicious action.  
         [0017]     Assets, which are the valuable items to be protected, such as, for example, data in memory, hardware (processor, hard disk, diskette, cable, etc.), applications in memory, electromagnetic radiations, etc. Included in this list are items such as electromagnetic radiations, whose value is indirect in the sense that it supplies information on other assets (what is usually referred to as “information flow”). For reasons of convenience, assets can be grouped into classes, which make it possible to treat them in a uniform way. With each asset (or class of assets), it is possible to associate attributes such as its required protection types (integrity or authenticity for example) or its sensitivity levels characterising its degree of sensitivity in a predefined scale. Such sensitivity levels can be numerical values or information of a more complex nature distinguishing, for example, between the types of possible attacks or the types of actors capable of performing these attacks.  
         [0018]     Locations, such as, for example, geographical zones (whether secure or not), memory pages (volatile or not), electric cables used as a communication media, etc. In general, a location corresponds to an asset container. The distinction between assets and locations makes it possible to deal with both “access control” and “control flow” security policies. However the method according to the invention does not prevent some locations themselves to be also considered as assets. For reasons of convenience, the locations can be grouped into classes, so that they can be treated in a uniform manner. With each location (or class of locations), it is possible to associate attributes such as, for example, a physical type (hard disk, diskette, ROM, RAM, EEPROM, cable, electromagnetic emission, etc.) or a level of protection (provided by the location) against certain types of attacks. Such protection levels can be numerical values or information of a more complex nature enabling the protection to be described in a more precise manner. 
     
    
     DESCRIPTION OF THE PREFERRED EMBODIMENTS  
       [0019]     The method according to the invention concerns the automatic analysis of the security requirements of information technology systems. It involves the construction and the analysis of a security model associating:  
         [0020]     with each actor (or class of actors) a set of access rights and interdictions to certain locations (or classes of locations),  
         [0021]     with each actor (or class of actors), a set of access rights and interdictions to certain assets (or classes of assets),  
         [0022]     with each asset (or class of assets), a set of locations (or classes of locations) which can contain the said asset (or class of assets).  
         [0023]     These associations can be defined by means of tables constructed systematically through interactions with one or several users, and then analysed in an automatic way.  
         [0024]     The construction and analysis of the above security model enables to:  
         [0025]     derive the threats in an automatic manner, and thus provide a way for designers to rely on objective and rational grounds to make the design and development choices,  
         [0026]     provide users with means to manipulate the security information and to measure the impact of each decision on the security model, thereby detecting, for example, whether an access right granted to a particular actor for functional purposes conflicts with the presence of a confidential asset in a given location, potentially leading to a security weakness,  
         [0027]     communicate with and convince a broader community (beyond the circle of security experts) regarding the security choices and consequences thereof,  
         [0028]     make explicit the security assumptions and the choices which have led to the design of an information technology system.  
         [0029]     Embodiments of the invention can thus be used to support the growing need for transparency and better understanding of security issues which is currently manifesting itself in various ways such as the use of public and standard encryption algorithms (as opposed to company specific, secret algorithms), the publication of protection profiles in accordance with standards such as the Common Criteria—The “Common Criteria for Information Technology Security Evaluation” is a widely used international standard (ISO/IEC 15408) for security evaluations. Although the process according to the invention can be used in the context of the Common Criteria, it is not restricted to it in any way, the obligation to make public the security target in order to receive the mutual recognition of Common Criteria certificates, etc.  
         [0030]     The six types of relations describing a basic security model according to the invention can be implemented as tables (which is a preferred embodiment but not a limitation of the invention) as follows:  
         [0031]     the table of access rights to locations, associating with each actor (or class of actors) a set of access rights to certain locations (or classes of locations),  
         [0032]     the table of access interdictions to locations, associating with each actor (or class of actors) a set of access interdictions to certain locations (or classes of locations),  
         [0033]     the table of access rights to assets, associating with each actor (or class of actors) a set of access rights to certain assets (or classes of assets),  
         [0034]     the table of access interdictions to assets, associating with each actor (or class of actors) a set of access interdictions to certain assets (or classes of assets),  
         [0035]     the location table associating with each asset (or class of assets) a set of locations (or classes of locations) which can contain this asset,  
         [0036]     the inclusion table associating with certain actors (or classes of actors) the classes of actors which include them, with certain assets (or classes of assets) the classes of assets which include them and with certain locations (or classes of locations) the classes of locations which include them.  
         [0037]     A simple version of these tables can contain Boolean information (access authorised or forbidden, location possible or not). It may nevertheless be preferable in some cases to introduce more precise information into these tables so as to be able to describe the actual situations in a more detailed manner.  
         [0038]     The process according to the invention proposes the following refinements:  
         [0039]     each of the aforementioned tables can store information on the contexts in which the access rights are granted or forbidden, and in which the locations are possible or not, where the said contexts can, for example, involve information about the internal state of the system, the stages in its life cycle, or the values of certain data or parameters, etc.;  
         [0040]     the first four tables can store information on the types of access, distinguishing, for example, read access, write access, execution access, use access, etc.;  
         [0041]     the location table can store information on the form of the asset in a given location, distinguishing, for example, un-ciphered data, data ciphered using a given algorithm and key length, data split into several parts in order to make its extraction more difficult, data associated with information used to verify its integrity (checksum for example).  
         [0042]     In the same way, and still with a view to a more detailed analysis of the security requirements and the countermeasures needed to address certain types of threats, the method according to the invention can be used to characterise the assets (and classes of assets) and the actors (and classes of actors) in the following way:  
         [0043]     the assets (and classes of assets) can be associated with attributes such as, for example, a required protection type (integrity, authenticity, etc.) or levels of sensitivity, where the said sensitivity levels can be numerical values or information of a more complex nature allowing to describe the sensitivity more precisely, identifying, for example, the types of attacks possible upon the asset or the types of actors capable of conducting these attacks;  
         [0044]     the actors (and classes of actors) can be associated with attributes such as, for example, a level of confidence, or a set of means characterising their ability to conduct certain attacks; said means can be numerical values or information of a more complex nature used to describe the information more precisely, including for example, the hardware means (oscilloscope, etc.), qualifications (knowledge of specific techniques, etc.), determination, and the potential benefits that an actor may gain through a malicious action.  
         [0045]     The model according to the invention can also include the following relations, such relations can also be implemented as tables (which is a preferred embodiment but not a limitation of the invention), which can be used to refine the security analysis:  
         [0046]     a dependency table, which stores the dependencies, or information flows, between the assets (or classes of assets); this table enables to store the fact that the knowledge of an asset (or a class of assets) indirectly provides information on another asset (or class of assets);  
         [0047]     a collusion table, which stores the relations, known as collusion relations, between the actors (or classes of actors), which can group together their means and their information in order to perpetrate attacks; this table can be used, for example, to store the fact that knowledge of an item of information by an actor (or class of actors) can lead to the same knowledge by another actor (or another class of actors);  
         [0048]     a transition table which stores the possible transitions between the contexts and the actors (or classes of actors) capable of triggering such transitions; from the knowledge of an initial context, this table can be used to determine all of the attainable contexts and the actors (or classes of actors) capable of triggering context changes.  
         [0049]     The process according to the invention allows cross checks to be performed between the different sources of information represented in the model, so as to detect any potential security weakness of the system. Such weaknesses can manifest themselves in two ways during the security analysis:  
         [0050]     inconsistency, which indicates the supply (or derivation by logical reasoning) of contradictory information.  
         [0051]     incompleteness, which indicates the omission of certain information;  
         [0052]     The process according to the invention proposes the following consistency verifications:  
         [0053]     verification on the table of access rights to locations and the table of access interdictions to locations in order to detect any contradiction that could reveal the existence of potential threats, where these contradictions can be expressed, for example, by the fact that an actor (or class of actors) can be, in a given context, associated with both the right and the interdiction of a certain type of access;  
         [0054]     verification on the table of access rights to assets and the table of access interdictions to assets in order to detect any contradictions that could reveal the existence of potential threats, where these contradictions can be expressed, for example, by the fact that an actor (or class of actors) can be, in a given context, associated with both the right and the interdiction of a certain type of access;  
         [0055]     verification on the table of access rights to locations, the table of access interdictions to locations, and the location table, in order to detect any contradictions that could reveal the existence of potential threats, where these contradictions can be expressed, for example, by the fact that an actor (or class of actors) can be, in a given context, associated with the interdiction of a certain type of access to an asset (or class of assets) when it can obtain this access indirectly through an access to a location (or class of locations) which may contain this asset (or class of assets);  
         [0056]     verification on the table of access rights to assets, the table of access interdictions to assets and the dependency table, in order to detect any contradictions that could reveal the existence of potential threats, where these contradictions can be expressed, for example, by the fact that an actor (or class of actors) can be, in a given context, associated with the interdiction of a certain type of access to an asset (or class of assets) when it can obtain this access indirectly through an access to an asset (or class of assets) providing information on the former (such that there exists a flow of information between the two assets).  
         [0057]     verification on the table of access rights to locations, the tables of access rights and interdictions to assets, the location table, and the transition table, in order to detect any contradictions that could reveal the existence of potential threats, where these contradictions can be expressed, for example, by the fact that an actor (or class of actors) can be, in a context C, associated with the interdiction of a certain type of access to an asset (or class of assets) when it can obtain this access indirectly through a transition used to reach another context C′ in which the actor (or class of actors) has the right to access this asset (or class of assets) or can get access to a location (or class of locations) which may contain this asset (or class of assets);  
         [0058]     verification on the table of access rights to assets, the table of access interdictions to assets, and the collusion table, in order to detect any contradictions that could reveal the existence of potential threats, where these contradictions can be expressed, for example, by the fact that an actor (or class of actors) A can be, in a given context, associated with the interdiction of a certain type of access, the actor (or classes of actors) A′ is associated (in the same context) with the access right, and the collusion table indicates that the actors (or classes of actors) A and A′ are able to exchange information;  
         [0059]     verification on the table of access rights to locations, the table of access interdictions to locations and the collusion table, in order to detect any contradictions that could reveal the existence of potential threats, where these contradictions can be expressed, for example, by the fact that an actor (or class of actors) A can be, in a given context, associated with the interdiction of a certain type of access, whereas the actor (or classes of actors) A′ is associated with this access right, and the table of collusions indicates that the actors (or class of actors) A and A′ are able to exchange information;  
         [0060]     verification on the inclusion tables and one or more of the other tables, in order to detect any contradictions expressed by the fact that an actor (or class of actors) A is included in a class of actors C and that A and C possess contradictory access rights and/or interdictions;  
         [0061]     verification on the inclusion table and one or more of the other tables, in order to detect any contradictions expressed by the fact that an asset (or a class of assets) A is included in a class of asset C and that A and C are associated with contradictory access rights and/or interdictions;  
         [0062]     verification on the inclusion table and one or more of the other tables, in order to detect any contradictions expressed by the fact that a location (or class of locations) L is included in a class of location (C) and that L and C are associated with contradictory access rights and/or interdictions.  
         [0063]     In an embodiment of the invention, the security model can be constructed through of a series of interactions with one or several users (such as security experts, issuer, designer, etc.). The embodiment of the invention can include output facilities to display questions to the users, the answers to such questions being used to fill in the tables defining the model.  
         [0064]     The detection of an inconsistency in the model can trigger one of the following processes:  
         [0065]     display of a message to the user with a description of the inconsistency accompanied by a question to the user who must then resolve the detected inconsistency by modifying one (or several) of the tables making up the model;  
         [0066]     display of a message to the user with a description of the inconsistency accompanied by one or several suggestions for strengthening the model and solving the inconsistency. An example of such strengthening could be, for example, the deletion or limitation of an access right to a location (or class of locations) or to an asset (or class of assets), and the user can then select one of the proposed suggestions.  
         [0067]     The completeness of the information contained in the model can be ensured in one of the following ways:  
         [0068]     the tables defining the security model are filled in through interactions with the user, who has to supply the necessary information until the model is complete;  
         [0069]     the tables defining the security model are completed automatically in accordance with a “caution assumption” (or maximum security assumption), expressed, for example, by the fact that an access which is not explicitly granted in a given context is automatically considered as forbidden.