6.2. Security
6.2. Security
2 Security
Contents
o Security problem
o Program threat
o Network and system threat
o Security tools
o Cryptography
o Authentication
o Intrusion defense
o Firewall
Security problem
o Security must consider external environment of the system,
and protect it from:
– unauthorized access.
– malicious modification or destruction
– accidental introduction of inconsistency.
– These are management, rather than system, problems.
o Easier to protect against accidental than malicious misuse.
o We say that the system is secure if its resources are used
and accessed as intended under all circumstances.
Security problem(con’t…)
o Security has many facets. Three of the more important
ones are the nature of the threats, the nature of intruders,
and accidental data loss.
Threat: make sure data confidentiality, integrity, availability
and etc
Intruders: people who are nosing around places where they
have no business being are called intruders or sometimes
adversaries
o Intruders act in two different ways.
Passive intruders just want to read files they are not
authorized to read
Active intruders are more malicious; they want to make
unauthorized changes to data.
Security problem(con’t…)
Accidental data loss:
o In addition to threats caused by malicious intruders,
valuable data can be lost by accident.
o Some of the common causes of accidental data loss are
1. Acts of God: fires, floods, earthquakes, wars, riots, or
rats gnawing backup tapes.
2. Hardware or software errors: CPU malfunctions,
unreadable disks or tapes, telecommunication errors,
program bugs.
3. Human errors: incorrect data entry, wrong tape or CD-
ROM mounted, wrong program run, lost disk or tape, or
some other mistake.
Security Violation Categories
o Breach of confidentiality
– Unauthorized reading of data
o Breach of integrity
– Unauthorized modification of data
o Breach of availability
– Unauthorized destruction of data
o Theft of service
– Unauthorized use of resources
o Denial of service (DOS)
– Prevention of legitimate use
Security Violation Methods
o Masquerading (breach authentication)
– Pretending to be an authorized user to
escalate privileges
o Replay attack
– As is or with message modification
o Man-in-the-middle attack
– Intruder sits in data flow, masquerading
as sender to receiver and vice versa
o Session hijacking
– Intercept an already-established session
to bypass authentication
Standard Security Attacks
Security Measure Levels
o Impossible to have absolute security, but make
cost to perpetrator sufficiently high to deter most
intruders
o Security must occur at four levels to be effective:
– Physical
• Against armed or surreptitious entry by
intruders.
– Human
• Careful screening of users to reduce the
chance of unauthorized access.
– Network
• No one should intercept the data on the
network.
– Operating system
• The system must protect itself from
accidental or purposeful security beaches.
• A weakness at a high level of security allows
Security measures at OS level
o User authentication
– Verifying the user’s authentication
o Program threats
– Misuse of programs unexpected misuse of
programs.
o System threats
– Worms and viruses
o Intrusion detection
– Detect attempted intrusions or successful
intrusions and initiate appropriate responses to
the intrusions.
o Cryptography
– Ensuring protection of data over network
Program Threats
o Many variations, many names
o Trojan Horse
– Code segment that misuses its environment
– Exploits mechanisms for allowing programs written
by users to be executed by other users
– Spyware, pop-up browser windows, covert
channels
– Up to 80% of spam delivered by spyware-infected
systems
o Trap Door
– The designer of the code might leave a hole in the
software that only she is capable of using.
– Specific user identifier or password that circumvents
normal security procedures
– Could be included in a compiler
o Logic Bomb
– Program that initiates a security incident under
certain circumstances
Program Threats(con’t…)
o Stack and Buffer Overflow
– Exploits a bug in a program (overflow either the
stack or memory buffers.)
o The attacker determines the vulnerability and writes a
program to do the following.
– Overflow an input-field, command-line argument, or
input buffer until it writes into the stack.
– Overwrite the current return address on the stack
with the address of the exploit code in the next step.
– Write a simple set of code for the next space in the
stack that includes commands that the attacker
wishes to execute, for example, spwan a shell.
System Threats
o Viruses
– Code fragment embedded in legitimate program
– Self-replicating, designed to infect other computers
– Very specific to CPU architecture, operating system,
applications
– Usually borne via email or as a macro
– Visual Basic Macro to reformat hard drive
Sub AutoOpen()
Dim oFS
Set oFS = CreateObject(’’Scripting.FileSystemObject’’)
vs = Shell(’’c:command.com /k format c:’’,vbHide)
End Sub
System Threats (Cont.)
o Virus dropper inserts virus onto the system
o Many categories of viruses, literally many thousands
of viruses
– File / parasitic
– Boot / memory
– Macro
– Source code
– Polymorphic to avoid having a virus signature
– Encrypted
– Stealth
– Tunneling
– Multipartite
– Armored
System Threats(con’t…)
o Worms – use spawn mechanism; standalone program
– The worm spawns copies of itself, using up systems
resources and perhaps locking out system use by all
other processes.
o Internet worm
– Exploited UNIX networking features (remote access)
and bugs in finger and sendmail programs.
– Grappling hook program uploaded main worm
program.
o Denial of Service
– Overload the targeted computer preventing it from
doing any useful work.
– Downloading of a page.
– Partially started TCP/IP sessions could eat up all
resources.
– Difficult to prevent denial of service attacks.
Threat Continues
o Attacks still common, still occurring
o Attacks moved over time from science experiments to
tools of organized crime
– Targeting specific companies
– Creating botnets to use as tool for spam and DDOS
delivery
– Keystroke logger to grab passwords, credit card
numbers
The Morris Internet Worm
Threat Monitoring
o Check for suspicious patterns of activity – i.e.,
several incorrect password attempts may signal
password guessing.
Note :
symmetric cryptography based on
transformations
asymmetric based on mathematical functions
– Asymmetric much more compute intensive
– Typically not used for bulk data encryption
Authentication
o Constraining set of potential senders of a message
– Complementary to encryption
– Also can prove message unmodified
o Algorithm components
– A set K of keys
– A set M of messages
– A set A of authenticators
– A function S : K → (M→ A)
• That is, for each k K, Sk is a function for
generating authenticators from messages
• Both S and Sk for any k should be efficiently
computable functions
– A function V : K → (M × A→ {true, false}). That is, for
each k K, Vk is a function for verifying authenticators
on messages
• Both V and Vk for any k should be efficiently
computable functions
Authentication (Cont.)
o For a message m, a computer can generate an
authenticator a A such that Vk(m, a) = true only if it
possesses k
o Thus, computer holding k can generate authenticators
on messages so that any other computer possessing k
can verify them
o Computer not holding k cannot generate authenticators
on messages that can be verified using Vk
o Since authenticators are generally exposed (for example,
they are sent on the network with the messages
themselves), it must not be feasible to derive k from the
authenticators
o Practically, if Vk(m,a) = true then we know m has not
been modified and that send of message has k
– If we share k with only one entity, know where the
message originated
Implementation of Cryptography