Malware: A Primer. Dimitris Gritzalis. November 2012. (updated May 2014)



Σχετικά έγγραφα
Secure Cyberspace: New Defense Capabilities

Cyberwar ante portas : The role and importance of national cyber-defense exercises

Organizing the Protection of Critical ICT Infrastructures. Dimitris Gritzalis

Towards a more Secure Cyberspace

Κακόβουλο Λογισμικό Ηλιάδης Ιωάννης

Critical Infrastructure Protection: A Roadmap for Greece D. Gritzalis

ΑΣΦΑΛΕΙΑ ΔΕΔΟΜΕΝΩΝ ΣΤΗΝ ΚΟΙΝΩΝΙΑ ΤΗΣ ΠΛΗΡΟΦΟΡΙΑΣ (Κακόβουλο Λογισμικό)

ΤΕΧΝΙΚΕΣ ΕΠΙΘΕΣΗΣ (1/8)

Protecting Critical ICT Infrastructures

The IT Security Expert Profile

From Secure e-computing to Trusted u-computing. Dimitris Gritzalis

Everything can be hacked in the Internet-of-Things. Dimitris Gritzalis March 2017

Ασφάλεια Πληροφοριακών Συστημάτων

Legal use of personal data to fight telecom fraud

Security and Privacy: From Empiricism to Interdisciplinarity. Dimitris Gritzalis

SPIT: Still another emerging Internet threat

The Greek Data Protection Act: The IT Professional s Perspective

Critical ICT Infrastructures Protection: Trends and Perspectives. Dimitris Gritzalis

Online Social Networks: Posts that can save lives. Dimitris Gritzalis, Sotiria Giannitsari, Dimitris Tsagkarakis, Despina Mentzelioti April 2016

Security in the Cloud Era

From Information Security to Cyber Defense. Dimitris Gritzalis

Wiley, USA, D. Gollmann, Computer Security, pp , J. Wiley, USA, Δικτύων Υπολογιστών, σελ , Εκδό-

Online Social Networks: Posts that can save lives. Sotiria Giannitsari April 2016

Selecting Essential IT Security Projects. Dimitris Gritzalis

Κακοβουλο Λογισμικο & Επιθέσεις. Τμήμα Μηχανικών Πληροφοριακών και Επικοινωνιακών Συστημάτων Πανεπιστήμιο Αιγαίου

Spam over Internet Telephony (SPIT): An emerging threat. Dimitris Gritzalis

Digital signatures in practice in Greece: Capabilities and limitations. Dimitrios Lekkas, Dimitris Gritzalis

Wiley, USA, , D. Gollmann, Computer Security, pp , J. Wiley, USA, 1999.

Ασφάλεια Υπολογιστικών Συστηµάτων

2 Διάλεξη R. Anderson, Security Engineering, Wiley (2 nd. ed.), D. Gollmann, Computer Security, pp , J. Wiley, ed.) 2008.

