370 likes | 605 Views
Viruses, Worms, & DDoS Attacks. Eric Bulgrin February 8, 2005. Overview. Why are attacks prevalent? Viruses Worms Distributed Denial of Service Attacks (DDoS). Why are attacks prevalent?. Clueless User Base Malicious users Homogeneous computing environments Connectivity. Viruses.
E N D
Viruses, Worms, & DDoS Attacks Eric Bulgrin February 8, 2005
Overview • Why are attacks prevalent? • Viruses • Worms • Distributed Denial of Service Attacks (DDoS)
Why are attacks prevalent? • Clueless User Base • Malicious users • Homogeneous computing environments • Connectivity
Viruses • Definition: a self-replicating piece of code that attaches itself to other programs and usually requires human interaction to propagate
How viruses work? • Infect executables • Companion infection • Overwriting infection • Prepending infection • Appending infection • Infect Boot Sectors • Infect Document Files
Companion Infection • Called companion or spawning viruses • Do not modify code • Give virus the same name as the executable but with a .COM extension instead of .EXE • Not common since GUIs became prevalent • Example: Trilisa virus/worm, 2002
Overwriting Infection • Called overwriting virus • Replaces portions of the host’s executable code • Opens the file and copies itself to the file • Commonly makes the executable inoperable
Prepending Infection • Called prepending virus • Inserts malicious code at the beginning of host file • Generally does not corrupt the host file • Example: Nimda worm
Appending Infection • Called appending virus • Inserts code at the end of the host file and modifies the beginning of its host to jump to virus code • Example: Appix worm, 2002
Infecting Boot Sectors • What is the boot sector? • Called boot sector viruses • Virus code is attached to the MBR • Example: Michelangelo virus, 1991
Infecting Document Files • Called macro viruses • Virus code is attached to common subroutines such as Document_Open() or Document_Close() • Example: Melissa virus, 1999
Propagation Methods • Removable storage • E-mail and downloads • Shared directories
Defending against viruses • Antivirus software • Virus signatures • Heuristics • Integrity verification • Configuration Hardening • User Education
Worms • Definition: a self-replicating piece of code that spreads via networks and usually does not require human interaction to propagate
Worm Components • Warhead • Propagation Engine • Target Selection Algorithm • Scanning Engine • Payload
Warhead • Gains access to the victim machine • Popular techniques: • Buffer Overflow • File-sharing • E-mail • Common Misconfigurations
Propagation Engine • Transfers the rest of the worm to the target • Sometimes the warhead carries the entire worm • Otherwise it uses file transfer mechanisms such as FTP or HTTP
Target Selection Algorithm • Looks for new victims to attack • Techniques: • E-mail addresses • Network neighborhood • DNS Queries • Random target
Scanning Engine • Uses address generated by targeting engine to scan for suitable victims
Payload • Open a backdoor for attacker • Plant a DDoS flood agent • Perform complex math operations
Impediments to Worm Spread • Diversity of the target environment • Crashing victims • Overexuberant spread • Stepping on itself • Stepped on by another worm
New worms • Multiplatform worms • Zero-day exploit worms • Fast spreading worms • Polymorphic worms • Metamorphic worms
Worm Defenses • Ethical worms • Antivirus • Deploy Patches and harden accessible systems • Block arbitrary outbound connections
DDoS Attacks • Definition: An attack that cripples an application, server, or whole network by disrupting legitimate users’ communication • Different from other attacks • Goal: To prevent victim machines or networks from offering service to legitimate users.
How DDoS Attacks Work • Recruit agent network • Control agent network • Launch attack
Recruit the Agent Network • Can be done manually, semi-manually, or automatically • Worms are commonly used to recruit agents • Agent machines have: good connectivity, ample resources, and are poorly maintained
How to Recruit Agents • Break into vulnerable machines • Malware Propagation methods • Central repository • Back-chaining or pull • Push or forward
Controlling the Agents • Direct commands • Indirect commands
Direct Commands • Handler/agent network • Handler must store IP addresses of all agents • Agents listens for attacker messages on a specified port
Indirect commands • Attacker uses IRC server to send commands • Agents listen to a specific IRC channel
Launch Attack • Types of attacks • Exploit vulnerabilities • Attack a protocol • Attack an application
How to Defend Against DDoS • Protect • Detect • React
Protect • Separate services where possible • Have excess capacity • Minimize the target • Monitor ongoing operations • Prepare personnel and have a plan
Detect • Increase in firewall log entries • Know how much normal or peak traffic is • Increase in dropped packets • Keep an eye on outbound network traffic
React • Depends on the situation and company • What can you filter with your hardware? • Skills of your people • Impact on customers
References • Dietrich, Sven; Dittrich, David; Mirkovic, Jelena; Reiher, Peter. 2005. Internet Denial of Service Attack and Defense Mechanisms. Upper Saddle River, New Jersey: Prentice Hall • Householder, Allen; Manion, Art; Pesante, Linda; Weaver, George M. 2001. Managing the Threat of Denial-of-Service Attacks. Retrieved January 31, 2005 from CERT Web Site: http://www.cert.org/archive/. • Pethia, Richard. 2003, September 10. Viruses and Worms: What Can We Do About Them? Retrieved February 1, 2005 from CERT Web Site: http://www.cert.org/congressional_testimony/. • Skoudis, Ed. 2004. Malware Fighting Malicious Code. Upper Saddle River, New Jersey: Prentice Hall.