Decoding and Understanding Internet Worms
Decoding and Understanding Internet Worms
Understanding Internet
Worms
Presented by
Ryan Permeh &
Dale Coddington
Course Overview
• Hacker/Crackers
eEye Digital Security
• Researchers
• Virus Writers
Internet Worms-
Worms vs. Viruses
•
eEye Digital Security
– Released in 1998
– Overloaded VAX and Sun
machines with invisible processes
– 99 line program written by 23
year old Robert Tappan Morris
– Exploit xyz
Internet Worms-
History
•
eEye Digital Security
Sniffers
• IDS
• Netcat Listeners
• Specialized Servers (earlybird, etc)
Worm Analysis Techniques-
Capture: Capturing from Memory
• Memory Dumps
eEye Digital Security
• Memory Searches
• Crashing to preserve memory
Worm Analysis Techniques-
Capture: Capturing from Disk
•
eEye Digital Security
File searches
• File monitoring
• Open handles
• Email
• Replicated/Infected files
Worm Analysis Techniques-
Dissection / Disassembly: Loading
• Initial Settings
• Trojans vs. Exploit Style worms
– Trojans load as programs
– Exploits load as baseless code
Worm Analysis Techniques-
Dissection / Disassembly: Defining
•
eEye Digital Security
Setting variables
• Examining functions
• Examining imports
• Examining Strings
• Define flow of code
Worm Analysis Techniques-
Dissection / Disassembly: Drilling
– Via imports
– Via calls
– Via strings
Worm Analysis Techniques-
Debugging as a Disassembly Aid
• Runtime factors
– decryption/decoding
– Variable sets, variable data
– External factors, not in a void
Worm Analysis Techniques-
Attaching to Worm Infected Processes
•
eEye Digital Security
Attach to process
• Debugging running processes
• Finding worm code in process
• Forcing breaks in worm code
Worm Analysis Techniques-
Sacrificial Goats / Goatnets: Isolation
• Disconnected
eEye Digital Security
• Netcat injection
eEye Digital Security
• Poison servers/clients
• Turn off AV, turn on tools
Worm Analysis Techniques-
Sacrificial Goats / Goatnets: Analysis
• Debuggers
eEye Digital Security
– VC6 debugger
– Softice
– Windbg
• Dissassemblers
– IDA
Worm Analysis Techniques-
Sacrificial Goats / Goatnets: Analysis
•
eEye Digital Security
Filemon
• Regmon
• TCPView Pro
• Procdump
eEye Digital Security
• IDA vulnerability
eEye Digital Security
• HTTP spread
• Use in-memory copy
Worms Under the Hood-
Code Red I: Payload
• Attack whitehouse.gov
eEye Digital Security
• Ida vulnerability
eEye Digital Security
• Trojan Horse
eEye Digital Security
•
eEye Digital Security
Outlook/IE vulnerability
• Unicode
• Double Decode
• Open shares
Worms Under the Hood-
Nimda: Propagation
• Email
eEye Digital Security
• Open shares
• Web servers
Worms Under the Hood-
Nimda: Payload
•
eEye Digital Security
problems
– Reduction of duplicate datasets
– Large scale statistical analysis
– Storage, processing, and network
resources can be large
• Worms have distinct statistical
signatures
Environment-
Modifying Aspects of a Worms
Environment
• Lysine Deficiencies
eEye Digital Security
• Monoculture
• Assumptions
– Network addresses
– Memory locations
– Architecture
Counter Worms-
Using Aspects of a Worm to stop the
Spread
•
eEye Digital Security
Buffer overflows
• Format string attacks
• Design flaws
• Open shares
• Misconfigurations
Encryption/Obfuscation/Polymorphism-
Covert Channel / Stealth Worms
•
eEye Digital Security
•
eEye Digital Security
• Worms meet AI
eEye Digital Security
• Ryan Permeh-
[email protected]
• Dale Coddington
[email protected]