Σάββατο 22 Νοεμβρίου 2014

Η ιστορία των antivirus (αντιιικών προγραμμάτων)





Ιέ μου, ιέ μου!
Φόβος και τρόμος πάνω από την κοινότητα της πληροφορικής, με πρόσχημα τις επάρατες «ασθένειες» των υπολογιστών. Ας διαβάσουμε την ιστορία τους.
To Info διαβάζει τον κώδικα των φοβερών virus και όμως, δεν πανικοβάλλεται καθόλου
To 1987, ο προγραμματιστής Ν. Νασούφης εντοπίζει έναν ιό, ο οποίος παρουσιάστηκε ως λίστα εντολών της γλώσσας προγραμματισμού Basic. Οι αναγνώστες το «φόρτωναν» και προς στιγμήν το μηχάνημα κρεμούσε. Τρεις μήνες αργότερα, το περιοδικό «pixel» δημοσίευσε το αντίδοτο.
Μπορεί ένας από τους πρώτους ιούς να ήταν «Έλληνας», αλλά η πρώτη αποδεδειγμένη επίθεση ιού κατεγράφη στις 22 Οκτωβρίου 1987 στο πανεπιστήμιο Delaware στο Newark. Ο ιός μόλυνε αρκετές εκατοντάδες δίσκους, καθιστώντας το 1%του συνολικού αριθμού ακατάλληλο για χρήση. Ύστερα από καιρό, οι ερευνητές έδωσαν στον ιό το όνομα «Brain». To πρώτο «antivirus» πρόγραμμα (IBM PC) ήταν η εργασία ενός προγραμματιστή -Ross Creentoerg- που δούλευε στη Νέα Υόρκη. Το πρόγραμμα είχε το όνομα «Flue Shot» (αντίδοτο γρίπης).  
Στις 2 Νοεμβρίου 1988 το internet δέχθηκε επίθεση από έναν ιό που αργότερα ονομάστηκε «ιός του internet». Ο ιός γράφτηκε από τον 23χρονο Robert Morris. Υστερα από έναν δικαστικό μαραθώνιο, ο υπεύθυνος καταδικάστηκε το 1990 σε 3ετή επιτήρηση, πρόστιμο 10.000 δολαρίων και 400 ώρες κοινωνικής υπηρεσίας.


Μη φοβού τους ιούς !!
18 Ιανουαρίου 1995. Ένας υπάλληλος της εταιρείας παραγωγής λογισμικού Intrasoft «κατεβάζει» στο σκληρό του δίσκο κάποιο πρόγραμμα από το Internet. Αφού το τρέχει, κλείνει τον υπολογιστή. Όταν τον ανοίγει... τίποτα! Ο υπολογιστής δεν ξεκινά. Πανικόβλητος, επαναλαμβάνει τη διαδικασία. Τα ίδια! Τη λύση τού δίνει μια δισκέτα ειδικά φορμαρισμένη, ώστε να εκκινεί τον υπολογιστή. Μεταφέρεται στο σκληρό δίσκο και αντιλαμβάνεται ότι λείπουν τα προγράμματα εκκινήσεως. Τα επανατοποθετεί και ξεκινάει. Κάποια στιγμή προσπαθεί να συνδεθεί με το τοπικό δίκτυο της εταιρείας. Αντιλαμβάνεται, όμως, ότι επίσης λείπουν τα απαιτούμενα προγράμματα. Τα τοποθετεί από μια εφεδρική δισκέτα και συνδέεται. Όλα πια έδειχναν να πηγαίνουν ρολόι. Κι όμως, μέσα σε λίγα λεπτά και οι 400 υπολογιστές του δικτύου της Intrasoft αντιμετώπιζαν τα ίδια προβλήματα... Το πρόγραμμα που κατέβασε ο ήρωας μας από το Internet ήταν προσβεβλημένο από έναν καινούριο τότε ιό, μη ανιχνεύσιμο από το «αντιβιοτικό» της εταιρείας. Όταν αποκαταστάθηκε η λειτουργία του αρχικού PC και αυτό συνδέθηκε με το δίκτυο, εξαπλώθηκε αστραπιαία.
Ο συγκεκριμένος ιός ανήκε στην κατηγορία των «αθώων» (αφού δεν κατέστρεψε δεδομένα). Ωστόσο, επί 15 μέρες οι υπολογιστές της εταιρείας δεν λειτουργούσαν. Μερικά χρόνια νωρίτερα, το 1991, ο ιός Athens (η πιο πιθανή εκδοχή είναι να έχει κατασκευαστεί στην Ελλάδα) χτύπησε, μεταφερόμενος από πειρατική δισκέτα, την καπνοβιομηχανία Παπαστράτος. Η ζημιά ήταν και σ' αυτή την περίπτωση αναστρέψιμη. Τον Οκτώβριο του 1994 ξαναχτύπησε, αυτή τη φορά στο μαιευτήριο «Μητέρα».


