We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF or read online on Scribd
You are on page 1/ 92
Introduction to Information
Security
CS 4235Information Security
¢ Information is a commodity: its purchase and sale
is central to the free enterprise system
¢ Protection Mechanisms are like putting a lock on
the door of a merchant's warehouse
* The protection of resources (including data and
programs) from accidental or malicious
modification, destruction, or disclosureWhat is Computer Security?
Wikipedia: Computer security is the effort to create a secure computing
platform, designed so that agents (users or programs) cannot perform
actions that they are not allowed to perform, but can perform the
actions that they are allowed to.
Garfinkel and Spafford: A computer is secure if you can depend on it
and its software to behave as you expect.
Pfleeger and Pfleeger: define in terms of goals
What does “allowed” or “expect” mean?
is all-important: defines specifically what is and is not
allowed, and what to expect (and who is responsible!)
~— Technical security is then: how to make sure systems are used in
accordance with policy
What policies make sense? How do we enforce these policies?Key Security Concepts
om WO
and
servicesGoals of Computer Security
Basic Goals
— Confidentiality: Information only available to authorized parties
— Integrity: Information is precise, accurate, modified only in
acceptable ways, consistent, meaningful, and usable
— Availability: Services provide timely response, fair allocation of
resources, quality of service
Added when people talk about “Information Assurance”
—Non-repudiation: Messages or actions are accompanied by proof
which cannot be denied
— Authentication: Establishing the validity of a transmission, message,
or originator (including verifying the identity of a participant)User Privacy
* privacy means that users have control over info
collected and made available to others
* Examples:
— User may not want others to know programs they run,
who they communicate with, etc.
— User may not want to receive spam
* Anonymity can protect privacy
6What About Privacy?
Confidentiality - ensures that sensitive information is not
disclosed to unauthorized recipients
Integrity - ensures that the data and programs are modified
or destroyed only in a specified and authorized way
Availability - ensures that the resources of the system will
be usable whenever they are needed by an authorized user
Privacy - ensures that only the information that an
individual wishes to disclose is disclosedCNSS Model
¢ CNSS stands for Committee on National
Security Systems (a group belonging to the
National Security Agency [NSA]). CNSS
has developed a National Security
Telecommunications and Information
Systems Security (NSTISSI) standards.
¢ NSTISSI standards are 4011, 4012, 4013,
4014, 4015, 4016.CNSS Security Model
Technology
Education
Policy
Confidentiality
Integrity
Availability
Storage Processing TransmissionCNSS Security Model
The model identifies a 3 x 3 x 3 cube with 27 cells
Security applies to each of the 27 cells
These cells deal with people, hardware, software, data, and
procedures
A hacker uses a computer (hardware) to attack another
computer (hardware). Procedures describe steps to follow
in preventing an attack.
An attack could be either direct or indirect
In a direct attack one computer attacks another. In an
indirect attack one computer causes another computer to
launch an attack.
10System Functionality
¢ Limiting functionality limits attacks
¢ Security breaches caused by system
functionality can be caused by
— Software bugs
— Unforeseen interactions between componentsRelative Security
Few useful systems will be absolutely secure
We view security in a relative sense
This does not mean that good security design and
implementation is unimportant
Example: safesCost vs Security
¢ Proper security level depends on value of
the items that system is protecting (other
concerns?)
¢ Trade-off between cost and security
¢ Select security level appropriate for user
needsCost vs Security (continued)
Example: user authentication
— System A - authenticates the user by retinal scan
— System B - authenticates users once with password
System A is probably more secure than system B, but more
costly and inconvenient
Is added security and expense called for?
— Maybe for NSA
Not for an individualFour Basic Principles from
Pfleeger
Principle of Easiest Penetration
— Not most obvious or most expected but easiest!
Principle of Weakest Link
— Security no stronger than weakest link
Principle of Adequate Protection
— Protect assets to a degree consistent with their
value
Principle of Effectiveness
— Controls must be efficient, easy to use,
appropriate, ... and used.Some History
1967: People starting to publish papers on computer security
1970: Influential (in some circles!) RAND report: “Security Controls
for Computer Systems”
— Originally classified — declassified in 1979
1964—1974?: MULTICS system development
Mid-70’s: Many influential papers published in open literature
Mid-70’s: Cryptography takes off in public research
1985: Department of Defense publishes “Trusted
Computer System Evaluation Criteria” (Orange Book)
1994: Publication of “Common Criteria for Information Technology
Security Evaluations”
2003: Publication of “The National Strategy to Secure Cyberspace”
16Some History — The Other Side
1970°s: Age of phone phreaking
1980’s; BBSes, Legion of Doom, and Chaos Computer Club
1983: War Games movie comes out
1984: 2600 (The Hacker Quarterly) publication starts
1986: First PC virus in the wild (the “Brain virus”)
1988: The “Morris worm”
— Automated spreading across the Intemet,
Exploited several bugs, including the first highly-visible “buffer overflow” exploit (of fingerd)
Around 6000 computers affected ~ 10% of the Internet at the time!
Morris convicted in 1990
CERT created largely because of this
Early 1990's: Kevin Mitnick (“Condor”) years
— Arrested several times
— Went “underground” in 1992 and achieved cult status
~Caught in Raleigh, NC in 1995
Well-known for “social engineering” skillSome History — The Other Side
(cont’d)
1993: Kevin Poulsen hacks phones so he wins radio station contests
(Porches, trips, cash, ...)
1999 — present: Widespread worms/viruses
— 1999: Melissa (Word macro virus/worm)
— 2000: Love Letter (VBScript — did damage!)
— 2001: Nimda (hit financial industry very hard)
— 2001: Code Red (designed to DoS the White House, but hard-coded
IP address so defeated!)
— 2003: “Slammer” (spread astoundingly fast!)
1999: DDoS networks appear
— 2000: Big attacks on Yahoo, eBay, CNN.
— Today: “Bot-nets” with 10’s of thousands of botsHow bad is it?
September 2001 - Nimbda worm spread
nationwide in less than an hour and attacked
86,000 computers
January 2003 — Sapphire/Slammer SQL worm was
able to spread nationwide in less than 10 minutes,
doubling in size every 8.5 seconds. At its peak (3
minutes after its release) it scanned at over 55
million IP addresses per second, infecting 75,000
victimsGeographic Spread of Code Red
WormWhy is it so bad?
Computers are everywhere
Internet has become a mission-critical infrastructure for
business, government, and financial institutions
Today’s networks are very heterogeneous, highly critical
applications run side by side with noncritical systems
Cyber attacks against non-critical services may produce
unforeseen side-effects of devastating proportionsWhy is it so bad?
* Home Users Increase Vulnerabilities
* Today most homes are connected, particularly
with the advent of DSL and cable modems
* Most home users:
— are unaware of vulnerabilities
— don’t use firewalls
— think they have nothing to hide or don’t care if
others get their data
— don’t realize their systems can serve as jump off
points for other attacks (zombies)Why is it so bad?
¢ Computer security is reactive
— usually reacting to latest attack
— offense is easier than defense
* Security is expensive both in dollars and in
time
¢ There is not now, and never will be, a
system with perfect securitySecurity Trends
1990 19911992 19931984 1995 1996 1997 1998 1999 2000 2001Security Technologies Used
Source: Computer Security InatterFB] 2906 Computer time nd Scurty SurveyDamage Done
‘Figure 16, Dollar Amount Losses by Type
Average total loss per
respondent: $203,606
But a wide range of
respondent organization
sizes:
+ 22% revenue <$10 million
+ 34% revenue >$1 billion
26150000
100000
50000
Security Incidents
MIncidents
Source: CERTSecurity Vulnerabilities
5000 @ Vulnerabilities|
4000
3000
2000
1000
0
508 [ons [1995 [1996 [1007 [1908 [1999 [2000 [2003 [2002 [2003 [2004
[evutnerabitities 30.6 [aya | 34s | 323 | 262 | a7 | a090[ 2437 [4,129] 3705 | 3700Who are the attackers?
Script kiddies download malicious software from
hacker web sites
Hackers trying to prove to their peers that they
can compromise a specific system
Insiders are legitimate system users who access
data that they have no rights to access
Organizational level attackers use the full
resources of the organization to attackAttacks and Attackers
An attack is when a vulnerability is exploited to
realize a threat
An attacker is a person who exploits a
vulnerability
Attackers must have Means, Opportunity, and
Motive (MOM)
— Means: Often just an Internet connection!
— Opportunity: Presence of vulnerabilities
— Motive may be complex, or not what you think!
30Attackers — Motives
Intellectual challenge
—Some people see it as a game
Espionage (government or corporate)
Financial reward
— Credit card numbers sold, spam-nets rented, fraud, ...
Revenge
Showing off
— DDoS attacks on CNN, eBay, Yahoo, etc.
Civil disobedience
— Basic vandalism
—“Hactivism”
31Attackers — Types
Amateurs
— Could be ordinary users (insiders) exploiting a weakness
— Sometimes accidental discoveries
Crackers
— People looking specifically to attack
— Motive is often challenge, not malice
— Skill level ranges from very low (script kiddie) to high
Career criminals
— Organized crime beginning to get involved
— Terrorists? (Cyber-terrorism)
Government/military information warfareComputer Security Threats
Browsing
Leakage
Inference
Tampering
Accidental destruction
Masquerading
Denial of servicesComputer Security Threats
+ Browsing
Searching through main and secondary memory for
residue information
+ Leakage
Transmission of data to an unauthorized user from a
process that is allowed to access the data
+ Inference
Deducing confidential data about an individual by
correlating unrelated statistics about groups of
individuals
34Computer Security Threats
Tampering - Making unauthorized changes to the value of
information
Accidental Data Destruction - Unintentional
modification of information
Masquerading - Gaining access to the system under
another user's account
Denial of Service - Prevention of authorized access to
computer resources or the delaying of time-critical
operations
35Bishop Threat Definitions
¢ Threat is a potential violation of security
¢ Attacks are those actions which could cause
a threat to occur
* Attackers are those who execute an attackCerias Definitions
* Vulnerability is a flaw in a system that allows a
policy to be violated
¢ Exploit is the act of exercising a vulnerability
Also used to refer to an actual program, binary or
script that automates an attack
* Exposure is an information leak that may assist an
attacker
37Threats and Vulnerabilities
Avulnerability is a weakness in a security system.
— Can be in design, implementation, or procedures
A threat is a set of circumstances that has the potential to cause loss or
harm.
~ Threats can be
Accidental (natural disasters, human error, ...)
Malicious (attackers, insider fraud, ...)
— NSA “major categories of threats”:
fraud, hostile intelligence service (HOIS), malicious logic,
hackers, environmental and technological hazards,
disgruntled employees, careless employees, and
HUMINT (human intelligence)
38Threats to Confidentiality
Interception/Eavesdropping/Wiretapping (sniffers)
— Used to be commonly installed after a system break-in
— Can (could?) capture passwords, sensitive info, ...
— Some resurgence with wireless networks
— Has always been a problem with wireless transmission!
— Electromagnetic emanations (TEMPEST security)
* Illicit copying (proprietary information, etc.)
— Copied company documents, plans, ...
— Copied source code for proprietary software
—Non-electronic: “dumpster diving”, social engineering
39Threats to Integrity
Modification
~ Changing data values (database)
— Changing programs (viruses, backdoors, trojan horses, game cheats,
~ Changing hardware (hardware key capture, ...)
— Can be accidental corruption (interrupted DB transaction)
— Many small changes can be valuable (e.g., salami attack)
Fabrication
~— Spurious transactions
— Replay attacks
Identity spoofing
— Somewhat related: fake web sites and “phishing”
40Threats to Availability
Denial of Service (DoS)
— Commonly thought of as network/system flooding
— Can be more basic: disrupting power
— Deleting files
— Hardware destruction (fire, tornado, etc.)
Latest: Distributed Denial of Service (DDoS)
— Bot-nets of zombie machines that can be commanded to flood and
disable “on-command”
— Discovery of botnets with 10-100 systems is a daily occurrence;
10,000 system botnets are found almost weekly; and one botnet with
100,000 hosts has even been found (according to Johannes Ullrich,
CTO of the Internet Storm Center).
4Vulnerabilities
From the book:
a _
soe ARE _7 ane
9 remrtonMost Common Threat
Password Guessing
More of a problem with the availability of
personal computers and fast connections
Exhaustive search for passwords
Lists of commonly used passwords
Distributed default passwordsSpoofing
¢ Duping a user into believing that he is
talking to the system and revealing
information (e.g., password)Browsing
¢ After an intruder has gained access to a
system he may peruse any files that are
available for reading and glean useful
information for further penetrations
* Often done by legitimate usersTrojan HorseTrojan Horse
A program that does more than it is
supposed to do
More sophisticated threat
A text editor that sets all of your files to be
publicly readable in addition to performing
editing functions
Every unverified program is suspectTrojan Horse
re Restricted
Data
Trojan
Horse
Borrowed
Program
48Trap Door
« Asystem modification installed by a
penetrator that opens the system on
command
« May be introduced by a system developer
* Bogus system engineering change noticeVirus
¢ A program that can infect other programs by
modifying them to include a possibly
evolved copy of itself
50Examples
Amiga Virus
Resident on boot block
IBM Christmas Virus
Names and netlog files
Denial of service
Census Bureau
County and City Data Book CD-ROM
WWW Pages Containing Applets
MIME-encoded Mail
Code Red Worm
Blast
slStatistical Database
¢ A statistic is sensitive if it discloses
confidential information about some
individual, organization, or company
¢ Nonsensitive statistics may lead to the
disclosure of sensitive dataInference of Sensitive Data
From Nonsensitive Information
* Can detect information about an individual by
querying about a group where the individual is the
only member in the group or the only one not in
the group
¢ For example:
If Smith is the only foreign worker, one can
deduce information about Smith by querying
about non-foreignersWhy Computer Crime
is not Reported
« Asuccessful attack reveals vulnerabilities to
other potential intruders
« Adverse publicity discourages new clients
and disappoints shareholders
* Often viewed as a harmless prankSecurity Policy
¢ Asecurity policy is a statement of what is
and what is not allowed
¢ May be informal (English statements) or
formal (mathematical logic statements)Policy Simplicity
* Simpler security policies are easier to get right,
reason about and implement
* Security breaches caused by policy shortcomings
are most often due to
— Incomplete or inconsistent policy
— Misunderstanding the policy’s requirements
— Error in implementation
56Secure Computer System
* Asecurity policy specifies exactly what types of
actions are and are not permitted on the system
+ Example security policy
— Only authorized users able to use the system
— Authorization/Access control
— Resources sharing among users
* Asecure system obeys its security policy
37Security Breaches
A violation of a system’s security policy is called a
security breach
Security breaches can occur
— Accidentally — faulty program
— Intentionally — virus
Creating a system where security breaches cannot occur
can be easy or impossible depending on
— What the security policy requires
— How the system implements the policy
58Secure Systems Design
¢ Policy Simplicity Principle
— Policy as simple as possible (but no simpler)
— Should state what is allowed and forbidden
« System Functionality Principle
— Include necessary functionality (and no more)
— Perform job it was designed to do (and no more)
59Defenses and Controls
* Acontrol is a protective measure to remove or
reduce a vulnerability
— Action, device, procedure, or technique
¢ Business motivation: Manage risk
— Main purpose: Balance risk with costs
— Risks can be prevented, deterred, detected and
responded to, transferred, or accepted
* Risk Analysis:
— Determine what controls are most cost-effective
— Most “bang for the buck”
60Controls — Examples
Policies/procedures (acceptable use, password, training)
Cryptography
Access Control
— Operating System controls (file rights, capabilities
— Application access restrictions (DB, web server, ...)
— Network boundary (firewall, VPN, ...)
— Advanced authentication (smart cards, tokens, ...)
Detection programs (virus scanners, IDS’s)
Regularly test/evaluate (called “penetration testing” or “red teams” or
“tiger teams”)
Development controls (secure software development)
Physical controls (door locks, media management)Defense in Depth
* Definition: Using multiple layers of security to
protect against failure of individual controls.
* Non-computer example:
— Multi-walled (or concentric) castles
— Vats of boiling oil helped too...
* Computer security example:
— Internal systems with access control protections,
on an internal network with an intrusion detection
system, with connections from outside controlled
by a firewall.
62The Role of Trust
¢ Who/what to trust is fundamental!
¢ Trust in certain people
— Background checks, references, ...
* Trust in systems
— Evaluation through certifications, etc.
— Do you trust your software?
— Do you trust your hardware?Access Control
A means of limiting a user's access to only those entities that the policy
determines should be accessed
Subjects - Active entities in the system (e.g. , users, processes,
programs)
Objects - Resources or passive entities in the system (e.g. , files,
programs, devices)
Access Modes - Read, write, execute, append, update
Access Control Mechanisms - Determine for each subject what access
modes it has for each objectAccess Control
* Discretionary Access Control (DAC)
The owner specifies to the system what other users can
access his files (Access is at the user's discretion)
* Mandatory Access Control (MAC)
The system determines whether a user can access a file
based on the fixed security attributes of the user and of
the file (Non-discretionary access)
65Access Control Matrix
Objects
Subjects | 01 | 02 | 03 | 04 | O5
$1 W RW | W
$2 R E R
$3 RW/ E
$4 RE RW REAccess Control List
(Authorization List)
¢ Associated with each object
* Contains subject name and type of access
allowed
* Corresponds to column in the matrixCapability List (C-list)
Associated with each subject
Contains object name and type of access allowed
Corresponds to a row in the matrix
Defines the environment or domain that the
subject may access
68Mandatory Control Policy
Each subject has an access class (authorization)
Each object has an access class (classification)
Access class made up of
- level
- category set
Comparison of access classes
(=, <, >, NC (not comparable))
69Example Mandatory Controls
Three security levels
Unclassified, Confidential, Secret
Three security categories
Crypto, Nuclear, Intelligence
Comparisons
SECRET/ {CRYPTO} = SECRET/ {CRYPTO}
SECRET/ {CRYPTO} > CONFIDENTIAL/ {CRYPTO}
SECRET/ {CRYPTO} <
SECRET/{CRYPTO,NUCLEAR}
SECRET/ {CRYPTO} NC SECRET/ {NUCLEAR}
70Access Rules
¢ Simple security property
Read permission if:
Access class (subject) >= Access class
(object)
Write permission if:
Access class (subject) <= Access class
(object)Approaches to Security
¢ Procedural
¢ Functions and Mechanism
¢ AssuranceProcedural Approaches
Prescribes appropriate behavior for a user
interacting with the system
— periods processing
— guidelines for managing passwords
— appropriate handling of removable
storage devicesPeriods Processing
¢ Split the day into periods and run different
classification jobs in each periodGuidelines for Choosing
Passwords
Long (8 character minimum)
Non-obvious
Not written in an obvious place
Changed at appropriate intervals
Not shared
Not stored
Many guidelines can be enforced by the systemNon-Obvious Passwords
* NOT:
First name
Middle name
Last name
Spouse's name
Login name
Null
Name backwards
Name repeated twiceAppropriate Handling of
Hardware
« Management of removable media
¢ Disposal of hardware
study showed that confidential information
is often left in hardware to be salvaged
(EEE Security & Privacy magazine,
January 2003)Functions and Mechanisms
« Enforce security policy
* Examples are the 3As
Authentication: assures that a particular user is
who he/she claims to be
Access control: a means of limiting a user's access
to only those entities that the policy determines
should be accessed
Audit: a form of transaction record keeping.
The data collected is called an audit logAuthentication Mechanisms
¢ Authenticates users at login time
— Secure attention key
(e.g., control-alt-delete)
— One way functionsSecure Attention Key
¢ Foils attempts at spoofing
* Guarantees trusted path to the system
* User must use it
80One-Way Function
« A function whose inverse is
computationally infeasible to determine
—Enciphered passwords are stored in a
password file
— At login time password presented by the
user is enciphered and compared to what is
in the password fileAccess Control
Reference Monitor
Provides mediation of all accesses to assure that the access
control policy i is enforced (part of OS security kernal)
7c
( (Supueers: \__ [REFERENCE
| Processes |~Lmomitor
AUTHORIZATIONS:
USER ACCESS, NE
OBJECT SENSITIVITY, ..
Reference Monitor must be
- Invoked on every reference
- Tamperproof
- Subject to analysis/test whose completeness can be assured
82Assurance Techniques
¢ Penetration analysis
* Covert channel analysis
¢ Formal verificationPenetration Analysis
¢ Uses a collection of known flaws,
generalizes the flaws, and tries to apply
them to the system being analyzed
— Penetration team known as "Tiger Team“
— Demonstrates the presence not the absence
of protection failuresCovert Channels
¢ Security analysis of both overt and covert
channels is necessary
* Overt channel — Uses the system's protected
data objects to transfer information
* Covert channel — Uses entities not normally
viewed as a data object to transfer
informationTwo Types of Covert Channels
* Storage channels — the sender alters the value of a
data item and the receiver detects and interprets
the altered value to receive information covertly
* Timing channels — the sender modulates the
amount of time required for the receiver to
perform a task or detect a change in an attribute,
and the receiver interprets the delay or lack of
delay to receive information covertly
86Systems Development Problem
Requirements |
Are these consistent?
ImplementationFormal Specification and
Verification
[ Requirements }
Formal
Model
Formal
Specification
HOL Language
Implementation]Formal Specifications
¢ State Machine
Relates values of variables before and after
each state transition
E.G.
Exchange (x,y)
New_ value(x) = y
& New_value(y) = xFormal Specifications
« Algebraic
Relates results of sequences of operations
E.G.
Exchange (Exchange(pair)) = pair
First (Exchange(pair)) = Last (pair)
Last (Exchange(pair)) = First (pair)
90Formal Verification Techniques
es
( 5
(Requirements)
Informal
Review
Formal
Model
{ Design
Verification
Formal
Specification
{ Code
Verification
HOL Language
Implementation
a1Formal Verification
* Design Verification
Consistency between the model and the specification
Assumes:
Model is appropriate
Specification is complete
+ Code Verification
Consistency between specification and the implementation
Assumes:
Specification is appropriate
Implementation language is correctly defined