History and theories
Self-replicating structure
John von Neumann
Alan Turing
Cellular automaton
Game of life
John Horton Conway
Code war
Year 1966
People
Robert Morris Sr.
Victor Vyssotsky
Dennis Ritchie
Objective
Kill opponent's programs by overwriting them
Morris worm
Year 1988
Robert Morris Jr.
First computer worm on Internet
Genesis of computer virus
Creeper and Reaper (1980s) --> Quine --> Elk Cloner (1982) --> Brain (1986) --> Jerusalem (1987) --> Stoned (1988) --> Cascade (1988)
Computer virus
The term first used by Fred Cohen in 1984
Definition: A virus is a program that is able to infect other programs by modifying them to include a possibly evolved copy of itself
Virus must execute itself
Virus must replicate itself
Components
Replicator
Control the spread
Concealer
Keep virus undetected
Bomb
Activation conditions for execution
Virus scanner
Signature
Identify viruses
Knowledge base
Behaviour base
Naming conventions
<malware_type>://<platform>/<family_name>. <group_name>.<infective_length>. <variant><devolution><modifiers>
Testing
EICAR testfile
By European Institute for Computer Antivirus Research, which found in 1990
Test the response of Anti-virus programs
People can test without using real virus
A text file with 68 or 70 bytes length
Virus scanner will response like a real alarm
Virus Simulators
Types
1. Demonstrate the audio- and video-effects of some real computer viruses
2. Simulate a virtual environment--a virtual computer, with virtual disks, virtual files, and virtual viruses on them
3. Generate files containing scan strings used by some scanners to detect real viruses
Uses
Educational purpose
Antivirus quality test
Antivirus installation check
Classifications
Virus
By coding method
Polymorphic code
Self-modifying code
Alphanumeric code
Methmorphic code
Shell code
By infect host
File infector virus
Boot sector virus
MBR virus
Multipartite virus
Marco virus
Subtopic
By infection strategies
Marco
written in marco language
Network
Spread by network, seeking for vulnerable system
Logical bomb
Set off a malicious function upon specified conditions meet
Cross-site scripting
Vulnerability which allow code injection in web applications
Sentinels
Allow remote control of infected host
Zombie for DDoS
Companion
Found in MS-DOS
Boot sector
Alter/hide in boot sector and affect disks
Multiparttite
Combination of file and bootsector virus
Trojan horse
Pure trojan
Modification of applications
Worm
Mailers
Send themselves in an e-mail
Mass-mailers
Send multiple e-mails including a copy of themselves
Octopus
Exists as a set of programs on more than one computer on a network
Rabbits
Exists as a single copy of itself at any point in time as it "jumps around" on networked hosts
Malware
Malicious software which infiltrate and damage computer
Virus Hoaxes
False e-mail message about virus attacks
Rootkits
Undetectable
Allow attacker to gain root privilege
Not a virus, control by human
Not an exploit
Dangerous when combine with virus