Sie sind auf Seite 1von 30

SI540 Understanding Networked Computing

Network Security

• Compatibility testing
› If you were responsible for building the reference
implementation for a protocol for VoIP-client-to-
directory-server communications, what would you
• Stakeholder interests and strategies
› Imagine that a small developer is interested in
developing a streaming media client, but does not have
the resources to build and sell a complete system
(including server)
› Would this developer prefer that streaming media
protocols be standardized or not?

Learning Objectives

• Understand Security Goals

• Understand Common Vulnerabilities
• Understand Countermeasures and
Their Limits

Some Sources of Problems

• Accidents
› Software and hardware bugs
› Natural disasters
› Human errors
• Adversaries
› Hackers/Crackers/”Black Hats”
› Hacker has a second meaning as “good programmer”
› Disgruntled employees
› Malicious code: Viruses, Worms, and Trojan Horses


• Vulnerability
› A weakness in your system that could be exploited by
an adversary
› More generally, something that could go wrong
• Threat
› A scenario of what an adversary would do
› More generally, something that could go wrong that
you’re worried enough to do something about
• Countermeasure
› Something you do to reduce risks from threats
› Often by reducing vulnerabilities

Reliability and Security Goals

• The next few slides consider each goal,

considering both the vulnerabilities and
the countermeasures that are available
› High availability
› Data persistence and integrity
› Limit access to authorized users and uses

