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) | ||||
|         - [Summary CW](#summary-cw) | ||||
|   - [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) | ||||
|   - [Model Engineering](#model-engineering) | ||||
|     - [Model Family](#model-family) | ||||
|   - [Model Specification](#model-specification) | ||||
|   - [Model Specification](#model-specification-1) | ||||
|     - [CorPS](#corps) | ||||
|     - [SELinux Policy Language](#selinux-policy-language) | ||||
|   - [Summary](#summary-5) | ||||
|   - [Summary](#summary-3) | ||||
| - [Security Mechanisms](#security-mechanisms) | ||||
|   - [Authorization](#authorization) | ||||
|     - [Access Control Lists](#access-control-lists) | ||||
|     - [Capability Lists](#capability-lists) | ||||
|     - [Interceptors](#interceptors) | ||||
|     - [Summary](#summary-6) | ||||
|     - [Summary](#summary-4) | ||||
|   - [Cryptographic Mechanisms](#cryptographic-mechanisms) | ||||
|     - [Encryption](#encryption) | ||||
|       - [Symmetric](#symmetric) | ||||
| @ -128,7 +117,7 @@ | ||||
|     - [Cryptographic Protocols](#cryptographic-protocols) | ||||
|       - [SmartCards](#smartcards) | ||||
|       - [Authentication Protocols](#authentication-protocols) | ||||
|   - [Summary](#summary-7) | ||||
|   - [Summary](#summary-5) | ||||
| - [Security Architectures](#security-architectures) | ||||
|   - [Design Principles](#design-principles) | ||||
|   - [Operating Systems Architectures](#operating-systems-architectures) | ||||
| @ -138,7 +127,7 @@ | ||||
|     - [CORBA](#corba) | ||||
|     - [Web Services](#web-services) | ||||
|     - [Kerberos](#kerberos) | ||||
|   - [Summary](#summary-8) | ||||
|   - [Summary](#summary-6) | ||||
| 
 | ||||
| # Introduction | ||||
| ## Risk Scenarios | ||||
| @ -2788,22 +2777,134 @@ Remember: Goals of Security Models | ||||
| 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 | ||||
| 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 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  | ||||
| ### CorPS | ||||
| ### SELinux Policy Language | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user