Information System Models
There are two reasons for using a information system model in Information Security. The first is that in order to understand the threats faced by information systems, we need to understand their components, what is their behaviour and how they relate to each other. The second is that security policies are too often tied too closely to actual hardware and software components and rendered obsolete by technological advances. Using a good model of an information system provides a necessary layer of abstraction that can help to make security policies mode durable.
There are quite a few Turing-complete computer models, among them:
A Turing machine has the following components:
Tape: It stores information.
Head: It read or writes information.
Table: It specifies what will be the next action of the machine depending on the State and the current value under the Head.
Nowadays, most computers follow the Von Neumann Architecture. Operating systems that run on Von Neumann machines often follow the Unix convention, where the information system components are:
File. This is equivalent to the “Tape”.
- Process. This is equivalent to the “State register”, the “Table”, and the “Head”.
As early information systems where not networked, the components needed for inter-system communication where not modelled. As a matter of fact, operating systems like Inferno try to keep the file/process model alive.
O-ISM3 represents information systems using a reduced set of components, but a set complex enough to illustrate how networked information system behave.
- Repositories: Any temporary or permanent storage of information, including RAM, databases, file systems, and any kind of portable media;
- Interfaces: Any input/output device, such as screens, printers and fax;
- Channels: Physical or logical pathways for the flow of messages, including buses, LAN networks, etc. A Network is a dynamic set of channels;
- Borders define the limits of the system.
- Services. Any value provider in an information system, including services provided by BIOS, operating systems and applications. A service can collaborate with other services or lower level services to complete a task that provides value, like accessing information from a repository;
- Sessions. A temporary relationship of trust between services. The establishment of this relationship can require the exchange of Credentials.
- Messages. Any meaningful information exchanged between two services or a user and an interface.