Αντιμετώπιση των Ιών


Με δεδομένο ότι οι ιοί είναι ένας εν δυνάμει ιδιαίτερα καταστροφικός εχθρός της ασφάλειας οποιουδήποτε πληροφοριακού συστήματος, είναι απαραίτητο να υπάρχει μία στρατηγική πρόληψης και αντιμετώπισής τους. Η στρατηγική αυτή έχει δύο σκέλη, το διαδικαστικό σκέλος που συνίσταται σε ενέργειες που πρέπει ή δεν πρέπει να γίνονται από τους χρήστες και τους διαχειριστές, ενώ το τεχνικό σκέλος περιλαμβάνει κυρίως λογισμικό και ρυθμίσεις. Το διαδικαστικό σκέλος της αντιμετώπισης ιών περιέχει τα ακόλουθα βήματα:

1. Η επεξεργασία των δεδομένων γίνεται μόνο με συγκεκριμένα και ελεγμένα προγράμματα. Από τη στιγμή που σε έναν υπολογιστή εκτελούνται μόνο προγράμματα που δεν περιέχουν ιούς, ο υπολογιστής είναι βέβαιο ότι δεν θα μολυνθεί. Νέα προγράμματα που υπόσχονται περισσότερη λειτουργικότητα ή ευχρηστία μπορούν κάλλιστα να είναι δούρειοι ίπποι που θα εναποθέσουν ιούς στο σύστημά μας. Ως ακραίο μέτρο για την αποφυγή εισόδου νέων ανέλεγκτων προγραμμάτων στα συστήματά τους, πολλές εταιρίες έχουν αφαιρέσει τις μονάδες δισκέτας από τους υπολογιστές τους.

2. Αποφυγή λήψης και εκτέλεσης αρχείων που έχουν επισυναφθεί σε ύποπτα μηνύματα ή από αμφιβόλου αξιοπιστίας ιστοχώρους ή από newsgroups. Τα προγράμματα αυτά είναι το κυριότερο μέσο διάδοσης ιών και οι χρήστες πρέπει συνειδητά να αποφεύγουν την εκτέλεσή τους.

3. Συχνή λήψη εφεδρικών αντιγράφων και τήρησή τους επί μακρόν. Ανεξαρτήτως των μέτρων που θα ληφθούν για πρόληψη, είναι τελικά πιθανό να μολυνθεί το σύστημα από ιό. Στην περίπτωση αυτή θα πρέπει να είμαστε σε θέση να αποκαταστήσουμε την προ της μολύνσεως εικόνα του συστήματος. Καθώς η αποκάλυψη του ιού μπορεί να μην είναι άμεση, θα πρέπει να τηρούμε τα εφεδρικά αντίγραφα για πολύ καιρό ώστε η αντικατάσταση των μολυσμένων αρχείων με τα αντίστοιχα «καθαρά» να είναι εφικτή.

Στο τεχνικό σκέλος μπορούμε να διακρίνουμε τις κάτωθι συνιστώσες:

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

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

3. Χρήση ειδικού λογισμικού για αντιμετώπιση ιών. Το λογισμικό αντιμετώπισης ιών είναι ένα ζήτημα που αναλύεται εκτενώς στις παραγράφους που ακολουθούν.


Λογισμικό αντιμετώπισης των ιών


Το λογισμικό αντιμετώπισης ιών είναι μία πολυσύνθετη κατηγορία λογισμικού που περιλαμβάνει εργαλεία με στόχο:

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

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

3. τον καθαρισμό των ιών. Σε πολλές περιπτώσεις οι αλλαγές που έχουν επιφέρει οι ιοί στο σύστημα είναι αντιστρέψιμες με αυτοματοποιημένο τρόπο. Τα εργαλεία καθαρισμού φροντίζουν για την αναίρεση των αλλαγών που έχουν προκαλέσει οι ιοί.

Κατηγορίες Ιών

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

Ιοί που μολύνουν τους τομείς εκκίνησης