Face control
Στις αρχές του 1988, μια μικρή αλλά ραγδαία αναπτυσσόμενη βιομηχανία που εμφανιζόταν εξειδικευμένη στην καταπολέμηση των ιών έκανε δειλά την εμφάνιση της. Μέλη της αρθρογραφούσαν για τον επερχόμενο «κίνδυνο». Μέχρι το 1988, οι ιοί που κυκλοφορούσαν ελεύθερα δεν ήταν πολλοί, ούτε και ιδιαίτερα επικίνδυνοι. Η βιομηχανία των «ηλεκτρονικών security» κινδύνευε να φαλιρίσει με το καλημέρα σας! «Ήταν σαν πωλητές συστημάτων συναγερμού που δρούσαν σε μια περιοχή χωρίς διαρρήκτες», γράφουν χαρακτηριστικά οι Bryan Clough και Raul Mungo στο βιβλίο τους «Αντίστροφη Μέτρηση». Το μόνο που τους έμενε ήταν να επενδύσουν στην προοπτική εμφάνισης των ιών! Κατάφεραν -χρησιμοποιώντας εν πολλοίς και τα Μέσα- να δημιουργήσουν τον απαιτούμενο σάλο. Από την εποχή αυτή ξεκινάει η παραφιλολογία περί των ιών. Ουσιαστικά δεν είναι παρά ένας μύθος που δημιουργήθηκε για λόγους μάρκετινγκ και συντηρήθηκε γiατί τελικά ήταν πολλοί όσοι αποκόμιζαν οφέλη απ' αυτούς.
Οι ιοί «χτυπάνε» αποκλειστικά εξαιτίας ανθρώπινου λάθους ή ανοργανωσιάς. Χωρίς αυτά, ακόμα και ο πιο επικίνδυνος ιός είναι ανίκανος να προκαλέσει ζημιά. Όλο το θέμα είναι να μην ανέβει στη μνήμη του υπολογιστή και το μολύνει. Αν ένα πρόγραμμα είναι νόμιμο, η περίπτωση να είναι μολυσμένο είναι σχεδόν ανύπαρκτη. Αν όμως πρόκειται για πειρατικό, ο χρήστης πρέπει να είναι προσεκτικός. Επιβάλλεται να το εξετάσει με αντιβιοτικά. Το γεγονός ότι τα πειρατικά προγράμματα είναι ευάλωτα στους ιούς αποτελεί έναν από τους βασικούς λόγους που αποτρέπουν τις επιχειρήσεις να τα χρησιμοποιούν. «Μιλώντας με πελάτες και φίλους, παρατηρώ ότι είναι ιδιαίτερα προσεκτικοί στο να βάζουν πειρατικά προγράμματα στον υπολογιστή τους. Δεν το βλέπουν ηθικά, φοβούνται πραγματικά τους ιούς», μας λέει κάποιος υπεύθυνος της εταιρείας που εισάγει στην Ελλάδα ένα από τα αξιόπιστα αντιβιοτικά.
Οι όποιες επιπτώσεις του ιού σε ένα σύστημα δεν εξαρτώνται αποκλειστικά από τον ίδιο, αλλά από την ενδεχόμενη έλλειψη συντονισμού. «Ακόμα κι ένας "ακίνδυνος" ιός μπορεί να δημιουργήσει σοβαρά προβλήματα σε μια ανοργάνωτη μηχανογράφηση. Αν όμως η εταιρεία έχει πολλά backup, το δίκτυο της είναι στημένο σωστά και ο ιός ανιχνευθεί γρήγορα, τότε δεν πρόκειται να υπάρξει πρόβλημα». Όμως, το backup στην Ελλάδα συχνά αντιμετωπίζεται σαν μια βαρετή, ανούσια εργασία.
Οτιδήποτε είναι αποθηκευμένο είναι ανενεργό. Ο χρήστης είναι αυτός που θα το ενεργοποιήσει. Από τη στιγμή που ο ιός ανέβει στη μνήμη του μηχανήματος, μπορούν να συμβούν διάφορα (ανάλογα με τη φαντασία και τη διαστροφή του προγραμματιστή). Ανεξαρτήτως αν τρέξεις το πρόγραμμα για ένα ή για δέκα    λεπτά, μία     ή     εκατό φορές, το αποτέλεσμα θα είναι το ίδιο. Ο σχεδιασμός και η αρχιτεκτονική    του "ιού παίζ0υν τον    i καθοριστικό ρόλο. Αν ο ιός είναι προγραμματισμένος να εξαπλωθεί, θα το κάνει αμέσως μόλις ανέβει στη μνήμη. Θα ψάξει για όλα τα προγράμματα και θα προσπαθήσει να μολύνει όσο το δυνατόν περισσότερα.
Τελικά, τι είναι ο ιός; Ο πρώτος   μελετητής των ιών (virus), Fred Cohen, έχει απαντήσει: «Ένα virus είναι ένα πρόγραμμα που μπορεί να μολύνει άλλα προγράμματα, μετατρέποντας τα, ώστε να περιλαμβάνουν ένα ελαφρώς διαμορφωμένο αντίγραφο του εαυτού του. Ακόμη περισσότερο, "το κάθε πρόγραμμα που μολύνεται μπορεί να λειτουργήσει επίσης ως ιός και κατ' αυτόν τον τρόπο η μόλυνση επεκτείνεται». Ο όρος «ιός» υπονοεί ότι τα μολυσμένα προγράμματα δημιουργούνται σε κάποια ανεξέλεγκτη ηλεκτρονική βιόσφαιρα. Αποτελούν μια επικίνδυνη επιδημία που εξαπλώνεται ασταμάτητα από υπολογιστή σε υπολογιστή. Ένα υψηλής τεχνολογίας ισοδύναμο του βιολογικού ιού AIDS (με τον οποίο, άλλωστε, συχνά συγκρίνονται).
Τεχνικά, ένας ιός δεν είναι παρά ένα αυτοαναπαραγόμενο πρόγραμμα με ένα «κεντρί» στην «ουρά» του. Αυτό το κεντρί, συχνά αναφερόμενο ως «payload» ή «αποτέλεσμα», είναι η ζημιά που ο ιός τελικά προκαλεί στον υπολογιστή και μπορεί στην πιο ανώδυνη εκδοχή του να είναι η απλή αναπαραγωγή του ίδιου του ιού ή ένα αθώο αστείο (όπως μια μπάλα που αναπηδά στην οθόνη). Σε κάποιες άλλες περιπτώσεις, όμως, το« payload» μπορεί να φανεί αιχμηρό...
Με το πέρασμα του χρόνου οι προγραμματιστές των ιών εξελίχθηκαν. Σήμερα, οι ιοί είναι έξυπνοι, αμύνονται στην ανίχνευση και στον καθαρισμό τους. Αυτοί οι ιοί ονομάζονται «μεταλλακτικοί». Έχουν προγραμματιστεί να αλλάζουν συνεχώς μορφή και το αντιβιοτικό δεν μπορεί να τους αναγνωρίσει.
Κατά κανόνα, κανείς δεν μπορεί να ξέρει ονόματα συγγραφέων ιών. Ενδέχεται να είναι παραγκωνισμένοι από το σύστημα κομπιουτεράδες, χάκερ ή -κατ' άλλους- οι ίδιες οι εταιρείες λογισμικού, στο πλαίσιο της καταπολέμησης της πειρατείας. Πάντως, το πιο πιθανό είναι πως η πλειονότητα των ιών γράφτηκε σε ώρες ανίας, για πειραματικούς σκοπούς ή απλώς κατά λάθος (π.χ. γράφτηκαν για πλάκα και από προγραμματιστική άγνοια μετενσαρκώθηκαν σε επικίνδυνους εισβολείς).


