Computer Viruses Theory and Experiments By Dr. Frederick B. Cohen Presented by Jose Andre Morales.

Slides:



Advertisements
Similar presentations
CS 345: Chapter 9 Algorithmic Universality and Its Robustness
Advertisements

CS 461 – Nov. 9 Chomsky hierarchy of language classes –Review –Let’s find a language outside the TM world! –Hints: languages and TM are countable, but.
The Recursion Theorem Sipser – pages Self replication Living things are machines Living things can self-reproduce Machines cannot self reproduce.
Analyzing Malware Detection Efficiency with Multiple Anti-Malware Programs Dr. Jose A. Morales – Software Engineering Institute, Carnegie Mellon University.
1 COMP 382: Reasoning about algorithms Unit 9: Undecidability [Slides adapted from Amos Israeli’s]
CSC 3130: Automata theory and formal languages Andrej Bogdanov The Chinese University of Hong Kong Variants.
Nathan Brunelle Department of Computer Science University of Virginia Theory of Computation CS3102 – Spring 2014 A tale.
CS605 – The Mathematics and Theory of Computer Science Turing Machines.
1 Introduction to Computability Theory Lecture15: Reductions Prof. Amos Israeli.
1 Introduction to Computability Theory Lecture12: Reductions Prof. Amos Israeli.
1 Introduction to Computability Theory Lecture13: Mapping Reductions Prof. Amos Israeli.
FLAC Lecture 19 Turing Machines and Real Life * Reductions Mihai Budiu March 3, 2000.
Homework #9 Solutions.
CS5371 Theory of Computation Lecture 10: Computability Theory I (Turing Machine)
Lecture 27UofH - COSC Dr. Verma 1 COSC 3340: Introduction to Theory of Computation University of Houston Dr. Verma Lecture 27.
1 Introduction to Computability Theory Lecture11: The Halting Problem Prof. Amos Israeli.
1 Reducibility. 2 Problem is reduced to problem If we can solve problem then we can solve problem.
Theory of Computation. Computation Computation is a general term for any type of information processing that can be represented as an algorithm precisely.
AUTOMATA THEORY VIII.
1 September 14, 2006 Lecture 3 IS 2150 / TEL 2810 Introduction to Security.
Computer Viruses -Theory and Experiments Dr. Frederick B. Cohen DOD/NBS 7 th Conference on Computer Security Copyright©,1984,Fred Cohen Presented by Swetha.
VIRUSES - Janhavi Naik. Overview Structure Classification Categories.
Structure Classifications &
The Recursion Theorem Pages 217– ADVANCED TOPICS IN C O M P U T A B I L I T Y THEORY.
MA/CSSE 474 Theory of Computation More Reduction Examples Non-SD Reductions.
Biologically Inspired Defenses against Computer Viruses International Joint Conference on Artificial Intelligence 95’ J.O. Kephart et al.
MA/CSSE 474 Theory of Computation Enumerability Reduction.
Halting Problem Introduction to Computing Science and Programming I.
 2005 SDU Lecture13 Reducibility — A methodology for proving un- decidability.
1Computer Sciences Department. Book: INTRODUCTION TO THE THEORY OF COMPUTATION, SECOND EDITION, by: MICHAEL SIPSER Reference 3Computer Sciences Department.
Computability Heap exercise. The class P. The class NP. Verifiers. Homework: Review RELPRIME proof. Find examples of problems in NP.
CS Master – Introduction to the Theory of Computation Jan Maluszynski - HT Lecture 7 Undecidability cont. Jan Maluszynski, IDA, 2007
TM Design Macro Language D and SD MA/CSSE 474 Theory of Computation.
Fundamentals of Informatics Lecture 13 Reduction Bas Luttik.
Decidability and Undecidability Proofs Sections 21.1 – 21.3.
CS 3240: Languages and Computation
Lecture 24UofH - COSC Dr. Verma 1 COSC 3340: Introduction to Theory of Computation University of Houston Dr. Verma Lecture 24.
1 Turing Machines - Chap 8 Turing Machines Recursive and Recursively Enumerable Languages.
Lecture 16b Turing Machines Topics: Closure Properties of Context Free Languages Cocke-Younger-Kasimi Parsing Algorithm June 23, 2015 CSCE 355 Foundations.
Automata & Formal Languages, Feodor F. Dragan, Kent State University 1 CHAPTER 3 The Church-Turing Thesis Contents Turing Machines definitions, examples,
CSCI 2670 Introduction to Theory of Computing December 2, 2004.
1 Introduction to Turing Machines
CSE 105 Theory of Computation Alexander Tsiatas Spring 2012 Theory of Computation Lecture Slides by Alexander Tsiatas is licensed under a Creative Commons.
Turing Machines Sections 17.6 – The Universal Turing Machine Problem: All our machines so far are hardwired. ENIAC
Undecidability and The Halting Problem
1 Design and Analysis of Algorithms Yoram Moses Lecture 13 June 17, 2010
Turing Machines. The next level of Machine… PDAs improved on FSAs by adding memory. We make the memory more flexible to do more complicated tasks.
Theory of Computation Automata Theory Dr. Ayman Srour.
MA/CSSE 474 Theory of Computation Decision Problems, Continued DFSMs.
Costas Busch - RPI1 Decidability. Costas Busch - RPI2 Another famous undecidable problem: The halting problem.
Fall 2013 Lecture 27: Turing machines and decidability CSE 311: Foundations of Computing.
Introduction to Computing Science and Programming I
Recursively Enumerable Languages
Automata, Grammars and Languages
COSC 3340: Introduction to Theory of Computation
Busch Complexity Lectures: Reductions
Undecidable Problems Costas Busch - LSU.
Reductions Costas Busch - LSU.
CS154, Lecture 11: Self Reference, Foundation of Mathematics
COSC 3340: Introduction to Theory of Computation
Turing Machines Acceptors; Enumerators
Intro to Theory of Computation
Busch Complexity Lectures: Undecidable Problems (unsolvable problems)
Chapter 3: The CHURCH-Turing thesis
IS 2150 / TEL 2810 Introduction to Security
Decidable Languages Costas Busch - LSU.
Decidability and Undecidability
The Off-Line Machine Input File read-only (once) Input string
COSC 3340: Introduction to Theory of Computation
CS154, Lecture 11: Self Reference, Foundation of Mathematics
Presentation transcript:

Computer Viruses Theory and Experiments By Dr. Frederick B. Cohen Presented by Jose Andre Morales

Background Originally written in 1984 Published in Computers and Security, Vol. 6, pp Appeared in DOD/NBS 7 th Conference on Computer Security Considered the foundation of computer virus research

Highlights Coined the phrase “Computer Virus” Gave a definition for a computer virus Showed multiple aspects of dealing with viruses are not decidable Presented many fundamental properties of computer viruses

Computer Virus Defined A computer virus is defined as: A program that can infect other programs by modifying them to include a possibly evolved copy of itself Key Property: the ability to infect other programs.

An Example We have a file sharing system User A has program P1 that is infected by a virus User B runs P1 from the file sharing system and P1 infects B’s program P2 User C runs P2 from the same file sharing system and P2 infects C’s program P3 Virus spreads from program to program and user to user

Deeper Description of a Virus A computer virus can be viewed as sequences of symbols in the memory of a machine in some form Ex. main memory, registers, disk, tape, etc… One of those sequences of symbols (v) is an element of a viral set (V) if –when interpreted by the machine it causes some other element of the viral set or itself (v’) to appear somewhere else in the system at a later point in time

Formal Definition of Language V  M  V (M,V)  V  [V  I*] and [M  M ] and  v  V  H  t, j  N [[P t = j] and [  t =  0 ] and ( t,j,…, t,j+|v|-1 ) = v]   v’  V,  t’, t’’, j  N and t’ > t [[j’ + |v’|)  j] or [(j + |v|)  j’]] and [(( t’,j’,…, t’,j’+|v’|-1 ) = v’] and [  t’’[t < t’’ < t’] and [P t’’  {j’,…j’ + |v’| -1}]]

Description of Formal Definition For all M and V, the pair (M,V)  V if and only if V is a set of TM sequences and M is a TM where M’s tape head is at a cell j at time t and the tape cells starting at j hold the virus v At a time t’ > t tape cells starting at cell j’, far enough away from v hold the virus v’ such that At time t < t’’ < t’, v’ is written by M to tape cells starting at j’

Detection of a Virus P is a virus if it is determined that P infects other programs This is not a decidable problem P can infect if and only if a detection process D finds P to be non-viral Thus finding a virus by appearance may be infeasible

Detection of a Virus 2 An example program contradictory-virus:= {... main-program:= {if ~D(contradictory-virus) then {infect-executable; if trigger-pulled then do-damage; } goto next; } } The virus CV will only infect if the detector D returns False, if D returns True no infection takes place.

Detection of a Virus 3 If D returns true then the virus CV will not act like a virus If D returns false then the virus CV will act as one. Clearly detector D is self contradictory

Formal Proof 1 Can a Turing Machine be created that can determine in a finite amount of time If a set of sequences of symbols V for a given Turing Machine M is a virus. Cohen showed that it is not decidable whether or not (M,V)  V This is done via a reduction from A tm

Formal Proof 2 A Turing Machine M’ that decides if (M,V)  V On input 1.Run M on V 2.If M accepts V then accept  (M,V)  V 3.If M rejects V then reject  (M,V) not  V (M,V)  V if and only if M accepts and halts on V Thus we have A tm ≤ V Since A tm is not decidable then V is also not decidable. QED

Removal of a Virus 1 Removal of a virus depends on detection Detection is not decidable the removal of a virus is not absolutely guaranteed Therefore not all viruses can be precisely detected and removed from a given computer system.

Removal of a Virus 2 If a more liberal detection method is used then detection and removal is possible But at the expense of producing false positives and false negatives. Ex. Erase all files created after a specific date from the system.

Cohen’s Not Decidable Detection Problems Detection of a virus by its appearance and behavior Detection of an evolution of a known virus Detection of a triggering mechanism by its appearance and behavior Detection of an evolution of a known triggering mechanism Detection of a virus detector by its appearance and behavior Detection of an evolution of a known viral detector

Cohen’s Conclusions Precise viral detection is not decidable Multiple detection problems dealing with virus are not decidable Viral removal is not always guaranteed because it is dependent on detection

Questions? sawaal soru 問題 ¿Preguntas?