infamous malware examples

9
Outline Introduction Malware Logic Conclusion Selected Bibliography A General Definition of Malware (SRM Seminar) Simon Kramer (j.w.w. Julian C. Bradfield, U Edinburgh) University of Luxembourg Institute of Mathematical Sciences, Chennai May 17, 2010 Simon Kramer (j.w.w. Julian C. Bradfield, U Edinburgh) A General Definition of Malware Outline Introduction Malware Logic Conclusion Selected Bibliography Infamous malware examples Conficker detected in November 2008— still active— can cause a computer under the Windows operating system to become a component of a remote-controlled botnet against the user’s will— on an infected computer, it causes a buer overflow in which harmful excess code is executed by the operating system— the excess code downloads more code that hijacks the server services of the operating system, in order to update and spread the worm via the network— variant code inhibits also the security services of the operating system and connections to anti-malware websites. . . aected European military systems... Stuxnet http: //www.schneier.com/blog/archives/2010/10/stuxnet.html Simon Kramer (j.w.w. Julian C. Bradfield, U Edinburgh) A General Definition of Malware Outline Introduction Malware Logic Conclusion Selected Bibliography World-wide malware impact www.microsoft.com/sir Insu cient data Malware Detections by Country/Region (per 1000) 37 + 31 to 37 26 to 31 21 to 26 17 to 21 13 to 17 10 to 13 7 to 10 5 to 7 3 to 5 1.5 to 3 0 to 1.5 This map illustrates the relative infection rates of di ering regions based on the number of infected computers discovered per 1,000 executions of the MSRT. For example, a region colored yellow would have an infection rate of between 7 and 10 computers per 1,000 executions of the MSRT. MSRT = Malicious Software Removal Tool [Microsoft Security Intelligence Report, Volume 7, January through June 2009] Simon Kramer (j.w.w. Julian C. Bradfield, U Edinburgh) A General Definition of Malware Outline Introduction Malware Logic Conclusion Selected Bibliography World-wide malware impact (continued) World-wide malware-induced damage in 2006 = $13.3 · 10 9 [Computer Economics Inc., 2007] Simon Kramer (j.w.w. Julian C. Bradfield, U Edinburgh) A General Definition of Malware

Upload: others

Post on 29-Apr-2022

9 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Infamous malware examples

OutlineIntroduction

Malware LogicConclusion

Selected Bibliography

A General Definition of Malware(SRM Seminar)

Simon Kramer(j.w.w. Julian C. Bradfield, U Edinburgh)

University of LuxembourgInstitute of Mathematical Sciences, Chennai

May 17, 2010

Simon Kramer (j.w.w. Julian C. Bradfield, U Edinburgh) A General Definition of Malware

OutlineIntroduction

Malware LogicConclusion

Selected Bibliography

Infamous malware examples

Conficker detected in November 2008— still active— can cause acomputer under the Windows operating system to become acomponent of a remote-controlled botnet against the user’s will—on an infected computer, it causes a buffer overflow in whichharmful excess code is executed by the operating system— theexcess code downloads more code that hijacks the server servicesof the operating system, in order to update and spread the wormvia the network— variant code inhibits also the security services ofthe operating system and connections to anti-malwarewebsites. . . affected European military systems. . .

Stuxnet http://www.schneier.com/blog/archives/2010/10/stuxnet.html

Simon Kramer (j.w.w. Julian C. Bradfield, U Edinburgh) A General Definition of Malware

OutlineIntroduction

Malware LogicConclusion

Selected Bibliography

World-wide malware impact

www.microsoft.com/sirInsu cient data

Malware Detections by Country/Region (per 1000)

37 +

31 to 37

26 to 31

21 to 26

17 to 21

13 to 17

10 to 13

7 to 10

5 to 7

3 to 5

1.5 to 3

0 to 1.5This map illustrates the relative infection rates of di ering regions based on the number of infected computers discovered per 1,000 executions of the MSRT. For example, a region colored yellow would have an infection rate of between 7 and 10 computers per 1,000 executions of the MSRT.

∗ MSRT = Malicious Software Removal Tool[Microsoft Security Intelligence Report, Volume 7, January through June 2009]

Simon Kramer (j.w.w. Julian C. Bradfield, U Edinburgh) A General Definition of Malware

OutlineIntroduction

