Internet Worms: Methods, Countermeasures and Famous Incidents
Download
Report
Transcript Internet Worms: Methods, Countermeasures and Famous Incidents
Internet Worms:
Methods,
Countermeasures and
Famous Incidents
Presented by:
Tran To
Brian Tully
Worms Are Bad!
Damages
Lost
productivity
Compromised information
Lost Money
Total billions of dollars per year
Worms and viruses cost $8 billion in Jan. 2003
alone
Worms Exploit Vulnerabilities
Systems have faults
Book – de facto standard that rates
the security of operating systems
Orange
Windows has a class D rating – minimal protection
Unix has a class C1 rating – discretionary security
protection
Goals
Examine system vulnerabilities
Weak
passwords
Trap doors
Buffer overflows
Famous Incidents
Morris,
Code Red, Blaster, Slammer, Sasser
Countermeasures
What is a Worm?
Necessary Criteria
Replication
Self-contained
Multi-tasking
system
For network worms – replication across
communication links
Two Major Classifications
Host computer worms
Entirely
contained in computer it is running on
Uses network only to propagate
Network worms
Multiple
segments on different hosts
Uses network for several communication
purposes
Worms Are Not Really Bad?!
By definition worms
are not malicious
Simply
a program that
replicates
First used for network
management
Took advantage of
system properties
Malicious worms do the
same
History of Worms
Term coined by John Brunner
1970s
novel “The Shockwave Rider”
Xerox Palo Alto Research Center (PARC)
John
Schoch and John Hepps use worms for
distributed computations
Prove useful but managing worms is difficult
Night worm crashes systems
Possible malicious uses realized
System Vulnerabilities
Worms attack availability, confidentiality
and integrity
Exploit flaws in OS to replicate
Weak
passwords
Trap Doors
Gain access to user accounts
Buffer
Overflow
Gain root access
Password Attack
Brute force
Time
consuming
Worms take advantage of weak
passwords
Dictionary
attack
List of commonly used passwords
Backdoor Attack
Usually undocumented feature that
sidesteps security mechanisms
debugging
Maintenance
Easy access to system once discovered
Buffer Overflow
Buffer – contiguous allotted chunk of memory,
such as an array
In C and C++ there is no bounds checking
Can
write past end of a buffer
Spill into user space or OS space
Functions
sprintf(), scanf(), gets(), strcpy()
Do not check that destination buffer is large enough
Buffer
overflow attacks exploit this
Stack Overflow Attack
Buffer put on a stack
Maintains
pointers
Subroutine Call
Parameters and return address pushed on stack
By entering long unchecked parameters, attacker
can manipulate return address
Stack Overflow Attack
Attacker has two options
Inject
attack code into return address
Gain root privileges
Change
return address
Alter the path to point to malicious code
Countermeasures
Choose hard to guess passwords
Do not build backdoors
Write secure code
Use
strncpy() instead of strcpy() to limit the
side of the buffer
Bound checking compilers
Famous Incidents
Christmas Tree Worm
Attacked
IBM in Dec. 1987
Chain letter and Trojan horse
Drew Christmas tree on display
Also forced computers to shut down
Morris Worm
Released Nov. 2, 1988
Purpose was to
propagate
Attacked mail servers
Exploited holes in Unix
Trap door in Sendmail
Buffer overflow Finger
Daemon
Overwrote 512 character
buffer with 536
Extra 24 characters
executed as commands
Password Cracker
Morris Worm
Affected 6,000 systems
Consumed
excessive system resources
Morris confessed to creating the worm out of
boredom?! (I sleep when I’m bored, I don’t
terrorize the nation)
Convicted in 1990 of violating 1986 Computer
Fraud and Abuse Act
Fined
$10,000
Three years probation
Code Red
Affected more than 250,000 servers in
July 2001
Web
servers running Microsoft’s Internet
Information Server (IIS)
Checked port 80 and sent HTTP GET request to
propagate
Exploited buffer overflow vulnerability of idq.dll
Code Red
First nineteen days
Days 20-27
Launched DDOS attack
against the White House
web site
Day 28
Looked for servers to infect
Defaced web pages
requested by servers
Worm slept
Affected 750,000 servers
total costing $2 billion
Blaster Worm
Released Aug. 11, 2003
Affected
Windows XP and Win2K systems
Purpose was to launch a DDOS attack against
Microsoft’s windowsupdate.com
Spread Fast
Filtered
ISPs for vulnerable systems
Exploited buffer overflow in Microsoft’s interface
between Windows Distributed Component Object
Model (DCOM) and Remote Procedure Call (RPC)
Gained root privileges through TCP/IP RPC packets
Prevented users from downloading patches
Blaster Worm
Used Port Scanning
Port
135 used by RPC
Deposit Trojan horse
Execute remote shell
Initiate TFTP request to download worm
Computer is now unwilling participant in DDOS attack
1.4 million computers affected
Patch had been released a month prior
Slammer Worm
Fastest spreading worm
Doubled
in size every 8.5 seconds
Affected 75,000 computers in 10 mins
Used random scanning
Selected
IP addresses at random to infect and
eventually found all vulnerable hosts
Simple fast scanner
Slammer Worm
Goal was to DDOS attack various hosts
and slow down the Internet in general
Exploited buffer overflow vulnerabilities in
Microsoft’s SQL Server
Transmitted
TCP-SYN packet
Patch was available for six months before
attacks occurred
Before the Slammer Worm hit
Thirty minutes later …
Sasser Worm
First noticed April 30, 2004
Affected Windows XP and
Win2K
Connected directly to open
ports
Exploited buffer overflow in
Microsoft’s local security
authority subsystem service
Connected through TCP port
445
Installed FTP server and
transferred itself
Patch was available before
release
Worm was possibly reverseengineered from patch
Countermeasures
Update system
Download
Limit the amount of time a vulnerability can be exploited
Update
anti-virus software on a regular basis
Latest software use heuristics
Identify code common to worms and variants
Configure
patches on a regular basis
firewall properly
Disable unnecessary services e.g. web and ftp servers
Build completely secure systems
Summary
Worms are here to stay
Individuals do not have much of a choice in
systems
Security
is dependent on developers of product
Forced to use insecure product knowing worms can
attack it
Only solution is to not connect to the Internet,
dig a hole and throw your router into the depths
of the underworld
Possible Alternatives
With minimal effort a user can greatly increase
the security of his or her inherently insecure
system
Patches and updates
Minimal time between when vulnerability is discovered and
when vulnerability is fixed
Firewall
Limit access to system so worms can’t get in to start
Simple procedures significantly reduce the
extent to which worms can spread and cause
damage
Questions?