Malicious Software Computer Security Peter Reiher November 25, - - PowerPoint PPT Presentation

malicious software computer security peter reiher
SMART_READER_LITE
LIVE PREVIEW

Malicious Software Computer Security Peter Reiher November 25, - - PowerPoint PPT Presentation

Malicious Software Computer Security Peter Reiher November 25, 2014 Lecture 12 Page 1 CS 136, Fall 2014 Outline Introduction Viruses Trojan horses Trap doors Logic bombs Worms Botnets Spyware Malware


slide-1
SLIDE 1

Lecture 12 Page 1 CS 136, Fall 2014

Malicious Software Computer Security Peter Reiher November 25, 2014

slide-2
SLIDE 2

Lecture 12 Page 2 CS 136, Fall 2014

Outline

  • Introduction
  • Viruses
  • Trojan horses
  • Trap doors
  • Logic bombs
  • Worms
  • Botnets
  • Spyware
  • Malware components
slide-3
SLIDE 3

Lecture 12 Page 3 CS 136, Fall 2014

Introduction

Clever programmers can get software to do their dirty work for them Programs have several advantages for these purposes – Speed – Mutability – Anonymity

slide-4
SLIDE 4

Lecture 12 Page 4 CS 136, Fall 2014

Where Does Malicious Code Come From?

  • Most commonly, it’s willingly (but

unwittingly) imported into the system – Electronic mail – Downloaded executables

  • Often automatically from web pages

– Sometimes shrink-wrapped software

  • Sometimes it breaks in
  • Sometimes an insider intentionally

introduces it

slide-5
SLIDE 5

Lecture 12 Page 5 CS 136, Fall 2014

Magnitude of the Problem

  • Considering viruses only, by 1994 there were over

1,000,000 annual infections – One survey shows 10-fold increase in viruses since 1996

  • In November 2003, 1 email in 93 scanned by

particular survey contained a virus

  • 2008 CSI report shows 50% of survey respondents

had virus incidents – Plus 20% with bot incidents

  • 2009 Trend Micro study shows 50% of infected

machines still infected 300 days later

slide-6
SLIDE 6

Lecture 12 Page 6 CS 136, Fall 2014

Viruses

  • “Self-replicating programs containing code

that explicitly copies itself and that can ‘infect’ other programs by modifying them

  • r their environment”
  • Typically attached to some other program

– When that program runs, the virus becomes active and infects others

  • Not all malicious codes are viruses
slide-7
SLIDE 7

Lecture 12 Page 7 CS 136, Fall 2014

How Do Viruses Work?

  • When a program is run, it typically has

the full privileges of its running user

  • Including write privileges for some
  • ther programs
  • A virus can use those privileges to

replace those programs with infected versions

slide-8
SLIDE 8

Lecture 12 Page 8 CS 136, Fall 2014

Before the Infected Program Runs

Infected Program Uninfected Program Virus Code

slide-9
SLIDE 9

Lecture 12 Page 9 CS 136, Fall 2014

The Infected Program Runs

Infected Program Uninfected Program Virus Code

slide-10
SLIDE 10

Lecture 12 Page 10 CS 136, Fall 2014

Infecting the Other Program

Infected Program Uninfected Program Virus Code Virus Code Infected Program

slide-11
SLIDE 11

Lecture 12 Page 11 CS 136, Fall 2014

Macro and Attachment Viruses

  • Modern data files often contain executables

– Macros – Email attachments

  • Many formats allow embedded commands

to download of arbitrary executables

  • Popular form of viruses

– Requires less sophistication to get right

slide-12
SLIDE 12

Lecture 12 Page 12 CS 136, Fall 2014

Virus Toolkits

  • Helpful hackers have written toolkits

that make it easy to create viruses

  • A typical smart high school student can

easily create a virus given a toolkit

  • Generally easy to detect viruses

generated by toolkits – But toolkits are getting smarter

slide-13
SLIDE 13

Lecture 12 Page 13 CS 136, Fall 2014

How To Find Viruses

  • Basic precautions
  • Looking for changes in file sizes
  • Scan for signatures of viruses
  • Multi-level generic detection
slide-14
SLIDE 14

Lecture 12 Page 14 CS 136, Fall 2014

Precautions to Avoid Viruses

  • Don’t import untrusted programs

– But who can you trust?

  • Viruses have been found in commercial

shrink-wrap software

  • The hackers who released Back Orifice

were embarrassed to find a virus on their CD release

  • Trusting someone means not just trusting

their honesty, but also their caution

slide-15
SLIDE 15

