200 likes | 375 Views
Chapter 7 Worms. Worms. We’ve previously discussed worms Here, consider 2 in slightly more depth Xerox PARC (1982) Morris Worm (1988) Recall also discussion of Slammer…. History. “Worm” mentioned in fiction in 1975 The Shockwave Rider by John Brunner Next slide…. History.
E N D
Worms • We’ve previously discussed worms • Here, consider 2 in slightly more depth • Xerox PARC (1982) • Morris Worm (1988) • Recall also discussion of Slammer…
History • “Worm” mentioned in fiction in 1975 • The Shockwave Rider by John Brunner • Next slide…
History I guess you all know about tapeworms... ? Good. Well, what I turned loose in the net yesterday was the.., father and mother of all tapeworms....My newest----my masterpiece---breeds by itself.... By now I don't know exactly what there is in the worm. More bits are being added automatically as it works its way to places I never dared guess existed....And---no, it can't be killed. It's indefinitely self-perpetuating so long as the net exists. Even if one segment of it is inactivated, a counterpart of the missing portion will remain in store at some other station and the worm will automatically subdivide and send a duplicate head to collect the spare groups and restore them to their proper place.
History • Xerox Palo Alto Research Center • Xerox PARC • Established 1970 • To create “the office of the future” • Helped create laser printers, Ethernet, modern PC, GUI, VLSI • Original Apple Macintosh heavily influenced by the “Alto”
Xerox PARC • Developed a program so unused CPU cycles could be put to use • Use your machine for parallel processing when not busy with your work • “Worm” to manage the machines • Composed of “segments” which is why they called it a worm • One segment per machine • Segments communicated with each other
Xerox PARC • “Worm” had many safety features • For example, no disk access • Also, could be shut down • Key insights • Managing growth is difficult • Stability is difficult maintain
Morris Worm • “Internet Worm” of 1988 • Major wake up call… • Three stages • Stage 1: Get access • Sendmail --- debug command • Finger --- read input using “gets” (no bounds checking…) • rexec and pwd guessing (or rsh)
Morris Worm • Stage 2: Grappling hook • Once a remote shell was obtained, send, compile, and run small C program • Code sent as source, so immune to damage by communication channel • Only passed seven bits out of eight • Would have destroyed exe file • Retrieve several exes until it found one that worked
Morris Worm • Stage 3: Propagate • Used some stealth --- named itself “sh” • Cleaned up (removed source code, etc.) • Prevented “core dump” • Propagate by looking at network routing tables and other local resources • Had no destructive payload
Propagation • Humans slow compared to networks • “Fast burners” • Warhol worms • Flash worms • Surreptitious (or slow) worms --- later • How can worm propagate faster? • Can’t use too much bandwidth…
Propagation • How to propagate faster • Shorten initial startup time • Minimize contention between instances of the worm • Increase rate that targets are probed • Use low-overhead protocols (UDP vs TCP) • Recall that Slammer used UDP
Propagation • Surreptitious worm • That is, slow worm • Slow infection rate • Hide in normal traffic • Hard to detect • Create a zombie army • What good is that? • A lot like modern Botnets
Initial Seeding • How to start the worm • A single instance? • Slow initial growth • Easier to trace • Multiple instances? • Faster initial growth • Use wireless networks, spam, Botnets • Other?
Finding Targets • IP numbers • IPv4, that is • Worms “scan” for targets • Search for vulnerable IP addresses • How to scan?
Finding Targets • How to scan? • Random • Used in Code Red and Slammer • Localized • Favor machines on same network • Why? • Hit list • Avoids contention, speeds initial spread
Finding Targets • Permutation scanning • Treat IP address space as sequence • Each worm select random starting point • Each time previously-infected machine found, select new starting point • Can be used to detect (near) saturation
Finding Targets • Topological scanning • Actual network topology • Topology of a social network • “Topology” of users’ email • IM worm • Morris Worm used topological scan • Was this a good idea for Morris Worm?
Finding Targets • Passive scanning • Wait for useful info to come to you • Sniff network traffic for… • Valid IP addresses • Operating system and services • Network traffic pattern • Other scanning strategies? • Santy worm used Google
Worms: The Bottom Line • A well-designed worm… • Virus-like concealment • Exploit technical/human weaknesses • Hijacking legitimate transactions • Rapid (or slow) spreading • Worms are potent type of malware • Equally potent defensives needed • Next chapter