340 likes | 489 Vues
Dr. Richard Ford. Malicious Code: History. What We’re Going to Talk About. Where viruses have been… How it all began Milestones in virus and antivirus history The Technology Race Between Black Hats and White Hats Where Things Are Today. Way Back in the ’50s. Bell Labs… Core Wars
E N D
Dr. Richard Ford Malicious Code: History
What We’re Going to Talk About • Where viruses have been… • How it all began • Milestones in virus and antivirus history • The Technology Race Between Black Hats and White Hats • Where Things Are Today
Way Back in the ’50s • Bell Labs… • Core Wars • Two computer programs would “battle it out” in the “core” of a computer. The victor would be the last man standing • Mainstreamed in May 1984 in Scientific American
First Things… • Where it all began: • Elk Cloner • “It will get on all your disks It will infiltrate your chips Yes it's Cloner! It will stick to you like glue It will modify ram too Send in the Cloner!” • Virus folklore tells us that this virus was actually an experiment gone wrong… readers beware • Attacked the Apple II
Fred Cohen: Theory • Fred’s work is really famous… • You can read some of his papers at http://www.all.net/resume/papers.html • Cohen postulated that one could construct a computer program that could “infect” other programs with a “possibly evolved” version of itself.
Cohen: Example • The following pseudo-program shows how a virus might be written in a pseudo-computer language. The ":= symbol is used for definition, the ":" symbol labels a statement, the ";" separates statements, the "=" symbol is used for assignment or comparison, the "~" symbol stands for not, the "{" and "}" symbols group sequences of statements together, and the "..." symbol is used to indicate that an irrelevant portion of code has been left implicit. program virus:= {1234567; subroutine infect-executable:= {loop:file = get-random-executable-file; if first-line-of-file = 1234567 then goto loop; prepend virus to file; } subroutine do-damage:= {whatever damage is to be done} subroutine trigger-pulled:= {return true if some condition holds} main-program:= {infect-executable; if trigger-pulled then do-damage; goto next;} next:}
Milemarker 1: Brain • First virus that anyone really noticed • Basit and Amjad Farooq Alvi, of Lahore, Pakistan. • Simple Boot Infector – harkens back to the days of boot from floppy
Lehigh Virus • Appeared in 1987 • Introduced some important techniques: • Infected COMMAND.COM • Went resident in memory • Infected any disks that were accessed from the infected machine • Had an unpleasant trigger: trashed the FAT after four infections
Jerusalem • Appeared in 1988 ,reported by YisraelRadai • Memory-resident COM/EXE infector • Contained a big: infected itself over and over again… • Spawned MANY virus variants • What’s a virus variant?
Christma.EXEC • 1987… • Written in REXX, a scripting language by IBM • Sent in SOURCE form by email • Required a user to run it • When it ran, sent itself to all your contacts • It was an early, human-driven WORM
The Morris Worm • 1988 • See: ftp://coast.cs.purdue.edu/pub/doc/morris_worm/ for all the details you could ever need and more • Used multiple vulnerabilities • Sendmail bug • Fingerd bug • Via .rhosts files • Via password cracking • Infected a *lot* of hosts for the then fledgling Internet
AIDS Trojan: The Law Catches Up • Trojan Disk sent out widely in 1992 • Encrypted data on the fixed disk after a certain number of boots • License verbage: • "In case of breach of license, PC Cyborg Corporation reserves the right to use program mechanisms to ensure termination of the use of these programs. These program mechanisms will adversely affect other program applications on microcomputers. You are hereby advised of the most serious consequences of your failure to abide by the terms of this license agreement." • See: http://www.virusbtn.com/magazine/archives/pdf/1992/199201.PDF
The Bulgarian Virus Factory • More of an Icon than a reality • But, for a time, the most complex viruses did come from Bulgaria • Many the work of one person, the mysterious “Dark Avenger” • Dark Avenger ultimately wrote a “fast infecting” virus and the infamous Mutation Engine (aka MtE or DAME)
Tequila • Welcome to Terry Tequila’s latest venture • 1991 • First fully polymorphic, full stealth virus
Michelangelo • March 6th, 1992 • Serious enough that there was actually a CERT Advisory: http://www.cert.org/advisories/CA-1992-02.html • A Boot Sector Virus with a payload • Quotes: “hundreds of thousands of computers” – John McAfee, also labeled with the number “five million” • “One out of four computers” – Reuters • In fact, total damage was low… very low: 10 to 20 thousand • For an interesting take on epidemiology, read: http://www.research.ibm.com/antivirus/SciPapers/Kephart/PREV/prevalence.gopher.html
MtE • Also in 1992 • A linkable object, never distributed in source form • Caused massive variation in code structure of a computer virus • Caused a complete redesign of several antivirus products, and was the end of simple “signature scanning”
The Virus Creation Lab • Menu-driven virus creation for the masses! • Primarily simple COM infectors • Capable of basic encryption • The first of many…
The Black Baron • Pathogen and Queeg • SMEG, the “Simulated Metamorphic Encryption Generator” • See: http://www.soci.niu.edu/~crypt/other/pyle.htm for the full story • Also, see http://www.computer-investigations.com/chist/chist01.html for an account of the investigation from an old friend, Jim Bates • Convicted under the UK’s Computer Misuse Act
Concept • Appeared around 1996 • First “data” infecting virus? Well, not really… • Written in Word Macros • Forced large-scale changes in the antivirus industry • Interestingly, everyone infected by concept saw one of these:
Laroux • Hot on the heels of Concept • Auto_open and Check_files • Simple example of what could be done • Infected PERSONAL.XLS, which is loaded whenever Excel is run
Strange Brew • 1998 • A virus that was written in Java that infects Java class files • Primarily a proof of concept • See: http://www.sophos.com/virusinfo/articles/java.html for a useful FAQ • What about the Sandbox?
Melissa • 1999 (see CERT advisory CA-1999-04) • A virus that propagated via Email attachments • Used MAPI to spread • Incredibly effecting technique • Poor David Smith! See: http://news.bbc.co.uk/1/hi/world/americas/1963371.stm
DDoS • DDoS = Distributed Denial of Service • Simple process: • Pwn a large number of machines • Install a remote control “bot” on them • Command them to attack a particular site • Why is this so dangerous?
CodeRed • CERT advisory CA-2001-19 • Common buffer overrun in IIS • Spread like WILDFIRE • Question: Why?
SQL.Slammer • Launched in January 2003 • Utilized a buffer overrun in Microsoft’s popular SQL Server • Spread from machine to machine with a peak population doubling rate of 8.5 seconds • Infected 90% of all machines it would ever infect in 10 minutes • Actually impacted BGP Route Stability on the Internet!
The Rise and Rise of Spyware • Windows makes it quite easy to write Spyware • Spyware can take over a machine and make it “unrecoverable” in many senses, without a reinstall • As Spyware becomes more “commercial” (in some senses of the word) it becomes a harder problem to fight • Blurred lines between legal and illegal • Context sensitivity and EULAs
Blue Pill • The “undetectable” rootkit • Server virtualization used for gain? • How much of this is a real threat?
Sony “rootkit” brouhaha • Sony adds a “rootkit” to CDs in an attempt to manage its digital rights… • More complicated than it sounds, but interesting story
2007: Cybercrime rates rise • For the first time, the UK cybercrime rate rises to meet the “real world” crime rate
2007: Zero-Day Attacks • Are everywhere: • PDF • Realplayer • IE • …
DLP Becomes Big Business • 2007: Symantec acquires Vontu • Companies begin to focus on protecting data at rest and while in transit
Viruses in Space: August 08 • Autorun Worm found on the International Space Station • Password-stealing, but not mission critical
The Future? • More viruses • More Worms • More Trojans • More software that Blurs the Lines