Lecture 12 Page 15 CS 136, Fall 2014

Other Precautionary Measures

  • Scan incoming programs for viruses

– Some viruses are designed to hide

  • Limit the targets viruses can reach
  • Monitor updates to executables

carefully – Requires a broad definition of “executable”

slide-16
SLIDE 16

Lecture 12 Page 16 CS 136, Fall 2014

Containment

  • Run suspect programs in an

encapsulated environment – Limiting their forms of access to prevent virus spread

  • Requires versatile security model and

strong protection guarantees – No use to run in tightly confined mode if user allows it to get out

slide-17
SLIDE 17

Lecture 12 Page 17 CS 136, Fall 2014

Viruses and File Sizes

  • Typically, a virus tries to hide
  • So it doesn’t disable the infected program
  • Instead, extra code is added
  • But if it’s added naively, the size of the file grows
  • Virus detectors look for this growth
  • Won’t work for files whose sizes typically change
  • Clever viruses find ways around it

– E.g., cavity viruses that fit themselves into “holes” in programs

slide-18
SLIDE 18

Lecture 12 Page 18 CS 136, Fall 2014

Signature Scanning

  • If a virus lives in code, it must leave

some traces

  • In unsophisticated viruses, these traces

are characteristic code patterns

  • Find the virus by looking for the

signature

slide-19
SLIDE 19

Lecture 12 Page 19 CS 136, Fall 2014

How To Scan For Signatures

  • Create a database of known virus

signatures

  • Read every file in the system and look

for matches in its contents

  • Also check every newly imported file
  • Also scan boot sectors and other

interesting places

  • Can use same approach for other kinds
  • f malware
slide-20
SLIDE 20

Lecture 12 Page 20 CS 136, Fall 2014

Weaknesses of Scanning for Signatures

  • What if the virus changes its signature?
  • What if the virus takes active measures

to prevent you from finding the signature?

  • You can only scan for known virus

signatures

slide-21
SLIDE 21

Lecture 12 Page 21 CS 136, Fall 2014

Polymorphic Viruses

  • A polymorphic virus produces varying

but operational copies of itself

  • Essentially avoiding having a signature
  • Sometimes only a few possibilities

– E.g., Whale virus has 32 forms

  • But sometimes a lot

– Storm worm had more than 54,000 forms

slide-22
SLIDE 22

Lecture 12 Page 22 CS 136, Fall 2014

Polymorphism By Hand

  • Malware writers have become professional

and security-aware

  • They know when their malware has been

identified – And they know the signature used – Smart ones subscribe to all major anti- virus programs

  • They change the malware to remove that

signature and re-release it

slide-23
SLIDE 23

Lecture 12 Page 23 CS 136, Fall 2014

Stealth Viruses

  • A virus that tries actively to hide all

signs of its presence

  • Typically a resident virus
  • For example, it traps calls to read

infected files – And disinfects them before returning the bytes – E.g., the Brain virus

slide-24
SLIDE 24

Lecture 12 Page 24 CS 136, Fall 2014

Combating Stealth Viruses

  • Stealth viruses can hide what’s in the

files

  • But may be unable to hide that they’re

in memory

  • Careful reboot from clean source won’t

allow stealth virus to get a foothold

  • Concerns that malware can hide in
  • ther places, like peripheral memory
slide-25
SLIDE 25

Lecture 12 Page 25 CS 136, Fall 2014

Other Detection Methods

  • Checksum comparison
  • Intelligent checksum analysis

– For files that might legitimately change

  • Intrusion detection methods

– E.g., look for attack invariants instead of signatures

  • Identify and handle “clusters” of

similar malware

slide-26
SLIDE 26

Lecture 12 Page 26 CS 136, Fall 2014

Preventing Virus Infections

  • Run a virus detection program

– Almost all serious organizations do this – And many still get clobbered

  • Keep its signature database up to date

– Modern virus scanners do this by default

  • Disable program features that run executables

without users asking – Quicktime had this problem a few years ago

  • Make sure users are careful about what they run
  • Also make sure users are careful about what they

attach to computers

slide-27
SLIDE 27

Lecture 12 Page 27 CS 136, Fall 2014

How To Deal With Virus Infections

  • Reboot from a clean, write-protected

medium – Vital that the medium really is clean – Necessary, but not sufficient

  • If backups are available and clean, replace

infected files with clean backup copies – Another good reason to keep backups

  • Proof-of-concept code showed infection of

firmware in peripherals . . .

slide-28
SLIDE 28

Lecture 12 Page 28 CS 136, Fall 2014