Malware LogicConclusion

Selected Bibliography

World-wide malware impact (continued)

World-wide malware-induced damage in 2006 = $13.3 · 109

[Computer Economics Inc., 2007]

Simon Kramer (j.w.w. Julian C. Bradfield, U Edinburgh) A General Definition of Malware

Page 2: Infamous malware examples

OutlineIntroduction

Malware LogicConclusion

Selected Bibliography

OutlineIntroduction

Motivation, Goal, and MethodologyMalware as harmful softwareHarm as incorrectnessPrerequisites

Malware LogicPreliminariesMalware and BenwareAnti-malware and MedwareTasks, Tools, and Techniques

ConclusionAssessmentRelated workFuture work

Selected Bibliography

Simon Kramer (j.w.w. Julian C. Bradfield, U Edinburgh) A General Definition of Malware

OutlineIntroduction

Malware LogicConclusion

Selected Bibliography

Motivation, Goal, and MethodologyMalware as harmful softwareHarm as incorrectnessPrerequisites

Motivation, Goal, and Methodology

Motivation An open problem [FHZ06]: find a general definitionof malware (= malicious software), e.g., botnets,rootkits, Trojan horses, viruses, worms, etc.

Goal Obtain a formal solution to the problem.

Methodology Formulation of the solution as a single sentence ina computational modal fixpoint logic.

Simon Kramer (j.w.w. Julian C. Bradfield, U Edinburgh) A General Definition of Malware

OutlineIntroduction

Malware LogicConclusion

Selected Bibliography

Motivation, Goal, and MethodologyMalware as harmful softwareHarm as incorrectnessPrerequisites

Malware as harmful software

What is malware?� Informally,

malware = malicious software� Malicious intention is not generally directly observable!� How to distinguish unawareness (juvenile hacking, accidental

anti-hacking) from malice?� Users don’t care: all that matters is (harmful) effect, not

(malicious) intention.� Malice is immaterial!� psychological “definition”

� Intuitively,

malware = harmful software� Harmful effect is observable!� scientific definition

Simon Kramer (j.w.w. Julian C. Bradfield, U Edinburgh) A General Definition of Malware

OutlineIntroduction

Malware LogicConclusion

Selected Bibliography

Motivation, Goal, and MethodologyMalware as harmful softwareHarm as incorrectnessPrerequisites

Harm as incorrectness

� doing harm = causing that

actual behaviour �= intended behaviour

� actuality − intention = incorrectness

� defining principle for malware:

causation of incorrectness

� harmful attack = falsification of a necessary condition forcorrectness

� formal systems engineering� correctness intention must be specified� we don’t care how:

correct(s)

Simon Kramer (j.w.w. Julian C. Bradfield, U Edinburgh) A General Definition of Malware

Page 3: Infamous malware examples

OutlineIntroduction

Malware LogicConclusion

Selected Bibliography

Motivation, Goal, and MethodologyMalware as harmful softwareHarm as incorrectnessPrerequisites

Example: Sorting

� Given: a program s for sorting an array A of l integers

� Sought: a correctness definition for s

� Pre := A : Arrayl∈N(Z)� Post := ∀(1 ≤ i ≤ l)∀(1 ≤ j ≤ l)(i ≤ j → A[i ] ≤ A[j ])

Is that strong enough?

� correct(s) :iff �Hoare Pre {s}Post

� Variations: add necessary conditions (e.g., exact algorithmiccomplexity), stipulate proof-carrying code, etc.

Simon Kramer (j.w.w. Julian C. Bradfield, U Edinburgh) A General Definition of Malware

OutlineIntroduction

Malware LogicConclusion

Selected Bibliography

Motivation, Goal, and MethodologyMalware as harmful softwareHarm as incorrectnessPrerequisites

Prerequisites

Theorem (Knaster-Tarski fixpoint theorem)

Let �L,≤� designate a complete lattice1 and f : L → L amonotonic map2 on L. Then,

g :=�

{ a | a ∈ L and a ≤ f (a) }

is the greatest fixpoint of f , and, dually,

l :=�

{ a | a ∈ L and f (a) ≤ a }

is the least fixpoint of f .

1� S (lub) and�

S (glb) exist for arbitrary S ⊆ L2for all a, b ∈ L, if a ≤ b then f (a) ≤ f (b)

