Computer Security
Introduction and Course Overview
1
Introduction and overview
What is computer/network security?
Course philosophy and goals
High-level overview of topics
2
“Security”
Most of computer science is concerned with
achieving desired behavior
In some sense, security is concerned with
preventing undesired behavior
– Different way of thinking!
– An enemy/opponent/hacker/adversary may be
actively and maliciously trying to circumvent
any protective measures you put in place
3
Computer vs. network security
One view:
– Computer security: focuses on security aspects
of systems in isolation
– Network security: focuses on security of data as
it is transmitted between networked systems
Not always a clear-cut dividing line…
4
Some examples…
Computer security
– Viruses
– Secure data storage
– OS Security
Network security
– Authentication protocols
– Encryption of transmitted data
– Firewalls
5
Broader impacts of security
Explosive growth of interest in security
– Most often following notable security failures…
Impact on/interest from all (?) areas of CS
– Theory (especially cryptography)
– Databases
– Operating systems
– AI/learning theory
– Networking
– Computer architecture/hardware
– Programming languages/compilers
6
Philosophy
We are not going to be able to cover everything
Main goals
– Exposure to different aspects of security; meant mainly
to “pique” your interest
– The “mindset” of security: a new way of thinking…
about more than computer networks
– Become familiar with basic crypto, acronyms (RSA,
SSL, PGP, etc.), and “buzzwords”
– Security is a process, not a product
7
High-level overview
Introduction…
– Including various classes of attacks
Cryptography
– Cryptography is not the (whole) solution…
– …but is is an important part of the solution
– Along the way, we will see why cryptography
can’t solve all security problems
8
High-level overview II
Security policies and analysis
– Attack trees
– Access control
– Confidentiality/integrity
– Key management
Principles for secure design/implementation
9
High-level overview III
Network security
– Identity
– Authentication
– Some real-world protocols
– Wireless security
10
High-level overview IV
Miscellaneous
– Firewalls
– Intrusion detection
– Buffer overflows; secure programming
languages
– Viruses and malicious logic
– Etc…
11
Information security in past & present
Traditional Information Security
– keep the cabinets locked
– put them in a secure room
– human guards
– electronic surveillance systems
– in general: physical and administrative mechanisms
Modern World
– Data are in computers
– Computers are interconnected
12
Security: an Introduction
13
An Overview of Computer
Security
14
Basic components
Confidentiality
Integrity
Availability
15
16
17
18
Confidentiality
Confidentiality is the concealment of information or resources. The need for
keeping information secret arises from the use of computers in sensitive fields
such as government and industry.
For example, military and civilian institutions in the government often restrict
access to information to those who need that information. The first formal
work in computer security was motivated by the military's attempt to
implement controls to enforce a "need to know" principle. This principle also
applies to industrial firms, which keep their proprietary designs secure lest
their competitors try to steal the designs.
As a further example, all types of institutions keep personnel records secret.
Access control mechanisms support confidentiality. One access control
mechanism for preserving confidentiality is cryptography, which scrambles
data to make it incomprehensible. A cryptographic key controls access to the
unscrambled data, but then the cryptographic key itself becomes another
datum to be protected.
19
Confidentiality - Example
Ex: Enciphering an income tax return will prevent anyone from
reading it. If the owner needs to see the return, it must be deciphered.
Only the possessor of the cryptographic key can enter it into a
deciphering program. However, if someone else can read the key
when it is entered into the program, the confidentiality of the tax
return has been compromised.
All the mechanisms that enforce confidentiality require supporting
services from the system. The assumption is that the security services
can rely on the kernel, and other agents, to supply correct data. Thus,
assumptions and trust underlie confidentiality mechanisms.
20
Integrity
Trustworthiness of data or resources
Prevention vs. detection
Blocking unauthorized attempts to change
data, or attempts to change data in
unauthorized ways
– The second is much harder…
Correctness vs. trustworthiness of data
21
Integrity
Integrity refers to the trustworthiness of data or resources, and it is
usually phrased in terms of preventing improper or unauthorized
change. Integrity includes data integrity (the content of the
information) and origin integrity (the source of the data, often called
authentication). The source of the information may bear on its
accuracy and credibility and on the trust that people place in the
information. This dichotomy illustrates the principle that the aspect of
integrity known as credibility is central to the proper functioning of a
system. We will return to this issue when discussing malicious logic.
EXAMPLE: A newspaper may print information obtained from a leak
at the White House but attribute it to the wrong source. The
information is printed as received (preserving data integrity), but its
source is incorrect (corrupting origin integrity).
22
Prevention mechanisms seek to maintain the integrity of the data by blocking
any unauthorized attempts to change the data or any attempts to change the
data in unauthorized ways. The distinction between these two types of
attempts is important. The former occurs when a user tries to change data
which she has no authority to change. The latter occurs when a user authorized
to make certain changes in the data tries to change the data in other ways.
For example, suppose an accounting system is on a computer. Someone breaks
into the system and tries to modify the accounting data. Then an unauthorized
user has tried to violate the integrity of the accounting database. But if an
accountant hired by the firm to maintain its books tries to embezzle money by
sending it overseas and hiding the transactions, a user (the accountant) has
tried to change data (the accounting data) in unauthorized ways (by moving it
to a Swiss bank account). Adequate authentication and access controls will
generally stop the break-in from the outside, but preventing the second type of
attempt requires very different controls.
Detection mechanisms do not try to prevent violations of integrity; they
simply report that the data's integrity is no longer trustworthy. Detection
mechanisms may analyze system events (user or system actions) to detect
problems or (more commonly) may analyze the data itself to see if required or
expected constraints still hold. The mechanisms may report the actual cause of
the integrity violation (a specific part of a file was altered), or they may
simply report that the file is now corrupt.
23
Availability
Denial of service attacks
Denying access can lead to more serious
attacks
– I.e., if credit card verification is down
24
Availability
Availability refers to the ability to use the information or resource
desired. Availability is an important aspect of reliability as well as of
system design because an unavailable system is at least as bad as no
system at all.
The aspect of availability that is relevant to security is that someone
may deliberately arrange to deny access to data or to a service by
making it unavailable. System designs usually assume a statistical
model to analyze expected patterns of use, and mechanisms ensure
availability when that statistical model holds. Someone may be able to
manipulate use (or parameters that control use, such as network
traffic) so that the assumptions of the statistical model are no longer
valid. This means that the mechanisms for keeping the resource or
data available are working in an environment for which they were not
designed. As a result, they will often fail.
25
Availability
EXAMPLE: Suppose Anne has compromised a bank's secondary system
server, which supplies bank account balances. When anyone else asks that
server for information, Anne can supply any information she desires.
Merchants validate checks by contacting the bank's primary balance server. If
a merchant gets no response, the secondary server will be asked to supply the
data. Anne's colleague prevents merchants from contacting the primary
balance server, so all merchant queries go to the secondary server. Anne will
never have a check turned down, regardless of her actual account balance.
Notice that if the bank had only one server (the primary one), this scheme
would not work. The merchant would be unable to validate the check.
Attempts to block availability, called denial of service attacks, can be the most
difficult to detect, because the analyst must determine if the unusual access
patterns are attributable to deliberate manipulation of resources or of
environment. Complicating this determination is the nature of statistical
models.
26
Threats (or “attacks”)
Snooping, eavesdropping
Modification, alteration
Masquerading, spoofing
False repudiation/denial of receipt
Network delay, denial of service
27
Threats
A threat is a potential violation of security. The violation
need not actually occur for there to be a threat. The fact
that the violation might occur means that those actions that
could cause it to occur must be guarded against (or
prepared for). Those actions are called attacks. Those who
execute such actions, or cause them to be executed, are
called attackers.
The three security services—confidentiality, integrity, and
availability—counter threats to the security of a system.
28
Snooping, the unauthorized interception of information, is a form of
disclosure. It is passive, suggesting simply that some entity is listening to (or
reading) communications or browsing through files or system information.
Wiretapping, or passive wiretapping, is a form of snooping in which a network
is monitored. Confidentiality services counter this threat.
Modification or alteration, an unauthorized change of information, covers
three classes of threats. The goal may be deception, in which some entity
relies on the modified data to determine which action to take, or in which
incorrect information is accepted as correct and is released. If the modified
data controls the operation of the system, the threats of disruption and
usurpation arise.
Masquerading or spoofing, an impersonation of one entity by another, is a
form of both deception and usurpation. It lures a victim into believing that the
entity with which it is communicating is a different entity. For example, if a
user tries to log into a computer across the Internet but instead reaches another
computer that claims to be the desired one, the user has been spoofed.
Similarly, if a user tries to read a file, but an attacker has arranged for the user
to be given a different file, another spoof has taken place. This may be a
passive attack (in which the user does not attempt to authenticate the recipient,
but merely accesses it), but it is usually an active attack (in which the
masquerader issues responses to mislead the user about its identity).
29
Repudiation of origin, a false denial that an entity sent (or created) something,
is a form of deception. For example, suppose a customer sends a letter to a
vendor agreeing to pay a large amount of money for a product. The vendor
ships the product and then demands payment. The customer denies having
ordered the product and by law is therefore entitled to keep the unsolicited
shipment without payment. The customer has repudiated the origin of the
letter. If the vendor cannot prove that the letter came from the customer, the
attack succeeds. A variant of this is denial by a user that he created specific
information or entities such as files. Integrity mechanisms cope with this
threat.
Denial of receipt, a false denial that an entity received some information or
message, is a form of deception. Suppose a customer orders an expensive
product, but the vendor demands payment before shipment. The customer
pays, and the vendor ships the product. The customer then asks the vendor
when he will receive the product. If the customer has already received the
product, the question constitutes a denial of receipt attack. The vendor can
defend against this attack only by proving that the customer did, despite his
denials, receive the product. Integrity and availability mechanisms guard
against these attacks.
30
Denial of service, a long-term inhibition of service, is a form of
usurpation, although it is often used with other mechanisms to
deceive. The attacker prevents a server from providing a service. The
denial may occur at the source (by preventing the server from
obtaining the resources needed to perform its function), at the
destination (by blocking the communications from the server), or
along the intermediate path (by discarding messages from either the
client or the server, or both). Denial of service poses the same threat as
an infinite delay. Availability mechanisms counter this threat.
Denial of service or delay may result from direct attacks or from non
security-related problems. From our point of view, the cause and result
are important; the intention underlying them is not. If delay or denial
of service compromises system security, or is part of a sequence of
events leading to the compromise of a system, then we view it as an
attempt to breach system security. But the attempt may not be
deliberate; indeed, it may be the product of environmental
characteristics rather than specific actions of an attacker.
31
Policy vs. mechanism
Security policy
– Statement of what is and is not allowed
Security mechanism
– Method for enforcing a security policy
One is meaningless without the other…
Problems when combining security policies
of multiple organizations
32
Definition 1–1. A security policy is a statement of what is, and what is not,
allowed.
Definition 1–2. A security mechanism is a method, tool, or procedure for
enforcing a security policy.
Mechanisms can be nontechnical, such as requiring proof of identity before
changing a password; in fact, policies often require some procedural
mechanisms that technology cannot enforce.
As an example, suppose a university's computer science laboratory has a
policy that prohibits any student from copying another student's homework
files. The computer system provides mechanisms for preventing others from
reading a user's files. Anna fails to use these mechanisms to protect her
homework files, and Bill copies them. A breach of security has occurred,
because Bill has violated the security policy. Anna's failure to protect her files
does not authorize Bill to copy them.
In this example, Anna could easily have protected her files. In other
environments, such protection may not be easy. For example, the Internet
provides only the most rudimentary security mechanisms, which are not
adequate to protect information sent over that network. Nevertheless, acts such
as the recording of passwords and other sensitive information violate an
implicit security policy of most sites (specifically, that passwords are a user's
confidential property and cannot be recorded by anyone).
33
Tying It All Together
The considerations discussed above appear to flow linearly from one to the
next (see Figure 1-1). Human issues pervade each stage of the cycle. In
addition, each stage of the cycle feeds back to the preceding stage, and
through that stage to all earlier stages. The operation and maintenance stage is
critical to the life cycle. Figure 1-1 breaks it out so as to emphasize the impact
it has on all stages. The following example shows the importance of feedback.
Figure 1-1. The security life cycle.
34
EXAMPLE: A major corporation decided to improve its security. It hired consultants,
determined the threats, and created a policy. From the policy, the consultants derived
several specifications that the security mechanisms had to meet. They then developed a
design that would meet the specifications.
During the implementation phase, the company discovered that employees could connect
modems to the telephones without being detected. The design required all incoming
connections to go through a firewall. The design had to be modified to divide systems
into two classes: systems connected to "the outside," which were put outside the firewall;
and all other systems, which were put behind the firewall. The design needed other
modifications as well.
When the system was deployed, the operation and maintenance phase revealed several
unexpected threats. The most serious was that systems were repeatedly misconfigured to
allow sensitive data to be sent across the Internet in the clear. The implementation made
use of cryptographic software very difficult. Once this problem had been remedied, the
company discovered that several "trusted" hosts (those allowed to log in without
authentication) were physically outside the control of the company. This violated policy,
but for commercial reasons the company needed to continue to use these hosts. The
policy element that designated these systems as "trusted" was modified.
Finally, the company detected proprietary material being sent to a competitor over
electronic mail. This added a threat that the company had earlier discounted. The
company did not realize that it needed to worry about insider attacks.
35
Computer Security Challenges
Computer security is both fascinating and complex. Some
of the reasons follow:
1.Computer security is not as simple as it might first
appear to the novice. The requirements seem to be
straightforward, but the mechanisms used to meet those
requirements can be quite complex and subtle.
2. In developing a particular security mechanism or
algorithm, one must always consider potential attacks
(often unexpected) on those security features.
3. Hence procedures used to provide particular services are
often counterintuitive.
4. Having designed various security mechanisms, it is
necessary to decide where to use them.
36
5. Security mechanisms typically involve more than a
particular algorithm or protocol, but also require
participants to have secret information, leading to issues of
creation, distribution, and protection of that secret
information.
6. Computer security is essentially a battle of wits between
a perpetrator who tries to find holes and the designer or
administrator who tries to close them.
7. There is a natural tendency on the part of users and
system managers to perceive little benefit from security
investment until a security failure occurs.
37
8. Security requires regular monitoring,
difficult in today's short-term environment.
9. Security is still too often an afterthought -
incorporated after the design is complete.
10. Many users / security administrators
view strong security as an impediment to
efficient and user-friendly operation of an
information system or use of information.
38