Σε κάθε σκληρό δίσκο ή δισκέτα, ακόμη και αν δεν περιέχει λειτουργικό σύστημα, υπάρχει ένας τομέας που ονομάζεται τομέας εκκίνησης (boot sector). Ο τομέας αυτός ονομάζεται έτσι διότι το βασικό σύστημα εισόδου-εξόδου του υπολογιστή (BIOS) τον διαβάζει κατά την εκκίνηση του υπολογιστή και εκτελεί τον κώδικα που περιέχεται σ’αυτόν, προκειμένου να φορτωθεί το λειτουργικό σύστημα (αν είναι εγκατεστημένο) ή να εκτυπωθεί κάποιο διαγνωστικό μήνυμα λάθους, αν δεν έχει εγκατασταθεί το λειτουργικό σύστημα. Στους σκληρούς δίσκους υπάρχει ένας ακόμη τομέας συστήματος, ο κύριος τομέας εκκίνησης, ο οποίος μεταξύ άλλων περιέχει τον πίνακα διαμερίσεων (partition table) και κώδικα που φροντίζει να διαβάσει και να εκτελέσει τον τομέα εκκίνησης κάποιας συγκεκριμένης διαμέρισης.
Οι ιοί που επιτίθενται στους τομείς εκκίνησης φροντίζουν να εγκατασταθούν σε έναν από αυτούς, μετατοπίζοντας τον κανονικό κώδικα σε κάποιο άλλο σημείο του δίσκου. Για αποφυγή επικάλυψης της περιοχής που περιέχει τα κανονικά δεδομένα εκκίνησης με δεδομένα (κατά την εκχώρηση της περιοχής σε ένα αρχείο) οι ιοί συνήθως σημαδεύουν τη συγκεκριμένη περιοχή ως «κατεστραμμένη», με αποτέλεσμα το λειτουργικό σύστημα να μην τη χρησιμοποιεί συνολικά. Όταν τώρα ο υπολογιστής εκκινηθεί θα διαβάσει τον μολυσμένο τομέα εκκίνησης και θα ξεκινήσει την εκτέλεση του ιού. Ο ιός θα εγκατασταθεί στη μνήμη, και κατόπιν θα συνεχίσει με το φόρτωμα του λειτουργικού συστήματος, χρησιμοποιώντας τον κώδικα που έχει αποθηκεύσει. Όντας στη μνήμη ο ιός θα φροντίζει να μολύνει όλους τους διαθέσιμους δίσκους ή τις δισκέτες που τυχόν θα προσπελασθούν.

Ιοί αρχείων

Οι ιοί αρχείων αποτελούν την πολυπληθέστερη αριθμητικά ποικιλία, αν και η δυσκολία στη συγγραφή τους έχει αποθαρρύνει πλέον τους συγγραφείς ιών από το να αυξάνουν τον πληθάριθμο αυτής της κατηγορίας. Οι ιοί αυτοί φροντίζουν να τροποποιούν τα εκτελέσιμα προγράμματα, όπως π.χ. .COM και .ΕΧΕ σε περιβάλλον προσωπικών υπολογιστών. Στην απλούστερη μορφή τους απλά επικαλύπτουν το αρχικό τμήμα του προγράμματος με τον δικό τους κώδικα, με επακόλουθο η εκτέλεση του προγράμματος να μην έχει τη συνήθη για τους χρήστες λειτουργικότητα, αφού απλώς προκαλεί την εκτέλεση του ιού. Αυτό γίνεται άμεσα αντιληπτό από τους χρήστες με συνέπεια ο εντοπισμός του ιού να είναι τάχιστος, μειώνοντας τις δυνατότητές του για εξάπλωση. Στην πιο εξελιγμένη μορφή τους, οι ιοί αρχείων μετατοπίζουν τον αρχικό κώδικα του αρχείου ή επισυνάπτουν τον δικό τους κώδικα στο τέλος, με τις κατάλληλες εντολές σύνδεσης. Με τον τρόπο αυτό αφ’ ενός εκτελείται ο κώδικας του ιού, αφ΄ ετέρου εκτελείται και ο κώδικας του προγράμματος, με αποτέλεσμα οι χρήστες να μην αντιλαμβάνονται εύκολα την ύπαρξη του ιού, και έτσι αυτός να έχει μεγαλύτερο χρόνο δράσης.
Σημειώνεται ότι οι ιοί αρχείων δεν είναι απαραίτητο να μολύνουν μόνο τα «άμεσα» εκτελέσιμα αρχεία, όπως τα .COM και .EXE: αρχεία επικάλυψης (OVL), οδηγοί συσκευών (DRV, SYS), δυαδικά εκτελέσιμα (BIN) ή δυναμικά συνδεόμενες βιβλιοθήκες (DLL) έχουν κατά καιρούς αποτελέσει στόχους ιών. Οι ιοί αρχείων μπορεί να τερματίζουν την εκτέλεσή τους μαζί με το πέρας εκτέλεσης του αρχείου στο οποίο έχουν προσκολληθεί, μπορεί όμως να παραμένουν στη μνήμη και μετά το πέρας της εκτέλεσης του ξενιστή τους.