3 Διάλεξη R. Anderson, Security Engineering, Wiley (2 nd

Critical Infrastructures: The Nervous System of every Welfare State. G. Stergiopoulos, D. Gritzalis

ΚΙΝΔΥΝΟΙ ΣΤΟ ΔΙΑΔΙΚΤΥΟ

Wiley, USA, Κάτσικα Σ., Γκρίτζαλη Δ., Γκρίτζαλη Σ., Ασφά- AUEB_ISS_Risk_Analysis_v12.pdf 2 Διάλεξη Εκδόσεις Νέων Τεχνολογιών, Αθήνα 2003.

Discussing Security and Privacy Issues in the Age of Surveillance Dimitris Gritzalis

Blum Complexity. Αλγόριθμοι και Πολυπλοκότητα ΙΙ. Παναγιώτης Γροντάς. Δεκέμβριος

Malicious Code. Dimitris Mitropoulos

The SPHINX project report Dimitris Gritzalis

Μηχανές Turing (T.M) I

Τεχνολογίες & Εφαρμογές Πληροφορικής

Cryptography and Network Security Chapter 21. Fifth Edition by William Stallings

Security and Privacy in the Age of Surveillance. Dimitris Gritzalis

ΜΑΘΗΜΑ: Εισαγωγή στις Αρχές της Επιστήμης των Η/Υ. 1 η ΘΕΜΑΤΙΚΗ ΕΝΟΤΗΤΑ: ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ

Malware & AntiVirus. black d@ck HackFest 12/03/2015

The Inherently Hybrid Nature of Online Social Networks. Dimitris Gritzalis April 2016

Protecting Critical Public Administration ICT Infrastructures. Dimitris Gritzalis

Hacking in Cyberspace

VoIP Infrastructures: The SPIT threat Dimitris Gritzalis

Οι ιοί των υπολογιστών αποτελούν πλέον ένα διαδεδομένο, καθημερινό φαινόμενο. Η γρήγορη εξάπλωση των ιών τα τελευταία χρόνια οφείλονται στο διαδίκτυο

From IT Security to Critical Infrastructure Protection: From the past to the future. Dimitris Gritzalis

ΠΡΟΣΤΑΣΙΑ ΠΡΟΣΩΠΙΚΩΝ ΔΕΔΟΜΕΝΩΝ

Πως μπορούν τα μέρη του υλικού ενός υπολογιστή να επικοινωνούν και να συνεργάζονται μεταξύ τους; Επειδή ακολουθούν συγκεκριμένες οδηγίες (εντολές).

Critical ICT Infrastructure Protection: Overview of the Greek National Status

ΤΕΙ ΙΟΝΙΩΝ ΝΗΣΩΝ ΣΧΟΛΗ ΔΙΟΙΚΗΣΗΣ ΚΑΙ ΟΙΚΟΝΟΜΙΑΣ ΤΜΗΜΑ ΔΙΟΙΚΗΣΗΣ ΕΠΙΧΕΙΡΗΣΕΩΝ - ΕΙΣ

Προβλήματα, αλγόριθμοι, ψευδοκώδικας

Πληροφοριακά Συστήματα. Φάσεις ανάπτυξης (1/3) Βασικά στοιχεία Π.Σ. Φάσεις ανάπτυξης (3/3) Φάσεις ανάπτυξης (2/3) Πληροφορική I

Kyriakos Pierrakakis, Vasilis Stavrou. October 2014

Οι τρόποι με τους οποίους μπορεί ένας ιός να μεταδοθεί είναι πολλοί. Τρεις είναι αυτοί που χρησιμοποιούνται πιο συχνά:

ΑΣΦΑΛΕΙΕΣ ΣΤΑ ΔΙΚΤΥΑ

Schedulability Analysis Algorithm for Timing Constraint Workflow Models

Προσδιορισμός απαιτήσεων Ασφάλειας (1)

Used to be Information Security - Now is Critical ICT Infrastructure Protection Dimitris Gritzalis

From Computer Security to Critical ICT Infrastructure Protection. Dimitris Gritzalis

RMCLab. Remote Monitored and Controlled Laboratory

Electronic Voting: Securely and Reliably

ΑΣΦΑΛΕΙΑ. Το περιβάλλον ασφάλειας Απειλές

Πληροφορική 2. Αλγόριθμοι

ΠΡΟΣΤΑΣΙΑ ΛΟΓΙΣΜΙΚΟΥ- ΙΟΙ ΚΕΦΑΛΑΙΟ 7

Connected Threat Defense

Connected Threat Defense

Ημερίδα διάχυσης αποτελεσμάτων έργου Ιωάννινα, 14/10/2015

Hackers - Hacking Hacktivism: From Morris to Chiapas. Dimitris Gritzalis

Without You it s just a Tube, with you it becomes a profiling database. Dimitris Gritzalis October 2014

Διαχείριση Ασφάλειας και Εμπιστοσύνης σε Πολιτισμικά Περιβάλλοντα

National Critical Telecommunication Infrastructure Protection: Towards an Holistic Strategy. PanosKotzanikolaou June 2016

- Αναπαράσταση ακέραιας τιµής : - Εύρος ακεραίων : - Ακέραιοι τύποι: - Πράξεις µε ακεραίους (DIV - MOD)

FORTRAN και Αντικειμενοστραφής Προγραμματισμός

Κεφάλαιο 1.10: Προστασία και ασφάλεια δεδομένων

Ανάλυση σχημάτων βασισμένη σε μεθόδους αναζήτησης ομοιότητας υποακολουθιών (C589)

From e-health to u-health: A semantic - and not syntactic - change

Ασφάλεια Υπολογιστικών Συστημάτων

2016 IEEE/ACM International Conference on Mobile Software Engineering and Systems

ΣΦΙΓΞ: Εύρωστες ιαδικτυακές Υϖηρεσίες ιάκριση Ανθρώϖου ή Μηχανής µε ιαδραστικά Ηχητικά Μέσα ΝΟΗΣΙΣ, Σάββατο, 19 Γενάρη 2013

Πώς να προστατευτείτε από τους ιούς

GDPR. «Η προστασία των προσωπικών δεδομένων και η ασφάλεια των πληροφοριακών συστημάτων» Φώτης Ρωμούδης. Τρίτη 20/03/2018. Senior IT Consultant

Κεφάλαιο 7 : Είδη, Τεχνικές, και Περιβάλλοντα Προγραµµατισµού

Εισαγωγή στην πληροφορική

ICT provide options and threats. Dimitris Gritzalis February 2016

ΠΡΟΤΕΙΝΟΜΕΝΑ ΘΕΜΑΤΑ ΔΟΜΗΜΕΝΟΥ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Γ ΕΠΑΛ

ΔΙΠΛΩΜΑΤΙΚΕΣ ΕΡΓΑΣΙΕΣ

Optimization, PSO) DE [1, 2, 3, 4] PSO [5, 6, 7, 8, 9, 10, 11] (P)

Cryptography and Network Security Overview & Chapter 1. Fifth Edition by William Stallings

Threats and vulnerabilities in Internet Telephony: Focusing on the SPIT phenomenon