Simon Kramer (j.w.w. Julian C. Bradfield, U Edinburgh) A General Definition of Malware

OutlineIntroduction

Malware LogicConclusion

Selected Bibliography

PreliminariesMalware and BenwareAnti-malware and MedwareTasks, Tools, and Techniques

Preliminaries

Definition (Damaging software)

A software system s damages a correct software system s � bydefinition if and only if s (directly or indirectly) causesincorrectness to s �. Formally,

s damages s � :iff correct(s �) and not correct(s(s �)) directlys damages0 s � :iff s damages s �

s damagesn+1 s � :iff there is s �� s.t. not s �� damages◦ s �

and s(s ��) damagesn s �indirectly

s damages◦ s � :iff�

n∈N s damagesn s �.

Simon Kramer (j.w.w. Julian C. Bradfield, U Edinburgh) A General Definition of Malware

OutlineIntroduction

Malware LogicConclusion

Selected Bibliography

PreliminariesMalware and BenwareAnti-malware and MedwareTasks, Tools, and Techniques

Preliminaries

Definition (Repairing software)

A software system s repairs an incorrect software system s � bydefinition if and only if s (directly or indirectly) causes correctnessto s �. Formally,

s repairs s � :iff not correct(s �) and correct(s(s �)) directlys repairs0 s � :iff s repairs s �

s repairsn+1 s � :iff there is s �� s.t. not s �� repairs◦ s �

and s(s ��) repairsn s �indirectly

s repairs◦ s � :iff�

n∈N s repairsn s �.

Simon Kramer (j.w.w. Julian C. Bradfield, U Edinburgh) A General Definition of Malware

Page 4: Infamous malware examples

OutlineIntroduction

Malware LogicConclusion

Selected Bibliography

PreliminariesMalware and BenwareAnti-malware and MedwareTasks, Tools, and Techniques

Malware Logic

Definition (MalLog)

Let M designate a countable set of propositional variables M, and

Φ � φ ::= M�� ¬φ

�� φ ∧ φ�� ∀D(φ)

�� ∀R(φ)�� νM(φ)

the language Φ of MalLog where all free occurrences of M in φ ofνM(φ) are assumed to occur within an even number ofoccurrences of ¬ to guarantee the existence of (greatest) fixpoints(expressed by νM(φ)) [BS07].

Simon Kramer (j.w.w. Julian C. Bradfield, U Edinburgh) A General Definition of Malware

OutlineIntroduction

Malware LogicConclusion

Selected Bibliography

PreliminariesMalware and BenwareAnti-malware and MedwareTasks, Tools, and Techniques

Malware Logic (continued)

Then, given the (or only some sub-) class S of software systems(not just pieces of software) s and an interpretation �·� : M → 2S

of propositional variables, the interpretation � · ��·� : Φ → 2S ofMalLog-propositions is:

�M��·� := �M��¬φ��·� := S \ �φ��·�

�φ ∧ φ���·� := �φ��·� ∩ �φ���·��∀D(φ)��·� := { s | for all s �, if s damages◦ s � then s � ∈ �φ��·� }�∀R(φ)��·� := { s | for all s �, if s repairs◦ s � then s � ∈ �φ��·� }

�νM(φ)��·� :=�

{ S | S ⊆ �φ��·�[M �→S]}

where �·�[M �→S] maps M to S and otherwise agrees with �·�.Simon Kramer (j.w.w. Julian C. Bradfield, U Edinburgh) A General Definition of Malware

OutlineIntroduction

Malware LogicConclusion

Selected Bibliography

PreliminariesMalware and BenwareAnti-malware and MedwareTasks, Tools, and Techniques

Malware Logic (continued)

Further, φ ∨ φ� := ¬(¬φ ∧ ¬φ�), � := φ ∨ ¬φ, ⊥ := ¬�,φ → φ� := ¬φ ∨ φ�, φ ↔ φ� := (φ → φ�) ∧ (φ� → φ), and

∃D(φ) := ¬∀D(¬φ)∃R(φ) := ¬∀R(¬φ)

µM(φ(M)) := ¬νM(¬φ(¬M)).

Finally,

� for all φ ∈ Φ and s ∈ S, s |= φ :iff s ∈ �φ��·�� |= φ :iff for all s ∈ S, s |= φ� for all φ,φ� ∈ Φ,

