Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Information protection in digital communication systems. Textbook

.pdf
Скачиваний:
0
Добавлен:
07.09.2026
Размер:
2 Мб
Скачать
81
Fig. 3.4 “protection database” means an object containing information
about flows of set L (whitelist protection permissions for flows) or N (blacklist protection prohibition for flows).
Fig. 3.4. Classic security kernel model
To take into account the influence of subjects in the DCS, it is necessary to consider an expanded scheme of interaction between elements of the system of implementation and guaranteeing food security.
Figure 3.5 emphasizes the role of the subject security monitor when generating subjects from objects. The interaction of subjects and objects when generating threads is clarified by the introduction of objects associated with the subject. The design of the op-amp in the diagram denotes a control object, i.e., an object containing information about the allowed values of the Stream display (about the elements of the set L or N) and Create (the elements of the set E). A control object can be associated (associated data object) with both the OSM and the SSM.
Let’s move on to a description of practical methods for constructing
an ISE. The purpose of considering practical approaches is to illustrate the thesis that sufficient conditions for guaranteed security can be practically met in real AS.
82
Fig. 3.5. Security kernel with subject generation control in mind
Based on Statement 3 (the basic theorem of the ISE), formulated and proven in the previous part, we will describe the method of subject-object interaction within the framework of the ISE for a more specific architecture of the AS.
From statement 3 it follows that to create a guaranteed protected AS (in the sense of implementing a given security policy) it is necessary:
1. Make sure that the subjects closed in the ISE are pairwise correct
(or make sure that any subject is correct in relation to the OSM and SSM).
2. Design and implement software (or software and hardware) SSM
so that:
for any subject and any object, the generation of subjects was controlled (that is, so that the implementation of the SSM corresponds to its definition);
the generation of any subject occurred with control of the immutability of the source object.
83
3. Implement OSM within the framework of an a priori formulated security policy.
It should be noted that the above statements are true only when the described and implemented security policy does not violate their conditions (verification of this fact depends on the security model and is a separate, very important task).
In addition, you need to pay attention to the following. The control object, which is the associated SSM object (usually the associated data object), plays a decisive role in the design of the information system. If it is possible to change the state of a control object, it is potentially possible to
“unlock” the software environment, i.e., add to the set of allowed subjects
additional ones that implement malicious functions. On the other hand, the security management process implies the possibility of changing the control object (more details in Part 3). The ability to change the control object (implementation of the Stream stream (control subject, ‘associated object’ objects of the control subject) -> control object) must be present for selected subjects (possibly with an additional condition for activating this subject by the selected user (users)).
An important role in the design of information systems is played by the property of the digital network, which consists in the gradual activation of subjects from objects of different levels of information presentation. Lets look at the Table 3.1 hierarchy of levels when loading the operating system.
In the table, the term “sector” is highlighted to denote the
representation of a hardware-software level object. It denotes a continuous sequence of storage elements (bytes) on a physical medium, characterized by location.
The term “file” denotes an abstract object built using a list structure of
“sector” objects. Objects of the “file” and “sector” types are selected solely
on the basis of the typical architecture of DCS objects.
In the general case, we can talk about a recursive structure of objects of a certain level that contains objects of the previous level. At the zero level, the primary object (the elementary structure of the lower level) in Table 3.1 corresponds to the term “sector”.
84
Table 3.1
Hierarchy of levels when loading the OS
Level
Subject
Localization
Presentation
of information
Through what
functions
are threads
implemented?
0
Subject of hardware-
software level
ROM
sectors
via ROM firmware
1
Primary level subject
OS
bootloader
sectors
via Bios or
primary bootloader
2
Downloads
OS drivers
sectors
via Bios or
primary bootloader
3
Secondary loader level
entity (driver)
OS kernel
files
via drivers
4
OS level subject
Applications
files
via the OS kernel
Taking into account the hierarchical structure of the representation of objects, we can say that in the initial stages of activation of the central nervous system, the decomposition into subjects and objects changes dynamically. Consequently, the main theorem of ISE can be applied only at certain time intervals, when the level of representation of objects is constant and the decomposition is fixed. It can be argued that the ISE, which operates from the moment of activation until the end of the operation of the central nervous system, cannot be formed at the initial moment of activation of the central nervous system.
Let the DCS allocate a finite number of levels of object representation U = {0, ..., R}, R is the maximum level of object representation.
From the point of view of fulfilling the conditions of Statement 3, it would make sense to talk about some “stationary” state of the DCS, when only objects of level R participate in the mappings Stream and Create. Then
85
the implementation of the SSM can be significantly simplified (in the sense that all arguments-objects of the Create operation have the same level). It is necessary to pay attention to the fact that such a requirement can, on the one hand, impose restrictive conditions on the properties of application software (the impossibility of initiating flows that include objects of a level less than R by application programs), and on the other hand, be a consequence of design decisions for the implementation of a subject localized in the operating system kernel (an example is Windows NT 4.0, which prohibits operations below the “file” level by application-level entities).
The practical implementation of all operating systems allows us to distinguish two phases of their work: activation of subjects with an increase in the level of object representation (loading phase or initial phase) and a stationary state phase (when the level of object representation does not increase). Of course, it is necessary to make a reservation regarding the possibility of implementing threads to lower-level objects (operating systems such as DOS, in which it is possible to operate with any lower-level object (sector) from application-level programs).
Then the practical implementation of the ISE can consist of two stages: the predetermined execution of the initial phase, which includes the moment of activation of the SSM (and OSM), and work in the stationary phase in the ISE mode (possibly with control of the immutability of source objects).
Let us introduce the concept of the sequence of activation of DCS components. The meaning of the concepts introduced and the statements formulated below is the need to bring the subjects of the DCS to the same state after the activation of the primary subject of the hardware-software level, or, in other words, to set a predetermined sequence of activation of the subjects of the DCS.
Let us denote: ZL is a sequence of pairs (i, j)t (t = 0, 1, 2, …, 1-l are moments of time) of length 1, such that Create (Si,Оj)[1]->Sm[t +1].
We also denote: Sz the set of all subjects included in the sequence ZL; Oz is the set of all objects included in the sequence ZL.
For multi-threaded systems, several (possibly dependent on each other) sequences ZL and, accordingly, sets Sz and Oz can be considered.
86
Definition 17. The state of the AS at time t is an ordered set of states of subjects.
Statement 4 (condition for the same state of the AC).
The state of the AS at times txl and tx2 (txl and tx2 are calculated for two segments of AS activity from the zero moment of activation of the AS to1 and to2 for example, turning on the power supply to the hardware) is the same if:
1) txl = tx2;
2) the subjects Si[tol] and Si[to2] are identical;
3) all objects from the set Oz are unchanged;
4) the sequence ZL is unchanged.
Proof (based on the principle of mathematical induction).
The truth of the statement at t = 1 follows from the definition of the identity of subjects.
Let the statement be true for t = k < l.
Then at the moment of time k + 1 only identical subjects can be generated, since the activating subjects are identical (by the induction assumption) and by the condition of the statement the elements of the set Oz are unchanged. The length of 1 sequence ZL is determined by:
1. Based on the impossibility of managing subjects belonging to the set Sz on the part of the user (otherwise the sequence of activation of subjects can be changed).
2. Based on the availability to control the immutability of all objects from the set Oz.
3. Based on the non-increasing level of information presentation (in this case, it is meant that there is a moment in time tx such that for any t > tx, the object-argument Oj of the operation Stream(Si, Oj) belongs to the same level of presentation).
It should be noted that the ZL sequence is localized in a certain object or set of objects (for example, for DOS, the sequence of activation of subjects is predetermined by the contents of the AUTOEXEC.BAT and CONFIG.SYS files) and the immutability of the ZL sequence is identical to the immutability of the specified objects; for Windows NT, the sequence of
87
activation of components is determined by the content corresponding registry keys.
Suppose that in the sequence ZL it is possible to select zi such that for any Zk, k > i, the Create and Stream mappings use only objects of level R. In other words, from time moment i the stationary phase of the AS operation begins.
Under these conditions, as well as with pairwise correctness of subjects and the action of SSM with control of the immutability of source objects at the level R from time moment m > k, it is true.
Statement 5 (sufficient condition for ISE under stepwise loading).
Provided that ZL is immutable and objects from Oz to AS are immutable, an isolated software environment operates from the moment the immutability of ZL and Oz is established.
Proof. It should be noted that all conditions of statement 5 correspond to statement 4. The clarifications concern the structure of the sequence ZL.
According to Statement 4, from time tо to time t = l, an isolated (within) Sz software environment operates.
To prove a statement, you need to make sure that:
SSM at time t = m is guaranteed to be activated;
• at any moment t > m the software environment is isolated.
The first follows from Statement 4 (at t = 1, the state of the software environment will always be the same, therefore, the SSM subject will always be activated). The second follows from the definition of SSM and the conditions of the theorem.
From time t = 0 to time 1, the software environment is isolated, from time t > m, the software environment is also isolated, therefore, the DSS is isolated for any t > 0. The statement is proven.
Using statements 3, 4 and 5, we will consider the process of practical design of a secure fragment of a digital network.
Initially, it is necessary to ensure that the conditions of correctness or absolute correctness are met for the subjects participating in the generation of the ISE. These subjects can mainly be localized at the level of the computer hardware and software components (ROM programs, operating
88
environment loaders), i.e., work at a level close to interaction with the DCS equipment, or at the level of the operating environment. Proving the correctness of hardware-software-level entities is significantly different from the corresponding proofs for application-level entities. In this regard, we will highlight the verification of the conditions for the correctness of subjects in two steps. Step 1 is the proof of the correctness of subjects at the software and hardware level. The concept of a module denotes the implementation of a source object, and the totality of a subject generated from a source object and the entire set of objects associated with this subject throughout the entire existence of the subject is usually called a process (or task).
Next, it is necessary to determine the composition of the software of the basic computing environment, i.e., determine the specific operating environment, additional service software (for example, software shells or telecommunications tools) and software to support additional equipment (printer control programs, etc.). After this comes the most time-consuming stage (Step 2), at which it is necessary to ensure that the subjects of the described basic set of software tools are correct. It is important to note the following.
The DCS software should not contain a whole class of capabilities
let’s call them instrumental. First of all, this is the possibility of changing
the state of associated objects on the part of the subject (for example, changing the contents of RAM) of other subjects (changing the content implies the existence of Stream operations of the write type), the possibility of initiating and stopping the execution of processes in a non-standard way (in addition to the mechanisms of the operating environment). In addition, when implementing SSM and OSM in the stationary phase of the operation of the DCS, it is necessary that in any subjects closed in the ISE there are no operations for generating Stream flows to objects of level k < R.
Generally sufficient conditions for a basic set of software can be formulated as follows.
Statement 6 (requirements for the subject content of the isolated software environment).
89
In order for the ISE to be maintained throughout the entire period of activity of the DCS, it is sufficient that the software that can be initiated in the ISE does not contain functions for generating subjects and terminating their work, except for those predetermined during the implementation of the SSM, and there are no possibilities of influencing the environment execution (the runtime environment is understood as a set of associated objects) of any process, as well as the initiation of threads to objects of a logical level less than R.
Let us clarify the requirement that it is impossible to terminate the execution of a subject in any other way than the predetermined one. In this case, it is necessary to take into account that in the multitude of subjects closed in the ISE, two special subjects are identified SSM and OSM. The cessation of the existence of the SSM means a violation of the condition of closed environment, and the cessation of the existence of the SSM means the admissibility of flows of the set N, i.e., unauthorized access.
Step 3 is to design and develop software or hardware-software protection systems in the AS, and then test them. It involves the design and implementation in a given set of subjects of interbank business systems and international financial institutions.
Step 4 is to “lock” the entire software complex, including security
tools, into an isolated software environment.
So, it is shown that the main elements of maintaining the isolation of the software environment are integrity control and process generation control.
Above, we have already formulated the concepts of SSM and the generation of subjects with control of their immutability. It should be noted that for reliable control of the immutability of an object (i.e., with a probability of error equal to 0), it is necessary to ensure the complete identity of the tested object and the sample. The standard must contain no less information than the object being tested. The reference object must be at least the same length as the one being tested. In practice, this approach can be applied with serious restrictions (for example, for small objects such as ROM programs or OS boot loaders).
90
In this regard, to monitor integrity, objects are used that contain information that depends on the entire contents of the object, but nevertheless of a significantly smaller volume, calculated using a class of
functions such as “hash functions”. Obviously, in this case the process of
establishing the immutability of an object becomes probabilistic.
Based on this fact, it is impossible to talk about guaranteed (deterministic) properties of the system (since the immutability of an object is guaranteed only with a certain probability not equal to 1). Consequently, all the conditions of the statements are satisfied with a certain probability, depending on the properties of the hash functions used to control the integrity. To emphasize the changed conditions, we will speak further not about the control of the immutability of the object, but about the control of the integrity (CI) of the object.
It should also be noted that at least two objects are involved in the immutability control procedure (which now takes on a probabilistic nature): the control object and the reference object (hash value), as well as the subject that implements the hash function and makes the comparison.
Therefore, for the subject of integrity control, it is important to fulfill the following conditions:
1) high-quality integrity control algorithm (the term “quality” will be
explained below);
2) control of real data (i.e., mapping the state of the controlled and reference volumes into associated data objects of the subject of integrity control, coinciding with the identical one).
Let us explain the second point in more detail. Integrity control is always associated with data reading (i.e., with the initiation of streams from objects to associated data objects of the subject of integrity control, and the streams can correspond to different levels of information presentation reading by sector, by file, etc.). For example, a subject built into the BIOS of a PC (practically it is a software bookmark see below) can impose another sector instead of one sector when reading, or directly edit the buffer into which the data was read. A similar effect can be caused by entities in the operating environment, such as entities located in OS boot loaders. On