Defense against the Dark Arts Overview / Terminology 1 malware - - PowerPoint PPT Presentation

defense against the dark arts overview terminology
SMART_READER_LITE
LIVE PREVIEW

Defense against the Dark Arts Overview / Terminology 1 malware - - PowerPoint PPT Presentation

Defense against the Dark Arts Overview / Terminology 1 malware evil software display a funny message send passwords/credit card numbers to criminals take pictures to send to criminals delete data hold data hostage insert/replace ads


slide-1
SLIDE 1

Defense against the Dark Arts Overview / Terminology

1

slide-2
SLIDE 2
slide-3
SLIDE 3

malware

“evil software” display a funny message send passwords/credit card numbers to criminals take pictures to send to criminals delete data hold data hostage insert/replace ads in webpages …

3

slide-4
SLIDE 4

malware

“evil software” display a funny message send passwords/credit card numbers to criminals take pictures to send to criminals delete data hold data hostage insert/replace ads in webpages …

3

slide-5
SLIDE 5

viruses

malware that inserts itself into another program “infects” other programs when run

usually modifjes executables directly

4

slide-6
SLIDE 6

macro viruses

Word, Excel, other office software support macros

scripts embedded in Word/Excel/etc. documents

viruses written in a scripting language

Visual Basic for Applications

spread to office documents, not executables

easily spread in corporate environments

vendor reaction: macros disabled by default now

5

slide-7
SLIDE 7
slide-8
SLIDE 8

all viruses?

some sources call almost all malware virsues

  • r all self-propagating malware

I won’t — but I will avoid testing you on this goal of hierarchy is knowing variety, not characterizing

7

slide-9
SLIDE 9

worms

independent program usually “blends in” with system programs copies itself to other machines or USB keys, etc. sometimes confjgures systems to run it automatically

8

slide-10
SLIDE 10

trojan (horse)s

useful-looking program that is malware:

‘cracked’ version of commerical software fake anti-virus software

  • r looks like useful PDF doc

maybe is (or not), but also does something evil common form for targeted attacks

9

slide-11
SLIDE 11

potentially unwanted programs

unwanted software bundled with wanted software sometimes disclosed but in deceptive fjne print sometimes considered malware, sometimes not

10

slide-12
SLIDE 12

rootkit

root = full privileges

common name for Unix administrator account

rootkit = malware for maintaining full control

thing that malware/attackers install

rootkits evade removal, detection e.g. program made invisible to “task manager”/ps e.g. reinstall malware if removed “normally”

11

slide-13
SLIDE 13

logic bomb

dormant malicious code e.g. from disgruntled employee before quitting

12

slide-14
SLIDE 14

vulnerabilities

trojans: the vulnerability is the user

and/or the user interface

  • therwise?

software vulnerability unintended program behavior that can be used by an adversary

13

slide-15
SLIDE 15

vulnerability example

website able to install software without prompting not intended behavior of web browser

14

slide-16
SLIDE 16

software vulnerability classes (1)

memory safety bugs

problems with pointers big topic in this course

“injection” bugs — type confusion

commands/SQL within name, label, etc.

integer overfmow/underfmow …

15

slide-17
SLIDE 17

software vulnerability classes (2)

not checking inputs/permissions

http://webserver.com/../../../../ file-I-shouldn't-get.txt

almost any ’s “undefjned behavior” in C/C++ synchronization bugs: time-to-check to time-of-use … more?

16

slide-18
SLIDE 18

vulnerability versus exploit

exploit — something that uses a vulnerability to do something proof-of-concept — something = demonstration the exploit is there

example: open a calculator program

17

slide-19
SLIDE 19

malware logistics: how?

what are they written in?

18

slide-20
SLIDE 20

malware languages (1)

assembly language/machine code

hand-coded or partially hand-coded

vulnerabilities deal with machine code/memory layout better for hiding malware from anti-malware tools

19

slide-21
SLIDE 21

malware languages (2)

high-level scripting languages

fast prototyping maintainability/efficiency not priority sometimes malicious scripts non-machine-code parts can use anything!

sometimes specialized “toolkits” example: Virus Construction Kit

20

slide-22
SLIDE 22

malware spreading

vulnerable network-accessible services shared fjles/folders

autorun on USB sticks macros in Word/Excel/etc. fjles

email attachments websites + browser vulnerabilities

JavaScript interpreter bugs Adobe Flash Player bugs

21

slide-23
SLIDE 23

malware defenses (1)

“antivirus” software: Windows Defender avast! Avira AVG McAfee …

22

slide-24
SLIDE 24

malware defenses (2)

app stores/etc. fjltering (in theory)

require developer registration blacklisting after the fact?

“sandboxing” policies

don’t let, e.g., game access your taxes

23

slide-25
SLIDE 25
slide-26
SLIDE 26
slide-27
SLIDE 27

malware defenses (3)

some email spam fjlters blacklists for web browsers

Google Safe Browsing list (Chrome, Firefox) Microsoft SmartScreen (IE, Edge)

26

slide-28
SLIDE 28

malware counter-defenses

malware authors tries to make it hard-to-detect

  • bfuscation:

make code harder to read make code difgerent each time blend in with normal fjles/applications/etc.

27

slide-29
SLIDE 29
slide-30
SLIDE 30
slide-31
SLIDE 31

Morris worm mechanisms

used vulnerabilities in some versions of:

mail servers (sendmail) user information servers (fingerd)

also spread using rsh/rexec (predecessor to ssh) hid by being called sh (default shell) strings obscured slightly in binary

