next up previous contents
Next: 3.1.2 Security engine interactions Up: 3.1 Interactions in adaptive Previous: 3.1 Interactions in adaptive

  
3.1.1 Interactions within the security engines

The structure of most ICT systems today follows a layered model as in figure 3.2 [GOL97, p.7]. It is a fundamental security design principle that security controls at various layers of an ICT system can be bypassed by getting access to ``the layer below'' [GOL97, p.39]. A person with super-user access to a computer system is in a position to subvert all programs enforcing security rules at the service or application level because he has direct access to the memory structures of the operating system. Similarly, security mechanisms can be implemented at various levels of the OSI or TCP/IP model (see appendix B). These mechanisms can be compromised when an attacker succeeds in obtaining access to the layer below. A good security system should therefore be able to relate incidents at various levels. Consider an IPSEC implementation using authenticated headers (AH). If an intruder manages to break security mechanisms at the IP-layer (e.g. data encryption), he could possibly replace the encapsulated TCP packets with a different payload and get authenticated access to higher level services.


  
Figure 3.2: Layers in an IT system
\resizebox*{0.33\textwidth}{!}{\includegraphics{it-layers.eps}}


There are a number of reasons to provide security at all levels:

1.
Exhaustive security at the top level, the application level, protects services offered on computer systems. These services however can be expected to immediately support the business and are therefore quite likely to be subject to change over time. This makes exhaustive protection at the application layer only extremely difficult.
2.
By subverting security at a lower level, access to services higher up the model can be jeopardized. Take for instance a denial of service attack by ping-flooding. Lower level network protocols (ICMP e.g.) could also be used to convey information through covert channels that cannot be detected at higher levels.
3.
Different types of authentication may be required at different layers. Higher level services or applications tend to authenticate users, lower level services tend to authenticate computer hosts, based on their IP address for example. Combinations of authentication measures can be applied to control access to various resources depending on their security classification (like ``secret'' versus ``public'').
A security engine for a particular (set of) resources will therefore have to manage multiple levels of protection. Suppose access to a confidential subnet of a partitioned network is granted -- or refused -- based on the IP address and the protocol used by the originator of a service request. A second defense mechanism uses public key authentication for granting access to secret information on a webserver (e.g. using TLS/SSL). A security system monitoring transport layer requests would not notice an impersonation attack performed by spoofing the IP address to get access to the confidential subnet. A system that protects against IP spoofing would not detect someone with access to the confidential subnet breaking into the secret subnet.


next up previous contents
Next: 3.1.2 Security engine interactions Up: 3.1 Interactions in adaptive Previous: 3.1 Interactions in adaptive
(c) 1998, Filip Schepers