Disinfecting Programs

  • Some virus utilities try to disinfect infected

programs – Allowing you to avoid going to backup

  • Potentially hazardous, since they may get it

wrong – Some viruses destroy information needed to restore programs properly

slide-29
SLIDE 29

Lecture 12 Page 29 CS 136, Fall 2014

  • When you run it, the

Greeks creep out and slaughter your system

Trojan Horses

  • Seemingly useful program that

contains code that does harmful things

slide-30
SLIDE 30

Lecture 12 Page 30 CS 136, Fall 2014

Basic Trojan Horses

  • A program you pick up somewhere that is

supposed to do something useful

  • And perhaps it does

– But it also does something less benign

  • Games are a common location host program
  • Downloaded applets are also popular
  • Frequently found in email attachments
  • Bogus security products also popular
  • Flash drives are a hardware vector
slide-31
SLIDE 31

Lecture 12 Page 31 CS 136, Fall 2014

Recent Trends in Trojan Horses

  • Qakbot Trojan steals online banking credentials
  • Android/IoS Trojan targeting Hong Kong

protestors

  • Trojan targeting customers of Islamic banks

– Using man-in-the-middle techniques to

  • vercome 2 factor authentication

– Other similar Trojans floating around, including a toolkit for them

  • Citadel Trojan stole sensitive info from

petrochemical companies

slide-32
SLIDE 32

Lecture 12 Page 32 CS 136, Fall 2014

Trapdoors

  • Also known as back doors
  • A secret entry point into an otherwise

legitimate program

  • Typically inserted by the writer of the

program

  • Most often found in login programs or

programs that use the network

  • But also found in system utilities
slide-33
SLIDE 33

Lecture 12 Page 33 CS 136, Fall 2014

Trapdoors and Other Malware

  • Malware that has taken over a machine
  • ften inserts a trapdoor
  • To allow the attacker to get back in

– If the normal entry point is closed

  • Infected machine should be handled

carefully to remove such trapdoors – Otherwise, attacker comes right back

slide-34
SLIDE 34

Lecture 12 Page 34 CS 136, Fall 2014

Logic Bombs

  • Like trapdoors, typically in a legitimate program
  • Code that “explodes” under certain conditions
  • Often inserted by program authors
  • Previously used by primarily by disgruntled

employees to get revenge – Former TSA employee got two years in prison for planting one in 2009

  • Beginning to be used by nation state cyber attacks

– South Korean banks and media companies hit with major logic bomb in March 2013

slide-35
SLIDE 35

Lecture 12 Page 35 CS 136, Fall 2014

Extortionware

  • Attacker breaks in and does something to

system – Demands money to undo it – “Break-in” often via social engineering

  • E.g., claiming it will cure another

infection

  • Encrypting vital data is common

– Some incidents also encrypted backups

  • Unlike logic bombs, not timed or triggered
slide-36
SLIDE 36

Lecture 12 Page 36 CS 136, Fall 2014

Worms

  • Programs that seek to move from system to

system – Making use of various vulnerabilities

  • Other performs other malicious behavior
  • The Internet worm used to be the most

famous example – Blaster, Slammer, Witty are other worms

  • Can spread very, very rapidly
slide-37
SLIDE 37

Lecture 12 Page 37 CS 136, Fall 2014

The Internet Worm

  • Created by a graduate student at

Cornell in 1988

  • Released (perhaps accidentally) on the

Internet Nov. 2, 1988

  • Spread rapidly throughout the network

– 6000 machines infected

slide-38
SLIDE 38

Lecture 12 Page 38 CS 136, Fall 2014

How Did the Internet Worm Work?

  • The worm attacked vulnerabilities in

Unix 4 BSD variants

  • These vulnerabilities allowed improper

execution of remote processes

  • Which allowed the worm to get a

foothold on a system – And then to spread

slide-39
SLIDE 39

Lecture 12 Page 39 CS 136, Fall 2014

The Worm’s Actions

  • Find an uninfected system and infect that
  • ne
  • Here’s where it ran into trouble:

– It re-infected already infected systems – Each infection was a new process – Caused systems to wedge

  • Did not take intentional malicious actions

against infected nodes

slide-40
SLIDE 40

Lecture 12 Page 40 CS 136, Fall 2014

Stopping the Worm

  • In essence, required rebooting all infected

systems – And not bringing them back on the network until the worm was cleared out – Though some sites stayed connected

  • Also, the flaws it exploited had to be

patched

  • Why didn’t firewalls stop it?

– They weren’t invented yet

slide-41
SLIDE 41