� φ ⇒ φ� :iff for all s ∈ S, if s |= φ then s |= φ�

� φ ⇔ φ� :iff φ ⇒ φ� and φ� ⇒ φ.

Simon Kramer (j.w.w. Julian C. Bradfield, U Edinburgh) A General Definition of Malware

OutlineIntroduction

Malware LogicConclusion

Selected Bibliography

PreliminariesMalware and BenwareAnti-malware and MedwareTasks, Tools, and Techniques

Basic properties of MalLog

Fact

1. |= φ → φ� iff φ ⇒ φ�

(By expansion of the definitions.)

2. |= φ ↔ φ� iff φ ⇔ φ�

3. MalLog is a member of the family of µ-calculi over the modalsystem K2, which is characterised by the validities ofpropositional logic and the modal laws|= �(φ → φ�) → (�φ → �φ�) and “if |= φ then |= �φ”,where � ∈ {∀D,∀R}.

Simon Kramer (j.w.w. Julian C. Bradfield, U Edinburgh) A General Definition of Malware

Page 5: Infamous malware examples

OutlineIntroduction

Malware LogicConclusion

Selected Bibliography

PreliminariesMalware and BenwareAnti-malware and MedwareTasks, Tools, and Techniques

Basic properties of MalLog (continued)

Corollary

1. If damages◦ and repairs◦ are decidable on a given softwaresystems domain then the satisfiability problem for MalLog,i.e., “Given φ ∈ Φ, is there s ∈ S s.t. s |= φ?”, (and thus alsothe model-checking problem, i.e., “Given φ ∈ Φ and s ∈ S, isit the case that s |= φ?”) is decidable.

2. MalLog is axiomatisable by the following Hilbert-styleproof-system:2.1 the axioms/rules of the modal system K for each ∀D and ∀R2.2 the axiom φ(µM(φ(M))) → µM(φ(M))

2.3 the ruleφ(φ�) → φ�

µM(φ(M)) → φ� .

Simon Kramer (j.w.w. Julian C. Bradfield, U Edinburgh) A General Definition of Malware

OutlineIntroduction

Malware LogicConclusion

Selected Bibliography

PreliminariesMalware and BenwareAnti-malware and MedwareTasks, Tools, and Techniques

Defining malware

Definition (Malware)

A software system s is malware by definition if and only if sdamages non-damaging software systems (the civil population soto say) or software systems that damage malware (the anti-terrorforce so to say). Formally,

mal(s) :iff s |= νM(∃D(∀D(M))).

Simon Kramer (j.w.w. Julian C. Bradfield, U Edinburgh) A General Definition of Malware

OutlineIntroduction

Malware LogicConclusion

Selected Bibliography

PreliminariesMalware and BenwareAnti-malware and MedwareTasks, Tools, and Techniques

An iterative paraphrase

� Everything is malware (better be safe than sorry)

� except for (throw out what is clearly safe) the followingsystems:

0. non-damaging systems (CP)1. systems that damage only systems that damage CP

(ATF1)2. systems that damage only systems that damage ATF1

(ATF2)3. systems that damage only systems that damage ATF2

(ATF3)4. etc.

Simon Kramer (j.w.w. Julian C. Bradfield, U Edinburgh) A General Definition of Malware

OutlineIntroduction

Malware LogicConclusion

Selected Bibliography

PreliminariesMalware and BenwareAnti-malware and MedwareTasks, Tools, and Techniques

Deriving benware

Definition (Benware)

A software system s is benware by definition if and only if s isnon-damaging or damages only software systems that damagebenware. Formally,

ben(s) :iff s |= µM(∀D(∃D(M))).

Simon Kramer (j.w.w. Julian C. Bradfield, U Edinburgh) A General Definition of Malware

Page 6: Infamous malware examples

OutlineIntroduction

Malware LogicConclusion

Selected Bibliography

PreliminariesMalware and BenwareAnti-malware and MedwareTasks, Tools, and Techniques

An iterative paraphrase

� Nothing is benware (again, better be safe than sorry)

� except for (throw in what is clearly safe) the followingsystems:

0. non-damaging systems (CP)1. systems that damage only systems that damage CP

(ATF1)2. systems that damage only systems that damage ATF1

