Chapter 5 presentation
Download
Report
Transcript Chapter 5 presentation
IS 380
Security Architecture and Design
What are the three pillars of
infosec?
Computer Hardware Architecture
The CPU is the brain of the computer
– Book says 40m - Intel i7 has 700m+ transistors
i9 (1q 2010) has 2b.
– Power 7 1.2b (released Feb 8 ‘10)
The Arithmetic Logic Unit (ALU) does the
actual execution of instructions
Communicates with the memory stack for
each process
What does this have to do with
security?
Compromising the connection between the
execution code in memory and data stack
allows new instructions to be inserted
Arbitrary code execution is the holy grail of
malware.
Not a new approach – Smashing the Stack
for Fun and Profit written in 1996.
Buffer overflow
Buffer overflow: bounds checking
Definitions
Multiprogramming – more than one
program in memory
Multitasking – computer handling requests
from several process at the same time
Multithreading – applications can have
multiple threads.
Multiprocessing – more than one CPU (or
core)
Operating system architecture
Process – a program running in memory
Threads – individual instruction sets and
associated data for a process.
– Created and destroyed as needed
– Shares the same resources as the parent
process
Memory management – provides protection
for the OS, abstraction for programmers,
and resource handling for applications.
Mini-lab
Open task manager
List the current processes
What process is using the most memory?
What process has generated the most
threads?
What process is using the largest portion of
CPU time?
Multitasking
Old and busted: Cooperative multitasking
– Process voluntarily released resources
New hotness: Preemptive multitasking
– Time sharing/slicing.
– States:
Running (executing)
Ready (waiting for CPU time)
Blocked (waiting for input)
Process Isolation
If one process ‘crashes’ other processes
continue to run.
Inter process communication – processes
can still be allowed to communicate with
each other.
– Encapsulation/data hiding
Started with windows NT/95
Memory manager
Memory management
Virtual memory – extending RAM to
secondary storage
Memory mapping – The system for keeping
track of what memory belongs to each
process
– Base register
– Limit register
– Processes use logical address rather than
physical address
Memory problems
Memory leaks – The process does not
return memory it no longer needs
Thrashing – when more time is spent
moving data from one area of memory to
another than actual processing.
Other types of memory
ROM – Read only
PROM – ROM that can be written to once.
EPROM – erase with UV light
EEPROM – erase with electricity
Flash – BIOS, camera cards, etc.
Cache memory – extremely high
performance RAM
Protection rings
Ring 0 – Operating system kernel
Ring 1 –Remaining parts of the OS
Ring 2 – I/O drivers and utilities
Ring 3 – Applications and user activity
Lower numbers are more trusted and
provide more access to system resources
Ring security
Monolithic kernel – all kernel activity runs in
ring 0 (windows OSX)
– Fewer ring switches means faster OS
– Ring 0 (kernel) & Ring 3( apps)
Layered operating system – data hiding.
More security.
Client/server – as much as possible runs in
user mode
– microkernel
Virtual machines
Simulates an operating system
Provides an excellent test environment
Will translate instruction sets to the CPU if
necessary
Maximize underutilized hardware.
Space/cooling/power cost reductions
Additional storage devices
CD/DVD, USB, Bluetooth, Blackberry, MP3
players
Connect to the OS and bypasses perimeter
controls
How do we handle them in the security
policy?
Trusted Computing Base (TCB)
The programs, instructions, and hardware that we
trust
Trusted path – A communications channel
between the user/program and the kernel that has
been hardened
Trusted shell – A shell that can not be accessed
by processes or users outside of the TCB.
TCB defines the security perimeter – the total
combination of protection within a computer
system
TCB basic functions
Process activation – preparing to run a
process by loading instructions and data into
memory.
– Activation happens when the CPU acts on the
process interrupt request.
Execution domain switching
– switching from user mode to privileged mode
and back again
Memory protection
I/O operations
Reference Model &
Security Kernel
Reference Model – mediates all subject
/object interactions.
– Essentially a model for access control
Security Kernel – enforces the reference
model.
– Isolates & protects processes controlling access
– Used in every access attempt
– Tested and verified not to be circumventable.
Security models
Provide a methodology for designing secure
systems
Examples on pages 334-356
All of them use access control and adhere to
the principle of least privilege
State Machine Models
At any given instance, the machine is
secure.
State transitions are only allowed if they do
not compromise the system, including
system failures.
If an illegal op – then reboot of freeze to
protect data/security.
Bell-LaPadula – confidentiality
Multilevel – users with different security
clearances can use the same system.
Three states:
– Simple Security Rule – subject at one security level
cannot read data at a higher security level. ‘No Read
Up’
– * Property Rule - Subject in a given security level
cannot write information to a lower security level. ‘No
Write Down’
– Strong Star Property Rule – a subject with read and
write access can only do so at the same security level
Biba Model – integrity
Data at one integrity level does not flow into
a higher integrity level
– * integrity axiom – subject cannot write data to
an object at higher integrity. ‘No write up’
– Simple integrity axiom – subject cannot read
data from a lower integrity level. ‘No Read
Down’
– Invocation property – subject cannot request
service to subjects of higher integrity. (‘dirty
data’ cannot pollute clear data processes)
Clark-Wilson Model – integrity
Users – Active Agents
Transformation procedures (TPs) – read/
write/ modify – Program mediates access.
Constrained data items (CDIs) –
manipulated by TPs. High protection
Unconstrained data items (UDIs) –
manipulated by users with simple read/write.
Integrity verification procedures (IVPs) –
Check consistency of CDIs with reality.
Biba vs. Clark-Wilson
Integrity model goals:
– Prevent unauthorized users from making
changes. (Biba and CW)
– Prevent authorized users from mapping
improper modifications (CW separation of
duties)
– Maintain internal and external consistency (wellformed transaction) (CW IDP)
Information Flow Models
Covert Channel – a way to receive information in
an unauthorized manner.
– Covert storage channel – trying to write to a file that exists
– Covert timing channel – CPU usage
Inference attack – access to some information
that allows one to infer information above their
clearance level
Noninterference model – actions at one level to
not interfere with another level
EAL – the higher the EAL rating the fewer the
possible number of covert channels.
Other Models
Lattice Model – upper and lower bounds of
rights.
Brewer and Nash Model – ‘Chinese wall’.
Prevents conflict of interest by limiting view
to one dataset.
Graham-Denning Model – how security
and integrity ratings are defined and a way
to delegate or transfer rights.
Security Modes
Dedicated – all users can access all data
System High – All users access data: need
to know.
Compartmented – access data: need to
know and formal approval.
Multilevel – all users, some data: need to
know, clearance & formal approval.
Orange Book
Trusted Computer System Evaluation
Criteria (TCSEC)
– A Verified protection – development, design and
evaluation is very stringent. (A1, military)
– B Mandatory protection (B3 – highly
secure/military)
– C Discretionary protection (C2 Commercial, but
still weak security: NT4)
– D Minimal security (FAIL!)
Only Confidentiality: Bell LaPadula
ITSEC Information Technology
Security Evaluation Criteria.
Functionality and assurance.
– Developed in Europe
Common Criteria
ISO
Evaluation Assurance Level
– EAL1 – Functionally tested
– EAL2 – Structurally tested
– EAL3 – Methodically tested
– EAL4 – Methodically designed, tested, and
reviewed. (Windows 2003 SP1, XP SP2)
– EAL5 – Semiformally designed and tested
– EAL6 – Semiformally verified design and tested
– EAL7 – Formally verified design and tested
Common Criteria (cont.)
Functionality and assurance
Protection profiles
– Descriptive elements – description of problem solved
– Rationale – justify the profile, real-world problem
solved, environment, policies, etc.
– Functional requirements – protection boundary
– Development assurance requirements –
requirements must be met during development
– Evaluation assurance requirements – type and
intensity of evaluation
Notes
Specific version of software
Specific configuration
Certification – Technical review
– evaluate and test software, hardware, firmware,
design, implementation, procedures,
communication.
– Make sure you have the right system for the
right job.
Accreditation – management’s acceptance
of overall functionality & security of system.
Enterprise Security Architecture
Provides technical details for your security
policy
Includes network schematics, tools,
processes and roles necessary to
implement the security policy
Must incorporate business needs as well as
legal and regulatory requirements
Open vs. Closed systems
Open – interoperability between vendors
Closed – vendor lock-in. ‘black box’.
Enterprise Security Architecture
Layers of policy, standards, solutions,
procedures linked across the enterprise
strategically, tactically and operationally.
Think planned.
Or
The opposite of how most companies work
(point solutions cobbled together from
different (pet?) projects and forced to
interoperate)
Zachman Framework
Direction on how to understand an
enterprise in a modular fashion
Aids in understanding the environment.
Organizational, not technical.
Related Threats
Maintenance Hooks/Back Doors
Time of check/time of use – jump in between two tasks &
change something
Race conditions – get process to execute out of sequence
Buffer overflows
5-15 bugs in every 1,000 lines of code. (Carnegie Mellon)
1 security glitch in 1,000 lines of code (DHS review of 180
open source products)
Windows Vista~ 50,000,000 lines of code.