Lecture 12 Page 41 CS 136, Fall 2014

Effects of the Worm

  • Around 6000 machines were infected

and required substantial disinfecting activities

  • Many, many more machines were

brought down or pulled off the net – Due to uncertainty about scope and effects of the worm

slide-42
SLIDE 42

Lecture 12 Page 42 CS 136, Fall 2014

What Did the Worm Teach Us?

  • The existence of some particular

vulnerabilities

  • The costs of interconnection
  • The dangers of being trusting
  • Denial of service is easy
  • Security of hosts is key
  • Logging is important
  • We obviously didn’t learn enough
slide-43
SLIDE 43

Lecture 12 Page 43 CS 136, Fall 2014

Code Red

  • A malicious worm that attacked

Windows machines

  • Basically used vulnerability in

Microsoft IIS servers

  • Became very widely spread and caused

a lot of trouble

slide-44
SLIDE 44

Lecture 12 Page 44 CS 136, Fall 2014

How Code Red Worked

  • Attempted to connect to TCP port 80 (a

web server port) on randomly chosen host

  • If successful, sent HTTP GET request

designed to cause a buffer overflow

  • If successful, defaced all web pages

requested from web server

slide-45
SLIDE 45

Lecture 12 Page 45 CS 136, Fall 2014

More Code Red Actions

  • Periodically, infected hosts tried to find
  • ther machines to compromise
  • Triggered a DDoS attack on a fixed IP

address at a particular time

  • Actions repeated monthly
  • Possible for Code Red to infect a

machine multiple times simultaneously

slide-46
SLIDE 46

Lecture 12 Page 46 CS 136, Fall 2014

Code Red Stupidity

  • Bad method used to choose another

random host – Same random number generator seed to create list of hosts to probe

  • DDoS attack on a particular fixed IP

address – Merely changing the target’s IP address made the attack ineffective

slide-47
SLIDE 47

Lecture 12 Page 47 CS 136, Fall 2014

Code Red II

  • Used smarter random selection of targets
  • Didn’t try to reinfect infected machines
  • Adds a Trojan Horse version of Internet

Explorer to machine – Unless other patches in place, will reinfect machine after reboot on login

  • Also, left a backdoor on some machines
  • Doesn’t deface web pages or launch DDoS
  • Didn’t turn on periodically
slide-48
SLIDE 48

Lecture 12 Page 48 CS 136, Fall 2014

Impact of Code Red and Code Red II

  • Code Red infected over 250,000 machines
  • In combination, estimated infections of over

750,000 machines

  • Code Red II is essentially dead

– Except for periodic reintroductions of it

  • But Code Red is still out there
slide-49
SLIDE 49

Lecture 12 Page 49 CS 136, Fall 2014

Stuxnet

  • Scary worm that popped up in 2010
  • Targeted at SCADA systems

– Particularly, Iranian nuclear enrichment facilities

  • Altered industrial processes
  • Very specifically targeted
slide-50
SLIDE 50

Lecture 12 Page 50 CS 136, Fall 2014

Where Did Stuxnet Come From?

  • Stuxnet was very sophisticated

– Speculated to be from unfriendly nation state(s) – New York Times claims White House officials confirmed it (no official confirmation, though)

  • Research suggests SCADA attacks do not need

much sophistication, though – Non-expert NSS Labs researcher easily broke into Siemans systems

  • Duqu worm might be Stuxnet descendent

– Appears to be stealing certificates

slide-51
SLIDE 51

Lecture 12 Page 51 CS 136, Fall 2014

Worm, Virus, or Trojan Horse?

  • Terms often used interchangeably
  • Trojan horse formally refers to a seemingly

good program that contains evil code – Only run when user executes it – Effect isn’t necessarily infection

  • Viruses seek to infect other programs
  • Worms seek to move from machine to

machine

  • Don’t obsess about classifications
slide-52
SLIDE 52

Lecture 12 Page 52 CS 136, Fall 2014

Botnets

  • A collection of compromised machines
  • Under control of a single person
  • Organized using distributed system

techniques

  • Used to perform various forms of

attacks – Usually those requiring lots of power

slide-53
SLIDE 53

Lecture 12 Page 53 CS 136, Fall 2014

What Are Botnets Used For?

  • Spam (90% of all email is spam)
  • Distributed denial of service attacks
  • Hosting of pirated content
  • Hosting of phishing sites
  • Harvesting of valuable data

– From the infected machines

  • Much of their time spent on spreading
slide-54
SLIDE 54

Lecture 12 Page 54 CS 136, Fall 2014

Botnet Software

  • Each bot runs some special software