(ATF2)3. systems that damage only systems that damage ATF2

(ATF3)4. etc.

Simon Kramer (j.w.w. Julian C. Bradfield, U Edinburgh) A General Definition of Malware

OutlineIntroduction

Malware LogicConclusion

Selected Bibliography

PreliminariesMalware and BenwareAnti-malware and MedwareTasks, Tools, and Techniques

The Malware-versus-Benware arms race

Fact

ben(s) if and only if not mal(s)

Benware

Malware

ATF3

MW2

ATF2

MW1

ATF1

MW0

CP

MW3

Good&Bad distinction induced by the existence of apopulation that is (perceived as) non-damaging

Simon Kramer (j.w.w. Julian C. Bradfield, U Edinburgh) A General Definition of Malware

OutlineIntroduction

Malware LogicConclusion

Selected Bibliography

PreliminariesMalware and BenwareAnti-malware and MedwareTasks, Tools, and Techniques

Anti-malware

Definition (Anti-malware)

A software system s is anti-malware by definition if and only if sdamages no benware (safety)3 and s neutralises4 malware(effectiveness). Formally,

antimal(s) :iff s |= ¬∃D(BEN) andthere is s � s.t. mal(s �) and not mal(s(s �))

where BEN := µM(∀D(∃D(M))).

3no friendly fire4Damage is insufficient!

Simon Kramer (j.w.w. Julian C. Bradfield, U Edinburgh) A General Definition of Malware

OutlineIntroduction

Malware LogicConclusion

Selected Bibliography

PreliminariesMalware and BenwareAnti-malware and MedwareTasks, Tools, and Techniques

Medware

Definition (Medware)

A software system s is medware by definition if and only if sdamages no benware (safety) and s repairs benware (effectiveness).Formally,

med(s) :iff s |= ¬∃D(BEN) ∧ ∃R(BEN).

Simon Kramer (j.w.w. Julian C. Bradfield, U Edinburgh) A General Definition of Malware

Page 7: Infamous malware examples

OutlineIntroduction

Malware LogicConclusion

Selected Bibliography

PreliminariesMalware and BenwareAnti-malware and MedwareTasks, Tools, and Techniques

Tasks, Tools, and Techniques for fighting Malware

Task Tool Technique

detection satisfaction relation |= Model Checking

comparisonlanguage & bisimulation

equivalenceEquivalence Checking

classification characteristic formulas MC, EC

Simon Kramer (j.w.w. Julian C. Bradfield, U Edinburgh) A General Definition of Malware

OutlineIntroduction

Malware LogicConclusion

Selected Bibliography

PreliminariesMalware and BenwareAnti-malware and MedwareTasks, Tools, and Techniques

Malware Comparison (declarative)

Definition (Language equivalence)

For all s1, s2 ∈ S,� s1 �Φ s2 :iff for all φ ∈ Φ, if s1 |= φ then s2 |= φ

� s1 ≡Φ s2 :iff s1 �Φ s2 and s2 �Φ s1.

Simon Kramer (j.w.w. Julian C. Bradfield, U Edinburgh) A General Definition of Malware

OutlineIntroduction

Malware LogicConclusion

Selected Bibliography

PreliminariesMalware and BenwareAnti-malware and MedwareTasks, Tools, and Techniques

Malware Comparison (operational)

Definition (Bisimulation equivalence)

� For all s1, s2 ∈ S,� s1 � s2 :iff for all s �1 ∈ S,

1. if s1 damages◦ s �1 then there is s �2 ∈ S s.t. s2 damages◦ s �22. if s1 repairs◦ s �1 then there is s �2 ∈ S s.t. s2 repairs◦ s �2.

� For all S ⊆ S × S,

O�(S) := { (s1, s2) ∈ S | s1 � s2 and s2 � s1 }.

� ≈ := the greatest fixpoint of (monotonic) O�

=�{ S | S ⊆ O�(S) }, by Knaster-Tarski

Simon Kramer (j.w.w. Julian C. Bradfield, U Edinburgh) A General Definition of Malware

OutlineIntroduction

Malware LogicConclusion

Selected Bibliography

PreliminariesMalware and BenwareAnti-malware and MedwareTasks, Tools, and Techniques

Malware Classification

Definition (Characteristic formula)

