Infected! - IT is your future

advertisement
Malware
Ge Zhang
Karlstad Univeristy
Focus
• What malware are
• Types of malware
• How do they propagate
• How do they hide
• How to detect them
What is a malware ?
• A Malware is a set of instructions that run
on your computer and make your system
do something that an attacker wants it to
do.
Malware zoo (1)
• Virus: attaches it self to a program and propagates
copies of itself to other programs
• Worm: program that propagates copies of itself to other
computers
• Logic bomb: Triggers action when condition occurs
• Trojan horse: Program that contains unexpected
additional functions
• Backdoor: Program modification that allows
unauthorized access to functionality
• Exploits: code specific to a single vulnerability or a set of
vulnerabilities
Malware zoo (2)
• Downloaders: Program that installs other items on a
machine that is under attack
• Auto-rooter: Hacker tools used to break into new
machines automatically
• Kit (virus generator): tools to generate new viruses
automatically
• Spammer program: tools to produce large volume of
unwanted emails.
• Flooders: tools to generate large volume of unwanted
traffics
• Keyloggers: capture keystrokes on a compromised
computer.
• Zombie: Program activated on an infected machine that
is actived to launch attacks on other machines
Number of malware signatures
Symantec report 2009
Viruses
• 4 phases:
– Dormant phase: It is idle, waiting for some
event
– Propagation phase: Copy itself into other
programs
– Triggering phase: activated to perform some
intended actions
– Execution phase: execute the payload, maybe
harmless
DOS boot Sequence
• ROM BIOS: locates
the master boot
sector
• Master boot sector:
partition table
• DOS boot sector:
executable codes and
FAT
ROM
Master
boot
sector
IO.SYS
MSDOS.SYS
CONFIG.SYS
COMMAND.COM
AUTOEXEC.BAT
DOS
boot
sector
DOS bootstrap virus
• A bootstrap virus resides in one of the boot
sectors
• Becomes active before DOS is operational
• Example: stoned virus
Master boot
sector
Master boot
sector
Boot
sector
Boot
sector
Load
system
Virus
sector
Load
system
How a bootstrap virus takes
control?
Load Master
boot sector
DOS boot
sector runs
Load IO.SYS
MSDOS.SYS
DOS loaded
Boot virus
loads into mem
Virus learns
location of
DOS boot
sector
Move DOS boot
sector to new
location
Write itself to
the original
location
Load Master
boot sector
Virus boot
sector runs
Virus goes
memory
resident
Runs original
DOS boot and
loads DOS
Parasitic virus
• Overwriting virus
• Appending virus
Original Program File
Virus code
Header
Header
What’s left of
original program
Original Program File
Virus
code
Original Program File
Companion virus
• Do not need to modify the original files
• Create a new file with a specific name
1
Filename.com
Execute
filename
DOS
2
Filename.exe
3
Filename.bat
Lifecycle of virus
•
•
•
•
•
A virus gets created and released
The virus infects several machines
Samples are sent to anti-virus companies
Records a signature from the virus
The companies include the new signature
in their database
• Their scanner now can detect the virus
Virus hidden mechanisms
• Encrypt virus code with random generated keys
• What happens if the boot area is encrypted?
Header
Header
Virus program and host
file (plaintext)
Decrypt
routine
#$%&^!#%@SF{
Virus hidden mechanisms (2)
• Polymorphism: randomly changes the
encryption/decryption portion of a virus
– Change key each time the virus starts
– Change the range of plaintext
– Change the location of encryption subroutine
• Countermeasure: scan in RAM (after selfdecrypting)
Virus hidden mechanisms (3)
• Entry point changes
• Random execution
(JMP)
Header
Header
Original Program File
Original Program
File (1)
Virus
code
Header
Original Program File
Header
Original Program
File (1)
Original Program
File (2)
Original Program
File (2)
Macro viruses
• Macro: an executable program embedded
in a document to automate repetitive
tasks. (save keystrokes)
• Application-dependent, e.g., MS office
• Cross the O.S. and hardware platform
• Why virus writers like macro viruses?
– Easy to learn
– Easy to write
– Popularity of MS office
How macro virus works
• Every word document is based on a template
• When an existing or new document is opened,
the template setting are applied first
• A global template: NORMAL.DOT
Infected
document
opened
Macros loaded
into memory
Auto macro
executed
Macros copy
themselves to
global template
New
documents
infected
Worm
• Worm: self-replicating over networks, but
not infecting program and files
• Example: Morris worm, blaster worm
The structure of worms
• Target locator (find the target)
– Email address collector
– IP/port scanner
• Warhead
– Break into remote machines
• Propagation
– Automatically sending emails
– Automatically attack remote hosts
• Remote control and update
– Download updates from a web server
– Join a IRC channel
• Lifecycle management
– Commit suicide
– Avoid repeatedly infecting the same host
• Payload
State of Worm Technology
•
•
•
•
Multiplatform: Windows, unix, mac, …
Multiexploit: web server, browser, email,…
Ultrafast spreading: host/port scanning
Polymorphic: Each copy has new code
generated by equivalent instructions and
encryption techniques.
• Metamorphic: different behavior patterns
(prepared)
• Transport vehicles: for the payloads (spread
attacking tools and zombies)
• Zero-day exploit: self-updated
discussion
• Is it a good idea to spread worms with
system patches?
Trojan
• A program with hidden side-effects that
are not specified in the program
documentation and are not intended by
the user executing the program
What a trojan can do
• Remote administration trojans: attackers get the
complete control of a PC
• Backdoor: steal data and files
• Distributed attacks: zombie network
• Password stealers: capture stored passwords
• Audio, video capturing: control devices
• Keyloggers: capture inputting passwords
• Adware: popup advertisements
Familiar with your PC
• Startup
programs/services
• Frequently used IP
ports
–
–
–
–
20/21 FTP
23 Telnet
25 SMTP
80 WWW
• Netstat
Malware Payloads
• No payload
• Payload without damage
– Only display some information
• Payload with little impact
– Modify documents (wazzu virus)
• Payload with heavy impact
– Remove files, format storage
– Encrypting data (blackmail)
– Destroy hardware (W95.CIH): rewrite flash bios
• DDoS attacks
• Steal data for profit
Malware naming
• CARO (computer antivirus researchers
organization)
• CARO naming convention (1991)
• <family_name>.<group_name>.<Infective
_length>.<variant>.<modifier>
– e.g., cascade.1701.A.
• Platform prefix
– win32.nimda.A@mm
Malware defenses (1)
• Detection: once the infection has occurred,
determine that it has occurred and locate the
virus
• Identification: once detection has been
achieved, identify the specific virus that has
infected a program
• Removal: once the specific virus has been
identified, remove the virus from the infected
program and restore it to its original state
Malware defenses (2)
• The first generation scanner
– Virus signature (bit pattern)
– Maintains a record of the length of programs
• The second generation scanner
– Looks for fragments of code (neglect unnecessary
code)
– Checksum of files (integrity checking)
• Virus-specific detection algorithm
– Deciphering (W95.Mad, xor encrypting)
– Filtering
Malware defenses (3)
• The third generation scanner
– Identify a virus by its actions
• The fourth generation scanner
– Include a variety of anti-virus techniques
• Collection method
– Using honeypots
In the future…
• New spreading methods: e.g., RFID
Key points
• Taxonomy of malwares
• The difference between virus and worm
• How does bootstrap/companion/parasitic/macro
virus propagate
• Virus hidden method
• The structure of worm
• What a trojan/malware payload can do
• Malware naming standard (CARO)
• Malware defenses methods
Download