Chapter 2 Flashcards
Basics of a program
- Data resides in RAM: numbers and other coded data, stored in consecutively numbered locations
- Programs are lists of instructions
- Instructions reside in RAM
Sections of RAM
- Control Sections: instructions and unchanging data
- Data sections: variables that change, stack, heap, BSS Segments
Memory Layout
low -> high
text data bss segment heap (goes down) stack(goes up)
Stack Frame for function call
local variables, parameters, return address
Process
A running program
isolated and contained
Operating system
In charge of process management, dispatching, RAM Management (MMU), I/O management (file management, user interface, network protocols)
Buffer Overflow: The Morris Worm
First major internet worm
disabled 10% of computers
utilized buffer overflow(program fails to keep track of input, input modifies RAM it shouldn’t and an attacker can take over)
Finger Program
Retrieved info about other users, was vulnerable to buffer overflow
Buffer Overflow
When calling another procedure we have to save the PC on the stack, overrunning a buffer can modify data on the stack and potentially overwrite the PC causing the wrong instruction to be executed when the procedure is finished.
Data Execution Prevention (DEP)
Protective measure where the OS will only execute instructions in a control section not the data section. Not all systems or programs can use DEP
Lessons from Morris Worm
1) Pick good passwords
2) Patch Regularly
3) Review System Configuration
4) created CERT (computer emergency response team) which was first nationwide computer security team
Common Vulnerability Enumeration (CVE)
Tracks and reports problems with security
Ways to study cyber attacks
1) Attack Scenarios
2) Attack Case Studies
Attack Scenario
Goals: Describe goals of attack
Resources: Required personnel, skills, equipment
How it happens: descibe how it takes place
Collateral Results: attack results in addition to the goals noted above
Recommended Mitigation: basic steps that could prevent attack
References: authoritative sources
Attack Case Study
Overview: summarizes the attack
Perpetrator: brief description of threat agent
Attack Scenario: as previously described
Risk Management: how pre-attack risk management affected outcome
References: consolidated list including those from the attack scenario
Access Control Strategies
1) Islands
2) Vaults
3) Puzzles
4) Patterns
Islands (access control strategy)
- We can only touch what is there
- processes are islands (think of the Von Nuemann Model of memory)
- isolation and mediation
- not allowed to access resources
Vault (access control strategy)
- We can retrieve things from the vault only if allowed
- something restricts access
- least privilege
Think of a bank safe deposit box: we have the key, the banker lets us retrieve the box, we can modify contents, we can’t retrieve or modify other boxes
This is how permissions work in regards to files and processes
Puzzles (access control strategy)
Protect data by presenting a puzzle (authorized users no the answer)
Security Through Obscurity (weak puzzle such as protecting data by hiding it)
Strong puzzles use cryptogrophy
Patterns (access control strategy)
Make decisions based on similarities
antivirus software searches computer for patterns found in viruses
biometrics work of patterns
Problems: false positives and false negatives
Open Design (A Basic Principle)
We open our systems for third party analysis to help ensure effectiveness
withhold changeable, secret information
Kerckhoff’s Principle: rely on a changeable secret but make the rest of the design public and open to review
Shannons maxim: the enemy knows the system
Kerckhoff’s Principle
ely on a changeable secret but make the rest of the design public and open to review
Shannons maxim
the enemy knows the system
Chain of Control (A Basic Principle)
we must never run programs that violate or bypass our security policy. to avoid, we
1) Start the computer using a BIOS that maintains our security policy
2) If the software we start (i.e. the OS) can start other software, then the other software complies with the security policy or is constrained from violating the policy via access restrictions or other mechanisms
Ways of subverting Chain of Control
At BIOS we may:
-boot a different OS that doesn’t enforce access restrictions
Inside the OS:
- Install a privileged program that can bypass access restrictions
- trick an authorized user into leaking sensitive files
How to Keep processes seperate
Hardware: (CPU)
- Program Modes
- RAM protection
Software: (OS)
- Program Dispatcher
- Memory Manager
- User Identities
Program Modes
Kernel/Supervisor Mode
- Highly privileged programs with full CPU access
- dangerous
User Mode:
- for most programs and all applications
- CPU blocks any attempt to use Kernel mode instructions
3 Types of Security Controls
Physical, Logical, Procedural
also there are three categories: Preventative, Detective, Corrective
CIA Properties plus 2
Confidentiality
Integrity
Availability
Authentication
Nonrepudiation