Ιοί μακροεντολών

Οι ιοί μακροεντολών είναι μία ειδική κατηγορία ιών που μολύνει αρχεία δεδομένων. Τα αρχεία δεδομένων κανονικά δεν είναι ενεργές οντότητες, κατά συνέπεια δεν είναι άμεσα υποψήφια για το ρόλο του ξενιστή ιών. Πολλές εφαρμογές ωστόσο, προκειμένου να δώσουν στα αρχεία τους δυνατότητες αυτοματισμού ή εν γένει ενεργά χαρακτηριστικά ενσωματώνουν διερμηνευτές γλωσσών μακροεντολών, οι οποίοι εκτελούν ειδικές κατηγορίες προγραμμάτων που είναι ενσωματωμένες στα αρχεία. Επί παραδείγματι, η οικογένεια εφαρμογών Microsoft Office ενσωματώνει ως γλώσσα μακροεντολών τη Visual Basic for Applications, η οποία μπορεί να προσδώσει πολλά ενεργά χαρακτηριστικά στα έγγραφα. Κατ΄ αυτή την έννοια τα αρχεία δεδομένων είναι πλέον άριστοι υποψήφιοι για την μόλυνση από ιούς. Επίσης, τα συνημμένα έγγραφα σε μηνύματα ηλεκτρονικού ταχυδρομείου μπορεί να περιέχουν και αυτά ιούς, είτε με στόχο να εκτελεστούν από την εφαρμογή που θα ανοίξει το συνημμένο έγγραφο είτε και από την ίδια την εφαρμογή διαχείρισης ηλεκτρονικής αλληλογραφίας.
Σημειώνουμε εδώ ότι όσο πιο ισχυρή είναι η γλώσσα μακροεντολών, τόσο πιο καταστροφικός μπορεί να αποβεί ένας ιός που την αξιοποιεί.

Ιοί συστοιχίας

Οι ιοί συστοιχίας έχουν έναν ιδιόμορφο τρόπο προσκόλλησης στα αρχεία, καθώς δεν τροποποιούν καθ’ οιονδήποτε τρόπο το ίδιο το αρχείο αλλά τις πληροφορίες καταλόγου. Ο ιός εγκαθιστά ένα αντίγραφο του εαυτού του σε κάποιο μπλοκ του δίσκου και, για κάθε πρόγραμμα που μολύνει, τροποποιεί τις πληροφορίες καταλόγου ώστε να δείχνουν πως το αρχείο ξεκινά από το μπλοκ που περιέχει τον ιό. Ο ιός φροντίζει να διατηρεί βέβαια και τις σωστές πληροφορίες για την κατανομή των αρχείων στο δίσκο και ένα κομμάτι του που παραμένει στη μνήμη φροντίζει έτσι ώστε τα μολυσμένα αρχεία να διαβάζονται «σωστά», δηλαδή πρώτα να διαβάζεται ο κώδικας του ιού και κατόπιν τα κανονικά δεδομένα. Το ίδιο κομμάτι του ιού φροντίζει ώστε οι τυχόν εγγραφές στο αρχείο να μην επικαλύπτουν το τμήμα του δίσκου που περιέχει τον ιό αλλά να κατευθύνονται στον πραγματικό χώρο δεδομένων του αρχείου.
Μία «ευχάριστη» παρενέργεια της τεχνικής αυτής μόλυνσης είναι ότι δημιουργείται ένα μόνο αντίγραφο του ιού στον δίσκο, μειώνοντας έτσι δραστικά τη σπατάλη χώρου από τα πολλαπλά αντίγραφα του ιού. Από την άλλη πλευρά όμως, αν συμβεί να ξεκινήσει ο υπολογιστής με «καθαρό» σύστημα –με αποτέλεσμα να μην βρίσκεται στη μνήμη το κομμάτι του ιού που διευθετεί τις εγγραφές και τις αναγνώσεις– και εκτελεσθεί ένα πρόγραμμα ελέγχου της ακεραιότητας του δίσκου, θα αναφέρει ότι τα μολυσμένα αρχεία είναι προβληματικά, καθώς θα δείχνουν να ξεκινούν όλα από τον ίδιο τομέα του δίσκου, και κάτι τέτοιο είναι κανονικά αδύνατον. Αν μάλιστα επιλέξουμε να επιτρέψουμε στο πρόγραμμα ελέγχου να επιχειρήσει να διορθώσει τη δομή του συστήματος αρχείων, η ζημιά που θα προξενηθεί θα είναι πιθανότατα πέραν οποιασδήποτε δυνατότητας επανόρθωσης.