– Often built from a toolkit

  • Used to control that machine
  • Generally allows downloading of new

attack code – And upgrades of control software

  • Incorporates some communication method

– To deliver commands to the bots

slide-55
SLIDE 55

Lecture 12 Page 55 CS 136, Fall 2014

Botnet Communications

  • Originally very unsophisticated

– All bots connected to an IRC channel – Commands issued into the channel

  • Most sophisticated ones use peer technologies

– Similar to some file sharing systems – Peers, superpeers, resiliency mechanisms – Conficker’s botnet uses peer techniques

  • Stronger botnet security becoming common

– Passwords and encryption of traffic

slide-56
SLIDE 56

Lecture 12 Page 56 CS 136, Fall 2014

Botnet Spreading

  • Originally via worms and direct break-in

attempts

  • Then through phishing and Trojan Horses

– Increasing trend to rely on user mistakes

  • Conficker uses multiple vectors

– Buffer overflow, through peer networks, password guessing

  • Regardless of details, almost always

automated

slide-57
SLIDE 57

Lecture 12 Page 57 CS 136, Fall 2014

Characterizing Botnets

  • Most commonly based on size

– Estimates for Conficker over 5 million – Zeus-based botnets got 3.6 million machines in US alone – Trend Micro estimates 100 million machines are members of botnets

  • Controlling software also important
  • Other characteristics less examined
slide-58
SLIDE 58

Lecture 12 Page 58 CS 136, Fall 2014

Why Are Botnets Hard to Handle?

  • Scale
  • Anonymity
  • Legal and international issues
  • Fundamentally, if a node is known to

be a bot, what then? – How are we to handle huge numbers

  • f infected nodes?
slide-59
SLIDE 59

Lecture 12 Page 59 CS 136, Fall 2014

Approaches to Handling Botnets

  • Clean up the nodes

– Can’t force people to do it

  • Interfere with botnet operations

– Difficult and possibly illegal – But some recent successes

  • Shun bot nodes

– But much of their activity is legitimate – And no good techniques for doing so

slide-60
SLIDE 60

Lecture 12 Page 60 CS 136, Fall 2014

Spyware

  • Software installed on a computer that is

meant to gather information

  • On activities of computer’s owner
  • Reported back to owner of spyware
  • Probably violating privacy of the machine’s
  • wner
  • Stealthy behavior critical for spyware
  • Usually designed to be hard to remove
slide-61
SLIDE 61

Lecture 12 Page 61 CS 136, Fall 2014

What Is Done With Spyware?

  • Gathering of sensitive data

– Passwords, credit card numbers, etc.

  • Observations of normal user activities

– Allowing targeted advertising – And possibly more nefarious activities

slide-62
SLIDE 62

Lecture 12 Page 62 CS 136, Fall 2014

Where Does Spyware Come From?

  • Usually installed by computer owner

– Generally unintentionally – Certainly without knowledge of the full impact – Via vulnerability or deception

  • Can be part of payload of worms

– Or installed on botnet nodes

slide-63
SLIDE 63

Lecture 12 Page 63 CS 136, Fall 2014

Malware Components

  • Malware is becoming sufficiently

sophisticated that it has generic components

  • Two examples:

– Droppers – Rootkits

slide-64
SLIDE 64

Lecture 12 Page 64 CS 136, Fall 2014

Droppers

  • Very simple piece of code
  • Runs on new victim’s machine
  • Fetches more complex piece of

malware from somewhere else

  • Can fetch many different payloads
  • Small, simple, hard to detect
slide-65
SLIDE 65

Lecture 12 Page 65 CS 136, Fall 2014

Rootkits

  • Software designed to maintain illicit

access to a computer

  • Installed after attacker has gained very

privileged access on the system

  • Goal is to ensure continued privileged

access – By hiding presence of malware – By defending against removal

slide-66
SLIDE 66

Lecture 12 Page 66 CS 136, Fall 2014

Use of Rootkits

  • Often installed by worms or viruses

– E.g., the Pandex botnet – But Sony installed rootkits on people’s machines via music CDs

  • Generally replaces system components with

compromised versions – OS components – Libraries – Drivers

slide-67
SLIDE 67

Lecture 12 Page 67 CS 136, Fall 2014

Ongoing Rootkit Behavior

  • Generally offer trapdoors to their owners
  • Usually try hard to conceal themselves

– And their other nefarious activities – Conceal files, registry entries, network connections, etc.

  • Also try to make it hard to remove them
  • Sometimes removes others’ rootkits

– Another trick of the Pandex botnet