Τι είναι ο μεταμορφικός ιός
Ο μεταμορφικός ιός είναι ένα πρόγραμμα που αναπαράγεται μόνο του και όχι απλώς κρύβει τον κώδικά του, αλλά τον αλλάζει. Κάθε νέο αντίγραφο παράγεται από μια ενσωματωμένη μηχανή που ξαναγράφει τις εντολές, οπότε τα αντίγραφα συμπεριφέρονται ίδια αλλά μοιράζονται σχεδόν κανένα μοτίβο byte. Εκεί βρίσκεται η ουσία: το κλασικό antivirus αναγνωρίζει το κακόβουλο λογισμικό από την όψη του, και ο μεταμορφικός ιός δεν φαίνεται ποτέ δύο φορές ίδιος.
Το τι κάνει μόλις εκτελεστεί είναι άλλο ζήτημα. Η μηχανή μετάλλαξης είναι μόνο η μεταμφίεση και το ωφέλιμο φορτίο μπορεί να είναι οτιδήποτε, από μόλυνση αρχείων έως keylogger ή αθόρυβο κανάλι διαρροής δεδομένων. Αξίζει να το βλέπετε έτσι: η μηχανή αποφασίζει αν θα αναγνωρίσετε το πρόγραμμα, το φορτίο αποφασίζει πόσο θα σας κοστίσει.
Πώς ξαναγράφει τον εαυτό του
Η μετάλλαξη γίνεται σε έναν κύκλο που ο ιός κουβαλά μέσα του, χωρίς εξωτερική βοήθεια.
- 1
Ανάγνωση του δικού του κώδικα
Η μηχανή αποσυναρμολογεί το σώμα του ιού σε μια λίστα εντολών που μπορεί να κατανοήσει και να επεξεργαστεί.
- 2
Μετασχηματισμός
Εφαρμόζει κανόνες αναδιατύπωσης, όπως αντικατάσταση μιας εντολής με ισοδύναμη, αναδιάταξη ανεξάρτητων τμημάτων ή εισαγωγή ακίνδυνου παραγεμίσματος.
- 3
Ανακατασκευή
Συναρμολογεί ξανά τις τροποποιημένες εντολές σε ένα νέο, λειτουργικό σώμα με καινούργιες διευθύνσεις και άλματα.
- 4
Μόλυνση και επανάληψη
Το νέο αντίγραφο προσαρτάται σε έναν στόχο και, όταν εκτελεστεί, ξεκινά πάλι τον ίδιο κύκλο.
Μεταμορφικός και πολυμορφικός
Οι δύο όροι συχνά μπερδεύονται. Ο πολυμορφικός ιός διατηρεί τον ίδιο βασικό κώδικα και αλλάζει μόνο το περίβλημά του, συνήθως ένα επίπεδο κρυπτογράφησης με διαφορετικό κλειδί κάθε φορά. Όταν αφαιρεθεί το περίβλημα, εμφανίζεται το ίδιο σώμα, και οι αναλυτές έχουν κάτι σταθερό για να το ταιριάξουν. Ο μεταμορφικός ιός δεν έχει σταθερό σώμα που μπορεί να βρεθεί.
| Χαρακτηριστικό | Πολυμορφικός ιός | Μεταμορφικός ιός |
|---|---|---|
| Τι αλλάζει | Το επίπεδο κρυπτογράφησης και ο αποκρυπτογραφητής του | Ο ίδιος ο κώδικας του προγράμματος |
| Σώμα μετά την αποσυσκευασία | Ίδιο σε κάθε αντίγραφο | Διαφορετικό σε κάθε αντίγραφο |
| Τι μεταφέρει | Μια μηχανή μετάλλαξης για το περίβλημα | Μια μηχανή που αποσυναρμολογεί και ξαναχτίζει τον κώδικα |
| Δυσκολία συγγραφής | Μέτρια | Σαφώς μεγαλύτερη |
| Αδύναμο σημείο | Το αποκρυπτογραφημένο σώμα μπορεί να ταιριαστεί | Η συμπεριφορά του και τα μοτίβα της ίδιας της μηχανής |
Συνηθισμένες τεχνικές μετάλλαξης
Οι μεταμορφικές μηχανές συνδυάζουν ένα μικρό σύνολο μετασχηματισμών. Κανένας δεν είναι προηγμένος μόνος του και το αποτέλεσμα προκύπτει από τη στοίβαξή τους σε διαδοχικές γενιές.
- Αντικατάσταση εντολών: αλλαγή μιας εντολής με μια άλλη που δίνει το ίδιο αποτέλεσμα.
- Αναδιάταξη κώδικα: ανακάτεμα τμημάτων που δεν εξαρτώνται μεταξύ τους και διόρθωση των αλμάτων ανάμεσά τους.
- Μετονομασία καταχωρητών: χρήση διαφορετικών καταχωρητών του επεξεργαστή για τις ίδιες πράξεις.
- Εισαγωγή άχρηστου κώδικα: προσθήκη εντολών που δεν κάνουν τίποτα, όπως κενές πράξεις ή πράξεις που αναιρούνται μεταξύ τους.
- Επέκταση και συρρίκνωση: αντικατάσταση μιας σύντομης ακολουθίας με μεγαλύτερο ισοδύναμο ή αντίστροφα.
Γιατί οι υπογραφές αποτυγχάνουν
Η σάρωση με υπογραφές συγκρίνει ένα αρχείο με μοτίβα byte από γνωστά δείγματα. Ο μεταμορφισμός επιτίθεται απευθείας σε αυτή την παραδοχή, γιατί μια νέα παραλλαγή δεν φέρει κανένα μοτίβο που έχει καταγραφεί ποτέ. Έτσι η ανίχνευση μετατοπίζεται από το πώς φαίνεται το αρχείο στο τι κάνει.
Ένα συναφές επίπεδο είναι η παρακολούθηση ακεραιότητας αρχείων. Δεν αναγνωρίζει καθόλου τον ιό: αντιλαμβάνεται ότι ένα προστατευμένο αρχείο άλλαξε χωρίς να το έχει εγκρίνει κανείς, και αυτό ισχύει όποια όψη κι αν έχει ο κώδικας.
| Προσέγγιση ανίχνευσης | Απαιτεί γνωστό μοτίβο byte | Βλέπει τη συμπεριφορά κατά την εκτέλεση |
|---|---|---|
| Αντιστοίχιση υπογραφών | ||
| Στατική ευρετική | ||
| Παρακολούθηση συμπεριφοράς | ||
| Sandbox ή εξομοίωση |
Άμυνα σε επίπεδα
Επειδή κανένας μεμονωμένος έλεγχος δεν αναγνωρίζει κάθε παραλλαγή, η άμυνα χτίζεται από επίπεδα που αποτυγχάνουν με διαφορετικούς τρόπους. Η προστασία τερματικών βασισμένη στη συμπεριφορά, οι λίστες επιτρεπόμενων εφαρμογών και οι έγκαιρες ενημερώσεις μειώνουν την πιθανότητα μόλυνσης. Οι περισσότερες μολύνσεις πάντως ξεκινούν από έναν άνθρωπο, μέσω ενός μηνύματος όπως το clone phishing ή ενός αρχείου από αφαιρούμενα μέσα, γι' αυτό το φιλτράρισμα αλληλογραφίας και οι κανόνες συσκευών μετρούν όσο και το antivirus.
Υποθέστε ότι κάποια παραλλαγή θα εκτελεστεί τελικά. Ο τμηματισμός δικτύου, οι λογαριασμοί ελάχιστων δικαιωμάτων και τα δοκιμασμένα αντίγραφα ασφαλείας περιορίζουν ό,τι μπορεί να αγγίξει και τον χρόνο καθαρισμού.
Μια καθαρή σάρωση δεν αποδεικνύει ότι το μηχάνημα είναι καθαρό: απέναντι σε μεταμορφικό δείγμα, ο σαρωτής υπογραφών μπορεί μόνο να αναφέρει ότι δεν βρήκε κάτι που γνώριζε.
Από πού να ξεκινήσετε
Ξεκινήστε ρωτώντας τι θα μπορούσε να φτάσει μια επιτυχημένη μόλυνση, όχι πώς θα πιάσετε κάθε παραλλαγή. Καταγράψτε τα τερματικά που κρατούν ευαίσθητα δεδομένα, ενεργοποιήστε εκεί ανίχνευση βασισμένη στη συμπεριφορά και φροντίστε να εντοπίζονται οι ασυνήθιστες αλλαγές αρχείων και οι εξερχόμενες μεταφορές.
Η τελευταία γραμμή άμυνας είναι τα ίδια τα δεδομένα. Ένας έλεγχος DLP τερματικού, όπως το Anexet DLP, παρακολουθεί τα κανάλια από τα οποία φεύγουν τα δεδομένα, ώστε μια διαρροή να σταματήσει ακόμη κι αν το πρόγραμμα που την ξεκίνησε δεν αναγνωρίστηκε ποτέ.
Δεν μπορείτε πάντα να αναγνωρίσετε τον εισβολέα, μπορείτε όμως πάντα να παρακολουθείτε τι βγαίνει από την πόρτα.