Ιοί συνοδείας

Οι ιοί συνοδείας ήταν ιδιαίτερα δημοφιλής στο περιβάλλον DOS καθώς δεν τροποποιούσαν τα αρχεία που «μόλυναν» αλλά φρόντιζαν να εκτελεσθούν πριν από αυτά. Η απουσία της αναγκαιότητας για τροποποίηση των αρχείων απλοποιούσε ιδιαίτερα τη συγγραφή τους και έτσι ήταν πολύ αγαπητοί στην κοινότητα των συγγραφέων ιών. Για να επιτύχουν την εκτέλεση πριν το «κανονικό» πρόγραμμα αξιοποιούσαν το χαρακτηριστικό του DOS σύμφωνα με το οποίο αν ο χρήστης έδινε την εντολή X, το DOS έψαχνε πρώτα για το αρχείο X.COM και κατόπιν για το X.EXE. Έτσι, προκειμένου να «μολυνθεί» το αρχείο X.EXE αρκούσε να εγκατασταθεί στον ίδιο κατάλογο το αρχείο X.COM. Όταν ο χρήστης δώσει την εντολή «Χ» εκτελείται το X.COM, δηλαδή ο ιός, ο οποίος στη συνέχεια φροντίζει για την εκτέλεση του X.EXE. Οι ιοί συνοδείας είναι εύκολο να εντοπισθούν και να καθαρισθούν, καθώς ελάχιστα προγράμματα έχουν «νομότυπα» στον ίδιο κατάλογο και τους δύο τύπους εκτελέσιμων αρχείων (το μοναδικό ίσως είναι το DOSSHELL).

Ιοί ειδικά για Windows

Χωρίς να προξενείται ιδιαίτερη έκπληξη σε κανέναν, το λειτουργικό σύστημα Windows έδωσε νέες θαυμάσιες ευκαιρίες στους συγγραφείς ιών για να αναπτύξουν το ταλέντο τους. Οι ιοί μπορούν πλέον να εκτελούνται ως διεργασίες εξυπηρέτησης (services) ή προγράμματα οδήγησης συσκευών, ή ακόμη και ως «κρυφές» εφαρμογές, εξασφαλίζοντας έτσι συνεχή παρουσία στη μνήμη και μικρές πιθανότητες ανίχνευσης από τους χρήστες. Οι ιοί έχουν επίσης αξιοποιήσει το χαρακτηριστικό του μητρώου (registry) των Windows που συσχετίζει τύπους αρχείων με τρόπους εκτέλεσης. Έτσι, για τον τύπο αρχείων EXEFILE (που αντιστοιχεί σε όλα τα εκτελέσιμα αρχεία με επίθεμα .EXE) μπορεί να ορισθεί ένας νέος τρόπος εκτέλεσης μέσω του κλειδιού του μητρώου
HKEY_CLASSES_ROOT\exefile\shell\open\command=virus.exe "%1" "%*" το οποίο ορίζει ότι «για να εκτελεσθεί οποιοδήποτε πρόγραμμα τύπου EXE θα κληθεί το πρόγραμμα virus.exe με παραμέτρους το όνομα του καλούμενου προγράμματος και τα τυχόν ορίσματα που έχουν αρχικά χρησιμοποιηθεί. Ο ιός (virus.exe) αφού εκτελέσει τις ενέργειες που επιθυμεί μπορεί να προβεί στην εκτέλεση του προγράμματος που αρχικά κλήθηκε, καθ’ όσον έχει στη διάθεσή του όλα τα στοιχεία για την εκτέλεσή του.
Ένας ακόμη τρόπος για διάδοση ιών συνίσταται στην αξιοποίηση της εναλλακτικής ροής δεδομένων αρχείου που υποστηρίζεται από το σύστημα αρχείων NTFS. Η εναλλακτική ροή δεδομένων επιτρέπει για κάθε αρχείο Α να ορίζεται απεριόριστο πλήθος εναλλακτικών ροών που σχετίζονται μ’ αυτό και σημειώνονται ως A:ext1, A:ext2, …, Α:extn, όπου ext1, ext2 κ.λπ. είναι αυθαίρετες συμβολοσειρές. Τα δεδομένα που περιέχει κάθε εναλλακτική ροή είναι απολύτως ανεξάρτητα από αυτά των άλλων ροών, με μοναδικό συνδετικό κρίκο ότι αν σβησθεί το αρχείο Α αυτόματα σβήνονται όλες οι συνδεδεμένες μ’ αυτό ροές. Ο τρόπος που μπορούν να αξιοποιηθούν οι εναλλακτικές ροές για τη διάδοση των ιών είναι ο εξής:
1. αρχικά το εκτελέσιμο αρχείο Α.ΕΧΕ αντιγράφεται στο A.EXE:ORIG, δηλαδή σε μία εναλλακτική ροή δεδομένων.
2. Τα περιεχόμενα του Α.ΕΧΕ τροποποιούνται έτσι ώστε το αρχείο Α.ΕΧΕ να περιέχει πλέον τον ιό, καθώς και ένα τμήμα κώδικα που θα φροντίζει για την εκτέλεση του A.EXE:ORIG.
Η αποκάλυψη των ιών u945 αυτών είναι σχετικά δύσκολη καθώς οι εναλλακτικές ροές δεδομένων δεν εμφανίζονται στους καταλόγους, ενώ ακόμη και μερικά αυτοματοποιημένα προγράμματα δεν ενσωματώνουν κώδικα που να μπορεί να εντοπίσει τις εναλλακτικές ροές δεδομένων.

