Processes - Department of Computer and Information Science and

advertisement
Programmed Threats
Richard Newman
What is a Programmed Threat?
Potential source of harm from computer code
May be in form of
- Executable program
- Executable code attached to another program
- Executable code pushed onto stack of running process
- Standalone script
- Commands run on startup of program
- Commands embedded in “non-executable” file
–
–
JPEG
Postscript
- Macros
Examples of Programmed Threats
1. Trojan Horse
–
Program that purports to do one thing but (also) does another
2. Virus
–
–
–
–
Embedded in another program/file (becomes Trojan)
Must get user or system to run program/open file
Infects other files/drives
Hitchhikes to other file systems on host file via removable media or
email
3. Bacteria/Rabbits
–
Replicate so fast, use up all resources
4. Worm
–
–
–
Stand-alone program
Transfers itself to target system
Runs automatically on target system (generally)
More Programmed Threats
5. Buffer overflow attack
–
–
–
“Improper” parameters corrupts stack
Includes executable code
Return pointer in activation frame may be changed to point to code
6. SQL Injection
–
–
Interpretable commands included in SQL query
SQL engine executes malicious commands
7. Run command script
–
–
Malicious commands included in .rc (or similar) file
Commands executed when program is started5. Run command script
8. Back Door/Trap Door
–
–
–
–
“Secret” way to get access to system
May be included for field technicians or administrators
See http://cm.bell-labs.com/who/ken/trust.html
Often first goal of intruders
Viruses
1. History
–
–
–
–
Von Neumann's self-reproducing automata in 1960's
See http://en.wikipedia.org/wiki/Notable_computer_viruses_and_worms
First seriously appeared in early 1980's – Elk Cloner, Brain
Big issue with PCs and floppy disks/bulletin boards
2. General MO
–
–
–
–
–
Infected program run – viral code runs first
Optionally takes measures to hide
Looks for new files/drives to infect, infects them
Does “other stuff”
•
Logic Bomb
•
Time Bomb
•
Password cracking
•
Install back door
•
Wreak havoc
Returns control to original program
Viruses
3. Boot Sector Virus
– Copies boot sector (small bootstrap program) to unused
disk block
– Overwrites boot sector with viral code
– Intercepts calls to disk drive/TSR code
– Redirects reads of boot sector to read copy in other
location
– Looks for new disk to infect whenever disk is accessed
4. Executable Virus
– Adds viral code to executable program
– May rewrite JUMP instruction to jump to viral code first,
then issue JUMP to program code when done
– May modify itself (code transformation) or modify where it
is stored to evade detection (polymorphic virus)
Viruses
5. Macro Virus
– Included in “non-executable” file with format supporting macros
• Spreadsheets
• Document preparation software
• Graphics editors
– Copies macros into other files of same type
– Modifies file contents to exercise macros
4. Stealth Techniques
– Intercept system calls to modify (man-in-the-middle)
– Modify system meta-information (File control block, process
info)
– Compress itself so file size does not change
– Modify itself
– Encrypt viral code
Worms
1. History
–
–
–
–
–
–
1971 “Creeper virus” at BBN - “Reaper” to kill it
Name coined in Brunner's “The Shockwave Rider” scifi
Xerox PARC worm for using idle workstations (1982)
Enabled by network/LAN technology
Morris worm 1987
Code Red, etc.
2. General MO
–
–
–
Standalone program
Looks for target host
Transfers loader (micro-FTP) to target host
See http://www.wormblog.com/
PARC Worm
3. Xerox PARC worm - 1982
–
–
–
–
–
–
Users ran server pgm on W/S when idle
Worm “head” found idle workstations, sent work
“Segments” did work, reported to head
Head had backup segments also
Had to shut down all stations to get to stop!
See Shoch and Hupp, “The Worm Programs: Early
Experience with a Distributed Computation,” Xerox Palo
Alto Research Center, 1982.
http://www.cs.berkeley.edu/~prabal/resources/osprelim/SH82.pdf
Morris Worm
4. Morris worm
–
–
–
–
–
–
–
Experiment by grad student at Cornell November 1988
Looks for target host – random, /etc/hosts, .rhosts
Tried to get access
• Sendmail “feature” - debug mode
• Symmetry of trust
• Finger flaw – buffer overflow
• Password guessing
Transferred “grappling hook” to target host
Grappling hook got rest of worm, ran it
Overwhelmed hosts with processes
Overwhelmed networks
Morris Worm
4. Morris worm (con't)
–
–
–
Stealth techniques
• “encrypted” code (flipped MSB in ASCII)
• Changed process name to innocuous pgm
• Changed process ID periodically – short life per proc
• Died completely after short time
Sendmail access
• Back door, poor configuration, poor interface
Symmetry of trust
• Remote login without password required
• Host lists trusted hosts
• If a host B is on list of A, likely host A is on list of B
spaf.cerias.purdue.edu/tech-reps/823.pdf
Code Red Worm
5. Code Red Worm
–
–
–
–
July 2001
Attacked MS IIS
• Buffer overflow attack
• Patch had been available for a month
Spread
• Only 1st – 19th of month – look for other IIS servers
• Did not determine if IIS server was vulnerable first
Mischief
• Deface website - “Hacked by Chinese”
• Launch DoS attack 20th -27th of month vs. fixed IP addr
Code Red Worm
5. Code Red Worm IIS buffer overflow:
GET /default.ida?NNNNNNNNNNNNNNNNNNNNNNNNN
NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN
NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN
NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN
NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN
NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN
NNNNNNNNNNNNNNNNNNN
%u9090%u6858%ucbd3%u7801%u9090%u6858%ucbd3%u7801
%u9090%u6858%ucbd3%u7801%u9090%u9090%u8190%u00c3
%u0003%u8b00%u531b%u53ff%u0078%u0000%u00=a HTTP/1.0
Code Red Worm
5. Code Red Worm
–
–
–
–
July 2001
Attacked MS IIS
• Buffer overflow attack
• Patch had been available for a month
Spread
• Only 1st – 19th of month – look for other IIS servers
• Did not determine if IIS server was vulnerable first
Mischief
• Deface website - “Hacked by Chinese”
• Launch DoS attack 20th -27th of month vs. fixed IP addr
Download