Kaptifel 4 - model specification
This commit is contained in:
parent
9323ddc6f1
commit
8fbf5ebe93
BIN
Assets/Systemsicherheit-model-family.png
Normal file
BIN
Assets/Systemsicherheit-model-family.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 61 KiB |
@ -90,31 +90,20 @@
|
|||||||
- [An MLS Model for Chinese-Wall Policies](#an-mls-model-for-chinese-wall-policies)
|
- [An MLS Model for Chinese-Wall Policies](#an-mls-model-for-chinese-wall-policies)
|
||||||
- [Summary CW](#summary-cw)
|
- [Summary CW](#summary-cw)
|
||||||
- [Summary](#summary-2)
|
- [Summary](#summary-2)
|
||||||
- [ABAC](#abac)
|
|
||||||
- [Summary](#summary-3)
|
|
||||||
- [Information Flow Models](#information-flow-models-1)
|
|
||||||
- [Denning](#denning)
|
|
||||||
- [MLS](#mls)
|
|
||||||
- [BLP](#blp)
|
|
||||||
- [Biba](#biba)
|
|
||||||
- [Summary](#summary-4)
|
|
||||||
- [Non-interference Models](#non-interference-models-1)
|
|
||||||
- [Hybrid Models](#hybrid-models-1)
|
|
||||||
- [Brewer-Nash](#brewer-nash)
|
|
||||||
- [LR-CW](#lr-cw)
|
|
||||||
- [MLS-CW](#mls-cw)
|
|
||||||
- [Practical Security Engineering](#practical-security-engineering)
|
- [Practical Security Engineering](#practical-security-engineering)
|
||||||
- [Model Engineering](#model-engineering)
|
- [Model Engineering](#model-engineering)
|
||||||
|
- [Model Family](#model-family)
|
||||||
- [Model Specification](#model-specification)
|
- [Model Specification](#model-specification)
|
||||||
|
- [Model Specification](#model-specification-1)
|
||||||
- [CorPS](#corps)
|
- [CorPS](#corps)
|
||||||
- [SELinux Policy Language](#selinux-policy-language)
|
- [SELinux Policy Language](#selinux-policy-language)
|
||||||
- [Summary](#summary-5)
|
- [Summary](#summary-3)
|
||||||
- [Security Mechanisms](#security-mechanisms)
|
- [Security Mechanisms](#security-mechanisms)
|
||||||
- [Authorization](#authorization)
|
- [Authorization](#authorization)
|
||||||
- [Access Control Lists](#access-control-lists)
|
- [Access Control Lists](#access-control-lists)
|
||||||
- [Capability Lists](#capability-lists)
|
- [Capability Lists](#capability-lists)
|
||||||
- [Interceptors](#interceptors)
|
- [Interceptors](#interceptors)
|
||||||
- [Summary](#summary-6)
|
- [Summary](#summary-4)
|
||||||
- [Cryptographic Mechanisms](#cryptographic-mechanisms)
|
- [Cryptographic Mechanisms](#cryptographic-mechanisms)
|
||||||
- [Encryption](#encryption)
|
- [Encryption](#encryption)
|
||||||
- [Symmetric](#symmetric)
|
- [Symmetric](#symmetric)
|
||||||
@ -128,7 +117,7 @@
|
|||||||
- [Cryptographic Protocols](#cryptographic-protocols)
|
- [Cryptographic Protocols](#cryptographic-protocols)
|
||||||
- [SmartCards](#smartcards)
|
- [SmartCards](#smartcards)
|
||||||
- [Authentication Protocols](#authentication-protocols)
|
- [Authentication Protocols](#authentication-protocols)
|
||||||
- [Summary](#summary-7)
|
- [Summary](#summary-5)
|
||||||
- [Security Architectures](#security-architectures)
|
- [Security Architectures](#security-architectures)
|
||||||
- [Design Principles](#design-principles)
|
- [Design Principles](#design-principles)
|
||||||
- [Operating Systems Architectures](#operating-systems-architectures)
|
- [Operating Systems Architectures](#operating-systems-architectures)
|
||||||
@ -138,7 +127,7 @@
|
|||||||
- [CORBA](#corba)
|
- [CORBA](#corba)
|
||||||
- [Web Services](#web-services)
|
- [Web Services](#web-services)
|
||||||
- [Kerberos](#kerberos)
|
- [Kerberos](#kerberos)
|
||||||
- [Summary](#summary-8)
|
- [Summary](#summary-6)
|
||||||
|
|
||||||
# Introduction
|
# Introduction
|
||||||
## Risk Scenarios
|
## Risk Scenarios
|
||||||
@ -2788,22 +2777,134 @@ Remember: Goals of Security Models
|
|||||||
2. correctly implement a policy
|
2. correctly implement a policy
|
||||||
|
|
||||||
|
|
||||||
#### ABAC
|
|
||||||
#### Summary
|
|
||||||
### Information Flow Models
|
|
||||||
#### Denning
|
|
||||||
#### MLS
|
|
||||||
#### BLP
|
|
||||||
#### Biba
|
|
||||||
#### Summary
|
|
||||||
### Non-interference Models
|
|
||||||
### Hybrid Models
|
|
||||||
#### Brewer-Nash
|
|
||||||
#### LR-CW
|
|
||||||
#### MLS-CW
|
|
||||||
|
|
||||||
# Practical Security Engineering
|
# Practical Security Engineering
|
||||||
|
Problem: Off-the-shelf models not always a perfect match for real-world scenarios
|
||||||
|
|
||||||
|
Goal: Design of new, application-specific models
|
||||||
|
- Identify common components found in many models $\rightarrow$ generic model core
|
||||||
|
- Core specialization
|
||||||
|
- Core extension
|
||||||
|
- Glue between model components
|
||||||
|
|
||||||
## Model Engineering
|
## Model Engineering
|
||||||
|
### Model Family
|
||||||
|
What we have
|
||||||
|

|
||||||
|
|
||||||
|
In Formal Words ...
|
||||||
|
- HRU: $⟨ Q, \sum , \delta, q_0 , R ⟩$
|
||||||
|
- $DRBAC_0$ : $⟨ Q, \sum , \delta, q_0 , R, P, PA ⟩$
|
||||||
|
- DABAC: $⟨ A , Q ,\sum , \delta, q_0 ⟩$
|
||||||
|
- TAM: $⟨ Q , \sum , \delta, q_0 , T, R ⟩$
|
||||||
|
- BLP: $⟨ S, O, L, Q , \sum , \delta, q_0 , R ⟩$
|
||||||
|
- NI: $⟨ Q , \sum , \delta, \lambda ,q_0 , D, A, dom, =_{NI} , Out ⟩$
|
||||||
|
|
||||||
|
Core Model (Common Model Core)
|
||||||
|
- HRU: $⟨ Q, \sum , \delta, q_0 , \not R ⟩$
|
||||||
|
- $DRBAC_0$ : $⟨ Q, \sum , \delta, q_0 , \not R, \not P, \not PA ⟩$
|
||||||
|
- DABAC: $⟨ \not A , Q ,\sum , \delta, q_0 ⟩$
|
||||||
|
- TAM: $⟨ Q , \sum , \delta, q_0 , \not T, \not R ⟩$
|
||||||
|
- BLP: $⟨ \not S, \not O, \not L, Q , \sum , \delta, q_0 , \not R ⟩$
|
||||||
|
- NI: $⟨ Q , \sum , \delta, \not \lambda ,q_0 , \not D, \not A, \not dom, \not =_{NI} , \not Out ⟩$
|
||||||
|
- $\rightarrow ⟨ Q ,\sum , \delta, q_0 ⟩$
|
||||||
|
|
||||||
|
Core Specialization
|
||||||
|
- HRU: $⟨ Q, \sum , \delta, q_0 , R ⟩ \Rightarrow Q = 2^S \times 2^O \times M$
|
||||||
|
- $DRBAC_0$ : $⟨ Q, \sum , \delta, q_0 , R, P, PA ⟩ \Rightarrow Q = 2^U\times 2^{UA}\times 2^S \times USER \times ROLES$
|
||||||
|
- DABAC: $⟨ A , Q ,\sum , \delta, q_0 ⟩ \Rightarrow Q = 2^S\times 2^O \times M\times ATT$
|
||||||
|
- TAM: $⟨ Q , \sum , \delta, q_0 , T, R ⟩ \Rightarrow Q = 2^S\times 2^O\times TYPE \times M$
|
||||||
|
- BLP: $⟨ S, O, L, Q , \sum , \delta, q_0 , R ⟩ \Rightarrow Q = M \times CL$
|
||||||
|
- NI: $⟨ Q , \sum , \delta, \lambda ,q_0 , D, A, dom, =_{NI} , Out ⟩$
|
||||||
|
|
||||||
|
Core Extensions
|
||||||
|
- HRU: $⟨ Q, \sum , \delta, q_0 , R ⟩ \Rightarrow R$
|
||||||
|
- $DRBAC_0$ : $⟨ Q, \sum , \delta, q_0 , R, P, PA ⟩ \Rightarrow R,P,PA$
|
||||||
|
- DABAC: $⟨ A , Q ,\sum , \delta, q_0 ⟩ \Rightarrow A$
|
||||||
|
- TAM: $⟨ Q , \sum , \delta, q_0 , T, R ⟩ \Rightarrow T,R$
|
||||||
|
- BLP: $⟨ S, O, L, Q , \sum , \delta, q_0 , R ⟩ \Rightarrow S,O,L,R$
|
||||||
|
- NI: $⟨ Q , \sum , \delta, \lambda ,q_0 , D, A, dom, =_{NI} , Out ⟩ \Rightarrow \lambda,D,A,dom,=_{NI},Out$
|
||||||
|
- $\rightarrow R, P, PA, A , T , S , O , L , D , dom , =_{NI} , ...$
|
||||||
|
|
||||||
|
Glue
|
||||||
|
- E.g. TAM: State transition scheme (types)
|
||||||
|
- E.g. DABAC: State transition scheme (matrix and predicates)
|
||||||
|
- E.g. Brewer/Nash Chinese Wall model: "$\wedge$" (simple, because $H+C\not= m$)
|
||||||
|
- E.g. BLP
|
||||||
|
- BLP read rule
|
||||||
|
- BLP write rule
|
||||||
|
- BST
|
||||||
|
- (much more complex, because rules restrict m by L and cl )
|
||||||
|
|
||||||
|
$\rightarrow$ Model Engineering Principles
|
||||||
|
- Core model
|
||||||
|
- Core specialization, e.g.
|
||||||
|
- $Q = 2^S\times 2^O \times M$ (HRU)
|
||||||
|
- $Q = M\times CL$ (BLP)
|
||||||
|
- Core extension, e.g.
|
||||||
|
- e.g. $L$ (BLP)
|
||||||
|
- $T$ (TAM)
|
||||||
|
- $D, dom ,=_{NI}$ (NI)
|
||||||
|
- Component glue, e.g.
|
||||||
|
- Chinese Wall: DAC "$\wedge$" MAC in AS
|
||||||
|
- BLP: complex relation between ACM and lattice
|
||||||
|
- $\rightarrow$ BLP security, BLP BST
|
||||||
|
|
||||||
|
You should have mastered now: A basic tool set for model-based security policy engineering
|
||||||
|
- A stock of basic security model abstractions
|
||||||
|
- ACFs and ACMs
|
||||||
|
- Model states and transitions defined by an STS
|
||||||
|
- Attributes (roles, confidentiality classes, information contents, location, ...)
|
||||||
|
- Information flows
|
||||||
|
- A stock of formal model building blocks
|
||||||
|
- Sets, functions, relations
|
||||||
|
- Deterministic automatons
|
||||||
|
- Graphs and lattices
|
||||||
|
- A stock of standard, off-the-shelf security models
|
||||||
|
- Methods and techniques
|
||||||
|
- for model-based proof of policy properties properties
|
||||||
|
- for combining basic model building blocks into new, application-oriented security models
|
||||||
|
|
||||||
|
## Model Specification
|
||||||
|
Policy Implementation
|
||||||
|
- We want: A system controlled by a security policy
|
||||||
|
- We have: A (satisfying) formal model of this policy
|
||||||
|
|
||||||
|
To Do
|
||||||
|
- How to convert a formal model into an executable policy?
|
||||||
|
- $\rightarrow$ Policy specification languages
|
||||||
|
- How to enforce an executable policy in a system?
|
||||||
|
- $\rightarrow$ security mechanisms and architectures (Chapters 5 and 6)
|
||||||
|
|
||||||
|
Role of Specification Languages: Same as in software engineering
|
||||||
|
- To bridge the gap between
|
||||||
|
- Abstractions of security models (sets, relations, ...)
|
||||||
|
- Abstractions of implementation platforms (security mechanisms such as ACLs, krypto-algorithms, Security Server ...)
|
||||||
|
- Foundation for
|
||||||
|
- Code verification
|
||||||
|
- Or even more convenient: Automated code generation
|
||||||
|
|
||||||
|
|
||||||
|
Approach
|
||||||
|
- Abstraction level:
|
||||||
|
- Step stone between model and security mechanisms
|
||||||
|
- $\rightarrow$ More concrete than models
|
||||||
|
- $\rightarrow$ More abstract than programming languages (“what” instead of “how“)
|
||||||
|
- Expressive power:
|
||||||
|
- Domain-specific; for representing security models only
|
||||||
|
- $\rightarrow$ Necessary: adequate language paradigms
|
||||||
|
- $\rightarrow$ Sufficient: not more than necessary (no dead weight)
|
||||||
|
|
||||||
|
Domains
|
||||||
|
- Model domain
|
||||||
|
- e.g. AC models (TAM, RBAC, ABAC)
|
||||||
|
- e.g. IF models (MLS)
|
||||||
|
- e.g. NI models
|
||||||
|
- Implementation domain
|
||||||
|
- OS
|
||||||
|
- Middleware
|
||||||
|
- Applications
|
||||||
|
|
||||||
|
|
||||||
## Model Specification
|
## Model Specification
|
||||||
### CorPS
|
### CorPS
|
||||||
### SELinux Policy Language
|
### SELinux Policy Language
|
||||||
|
Loading…
Reference in New Issue
Block a user