Πολυμορφικοί ιοί

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

Οι Ιοί και οι φάσεις τους


Οι ιοί αποτελούν πλέον μία από τις πιο σημαντικές απειλές για ασφάλεια των πληροφοριακών συστημάτων. Ως ιός γενικά χαρακτηρίζεται ένα πρόγραμμα το οποίο γράφτηκε ειδικά για να εισέρχεται σε συστήματα χωρίς να το ξέρει ή να το επιτρέψει ο ιδιοκτήτης-χρήστης. Από τη στιγμή που ο ιός καταφέρει να εισέλθει σε κάποιο σύστημα συνήθως προβαίνει σε ενέργειες που είναι ανεπιθύμητες για τον κάτοχο-χρήστη του συστήματος, όπως:
• Αναπαραγωγή. Ο ιός δημιουργεί αντίγραφα του εαυτού του, τα οποία ενδεχομένως θα μεταδοθούν και σε άλλα συστήματα.
• Υποβάθμιση της ασφάλειας του συστήματος. Ο ιός μπορεί να δίνει σε άλλους, μη εξουσιοδοτημένους χρήστες του διαδικτύου, τη δυνατότητα να συνδέονται στον υπολογιστή μας, να αντλούν δεδομένα κ.λπ.
• Καταστροφή/φθορά δεδομένων. Ο ιός μπορεί να διαγράφει αρχεία, να αλλοιώνει το περιεχόμενό τους ή ακόμη και να σβήνει ολόκληρους σκληρούς δίσκους.
Το μοντέλο αυτό συμπεριφοράς των ιών έχει περιγραφεί από τον Fred Cohen στην κλασική εργασία του “Computer Viruses - Theory and Experiments” που δημοσιεύθηκε το 1984.

Οι φάσεις ενός ιού