Η αντιβίωση
«Όταν ένα μολυσμένο πρόγραμμα ανέβει στη μνήμη του υπολογιστή, το πιο πιθανό είναι ότι τον έχει μολύνει. Τον πρώτο καιρό, ο χρήστης δεν μπορεί να αντιληφθεί την παρουσία του, γιατί ο ιός κυκλοφορεί ινκόγκνιτο. Βέβαια, αν ο χρήστης τρέξει κάποιο αντιιικό που διαθέτει στις βιβλιοθήκες του τον εν λόγω ιό, θα τον αναγνωρίσει. Συνήθως, όμως, «περιμένουμε να δούμε πρώτα τα συμπτώματα της δράσης ενός ιού και μετά "τρέχουμε" το φάρμακο ή, ακόμα χειρότερα, τότε πάμε και το αγοράζουμε». Το ότι ο ιός δεν εμφανίζεται, δεν σημαίνει κι ότι κάθεται με σταυρωμένα τα χέρια. Σε ένα νοερό «παρασκήνιο» του υπολογιστή, δουλεύει πυρετωδώς «κλέβοντας» χρόνο από το μικροεπεξεργαστή για να κάνει διάφορες βρομοδουλειές.
Υπάρχουν δύο μεγάλες κατηγορίες αρχείων: τα «εκτελέσιμα», δηλαδή τα γνωστά μας προγράμματα , και τα «δεδομένα» ή «data» όπου αποθηκεύεται η δουλειά του χρήστη. Τα δεδομένα είναι παθητικά στοιχεία. Δεν ανεβαίνουν στη μνήμη για να «τρέξουν» ή για να πάρουν χρόνο από τον επεξεργαστή. Ο μόνος τρόπος για να εξαπλωθεί ο ιός είναι να πάει να κολλήσει στα προγράμματα που υπάρχουν στο δίσκο. «Η μεγάλη ζημιά γίνεται μόνο μέσω των προγραμμάτων. Αν, λοιπόν, το πρόγραμμα αλλοιωθεί, τότε μπορεί να επηρεάσει αρνητικά και τα data: Ν' αλλάξουν ξαφνικά μορφή και νά μη βγάζουν νόημα. Εντούτοις, υπάρχουν ιοί που απειλούν και τα δεδομένα. Δεν τα μετατρέπουν, απλώς γράφουν τους εαυτούς τους πάνω στα αρχεία και σβήνουν τα παλιά...».