High Availability:
• Off-line upgrade and maintenance
• Software crashes
• Equipment failure
• Denial-of-service (DOS) attack
› Oversized ICMP packets (ping of death)
› Flooding attacks
› Target has to do more work than initiator (so usually
“Distributed” DOS or DDOS attack)
› SYN flood (TCP): Request many new TCP connections
because each one causes recipient to do a lot of work
› Echo floods: Send echo request to some “rebroadcaster,” all
recipients reply to spoofed source address (the target of the

High Availability:
• On-line upgrade and maintenance
• More application testing, more rapid bug
reports and fixes
• Equipment or application redundancy
• Operational vigilance
› For example, installing latest software patches
• Access controls
• Firewalls

Availability Discussion

• Which availability countermeasures

would be appropriate for the following
› Home computer connected via cable
modem running an FTP server so that you
can access your files when you’re away
› SI Computing file servers, used by all
faculty, staff, and students
› eBay web servers

Data Persistence: Vulnerabilities
and Countermeasures
• Hardware failure
› Countermeasure: periodic backup
• Data change
› Countermeasure: integrity checks (how?)
• Hardware obsolescence
› Countermeasure: periodic copy of data to new device
• Data format obsolescence
› Software to process may not be available
› Countermeasures (see F02 midterm)
› Periodic translation of data to new formats
› Continual migration of processing software
› Platform emulators

Access: Vulnerability

• Want to limit access to some data

› Don’t want students to have access to
grade sheets
› Don’t want “black hat” to have access to’s credit card database
• Without access controls, everyone has
access to everything on a system
› This was the norm for early personal
computer operating systems

• Step 1: Authentication: verify user’s identity
› Somewhere you are (location)
› Something you know
› Something you can do
› Something you have
› Something you are
• Step 2: Authorization: limit what a user can do
› Sometimes also called access control
› Maintain a database of authorizations (access control lists)
› Can organize by person/entity, defining which items each
entity allowed to access
› Or organize by items, defining which entities are allowed to
access each item

Vulnerabilities in Location-Based
• Entity at that network address may not
be who you think it is
› Someone else may have physical access
to the computer
• May not really be at that network
› For example, IP spoofing

Exploiting Location-Based
Authentication: IP Spoofing
• Suppose A “trusts” B
› No password required if accessing A from B
• Z knocks out B through denial-of-service attack
• TCP Connect from Z to A
› But pretend to be at location B (give B’s IP address)
• A sends ACK to B
› B doesn’t respond (because of DOS attack)
• Z sends commands to A
› Still pretend to be at location B
› Z ACKs A’s response, even though Z didn’t see it
› Have to guess the right amount of data to ACK, and right
amount of delay

Malicious Code Threats

• Viruses
› File infection: virus attaches itself to a file
› Boot record infection: virus attaches itself to the boot
instructions stored on a storage medium (e.g., hard drive)
› Macro virus: virus attaches itself to a document associated
with an application that support scripting
• Worms
› Designed to copy itself from one computer to another over a
network without human intervention
• Trojan Horses
› Program that conceals its destructive purpose by pretending
to perform a desirable function

Malicious Code Countermeasures

• Prevention
› Know where code comes from before executing
› Check digital signature on the code
› Run code in "sandbox“
› A virtual machine on which unsafe instructions are
not executed
› Events on the virtual machine do not affect the real
• Detection
› Notice changes
› Scan for known bad code fragments

Malicious Code and
OS/Application Diversity
• Working in an environment that uses a variety
of OSs and/or applications has several
implications for malicious code:
› More vulnerabilities
› Each OS/app has a different set of weaknesses,
requiring a different set of remedies
› Less damage from a problem
› Malicious code that targets one system doesn’t
affect the others
› Can use unaffected machines to work on fixing the

Malicious Code Discussion

• Which kind of malicious code…

› Is easiest to guard against? Why?
› Spreads most quickly? Why?
• How would you manually clean a
system that is infected with…
› A Trojan horse?
› A macro virus?
› A boot sector virus?

Firewalls (Packet Filters)

• Located at border between private and public

› All traffic between the two must pass through
the firewall
• Examines IP packets
› IP header
› TCP or UDP header (if using those protocols)
› TCP ACK flag (if TCP packet)
› TCP payload

Public hosts Global Internet


Internal hosts

Protected enclave
Firewalls (Packet Filters)

• Discard some packets, selecting based on:

› Which host is initiating the connection (e.g.,
public or private)
› IP address or domain name (source or
› Protocol
› Sender port number
› Receiver port number
› Packet content (“sniff” for words or phrases)
› Connection status

What Can Firewalls Filter?

• Based on the filtering capabilities described,

which of the following can a firewall filter?
› Packets to or from specified IP address?
› Packets to or from specified domain name?
› All HTTP traffic?
› All email to
› All pornographic web pages?
› All web pages criticizing the government?

Proxy Servers

• Located at border between private network

and the firewall or public network
› With a proxy server, the client never actually
connects to outside network; instead the proxy
makes the connection and relays allowable
protocols/content to the client
› Filters at the application layer (HTTP, FTP,
Telnet, etc.)

Public hosts Global Internet



Internal hosts
Internal hosts

Protected enclave Protected enclave

Proxy Servers

• Proxy receives requests for certain applications

› For example, an HTTP request for a particular URL
• Proxy checks if request is permitted
› For example, users might not be allowed to access
gambling sites from a corporate computer
• If request is okay, proxy passes request on to final
› Otherwise, request is denied
• Proxy may also serve a caching function
› If request can be handled locally, don’t bother to pass it
on to final destination

Typical Firewall Configurations

• Transparent • Proxy as Bastion

› Allow incoming traffic to › In this configuration, the
proxy is the only point of
web server on port 80 contact between the public
› Allow incoming traffic to and private networks
any machine on ports > › Allow incoming traffic to
1023 web server on port 80 and
› Allow outgoing traffic to > 1023
any IP address, any port › Allow outgoing traffic from
Bastion/Proxy server on
› Block all other packets ports 23, 80 to any IP
› Block all other packets

Note: In this context, the direction of the traffic indicates which host is
responsible for opening the connection. Once open, data flows both ways. 26
More Permissive Configuration

• Block incoming from known bad addresses

› Avoids some IP spoofing attacks
• Block incoming known bad ports
› E.g., multicast, if you’re not using multicast
› E.g., napster
• Allow others
• Security experts prefer policies that prohibit everything
not explicitly permitted
• Permitted unless prohibited enables more innovation
› E.g., access to experimental new services

Vulnerability Assessment Tools

• Check configurations for known

• Check for violations of organization’s
security policy
› For example, an individual office computer
that allows modem connections
• Simulate known attacks

Intrusion Detection Tools
• Monitor activity
› Look for known “signatures” of cracking
› Look for “unusual activity”
› Requires some model of normal activity
• What to monitor
› Host-based: logs of activity on individual machines
› Network-based
› “Promiscuous mode” intercepts all packets
› Process them as fast as you can
› Unlike packet filter, can look for patterns in sequences of
• Problem of false alarms
› Each alarm requires human investigation


• Understand Security Goals

• Understand Common Vulnerabilities
• Understand Countermeasures and
Their Limits
› Malicious code
› Firewalls and proxy servers
› Vulnerability assessment
› Intrusion detection