Let S ⊆ S, s ∈ S , D(S , s) := { s � | s � ∈ S and s damages◦ s � },R(S , s) := { s � | s � ∈ S and s repairs◦ s � }, and Ms ∈ M. Then,the characteristic formula χ(s, S) of the software system s w.r.t.S is the solution of the equation system

Msν= ∀D(

�s�∈D(S ,s)Ms�) ∧ ∀R(

�s�∈R(S ,s)Ms�) ∧

[�

s�∈D(S ,s) ∃D(Ms�)] ∧ [�

s�∈R(S ,s) ∃R(Ms�)],

(where�

∅ := ⊥ and�

∅ := �) obtained [BS07] by translatingeach equation M i ν

= ψi (S) into a formula νM i (ψi (S)) andrecursively substituting these formulae for the corresponding freevariables in the first formula νMs(ψs(S)).

Simon Kramer (j.w.w. Julian C. Bradfield, U Edinburgh) A General Definition of Malware

Page 8: Infamous malware examples

OutlineIntroduction

Malware LogicConclusion

Selected Bibliography

PreliminariesMalware and BenwareAnti-malware and MedwareTasks, Tools, and Techniques

Characterisation result

Theorem

For all s, s � ∈ S,

s ≡Φ s � iff s ≈ s � iff s |= χ(s �,S).

Simon Kramer (j.w.w. Julian C. Bradfield, U Edinburgh) A General Definition of Malware

OutlineIntroduction

Malware LogicConclusion

Selected Bibliography

AssessmentRelated workFuture work

Assessment

Our approach:

1. malware-versus-benware arms race confined to formal systemsengineering

2. malware detection � automated systems verification

3. system security � system correctness

4. generic (predicate correct is a plug-in)

5. hacker-safe:

no recipe for malware construction derivable

Simon Kramer (j.w.w. Julian C. Bradfield, U Edinburgh) A General Definition of Malware

OutlineIntroduction

Malware LogicConclusion

Selected Bibliography

AssessmentRelated workFuture work

Related work

About viruses only, not hacker-safe (constructive):

1. Adleman: Godel-numberings [Adl88]

2. Cohen: Turing-machines [Coh87]

3. Bonfante et al.: Kleene Recursion Theorem [BKM06]

Simon Kramer (j.w.w. Julian C. Bradfield, U Edinburgh) A General Definition of Malware

OutlineIntroduction

Malware LogicConclusion

Selected Bibliography

AssessmentRelated workFuture work

Future work

Refinements:

� add time (temporal modalities): malware evolution

� add measure: degrees of damage, malware cost

Simon Kramer (j.w.w. Julian C. Bradfield, U Edinburgh) A General Definition of Malware

Page 9: Infamous malware examples

OutlineIntroduction

Malware LogicConclusion

Selected Bibliography

Bibliography

F. Cohen.Computer viruses: Theory and experiments.Journal of Computers & Security, 6, 1987.

L. Adleman.An abstract theory of computer viruses.In Proceedings of CRYPTO’88, volume 403 of LNCS, 1988.

G. Bonfante, M. Kaczmarek, and J.-Y. Marion.On abstract computer virology from a recursion theoreticperspective.Journal in Computer Virology, 1(3–4), 2006.

Simon Kramer (j.w.w. Julian C. Bradfield, U Edinburgh) A General Definition of Malware

OutlineIntroduction

Malware LogicConclusion

Selected Bibliography

Bibliography

E. Filiol, M. Helenius, and S. Zanero.Open problems in computer virology.Journal in Computer Virology, 1(3–4), 2006.

S. Kramer and J.C. Bradfield.A general definition of malware.Journal in Computer Virology, Online First, 2009.http://dx.doi.org/10.1007/s11416-009-0137-1

J.C. Bradfield and C. Stirling.Handbook of Modal Logic, volume 3 of Studies in Logic andPractical Reasoning, chapter Modal Mu-Calculi.Elsevier, 2007.

Simon Kramer (j.w.w. Julian C. Bradfield, U Edinburgh) A General Definition of Malware

OutlineIntroduction

Malware LogicConclusion

Selected Bibliography

Contact

Email:[email protected]

Homepage:http://www.simon-kramer.ch/

Simon Kramer (j.w.w. Julian C. Bradfield, U Edinburgh) A General Definition of Malware