Μη-Αριθμήσιμα Σύνολα, ιαγωνιοποίηση

ιδάσκων: ηµήτρης Ζεϊναλιπούρ

Κεφάλαιο 16 Ασφάλεια και Προστασία στο Διαδίκτυο. Εφαρμογές Πληροφορικής Κεφ. 16 Καραμαούνας Πολύκαρπος

Συγγραφή κώδικα, δοκιμασία, επαλήθευση. Γιάννης Σμαραγδάκης

Medical Information Systems Security: Memories from the Future. Dimitris Gritzalis

Εισαγωγή στην Επιστήμη των Υπολογιστών

FORTRAN και Αντικειμενοστραφής Προγραμματισμός

Transcript:

Dimitris Gritzalis November 2012 (updated May 2014)

Οικονομικό Πανεπιστήμιο Αθηνών Τμήμα Πληροφορικής Ιομορφικό Λογισμικό (dgrit@aueb.gr) Καθηγητής Ασφάλειας στην Πληροφορική και τις Επικοινωνίες

Δομή περιεχομένων Εισαγωγή - Βασικές έννοιες Ιομορφικό Λογισμικό Ιός, Αναπαραγωγός, Δούρειος Ιππος Αλγοριθμική προσέγγιση Μαθηματική θεμελίωση Τεχνικές αντιμετώπισης προσβολών Τεχνικές βασισμένες στην εμφάνιση Τεχνικές βασισμένες στη συμπεριφορά Βιβλιογραφία

Εισαγωγή Βασικές έννοιες

Προσβολή Προσβολή (intrusion) της ασφάλειας ενός πληροφοριακού συστήματος ονομάζεται η διαδικασία κατά την οποία ένα λογικό υποκείμενο εκτελεί συγκεκριμένες διαδικασίες, προκειμένου να αποκτήσει πρόσβαση σε πόρους του συστήματος, χωρίς να το δικαιούται. Βασικά χαρακτηριστικά Αποτελούνται από σύνολα διαδικασιών, διαδοχικών ή διακοπτόμενων. Καθοδηγούνται απαραίτητα από κάποιο λογικό υποκείμενο. Δεν εξαρτώνται από κάποια συγκεκριμένη τεχνολογική πλατφόρμα.

Ιομορφικό λογισμικό Ιομορφικό λογισμικό (viral software) ονομάζεται το λογικό αντικείμενο το οποίο, όταν ενεργοποιείται, προκαλεί την άμεση ή έμμεση εκτέλεση διαδικασιών οι οποίες δεν είναι γνωστές ούτε στο λογικό υποκείμενο που προκαλεί την ενεργοποίησή του, ούτε στο διαχειριστή του υπολογιστικού συστήματος. Βασικά χαρακτηριστικά Η δράση του δεν καθοδηγείται από κάποιο λογικό υποκείμενο (πιθανώς να ενεργοποιείται αρχικά από κάποιο λογικό υποκείμενο, πιθανώς να αυτοενεργοποιείται). Το ιομορφικό λογισμικό αποτελεί μορφή ενεργοποιήσιμου λογικού αντικειμένου, άρα πρέπει να είναι δομημένο κατάλληλα ώστε να μπορεί να ε- νεργοποιηθεί (συνεπώς πρέπει να είναι εκτελέσιμο αρχείο). Δεν εξαρτάται από κάποιο συγκεκριμένο τεχνολογικό περιβάλλον.

Μείζονες τύποι ιομορφικού λογισμικού ΔΟΥΡΕΙΟΣ ΙΠΠΟΣ Δούρειος Ιππος (Trojan Ηorse) ονομάζεται κάθε μορφή ιομορφικού λογισμικού που έχει τη δυνατότητα να συνυπάρχει με κάποιο λογικό αντικείμενο (ξενιστής) και να προκαλεί συνέπειες άγνωστες στο χρήστη του αντικειμένου αυτού.

Μείζονες τύποι ιομορφικού λογισμικού ΑΝΑΠΑΡΑΓΩΓΟΣ Αναπαραγωγός (worm) ονομάζεται κάθε μορφή ιομορφικού λογισμικού που έχει τη δυνατότητα να διαδίδεται αυτοαναπαραγόμενο και να προκαλεί συνέπειες άγνωστες στους χρήστες του συστήματος.

Μείζονες τύποι ιομορφικού λογισμικού ΠΡΟΓΡΑΜΜΑ ΙΟΣ Πρόγραμμα ιός (virus) ονομάζεται το εκτελέσιμο λογισμικό που έχει τη δυνατότητα να προστίθεται και να συνυπάρχει με άλλο λογικό αντικείμενο (ξενιστής), να αναπαράγεται μέσω της ενεργοποίησης του αντικειμένου αυτού και να προκαλεί συνέπειες ά- γνωστες στο χρήστη του αντικειμένου.