Νέα φάρμακα
Η κατασκευή ενός αντιιικού προϋποθέτει βαθιά γνώση του κάθε ιού. «Για να ανακαλυφθεί τι ακριβώς κάνει ένας ιός, πρέπει να αποσυναρμολογηθεί και να μεταφραστεί και οι οδηγίες του κώδικά του να αναλυθούν γραμμή προς γραμμή. Αυτή η , διαδικασία μπορεί να γίνει μόνο από ειδικούς», γράφουν οι συγγραφείς του βιβλίου «Αντίστροφη Μέτρηση». Για κάθε ιό υπάρχει διαφορετικό φάρμακο. Τα λεγόμενα προγράμματα «antivirus» αποτελούν Βιβλιοθήκες ή συλλογές από αντίδοτα για τον κάθε ιό. Όταν εμφανιστεί ένας καινούριος (ή μια νέα έκδοση ενός παλιού), οι προγραμματιστές τον διαβάζουν σε έναν «επεξεργαστή κώδικα» (κάτι αντίστοιχο του επεξεργαστή κειμένου) και εν συνεχεία γράφουν το αντιιικό.
Υπάρχουν δύο βασικοί τρόποι ανίχνευσης ιών και κατ' επέκταση δύο είδη αντιβιοτικών. Ο παραδοσιακός διαθέτει μια Βιβλιοθήκη με πατρόν ιών (χαρακτηριστικά τμήματα του κώδικα, που λέγονται και υπογραφές του ιού) και προσπαθεί να εντοπίσει την υπογραφή μέσα στο πρόγραμμα που εξετάζει. Ο τρόπος αυτός αδυνατεί να «πιάσει» τους μεταλλακτικούς ιούς. Έτσι, δημιουργήθηκε η νέα εξελιγμένη γενιά «antivirus» προγραμμάτων. Πρόκειται για μια μικρότερη σε όγκο βιβλιοθήκη που περιλαμβάνει αποθηκευμένες «λογικές», βάσει των οποίων λειτουργεί ο κάθε ιός (π.χ., πρώτα θα πάει ν' ανοίξει το τάδε αρχείο και μετά θ' ανοίξει το άλλο). Ο προγραμματιστής μελετάει τον ιό, προσπαθώντας να καταλάβει τη λογική του. Όταν η «μέθεξη» τελειώσει, φτιάχνει το αντιβιοτικό που θα είναι σε θέση να αναγνωρίσει τη λογική του και νά τον καταστρέψει. Τελικά, η σημαντικότερη λειτουργία των αντιβιοτικών έγκειται στην πρόληψη.
ΣΠΥΡΟΣ ΝΑΚΟΠΟΥΛΟΣ/Info

1 σχόλιο: