Chapter 6
Chapter 6
Chapter 6
NETWORK SECURITY-ITIE533
Security Architecture
At the end of the period, the students should be able to: Identify the different computer components as well as their respective functions Methods on how the security models work Understand the system security model in performing protection mechanism against threats
Architecture
Architecture encompasses all of the components of a computer, including Operating System (Windows, Linux, Solaris etc) Storage (Hard Drives, IDE/ATA, SCSI, Fibre Channel) I/O devices Security components Networking Memory (next) CPU
CPU
CPU the brain of a computer. It fetches instructions from memory and executes them. It consists of multiple components. ALU actually processes instructions Control unit fetches instructions for the ALU to execute.
Registers
Registers small extremely fast memory locations located directly in the CPU, consists of general and special registers.
The Program Counter is a special register, which holds the address in memory of the next instruction to be executed Program Status Word contains flags that describe the status of instructions being run. One of these is flags tells whether the CPU is running in user mode or privileged mode or if there has been an arithmetic overflow.
External Components
Address Bus a series of wires that the CPU and other components share that specific a memory ADDRESS to access Data Bus a series of wires that the CPU and other components share that hold the actual DATA for the memory location currently being accessed
Memory Access
Address (Bus) 00000101 (5) Data (Bus) 00100010 (34) If the CPU wants to access memory location 5, it would put 00000101 on the ADDRESS BUS and issues a READ request.
The memory controller would look up the value in memory location 5 and return the value on the DATA bus, in this case if memory location 5 had the number 34 stored in it. The value returned on the DATA bus would be binary 34 (00100010)
Process management
A process is a computer program that is actually running on a computer. (like Firefox, or MS Word).
Multiprogramming
Multi-programming means that can be running more than one process at a time Even if there is only 1 CPUhow does this happen?
100-199 milliseconds 200-299 milliseconds 300-399 milliseconds 400-499 milliseconds 500-599 milliseconds 600-699 milliseconds 700-799 milliseconds 800-899 milliseconds 900-999 milliseconds
Multi-programming
Co-operative multitasking (used in windows 3.1) one process must specifically release its control of the CPU before another can use the processor.
Pros? Cons?
Pre-emptive multitasking The Operating System takes the processor away from one program and gives it to another in a scheduled manner.
Pros? Cons?
Multi-programming
When there are multiple processes on a computer, these processes can be in one of these states Running process is actually using the CPU Blocked process is waiting for some input that it expects immediately, gives up CPU Sleeping process is waiting for some input but does not expect it for a while, gives up CPU
The processes, their states, and specific information (memory allocation, open files etc) are stored in a process table
Process Table
Progra m Firefox telnet PID 1453 754 State Running Blocked State Info
SP=19024, PC=20000 Memory allocation= SP=1024, PC=2043 Memory allocation= Memory allocation=
mysql
httpd
56
1014
Multi-programming
If a process needs to signal the CPU to perform some action it generates an interrupt. Interrupts tell the CPU to stop what its doing and take some action on behalf of the process. Interrupts fall into two categories Mask able Non-mask able
A thread
A thread is the set of instructions that will be run on a CPU. (this is also the definition of a process) A thread is a light weight process. On modern OSs threads are scheduled for execution. A process may be made up of multiple threads. Thread usually handle some specific part of a program where a program wants to do two or more actions at the same time. (Example, printing, whiled editing explain this, perhaps cloning analogy) A Multi-threaded program is a program that is written such that different parts of the program can run in parallel. Keep in mind that threads can share resources like memory natively. Processes cannot. (explain this)
Process/thread scheduling
Scheduling processes is an important job that the OS must perform. The ideas is to share the CPU effectively while keeping in mind the current demands for resources. Concerns with processes scheduling Effective resource allocation Being fair Time critical processes Deadlocks* - explain (visual?)
Memory Management
Multi-tasking Operating Systems provide memory management. Goals of memory management are Provide abstraction layer for programmers (how) Maximize performance with the limited amount of memory (how) Protect the OS and applications (how) Programs dont need to know the amount or type of memory.
Memory Types
RAM Temporary memory DRAM RAM which requires refreshing SRAM RAM with no refresh needs, much faster and more expensive.
Memory Types
SDRAM timed DRAM
DDR SDRAM SDRAM which operates on both rising and falling of clock (twice as fast)
Memory Types
ROM Read Only Memory non-volatile, non-writable. Good for firmware. Secure as its not writable. (why is this secure?) PROM ROM that can be reprogrammed. EPROM PROM that can be erased (usually with UV light) EEPROM PROM that is erasable but electronically. (what security implications would this have) Flash Memory we all know what this is right? Cache Memory what this, what are its attributes?
The Most commonly used architecture (according to the book) uses 4 rings Ring 0 Operating System Kernel Ring 1 Remaining parts of the OS Ring 2 I/O drivers and utilities Ring 3 Applications (ex. Web browser)
Virtual Machines
What is a virtual machine. What is the purposes of a virtual machine. What are the strengths. How can a virtual machine help strengthen security? What happens if you are running 16 bit mode on a 32 bit machine. What is thunking? What are some popular virtual environments?
System Architecture
A OS should be able to enforce the security principals (CIA). How to properly design and build a system is called Security System Architecture. We are going to talk about some terms that are used when discussing System security Architecture
Security Terms
Note that the TCB does not address the technical level of security the system provides.. Just the level of trust we have in it. Trusted Path a communications channel between the user/program and the kernel. An example of a trusted path is hitting control-alt-delete on windows. Windows TCB provides that nothing can intercept that sequence and when you hit it you will actually be telling the operating system youd like to login etc.
Security Perimeter
Not every process falls within the TCB. The security perimeter is the imaginary boundary that divides the trusted from the un trusted. Communications between the trusted and un trusted must be well defined and strictly controlled. (what is an example that falls outside the security perimeter?)
Reference Monitor
Reference Monitor is an abstract machine the mediates all access subjects have to objects. The RM ensures that the subjects have the necessary access rights to the object, as well as protecting the objects from destructive modification. For a system to have a higher level of trust it must require all subjects are authorized prior to allowing access to an object. The RM is an abstract or conceptual idea, its not an actual piece of code
Security Kernel
This is the hardware, software and firmware that fall within the TCB and implements and enforces the reference monitor concept! (understand this relationship for the exam) The security kernel must provide the following 3 items 1. Provide isolation for processes carrying out the reference monitor concept, the processes must be tamperproof (why?) 2. The SK must be invoked for every access attempt and be impossible to circumvent, therefore it must be foolproof (why) 3. It must be small enough to be tested and verified comprehensively*
Bell-LaPadula Model
Possible the most famous model, and probably the model most needed in your exam studies is the Bell-LaPadula Model. Explain the model here levels and compartments/need to know It was developed by the US military for use on time sharing mainframes* (what is that?) First mathematical model of an MLS*
B-LP
It is also a (big) MAC Model A system that employs B-LP is called an MLS system. It is technically also an information flow model because it is proven that information flows security It uses a Lattice structure Only addresses Confidentiality, not I or A
B-LP
3 main rules Simple security rule subjects must dominate objects for read* *-property rule no write down (why?)* Strong *-property -read and write must be at the same level* You really need to understand this model. see word problems.
Covert Channels
A Covert Channel is a way for an entity to send or receive information in an unauthorized manner. It is an information flow that is not controlled via a security mechanism and was not intended to transfer information. Such methods violate the security policy.
Covert Channels
Two types of CC Storage (give temp file example) Timing hold or not hold an object (give example)
They occur due to one of the following reasons 1. Improper oversight in the development of a product 2. Improper implementation of access controls 3. Existence of a shared resource between to subjects
Biba (Whopper)
Biba layered like the Big Mac..
but its more concerned with integrity and data quality so this one is flamed broiled and much more delicious!
Biba Model
A state machine model similar to Bell-LaPadula, but is only concerned with Integrity (not C or A). 3 rules *-integrity axiom no write up??? WHAT? Explain. Simple Integrity Axiom no read down ?!? Invocation property a subject cannot request services to another SUBJECT (not object)
Biba
Remember Biba is also a MLS type system Also uses lattices of levels Concerned ONLY with integrity 3 rules are pretty much the opposite of the B-LP model.
Lattice Model
A lattice is a mathematical construct that is built upon the notion of a group. A structure consisting of a finite partially ordered set together with least upper bound and greatest lower bound on the set.* (memorize this definition) Pretty much this model (which Biba and Bell Ladula uses) has multiple levels of classification and people also are classified, and permissions are determined based on these levels of classification
Clark Wilson
Also concerned with integrity, but uses a different approach, has 5 elements Users Transformation procedures Constrained Data Items Unconstrained Data Items Integrity Verification Procedures Lets look at CW a bit more
Clark Wilson
Basic ideas is as follows Data is classified as highly protected (constrained) or not highly protected (unconstrained) Users cannot modify constrained items directly, they must use software that has Transformation Procedures (TPs) that operated on the data on behalf of the users. TPs ensure the security and validity of the operations on the data by the users.
Clark Wilson
All accesses to Constrained data are checked via an access triple which defines (users, TP, data) that is what TPs a user can invoke on what data. Unconstrained data items, are not protected via TPs. The Integrity Verification Procedures ensure that specific integrity rules are being carried out , these rules are abstract and are be defined by the vendor of the system based on the needs of the client. The kind of audit the TP actions on the data.
Clark Wilson
The IVPs ensure that the CDI data is consistent* Using TPs to modify CDIs is referred to as a wellformed transaction* (a series of operations to transfer the data from one consistent state to another consistent state.
Non-Interference
Users at one level should not have knowledge of the commands of users in another level. The commands the users run should not affect other in any way such that they can infer what is going on. Give example from top of 348 regarding Tom and Russian file information.
Non Interference
Graham-Denning Model
A model more concerned with actual implementation than abstract concepts. GD outlines 8 operations that define how objects should be created and deleted. It addresses how to assign specific access rights. The 8 operations specifically are
GD model
How to securely create an object How to securely create a subject How to securely delete an object How to securely delete a subject How to securely provide the read access right How to securely provide the grant access right How to securely provide the delete access right How to securely provide transfer access rights
The difference between SHS mode and CSW is that in SHS users have formal approval for ALL data on the system, where in CSW they only have formal approval for the data they will need to access
Guards
Software and Hardware Guards allow the exchange of data between trusted and less trusted systems. Example if a system is working in Dedicated security mode (high) and needs to talk to a MLS system with multiple classifications. They must talk through a guard, which accepts requests for data, reviews the request to make sure its allowed and then submits the request to a end system.
Summary
In this lesson, you have learned: System Security Architecture System Security Models Security Mode Operation System High Security Mode Dedicated Security Mode Compartmented security mode Multilevel security mode
Any Questions?
Thank You!