Μηχανισμοί ιομορφικού λογισμικού Διαδικασία πρόκλησης συνεπειών (Illicit action mechanism - Act) Η διαδικασία αυτή προκαλεί στο σύστημα τις συγκεκριμένες συνέπειες που έχει καθορίσει ο δημιουργός του λογισμικού. Διαδικασία ενεργοποίησης (Threshold mechanism - Thr) Η διαδικασία αυτή καθορίζει πότε θα ενεργοποιηθεί η διαδικασία της πρόκλησης των συνεπειών. Διαδικασία αναπαραγωγής (Replication mechanism - Rep) Η διαδικασία αυτή προκαλεί την αυτοαναπαραγωγή του ιομορφικού λογισμικού. Διαδικασία ένταξης (Persistence-in-host mechanism - Per) Η διαδικασία αυτή επιτρέπει στον κώδικα του ιομορφικού λογισμικού να προστίθεται και να συνυπάρχει με κάποιο άλλο λογικό αντικείμενο, με τη μορφή ενός ενιαίου λογικού αντικειμένου.

Ειδοποιοί μηχανισμοί κάθε τύπου ιομορφής Τύπος ιομορφικού λογισμικού Μηχανισμός Act Thr Rep Per Πρόγραμμα Ιός (virus) NAI NAI NAI NAI Αναπαραγωγός (worm) NAI NAI NAI OXI Δούρειος Ιππος (trojan horse) NAI NAI OXI OXI

Δευτερεύοντες τύποι ιομορφών Τύπος Ιός τομέα εκκίνησης (Boot Sector virus) Παρασιτικός ιός (Parasitic virus) Πολυμερής ιός (Multipartite virus) Ιός παραμένων στην κύρια μνήμη (Resident virus) Αποκρυπτόμενος ιός (Stealth virus) Κρυπτογραφημένος ιός (Encrypted virus) Πολυμορφικός ιός (Polymorphic virus) Μακροϊός (Macro virus) Βασικό χαρακτηριστικό Τοποθετείται στον τομέα εκκίνησης ενός σκληρού δίσκου. Μολύνει εκτελέσιμα προγράμματα και εισάγει τον κώδικα του πριν ή μετά τον κώδικα του προγράμματος. Μολύνει τομείς εκκίνησης ή εφαρμογές. Παραμένει στην κύρια μνήμη μετά την εκτέλεση του προγράμματος ή την εκκίνηση του δίσκου που έχει μολύνει. Αποκρύπτει τη μόλυνση αρχείων. Κρυπτογραφεί τον κώδικά του, εκτός από μια ρουτίνα κρυπτογράφησης. Αλλάζει μορφή κάθε φορά που μολύνει ένα πρόγραμμα. Αποτελείται από μια ακολουθία εντολών η οποία διερμηνεύεται (interpreted), αντί να εκτελείται.

Αλλες μορφές ιομορφικού λογισμικού ΚΕΡΚΟΠΟΡΤΕΣ Οι κερκόπορτες (trapdoors ή backdoors) είναι σημεία εισόδου που επιτρέπουν την πρόσβαση σε ένα σύστημα, παρακάμπτοντας τη συνήθη διαδικασία πρόσβασης ασφάλειας. Τοποθετούνται από προγραμματιστές, για νομότυπους σκοπούς, ή από εισβολείς. ΛΟΓΙΚΕΣ ΒΟΜΒΕΣ Μια λογική βόμβα (logic bomb) είναι λογισμικό που εκτελεί μια ενέργεια που αντίκειται στην πολιτική ασφάλειας ενός συστήματος, όταν πληρείται μια λογική συνθήκη στο σύστημα ή σε συγκεκριμένη χρονική στιγμή (time bomb). ΒΑΚΤΗΡΙΑ Τα βακτήρια (bacteria) είναι λογισμικό το οποίο αναπαράγεται όπως και οι ιοί, αλλά δεν απαιτεί την ύπαρξη ξενιστή. Παρόλο που δεν προκαλεί κάποια επιζήμια ενέργεια, καταναλώνει πόρους του συστήματος.

Ταξινόμηση ιομορφικού λογισμικού Χρειάζεται ξενιστή Δε χρειάζεται ξενιστή Κερκόπορτα Λογική Βόμβα Δούρειος Ιππος Ιός Βακτήριο Αναπαραγωγός Δεν αυτο-αναπαράγεται Αυτο-αναπαράγεται

Αλγοριθμική προσέγγιση