Eichin and Rochlis, “With Microscope and Tweezers: An Analysis of the Internet Virus of November 1998”

30

slide-32
SLIDE 32

the early Internet

pretty homogeneous — almost all Unix-like systems sendmail was “the” email server to run most institutions vulnerable

31

slide-33
SLIDE 33

Morris worm intent versus efgect

code in viruses tried to avoid “reinfecting” machines … but not actually efgective

32

slide-34
SLIDE 34

Stuxnet

targeted Iranian nuclear enrichment facilities physically damaged centrifuges designed to spread via USB sticks publicly known 2010, deployed 2009 US + Israel gov’t developed

according to press reports

33

slide-35
SLIDE 35

Ransomware

encrypt fjles, hold for “ransom” decryption key stored only on attacker-controlled server possibly decrypt fjles if victim pays many millions in revenues

accurate numbers are hard to fjnd

34

slide-36
SLIDE 36

ad injection (1)

internet advertising is big business … but you need to pay websites to add ads? how about modifying browser to add/change ads mostly bundled with legitimate software

35

slide-37
SLIDE 37

From Thomas et al, “Ad Injection at Scale: Assessing Deceptive Advertisement Modifjcations”

slide-38
SLIDE 38

ad injection (2)

5% of Google-accessing clients (2014) >90% using code from VC-backed fjrm SuperFish: $19.3 M in investment (CrunchBase) $38M in revenue (Forbes, 2015) defunct after Lenovo root CA incident (2015) … but founders reported started new, similar venture (JustVisual; according to TechCrunch)

Adware prevalence: Thomas et al, “Ad Injection at Scale: Assessing Deceptive Advertisement Modifjcations”

37

slide-39
SLIDE 39

stealing banking credentials

From Haslebacher et al, “All Your Cards Are Belong To Us: Understanding Online Carding Forms”, arXiv preprint 1607.0017v1

38

slide-40
SLIDE 40

web-camera blackmail

39

slide-41
SLIDE 41

fmooding websites

distributed denial of service example: October 2016 against DNS provider Dyn

used by Twitter, GitHub, Amazon, …, …

40

slide-42
SLIDE 42

monetized DDoS

41

slide-43
SLIDE 43
  • ther motivations

“cloud” of hijacked machines for computation pride, vengeance (website defacement, etc.) …

42

slide-44
SLIDE 44

why talk about why/what?

doesn’t change malware much (also, not a likely topic later in this course) …but, attacking monetization is a real strategy attacker’s willingness to spend?

43

slide-45
SLIDE 45

Website

linked ofg Collab https://www.cs.virginia.edu/~cr4bd/ 4630/S2017/ will include slides, assignments, lecture recordings

44

slide-46
SLIDE 46

lectures and attendance

I recommend coming to lecture I will not be taking attendance (except exams) Lectures will be recorded

45

slide-47
SLIDE 47

Prerequisites

technically CS 2150 CS 3330 will be very helpful

46

slide-48
SLIDE 48

things from 3330 we care about

more review of x86 assembly exceptions and virtual memory

(but probably not in much detail)

47

slide-49
SLIDE 49

Exams/Assignments

many approx. one week assignments two midterms — schedule on website

  • ne fjnal

can’t make it? need accommodations? tell us ASAP!

48

slide-50
SLIDE 50

Textbook

no required textbook

  • ptional materials:

Szor, The Art of Computer Virus Research and Defense I can recommend more general books, too

49

slide-51
SLIDE 51

TAs/Office Hours

TAs posted on website my office hours posted on website TA office hours will be posted

50

slide-52
SLIDE 52

Piazza, etc.

Piazza — linked of Collab TAs and I should be monitoring anonymous feedback on Collab

(almost) always appreciated

51

slide-53
SLIDE 53
  • Misc. Policies

possibly exceptional circumstances? ask! there is a late policy assignments are individual don’t cheat don’t know if it’s cheating? ask!

52

slide-54
SLIDE 54

On Ethics

don’t use someone’s computer without their permission

  • r in excess of what they’ve permitted

don’t assume it’s just a harmless prank

unintended (but likely) consequences

don’t assume the system owner would give you permission

if you’re afraid to ask, it’s not okay

53

slide-55
SLIDE 55

On Law

probably illegal (Federal and/or State crime): accessing computers without authorization

even if nothing is done with the access

deliberately overloading a service “backhacking” into a malware operator’s machine deploying a worm that patches security holes

54

slide-56
SLIDE 56

ethics pledge — please read and sign

  • n website, or I have copies

questions about ethics?

55

slide-57
SLIDE 57

VM

homework assignments fjrst assignment — get an appropriate VM working

56

slide-58
SLIDE 58

VM environment

64-bit Ubuntu 16.04 LTS some assignments will require exactly this (not some other Linux, not 32-bit)

57

slide-59
SLIDE 59

VM problems?

tiny possibility your machine can’t run 64-bit VM (no CPU support — not “it’s hard to setup”) we can fjnd alternative solutions for you talk to us!

58

slide-60
SLIDE 60

related assignment

due 27 Jan (week from Friday) at 5PM assignment on website submission on Collab

59

slide-61
SLIDE 61

next time: on VMs

virtual machines — what, why, how virtual machines and malware

60

slide-62
SLIDE 62

topics outline

prerequisite: assembly review malware history cat-and-mouse: anti-malware software vulnerabilities

memory management related

bonus topics:

“safe” languages web browser security

61

slide-63
SLIDE 63

Conclusion

malware: “evil” software

  • riginally — thrill? proof of concept?

commonly — monetary motives

vulnerabilities:

exploitable unintended program behavior

62