CSE331: Introduction to Networks and Security Lecture 32 Fall 2002 Recap • Malicious Programs – Viruses – Boot Viruses, Memory Resident, Macros • Today: – Computer Virus Defenses – Computer Worms CSE331 Fall 2002 2 “I Love You” Virus/Worm • Infection Rate – At 5:00 pm EDT(GMT-4) May 8, 2000, CERT had received reports from more than 650 sites – > 500,000 individual systems • VBScript • Propagation – Email, Windows file sharing, IRC, USENET news CSE331 Fall 2002 3 Love Bug • Signature – An attachment named "LOVE-LETTER-FOR-YOU.TXT.VBS" – A subject of "ILOVEYOU" – Message body: "kindly check the attached LOVELETTER coming from me." CSE331 Fall 2002 4 Love Bug Behavior • Replaced certain files with copies of itself – Based on file extension (e.g. .vbs, .js, .hta, etc) • Changed Internet Explorer start page – Pointed the browser to infected web pages • Mailed copies of itself • Changed registry keys CSE331 Fall 2002 5 Detecting Viruses • Scanning • Integrity checking • Heuristic detection CSE331 Fall 2002 6 Virus Signatures • Viruses can’t be completely invisible: – Code must be stored somewhere – Virus must do something when it runs • Fragments of the virus code itself – Strings “kindly check the attached LOVELETTER” • Effects on the computing environment – Changes to the Windows registry • Propagation Behavior – Copying/modifying system files. CSE331 Fall 2002 7 Virus Scanners • Search the system for virus signatures – Main memory – All files in file system – Should also check boot sector • When to scan? – – – – On access (when a program is run) On demand (at user’s request, or scheduled) When e-mail is received? Before web content is displayed? CSE331 Fall 2002 8 Virus Scanning: Pros & Cons • Pros – Effectively detects known viruses before they can cause harm – Few false alarms • Cons – Can detect only viruses with known signatures – Signature set must be kept up to date – Virus writers can easily change virus signatures CSE331 Fall 2002 9 Integrity Checks • Virus scanner computes hash or checksum of executable files – Assumed to be virus free! – Stores the hash information • Verifies new hash vs. saved one during scan CSE331 Fall 2002 10 Integrity Checks: Pros & Cons • Pros – Can detect corruption of executables too – Reliable – Doesn’t require virus signatures • Cons – False positives (i.e. recompilation) – Can’t use it on documents (they change too often) – Not supported by most vedors CSE331 Fall 2002 11 Heuristic Detection • Collection of ad hoc rules that identifies virus behavior or virus-like programs – Modification of system executables – Modification of “template documents” like normal.doc – Self-modifying and self-referential code –… CSE331 Fall 2002 12 Heuristics: Pros & Cons • Pros – Perhaps able to detect unknown viruses • Cons – Heuristics are hard to develop – Too may false positives CSE331 Fall 2002 13 Polymorphic Viruses • Virus writers know that virus signatures are the most effective way to detect viruses • Polymorphic viruses mutate themselves during replication to prevent detection – Virus should be capable of generating many different descendents – Simply embedding random numbers into virus code is not enough CSE331 Fall 2002 14 Strategies for Polymorphic Viruses • Change data: – Use different subject lines in e-mail • Encrypt most of the virus with a random key – Virus first decrypts main body using random key – Jumps to the code it decrypted – When replicating, generate a new key and encrypt the main part of the replica • Still possible to detect decryption portion of the virus using virus signatures CSE331 Fall 2002 15 Advanced Polymorphic Viruses • Randomly modify the decryption portion of the virus by: – Inserting no-op instructions: subtract 0, move value to itself – Reordering independent instructions – Using different variable/register names – Using equivalent instruction sequences y=x+x vs. y = 2 * x CSE331 Fall 2002 16 CERT Advice 1 • • • • • • Use virus protection software Use a firewall Don't open unknown email attachments Don't run programs of unknown origin Disable hidden filename extensions Keep all applications, including your operating system, patched CSE331 Fall 2002 17 Cert Advice 2 • Turn off your computer or disconnect from the network when not in use • Disable Java, JavaScript, and ActiveX if possible • Disable scripting features in email programs • Make regular backups of critical data • Make a boot disk in case your computer is damaged or compromised CSE331 Fall 2002 18 Internet Worms • November 2, 1988 • Robert T. Morris Jr. unleashed Internet worm – Graduate student at Cornell University – Convicted in 1990 of violating Computer Fraud and Abuse Act – $10,000 fine, 3 yr. Suspended jail sentence, 400 hours of community service – Son of the chief scientist at the National Computer Security Center -- part of the National Security Agency – Today he’s a professor at MIT CSE331 Fall 2002 19 Morris Worm Transmission • Find user accounts on the target machine – Dictionary attack on /etc/passwd – If it found a match, it would log in and try the same username/password on other local machines • Exploit bug in fingerd – Classic buffer overflow attack • Exploit trapdoor in sendmail – Programmer left DEBUG mode in sendmail, which allowed sendmail to execute an arbitrary shell command string. CSE331 Fall 2002 20 Morris Worm Infection • Sent a small loader to target machine – 99 lines of C code – It was compiled on the remote platform (cross platform compatibility) – The loader program transferred the rest of the worm from the infected host to the new target. – Used authentication! To prevent sys admins from tampering with loaded code. – If there was a transmission error, the loader would erase its tracks and exit. CSE331 Fall 2002 21 Morris Worm Stealth • When loader obtained full code – It put into main memory and encrypted – Original copies were deleted from disk – (Even memory dump wouldn’t expose worm) • Worm periodically changed its name and process ID CSE331 Fall 2002 22 Effects • Resource exhaustion – Denial of service – There was a bug in the loader program that caused many copies of the worm to be spawned per host • System administrators cut their network connections – Couldn’t use internet to exchange fixes! • 6,000 networks were shut down or disconnected – Down for several days – Damage estimates: $100,000 — $97 Million CSE331 Fall 2002 23