Αλγόριθμος τυπικού ιού Program Test-virus:= {Identification("virus"); Main-program:= {Infect-executable-file; If (threshold-process) then Do-illicitaction; Goto Next} * Subroutine Infect-executable-file:= {Loop: file=random-executable; If (first-line-of-file=identification("virus") then Goto Loop; else Prepend Test-virus to file} * Subroutine Do-illicit-action:= {whatever action the virus designer desires} * Subroutine Threshold-process {whatever trigger the virus designer has chosen} * Subroutine Prepend {actions required to prepend a file to another} Next} Execute executable-file

Αλγόριθμος εναλλασσόμενου ιού Program Alternative-virus:= {Identification (Select at random a pattern "pati" from the set PAT={pat1,...,patk}); * Main-program:= { Infect-executable-file; If (threshold-process) then Do-illicitaction; Goto Next} Subroutine Infect-executable-file:= * {Select at random an infection strategy infi, from the set IS={inf1,...,infn} {Loop: file=random-executable; If (first-line-of-file=identification("pati")) Then Goto Loop; Else Prepend Alternative-virus to file} Subroutine Do-illicit-action:= * {Select at random an illicit action ili from the set IL={il1,...,ilk}} Subroutine Threshold-process * {Select at random a trigger tri from the set TR={tr1,...,trm}} Subroutine Prepend {actions required to prepend a file to another} Next} Execute executable-file

Αλγόριθμος μεταλλασσόμενου ιού Program Evolutionary-virus:= Main-program:= * {Copy-virus-with-insertions Infect-executable-file; If (threshold-process) then Doillicit-action; Goto Next} Subroutine Print-randomstatement:= {Print (random-variable-name, "=", random-variable-name); Loop: If random-bit=1 then {Print (random-operator, random variable-name); Goto Loop;} Print (semicolon)} * Subroutine copy-virus-with-insertions:= {Loop: Copy evolutionary-virus to virus, till semicolon; If random-bit=1 then print-random-statement; If NOT(end-of-input-file) then Goto Loop} * Subroutine Infect-executable-file:= {Loop: file=random-executable; Prepend Evolutionary-virus to file} * Subroutine Do-illicit-action:= {whatever action the virus designer desires} * Subroutine Threshold-process {whatever trigger the virus designer has chosen} * Subroutine Prepend {actions required to prepend a file to another} Next} Execute executable-file

Αλγόριθμος ελεγχόμενου αναπαραγωγού Program Test-worm {Main-program:= {If (threshold-process) then Do-illicit-action; else Replicate-itself; Goto Next} * Subroutine Replicate-itself:= {Count:=1; Do until count=n; Subroutine Do-illicit-action:= {whatever action the worm designer desires} * Subroutine Threshold-process {whatever trigger the worm designer has chosen} * Next} system=random-system; Copy Test-worm to system, with random name; N:=N+1; End until} *

Αλγόριθμος μη ελεγχόμενου αναπαραγωγού Program Overloading-worm {Main-program:= {If (threshold-process) then Do-illicit-action; else Replicate-itself; Goto Next} * Subroutine Replicate-itself:= Subroutine Threshold-process {whatever trigger the worm designer has chosen} * Next} {Loop: system=random-system; Copy overloading-worm to system, with random name} * Subroutine Do-illicit-action:= {whatever action the worm designer desires} *

Μαθηματική θεμελίωση

Η έννοια της μηχανής Turing Ταινία (Tape) S το σύνολο των καταστάσεων μιας μηχανής, δηλαδή S={s 0,...,s ν }, ν Ν. Κεφαλή (Head) Ι το σύνολο των στοιχείων εισόδου της μηχανής (των επιτρεπτών συμβόλων προς επεξεργασία), δηλαδή I={i 0,...,i κ }, κ Ν.

Βασικές συναρτήσεις Συνάρτηση εξόδου (Οutput function) O(s,i) μιας μηχανής, ονομάζεται μια συνάρτηση Ο:SxI=>I που αντιστοιχεί μια συγκεκριμένη κατάσταση s μιας μηχανής και ένα στοιχείο εισόδου i της μηχανής αυτής, σ' ένα παραγόμενο στοιχείο εξόδου της μηχανής. Συνάρτηση επόμενης κατάστασης (Νext state function) N(s,i) μιας μηχανής ονομάζεται μια συνάρτηση Ν:SxI=>S που αντιστοιχεί μια συγκεκριμένη κατάσταση s μιας μηχανής και ένα στοιχείο εισόδου i της μηχανής αυτής, στη νέα κατάσταση που προκύπτει μετά την είσοδο του i. Συνάρτηση κατεύθυνσης (Direction) D(s,i) μιας μηχανής ονομάζεται μια συνάρτηση D:SxΙ =>k, k {-1,0,1}, που αντιστοιχεί μια συγκεκριμένη κατάσταση s μιας μηχανής και ένα στοιχείο εισόδου i της μηχανής αυτής, στην κίνηση της ταινίας της μηχανής κατά μία θέση δεξιά (-1), αριστερά (+1) ή στην ακινησία της ταινίας (0).

Μηχανή Turing Υπολογιστική μηχανή ή Μηχανή Turing (computing machine) ονομάζεται κάθε μηχανή M εφοδιασμένη με το σύνολο T={S,I,O,N,D}, όπου S το σύνολο των καταστάσεών της, I το σύνολο των στοιχείων εισόδου της, O η συνάρτηση εξόδου της, N η συνάρτηση της επόμενης κατάστασής της και D η συνάρτηση κατεύθυνσης της ταινίας της. Ενα σύνολο μηχανών TM ονομάζεται σύνολο υπολογιστικών μηχανών ή μηχανων Turing αν: " M [M TM] <=> Μ:(S M, I M, O M : S M x I M => I M, N M : S M x I M => I M, D M : S M x I M => k M )

Ιστορία μιας μηχανής Turing Η (αναδρομική) συνάρτηση S(t) της κατάστασης (state) της υπολογιστικής μηχανής, μετά παρέλευση χρόνου t, που ορίζεται ως: S M : N=>S M Η (αναδρομική) συνάρτηση P(t) της θέσης (position) της υπολογιστικής μηχανής, μετά παρέλευση χρόνου t, που ορίζεται ως: P M : N=>N Η (αναδρομική) συνάρτηση C(c,τ) των περιεχομένων (content) ενός στοιχείου της ταινίας, μετά παρέλευση χρόνου t και δεδομένου του αύξοντα α- ριθμού τ του στοιχείου αυτού, που ορίζεται ως C M : NxN=>I M Ιστορία H M, μιας υπολογιστικής μηχανής M, ονομάζεται η διατεταγμένη τριάδα (S M,C M,P M )

Πρόγραμμα Turing Ενα διατεταγμένο σύνολο συμβόλων υ ανήκει στα προγράμματα Turing (Turing programs) TP M μιας υπολογιστικής μηχανής, αν ισχύει: " M TM [" υ [" i I, υ TP M <=> υ LS Mi ]] όπου LS i M είναι επιτρεπτές καταστάσεις της μηχανής M για κάθε δεδομένο εισόδου i. Σύνολο προγραμμάτων Turing (Turing machine program set) TS Μ, των προγραμμάτων μιας υπολογιστικής μηχανής Μ, ορίζεται το σύνολο των συμβολοσειρών V, για τις οποίες ισχύει: " M TM [" V TS M <=> [ υ V και υ V: υ TP M ]

Ιομορφή (κατά Cohen) Ενα διατεταγμένο ζεύγος (Μ,V) ορίζεται ως Ιομορφή (viral set) VS αν ισχύει: "M " V, (M,V) VS <=> [V TS] και [M TM] και " υ V [" H M " t, j N [ [P M (t)=j και S M (t)=s M0 και (C M (t,j),...,c M (t, j+ υ -1))=υ] => [ υ' V [ t', t'', j' N, όπου t<t''<t': (1) [[(j'+ υ' ) j ή (j+ υ ) j'] και (2) C M (t',j'),...,c M (t',j'+ υ' -1))=υ' και (3) P M (t'') {j',...,j'+ υ -1} ]]]]]

θεωρήματα 1. Η ένωση οποιουδήποτε συνόλου ιών είναι ιός. 2. Το πλήθος των διαφορετικών ιών μιας υπολογιστικής μηχανής είναι άπειρο. 3. Το πλήθος των προγραμμάτων που δεν είναι ιοί, για μια συγκεκριμένη υπολογιστική μηχανή, είναι άπειρο. 4. Δεν είναι δυνατό να σχεδιασθεί υπολογιστική μηχανή ικανή να αποφανθεί, σε πεπερασμένο χρόνο, αν μια ακολουθία συμβόλων είναι ιός ή όχι. 5. Δεν υπάρχει πρόγραμμα το οποίο να μπορεί να ανιχνεύσει όλους τους ιούς μιας συγκεκριμένης υπολογιστικής μηχανής.

Θεωρήματα 6. Δεν είναι δυνατή η σχεδίαση ενός προγράμματος, το οποίο να αποφαίνεται, σε πεπερασμένο χρόνο, αν μια δεδομένη ακολουθία συμβόλων, που αποτελούν ένα πρόγραμμα για μια συγκεκριμένη μηχανή, είναι ιός ή όχι. 7. Η διαπίστωση αν μια δεδομένη ακολουθία συμβόλων, που είναι ιός, μπορεί να παραχθεί από μια άλλη δεδομένη ακολουθία συμβόλων, που επίσης είναι ιός, είναι μη επιλύσιμο (undecidable) πρόβλημα. 8. Δεν υπάρχει πρόγραμμα που μπορεί να εντοπίσει από ποιό πρόγραμμα-φορέα προκλήθηκε η προσβολή ενός προγράμματος.

Αντιμετώπιση προσβολών

Συχνότητα εμφάνισης Κατηγορίες εντοπισμένων επιθέσεων (1999-2004) 2004 CSI/FBI Computer Crime and Security Survey

Οικονομικές απώλειες 2004 CSI/FBI Computer Crime and Security Survey

Τεχνολογίες αντιμετώπισης 2004 CSI/FBI Computer Crime and Security Survey

Τεχνολογίες αντιμετώπισης ιομορφών

Τεχνολογίες αντιμετώπισης ιομορφών

Στρατηγικές αντιμετώπισης ιομορφών Πρόληψη: Προλαμβάνει τη μόλυνση από ιομορφικό λογισμικό (πχ. διαχειριστικά μέτρα, ενημέρωση χρηστών). Ανίχνευση: Ανιχνεύει τη μόλυνση από ιομορφικό λογισμικό (πχ. ανιχνευτές ιών). Αντιμετώπιση: Επαναφέρει το σύστημα στην αρχική του κατάσταση (πχ. χρήση αντιγράφων ασφαλείας).

Τεχνικές ανίχνευσης ιομορφών Τεχνικές που βασίζονται στην εμφάνιση Ανιχνευτές ιών (scanners) Αντίδοτα (antidotes) Αθροίσματα ελέγχου (checksums) Αυτοάμυνα λογισμικού (software self-defense) Απρόσβλητο λογισμικό (fault tolerance) Ελεγχος μεταβολών (change control) Κελύφη προστασίας (integrity shells) Τεχνικές που βασίζονται στη συμπεριφορά Εμπειρα Συστήματα (Expert systems) Νευρωνικά Δίκτυα (Neural networks) Γλώσσες Προσδιορισμού Προδιαθέσεων (Intent Specification Languages)

Τεχνικές βασισμένες στην εμφάνιση (detection-by-appearance techniques) Μετρική Ανιχνευτές ιών Αντίδοτα Αθροίσματα ελέγχου Αυτοάμυνα λογισμικού Απρόσβλητο λογισμικό Ελεγχος μεταβολών Κελύφη προστασίας Ταχύτητα Χαμηλή Μέση Μέση Μέση Μέση Χαμηλή Μέση Κόστος Χαμηλό Χαμηλό Χαμηλό Υψηλό Υψηλό Υψηλό Μέσο Δυνατότητα πρόληψης Δυνατότητα ανίχνευσης Αντιμετώπιση γνωστών ιομορφών Αντιμετώπιση άγνωστων ιομορφών ΟΧΙ ΝΑΙ ΝΑΙ/ΟΧΙ ΝΑΙ ΝΑΙ ΝΑΙ ΝΑΙ ΝΑΙ ΝΑΙ ΝΑΙ ΝΑΙ ΝΑΙ ΝΑΙ ΝΑΙ ΝΑΙ ΝΑΙ ΝΑΙ ΝΑΙ ΝΑΙ ΝΑΙ ΝΑΙ ΟΧΙ ΟΧΙ ΝΑΙ ΝΑΙ ΝΑΙ ΝΑΙ ΝΑΙ

Τεχνικές βασισμένες στην εμφάνιση (detection-by-appearance techniques) Μετρική Ανιχνευτές ιών Αντίδοτα Αθροίσματα ελέγχου Αυτοάμυνα λογισμικού Απρόσβλητο λογισμικό Ελεγχος μεταβολών Κελύφη προστασίας Λάθος ανίχνευση ΝΑΙ ΝΑΙ ΟΧΙ ΟΧΙ ΟΧΙ ΟΧΙ ΟΧΙ Πολυπλοκότητα σχεδίασης Αναγκαιότητα ασφαλούς διαύλου Προσδιορισμός πρόθεσης χρήστη Χαμηλή Χαμηλή Μέση Υψηλή Υψηλή Υψηλή Μέση ΟΧΙ ΟΧΙ ΝΑΙ ΟΧΙ ΟΧΙ ΟΧΙ ΟΧΙ ΟΧΙ ΟΧΙ ΟΧΙ ΟΧΙ ΟΧΙ ΟΧΙ ΟΧΙ Αλλοιώσιμο ΝΑΙ ΝΑΙ ΝΑΙ ΝΑΙ ΝΑΙ ΟΧΙ ΝΑΙ Αντιμετώπιση ειδικών ιομορφών ΟΧΙ ΝΑΙ ΝΑΙ ΝΑΙ ΝΑΙ ΝΑΙ ΝΑΙ Παρενέργειες ΟΧΙ ΝΑΙ ΟΧΙ ΝΑΙ ΟΧΙ ΝΑΙ ΝΑΙ

Τεχνικές βασισμένες στη συμπεριφορά (detection-by-behavior techniques) Μετρική Γλώσσες προσδιορισμού προδιαθέσεων (ISL) Eμπειρα Συστήματα Νευρωνικά Δίκτυα Αντιμετώπιση γνωστών ιομορφών Αντιμετώπιση άγνωστων ιομορφών NAI NAI NAI NAI NAI NAI Ταχύτητα Χαμηλή/Μέση Χαμηλή Υψηλή Κόστος Αγνωστο Υψηλό Μέσο Δυνατότητα πρόληψης ΝΑΙ ΝΑΙ ΝΑΙ Δυνατότητα ανίχνευσης ΝΑΙ ΝΑΙ ΝΑΙ Λάνθασμένη ανίχνευση ΝΑΙ ΝΑΙ ΝΑΙ Πολυπλοκότητα σχεδίασης Πολύ υψηλή Μέση Μέση Παρενέργειες ΝΑΙ ΝΑΙ ΟΧΙ

Τεχνικές βασισμένες στη συμπεριφορά (detection-by-behavior techniques) Μετρική Γλώσσες προσδιορισμού προδιαθέσεων (ISL) Eμπειρα Συστήματα Νευρωνικά δίκτυα Επεκτασιμότητα ΝΑΙ ΝΑΙ? Αντιμετώπιση ειδικών ιομορφών Αγνωστο ΝΑΙ ΝΑΙ Προσδιορισμός πρόθεσης χρήστη ΝΑΙ ΝΑΙ/ΟΧΙ ΟΧΙ Γενικευσιμότητα ΝΑΙ ΝΑΙ ΝΑΙ Αναγκαιότητα ασφαλούς διαύλου ΟΧΙ ΟΧΙ ΟΧΙ Αλλοιώσιμο ΝΑΙ ΝΑΙ ΟΧΙ Τεχνικές εξαρτήσεις Αγνωστο Database Database

Σ υ μ π ε ρ ά σ μ α τ α Δεν υπάρχει τεχνική αντιμετώπισης ιομορφικού λογισμικού, η οποία να παρέχει πλήρη και αποδοτική, προληπτική και κατασταλτική εξασφάλιση, α- πέναντι σε γνωστούς και άγνωστους τύπους ιομορφών. Η κατασταλτική αντιμετώπιση των ιομορφών μπορεί να επιτευχθεί με πολλές τεχνικές, αποδοτικότερες των οποίων είναι οι συγκριτές αρχείων και τα κρυπτογραφημένα αθροίσματα ελέγχου. Ενώ η προληπτική αντιμετώπιση γνωστών τύπων ιομορφών είναι δυνατή με χρήση πολλών τεχνικών, η προληπτική αντιμετώπιση άγνωστων τύπων ιομορφών είναι δυνατή μόνο με χρήση τεχνικών που βασίζονται στη συμπεριφορά.

Σ υ μ π ε ρ ά σ μ α τ α Τα στοιχεία κόστους και πολυπλοκότητας των τεχνικών καθιστούν απαγορευτική την εφαρμογή ορισμένων από αυτές σε περιβάλλοντα μικρής ευπάθειας και περιορισμένης υπολογιστικής ισχύος. Πολλές τεχνικές αντιμετώπισης των ιομορφών είναι - και οι ίδιες - ευπρόσβλητες από ιομορφές, με εξαίρεση τον έλεγχο των αλλαγών του λογισμικού και τα νευρωνικά δίκτυα που χρησιμοποιούν υλικό (hard-ware-based), που είναι απρόσβλητα από γνωστές ιομορφές. Η ανταπόκριση των τεχνικών σε πραγματικό χρόνο (real time) είναι κρίσιμο ζητούμενο σε περιβάλλοντα που διαχειρίζονται δεδομένα μεγάλου όγκου ή υψηλής ευπάθειας.

References 1. Adleman L., An abstract theory of computer viruses, in Hoffman L. (Ed.), Rogue Programmes: Viruses, Worms and Trojan Horses, pp. 307-323, Van Nostrand, USA, 1990. 2. Cohen F., Computer viruses: Theory and experiments, Computers & Security, Vol. 6, No. 1, pp. 22-35, 1987. 3. Cohen F., Computational aspects of computer viruses, Computers & Security, Vol. 8, No. 4, pp. 325-344, 1989. 4. Denault M., Gritzalis D., Karagiannis D., Spirakis P., "Intrusion detection: Evaluation and performance issues of the SECURENET system", Computers & Security, Vol. 13, No. 6, pp. 495-508, October 1994. 5. Denning P. (Ed.), Computers under attack: Intruders, Worms and Viruses, Addison-Wesley, USA, 1990. 6. Katsikas S., Spyrou T., Gritzalis D., Darzentas J., "Model for network behaviour under viral attack", Computer Communications, Vol. 19, No. 2, pp. 124-132, 1996. 7. Kephart J., White S., Directed graph epidemiological models of computer viruses, in Proc. of the 1991 IEEE Symposium on Research in Security and Privacy, pp. 343-359, IEEE, USA, 1991. 8. Mylonas A., Dritsas S, Tsoumas V., Gritzalis D., Smartphone Security Evaluation - The Malware Attack Case, in Proc. of the 9 th International Conference on Security and Cryptography, pp. 25-36, Spain, 2011. 9. Spinellis D., Gritzalis D., "A domain-specific language for intrusion detection", in Proc. of the 1 st ACM Workshop on Intrusion Detection and Prevention Systems, ACM, Athens, 2000. 10. Theoharidou M., Kotzanikolaou P., Gritzalis D., Risk-based Criticality Analysis", in Proc. of the 3 rd IFIP International Conference on Critical Infrastructure Protection, Springer, USA, 2009 11. Virvilis N., Gritzalis D., The Big Four - What we did wrong in Advanced Persistent Threat detection?, in Proc. of the 8 th International Conference on Availability, Reliability and Security, pp. 248-254, IEEE, Germany, 2013. 12. Virvilis N., Gritzalis D., Trusted Computing vs. Advanced Persistent Threats: Can a defender win this game?, in Proc. of 10 th IEEE International Conference on Autonomic and Trusted Computing, pp. 396-403, IEEE, Italy, 2013