Οι υπόλοιπες γραμμές του μοντέλου υλοποιούν τις δύο κύριες φάσεις ενός ιού, τη φάση μόλυνσης και τη φάση επίθεσης. Στη φάση μόλυνσης, ο ιός αναζητά νέα αντικείμενα υποψήφια προς μόλυνση, και επισυνάπτει τον εαυτό του σ’ αυτά. Οι συγγραφείς ιών πολλές φορές αντισταθμίζουν την αμεσότητα και αποτελεσματικότητα της μόλυνσης με την ευκολία αποκάλυψης του ιού: ένας ιός που μολύνει αμέσως όλους τους πιθανούς «στόχους» του είναι εύκολο να αποκαλυφθεί διότι η εκτέλεση του ιού συνοδεύεται πάντα με κάποια ασυνήθιστη συμπεριφορά του συστήματος. Αντιθέτως, ένας ιός που αποφασίζει αν θα μολύνει ή όχι κάποιον στόχο εξετάζοντας κάποια συνθήκη (όπως την ημερομηνία, το πλήθος εκτελέσεών του, κάποια εξωτερικά συμβάντα κ.τ.λ.) είναι πιο δύσκολο να εντοπισθεί διότι η ασυνήθιστη συμπεριφορά εμφανίζεται πιο σπάνια και μπορεί να περάσει απαρατήρητη από τους χρήστες.
Πολλοί από τους ιούς χρησιμοποιούν για τη φάση μόλυνσης την τεχνική της δημιουργίας παραμενόντων προγραμμάτων: ο ιός φορτώνεται στη μνήμη με την εκτέλεση ενός μολυσμένου αντικειμένου (του ξενιστή) αλλά από το σημείο αυτό και μετά φροντίζει να απεξαρτηθεί από τον φορέα του και να παραμείνει ως αυτόνομη οντότητα στη μνήμη, ακόμη και μετά τον τερματισμό της εκτέλεσης του προγράμματος που προκάλεσε τη φόρτωσή του. Έχοντας εγκατασταθεί στη μνήμη ουσιαστικά περιμένει για τη στιγμή που θα θεωρηθεί κατάλληλη για να επιχειρήσει τη μόλυνση ενός νέου θύματος. Ιοί που χρησιμοποιούν την τεχνολογία των παραμενόντων προγραμμάτων φροντίζουν πολλές φορές να κρατούν την παρουσία τους κρυφή από τους χρήστες ή από ειδικά προγράμματα που έχουν ως στόχο να τους ανιχνεύσουν. Αυτό επιτυγχάνεται είτε με τεχνικές απόκρυψης (stealth techniques) ή με τεχνικές πολυμορφισμού. Αντίθετα προς τις ανωτέρω προσεγγίσεις που ακολουθούν προσεκτικά βήματα κατά την εξάπλωσή των ιών, η κατηγορία των ιών που είναι γνωστή με το όνομα «σκουλήκια» προσπαθεί να διαδοθεί άμεσα και σε όσο το δυνατόν μεγαλύτερη έκταση.
Η φάση της επίθεσης, η οποία ακολουθεί u964 τη φάση μόλυνσης, είναι προαιρετική για έναν ιό, μπορεί δηλαδή κάποιος ιός να μην περιέχει καθόλου τη φάση επίθεσης. Σε κάθε περίπτωση βέβαια, ένας ιός που έχει εισέλθει στο σύστημα σίγουρα έχει αρνητικά αποτελέσματα από την άποψη ότι καταναλώνει πόρους του συστήματος, κατ’ ελάχιστον τον επιπλέον χώρο στα αρχεία που έχει μολύνει και τη μνήμη που δεσμεύει προκειμένου να εκτελέσει τον κώδικά του. Για τους ιούς που όντως περιλαμβάνουν τη φάση της επίθεσης, οι πιο συχνές ενέργειες που απαντώνται στη φάση αυτή είναι οι εξής:
• Διαγραφή ή παραφθορά αρχείων.
• Αναπαραγωγή μουσικής ή μηνύματα στην οθόνη.
• Αποστολή μηνυμάτων ηλεκτρονικού ταχυδρομείου.
Όπως αντιλαμβανόμαστε, η έκταση της ζημιάς που θα προκληθεί μπορεί να ποικίλει από απλή ενόχληση του χρήστη έως την απώλεια πολύτιμων ή/και αναντικατάστατων δεδομένων. Σημειώνεται δε ότι οι καταστροφές που τυχόν θα προκληθούν μπορεί να είναι προτιθέμενες από τον συγγραφέα του ιού, αλλά μπορεί να οφείλονται και σε προγραμματιστική αβλεψία: για παράδειγμα, ο ιός stoned στην προσπάθειά του να αποκρύψει την παρουσία του χρησιμοποιούσε μία τεχνική που λειτουργούσε θαυμάσια σε δισκέτες χωρητικότητας 360K, κατάστρεφε όμως τις δισκέτες χωρητικότητας 1.2Μ. Ευτυχώς, το πρόβλημα αντιμετωπίστηκε σε επόμενη έκδοση του ιού.

