Three Basic Concepts Hardware Support For Protection: - Instructions, Which Hand Execution Over To Other
Three Basic Concepts Hardware Support For Protection: - Instructions, Which Hand Execution Over To Other
Reference monitor - mediates all access between subjects and objects Security kernel - the parts which together implement a reference monitor in a computer Trusted computing base, TCB, - the total of hardware, software and data, which take care of security
1
Theoretical computer
User process 1 User process 2 Communication channels Utility process Operating system Keyboard/ Mouse Secondary storage Free memory
8
Display
Real computer
Instruction pointer Machine instruction
Real computer
Instruction pointer Machine instruction
Next instruction
10
Real computer
Instruction pointer + 1 Next instruction
Next instruction Following instruction
Real computer
New instruction pointer Following instruction
Next instruction Following instruction New instruction pointer
11
12
Real computer
New instruction pointer Following instruction
Next instruction Following instruction New instruction pointer
Basic requirements
It is very important that the set of instructions, that is especially protected by the hardware, matches the need for protected kernel primitives . Whatever protection mechanism you use, it is vital that the kernel does not loose track of what code it is running
13 14
Typical problems
Data segments are placed where program code is supposed to be, buffer overflow The reference monitor is bypassed for some types of access Connections are trusted without a proper basis for the trust Security requirements are not captured
15
Buffer overflow
Legitimate programs are in practice rewritten in real time and then executed The privileges of the process are not changed Enables the attacker to run code beyond his/her access permissions Crashes are easy to perform, running serious code is more difficult
16
Misplaced trust
Have you any idea what the program you just called is actually doing?
Viruses, Trojans, worms etc. Autoexecution Mobile code, redirections etc.
Is the caller properly authenticated? Has the calling system been subverted?
18
Assurance
Shall ensure that security requirements are properly found, documented and implemented. Used for the development of security critical system parts like the OS kernel, smart card architecture, network protocols etc. Informal versions can be used for whole systems, formal versions are too resource heavy for that scale Common Criteria the currently valid standard
19
Assurance history
TCSEC, USA, 1983
Confidentiality main goal No separation of functionality and assurance
CTCPEC, Canada, 1989 Common Criteria developed primarily by those involved in former standards
20
CC concepts
Target Of Evaluation, TOE
Description of Security Policy Description of necessary functions and mechanisms
CC evaluation levels
EAL1: Functionally tested EAL2: Structurally tested EAL3: Methodically tested and checked EAL4: Methodically designed, tested and reviewed EAL5: Semi-formally designed and tested EAL6: Semi-formally verified design and tested EAL7: Formally verified design and test
21 22
Protection Profile, PP
Security requirements for category of product Specifies intended usage, environment and threats
Security target, ST
Specification for actual evaluation product