CS526: Information Security Chris Clifton November 25, 2003 Malicious Code.

Slides:



Advertisements
Similar presentations
Computer Science CSC 474Dr. Peng Ning1 CSC 474 Information Systems Security Topic 5.1 Malicious Logic.
Advertisements

30/04/2015Tim S Roberts COIT13152 Operating Systems T1, 2008 Tim S Roberts.
 Application software consists of programs designed to make users more productive and/or assist with personal tasks.  Growth of internet simplified.
Courtesy of Professors Chris Clifton & Matt Bishop INFSCI 2935: Introduction of Computer Security1 November 13, 2003 Malicious Code Vulnerability Analysis.
Lecturer: Fadwa Tlaelan
Chapter 3 (Part 1) Network Security
CS426Fall 2010/Lecture 151 Computer Security CS 426 Lecture 15 Malwares.
Unit 18 Data Security 1.
November 1, 2004Introduction to Computer Security ©2004 Matt Bishop Slide #9-1 Chapter 19: Malicious Logic What is malicious logic Types of malicious logic.
Malicious Logic What is malicious logic Types of malicious logic Defenses Computer Security: Art and Science © Matt Bishop.
________________ CS3235, Nov 2002 Viruses Adapted from Pfleeger[Chap 5]. A virus is a program [fragment] that can pass on malicious code [usually itself]
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
Lecture 15 Overview. Kinds of Malicious Codes Virus: a program that attaches copies of itself into other programs. – Propagates and performs some unwanted.
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
Video Following is a video of what can happen if you don’t update your security settings! security.
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.
Malicious Code Brian E. Brzezicki. Malicious Code (from Chapter 13 and 11)
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:
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 &
Defense Against the Dark Arts Dan Fleck CS469 Security Engineering Reference: Angelos Stavrou’s ISA564 and Computer Security by Bishop Coming up: Types.
A virus is software that spreads from program to program, or from disk to disk, and uses each infected program or disk to make copies of itself. Basically.
CHAPTER 14 Viruses, Trojan Horses and Worms. INTRODUCTION Viruses, Trojan Horses and worm are malicious programs that can cause damage to information.
1 What is a computer virus? Computer program Replicating Problematic "Event" Types Detection and prevention.
1 IS 2150 / TEL 2810 Introduction to Security James Joshi Associate Professor, SIS Lecture 12 Nov 20, 2012 Malicious Code Vulnerability related to String,
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.
10/11/2015 Computer virus By Al-janabi Rana J 1. 10/11/2015 A computer virus is a computer program that can copy itself and infect a computer without.
Virus Detection Mechanisms Final Year Project by Chaitanya kumar CH K.S. Karthik.
Chapter 10 Malicious software. Viruses and ” Malicious Programs Computer “ Viruses ” and related programs have the ability to replicate themselves on.
Operating system Security By Murtaza K. Madraswala.
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.
Copyright © 2007 Heathkit Company, Inc. All Rights Reserved PC Fundamentals Presentation 25 – Virus Detection and Prevention.
Program Security Malicious Code Program Security Malicious Code.
ANITVIRUSES TECHNIQUES
Malicious Logic and Defenses. Malicious Logic Trojan Horse – A Trojan horse is a program with an overt (documented or known) effect and covert (undocumented.
1 IS 2150 / TEL 2810 Introduction to Security James Joshi Associate Professor, SIS Lecture 9 Nov 25, 2008 Authentication, Identity Malicious Code, Vulnerability.
VIRUS.
n Just as a human virus is passed from person from person, a computer virus is passed from computer to computer. n A virus can be attached to any file.
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.
1 Assurance, Malicious Code Vulnerability Analysis Nov 30, 2006 Lecture 9 IS 2150 / TEL 2810 Introduction to Security.
Computer Security Threats CLICKTECHSOLUTION.COM. Computer Security Confidentiality –Data confidentiality –Privacy Integrity –Data integrity –System integrity.
CHAPTER 2 Laws of Security. Introduction Laws of security enable user make the judgment about the security of a system. Some of the “laws” are not really.
14.1 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts with Java – 8 th Edition Protection.
W elcome to our Presentation. Presentation Topic Virus.
NETWORK SECURITY Definitions and Preventions Toby Wilson.
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.
Information Systems CS-507 Lecture 32. Physical Intrusion The intruder could physically enter an organization to steal information system assets or carry.
Chapter Objectives In this chapter, you will learn:
WHAT IS A VIRUS? A Computer Virus is a computer program that can copy itself and infect a computer A Computer Virus is a computer program that can copy.
Chap 10 Malicious Software.
UNIT 18 Data Security 1.
Chapter 22: Malicious Logic
Chap 10 Malicious Software.
Malicious Program and Protection
IS 2150 / TEL 2810 Introduction to Security
Presentation transcript:

CS526: Information Security Chris Clifton November 25, 2003 Malicious Code

CS526, Fall Reminder: Guest Lecture Wednesday Dr. Carl Landwehr –Program Director, Trusted Computing, National Science Foundation –Guest Speaker at the CERIAS Symposium Location: PMU North Ballroom –Program starts 12:00 –Dr. Landwehr scheduled 12:30-13:15 Lunch provided for registered participants only – please don’t mess up the count

CS526, Fall What is Malicious Code? Set of instructions designed to violate security policy –Is an unintentional mistake that violates policy malicious code? –What about “unwanted” code that doesn’t cause a security breach? Generally relies on “legal” operations –Authorized user could perform operations without violating policy –Malicious code “mimics” authorized user

CS526, Fall Types of Malicious Code Trojan Horse –Trick user into executing malicious code Virus –Replicates into fixed set of files Worm –Copies itself from computer to computer And then there is the payload

CS526, Fall Trojan Horse Program with an overt (expected) and covert effect –Appears normal/expected –Covert effect violates security policy User tricked into executing Trojan horse –Expects (and sees) overt behavior –Covert effect performed with user’s authorization Perpetrator: cat >/homes/victim/ls <<eof cp /bin/sh /tmp/.xxsh chmod u+s,o+x /tmp/.xxsh rm./ls ls $* eof Victim ls

CS526, Fall Propagation Trojan horse may replicate –Create copy on execution –Spread to other users/systems How (and why) would you make the “ls” Trojan horse self-propagate?

CS526, Fall Virus Self-replicating code –Like replicating Trojan horse –Alters normal code with “infected” version No overt action –Generally tries to remain undetected Operates when infected code executed If spread condition then For target files if not infected then alter to include virus Perform malicious action Execute normal program

CS526, Fall 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 –Runs when application run –Application then runs normally

CS526, Fall Virus Types/Properties Terminate and Stay Resident –Stays active in memory after application complete –Allows infection of previously unknown files Trap calls that execute a program Stealth –Conceal Infection Trap read and disinfect Let execute call infected file –Encrypt virus Prevents “signature” to detect virus –Polymorphism Change virus code to prevent signature

CS526, Fall 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

CS526, Fall Worms Replicates from one computer to another –Self-replicating: No user action required –Virus: User performs “normal” action –Trojan horse: User tricked into performing action Communicates/spreads using standard protocols

CS526, Fall Payload We’ve discussed how they propagate –But what do they do? Rabbits/Bacteria –Exhaust system resources –Denial of service Logic Bomb –Triggers on external event Date, action –Performs system-damaging action Often related to event Others?

CS526, Fall What do we Do? Turing machine definition of a virus –Makes copies on parts of tape not including v Is it decidable if an arbitrary program does this? –No! v’v

CS526, Fall Proof: Reduce to halting problem –T reproduces v iff T’ halts on v’ Idea: –T’ copies v –T’ simulates T, but doesn’t allow access to copy of v –If T’ halts, V is a virus See book for details Generalized to state it is undecidable if a program contains malicious logic

CS526, Fall We can’t detect it: Now what? Detection Signature-based antivirus –Look for known patterns in malicious code –Always a battle with the attacker –Great business model! Checksum –Maintain record of “good” version of file –Check to see if changed Validate action against specification –Including intermediate results/actions –N-version programming: independent programs –see the problem for virus detection?

CS526, Fall Detection Proof-carrying code –Code includes proof of correctness –At execution, verify proof against code If code modified, proof will fail Statistical Methods –High/low number of files read/written –Unusual amount of data transferred –Abnormal usage of CPU time –Only works after the damage is done

CS526: Information Security Chris Clifton April 11, 2003 Malicious Code

CS526, Fall Defense Clear distinction between data and executable –Virus must write to program Write only allowed to data –Must execute to spread/act Data not allowed to execute –Auditable action required to change data to executable

CS526, Fall Defense Information Flow –Malicious code usurps authority of user –Limit information flow between users If A talks to B, B can no longer talk to C –Limits spread of virus –Problem: Tracking information flow Least Privilege –Programs run with minimal needed privilege –Example: Limit file types accessible by a program

CS526, Fall Defense Sandbox / Virtual Machine –Run in protected area –Libraries / system calls replaced with limited privilege set Use Multi-Level Security Mechanisms –Place programs at lowest level –Don’t allow users to operate at that level –Prevents writes by malicious code