Εισαγωγή


Ένας ιός υπολογιστών είναι ένα πρόγραμμα υπολογιστή, το οποίο μπορεί να αντιγραφεί χωρίς παρέμβαση του χρήστη και να "μολύνει" τον υπολογιστή χωρίς τη γνώση ή την άδεια του χρήστη του. Ο αρχικός ιός μπορεί να τροποποιήσει τα αντίγραφά του ή τα ίδια τα αντίγραφα μπορούν να υποστούν από μόνα τους τροποποίηση, όπως συμβαίνει σε έναν μεταμορφικό ιό. Ένας ιός μπορεί να διαδοθεί από έναν υπολογιστή σε άλλους, παραδείγματος χάριν από ένα χρήστη που στέλνει τον ιό μέσω δικτύου ή του Διαδικτύου, ή με τη μεταφορά του σε ένα φορητό μέσο αποθήκευσης, όπως δισκέτα, οπτικό δίσκο ή μνήμη flash USB. Οι ιοί ορισμένες φορές εσφαλμένα συγχέονται με τα "σκουλήκια" υπολογιστών (worms) και τους δούρειους ίππους (trojan horses). Ένα "σκουλήκι" μπορεί να διαδοθεί σε άλλους υπολογιστές χωρίς να πρέπει να μεταφερθεί ως τμήμα ενός υπολογιστή-οικοδεσπότη (host), ενώ ένας δούρειος ίππος είναι ένα αβλαβές πρόγραμμα μέχρι να εκτελεσθεί ή μέχρι να ικανοποιηθεί κάποια συνθήκη, την οποία έχει προκαθορίσει ο δημιουργός του. Πολλοί προσωπικοί υπολογιστές συνδέονται πλέον με το Διαδίκτυο και σε τοπικά δίκτυα και διευκολύνουν έτσι τη διάδοση του κακόβουλου κώδικα. Σήμερα οι ιοί μπορούν επίσης να εκμεταλλευθούν τις υπηρεσίες του Διαδικτύου, όπως το World Wide Web, το ηλεκτρονικό ταχυδρομείο, την υπηρεσία συνομιλιών (Internet Relay Chat, IRC). Μερικοί ιοί δημιουργούνται για να προξενήσουν ζημιά στον υπολογιστή, στον οποίο εγκαθίστανται, είτε με την καταστροφή των προγραμμάτων του είτε με τη διαγραφή αρχείων ή με τη μορφοποίηση (format) του σκληρού δίσκου. Μερικές, μάλιστα, φορές, δημιουργούν σε συγκεκριμένο τομέα του σκληρού δίσκου τέτοια καταστροφή, ώστε να είναι αδύνατη η ανάκτηση ολόκληρου του περιεχομένου του. Αλλοι δεν έχουν ως σκοπό να προκαλέσουν οποιαδήποτε ζημία, αλλά απλά γνωστοποιούν την παρουσία τους με την εμφάνιση στην οθόνη κειμένου, βίντεο, ή ηχητικών μηνυμάτων, μερικές φορές αρκετά χιουμοριστικών. Όμως, ακόμη και αυτοί οι "καλοκάγαθοι" ιοί μπορούν να δημιουργήσουν προβλήματα στο χρήστη υπολογιστών: Καταλαμβάνουν τη μνήμη που χρησιμοποιείται από τα κανονικά προγράμματα και, κατά συνέπεια, προκαλούν συχνά ασταθή συμπεριφορά του συστήματος και μπορούν να οδηγήσουν σε κατάρρευσή του (system crash). Επιπλέον, πολλοί ιοί είναι, εγγενώς, γεμάτοι προγραμματιστικά σφάλματα, τα οποία πιθανόν να οδηγήσουν στην κατάρρευση των υπολογιστικών συστημάτων και στην απώλεια δεδομένων.

ΚΑΛΩΣ ΗΛΘΑΤΕ

Ο σκοπός αυτού του ιστολογίου είναι να κάνει μια παρουσίαση των ιών που προσβάλλουν τα υπολογιστικά συστήματα και των τρόπων αντιμετώπισής τους. Για την ευκολότερη κατανόηση τους πηγαίνετε στο συνοδευτικό υλικό και ακολουθήστε τα βήματα που παρουσιάζονται στο φύλλο εργασίας.