Ενώ το OS X ήταν σχετικά άκυρο από κακόβουλο λογισμικό για τα πρώτα δέκα χρόνια χρήσης, πρόσφατα φοβήθηκαν κακόβουλα προγράμματα που έχουν επηρεάσει σημαντικό αριθμό συστημάτων Mac.
Ένας από τους πρώτους ήταν η ψεύτικη απάτη κατά του ιού του MacDefender, η οποία είχε ανθρώπους που εξέδωσαν πληροφορίες πιστωτικών καρτών από το φόβο ότι τα συστήματά τους μολύνθηκαν. Αυτή η απάτη μεταμορφώθηκε αρκετά γρήγορα καθώς προσπάθησε να αποφύγει την ανίχνευση και συνέχιζε να εξαναγκάζει τους ανθρώπους να προσφέρουν προσωπικές πληροφορίες. Μια άλλη απάτη ήταν το κακόβουλο λογισμικό DNSChanger που επηρέασε εκατομμύρια συστήματα PC παγκοσμίως και το οποίο τελικά στρέφει τα επηρεαζόμενα συστήματα σε κακόβουλες τοποθεσίες Web και όπως το κακόβουλο λογισμικό του MacDefender προσπάθησε να φέρει τους ανθρώπους να προσφέρουν προσωπικές πληροφορίες.
Το πιο πρόσφατο κακόβουλο λογισμικό που έπληξε το OS X ήταν η απάτη Flashback, η οποία αρχικά ξεκίνησε ως εφαρμογή ψεύτικου προγράμματος εγκατάστασης του Flash player που ήταν σχετικά εύκολο να αποφευχθεί. Ωστόσο, η απειλή μεταβλήθηκε γρήγορα σε μια πιο σοβαρή απειλή, εκμεταλλευόμενοι τις αδιάκοπες τρύπες ασφαλείας στην Java (τις οποίες η Apple έχει ήδη απευθύνει) για να εγκαταστήσετε σε ένα Mac που εκτελεί Java με απλή επίσκεψη σε μια κακόβουλη ιστοσελίδα και χωρίς να απαιτεί προσοχή από τους χρήστες. Μέχρι στιγμής, εκτιμάται ότι έχουν μολυνθεί πάνω από 600.000 συστήματα Mac παγκοσμίως, με την πλειοψηφία στις ΗΠΑ και τον Καναδά.
Πώς λειτουργεί;
Το κακόβουλο λογισμικό Flashback εισάγει κώδικα σε εφαρμογές (συγκεκριμένα προγράμματα περιήγησης στο Web) που θα εκτελούνται όταν εκτελούνται και οι οποίες στη συνέχεια στέλνουν στιγμιότυπα οθόνης και άλλες προσωπικές πληροφορίες σε απομακρυσμένους διακομιστές.
Πρώτο βήμα: Αξιοποίηση της Java
Όταν συναντήσετε την κακόβουλη ιστοσελίδα που περιέχει το κακόβουλο λογισμικό και έχετε μια μη κωδικοποιημένη έκδοση Java που εκτελείται στο σύστημά σας, θα εκτελέσει αρχικά μια μικρή μικροεφαρμογή Java που κατά την εκτέλεση θα σπάσει την ασφάλεια Java και θα γράψει ένα μικρό πρόγραμμα εγκατάστασης στο λογαριασμό του χρήστη. Το πρόγραμμα ονομάζεται .jupdate, .mkeeper, .flserv, .null ή .rserv και η περίοδος μπροστά του κάνει να φαίνεται κρυφή στην προεπιλεγμένη προβολή Finder.
Επιπλέον, η μικροεφαρμογή Java θα γράψει ένα αρχείο εκκίνησης με όνομα "com.java.update.plist", "com.adobe.reader.plist", "com.adobe.flp.plist" ή ακόμα και "null.plist" στο φάκελο ~ / Library / LaunchAgents / του τρέχοντος χρήστη, ο οποίος θα εκκινήσει συνεχώς το πρόγραμμα .jupdate όποτε συνδεθεί ο χρήστης.
Προκειμένου να αποφευχθεί η ανίχνευση, ο εγκαταστάτης θα εξετάσει πρώτα την παρουσία ορισμένων εργαλείων προστασίας από ιούς και άλλων βοηθητικών προγραμμάτων που ενδέχεται να υπάρχουν σε ένα σύστημα χρηστών ενέργειας, το οποίο σύμφωνα με το F-Secure περιλαμβάνει τα εξής:
/ Βιβλιοθήκη / Μικρή Snitch
/Developer/Applications/Xcode.app/Contents/MacOS/Xcode
/ Εφαρμογές / VirusBarrier X6.app
/Applications/iAntiVirus/iAntiVirus.app
/Applications/avast!.app
/Applications/ClamXav.app
/Applications/HTTPScoop.app
/ Εφαρμογές / Packet Peeper.app
Εάν εντοπιστούν αυτά τα εργαλεία, τότε το κακόβουλο πρόγραμμα διαγράφει τον εαυτό του σε μια προσπάθεια να αποτρέψει την ανίχνευση από εκείνους που έχουν τα μέσα και την ικανότητα να το κάνουν. Πολλά προγράμματα κακόβουλου λογισμικού χρησιμοποιούν αυτή τη συμπεριφορά, όπως παρατηρήθηκε σε άλλα, όπως το bot bot tsunami.
Δεύτερο βήμα: Λήψη του ωφέλιμου φορτίου
Όταν εκτελείται το πρόγραμμα jupdate, θα συνδεθεί σε έναν απομακρυσμένο διακομιστή και θα κατεβάσει ένα πρόγραμμα ωφέλιμου φορτίου το οποίο είναι το ίδιο το κακόβουλο λογισμικό και το οποίο αποτελείται από δύο στοιχεία. Το πρώτο είναι το κύριο μέρος του κακόβουλου λογισμικού που εκτελεί τη λήψη και τη μεταφόρτωση προσωπικών πληροφοριών και το δεύτερο είναι ένα στοιχείο φίλτρου που χρησιμοποιείται για την αποτροπή της εμφάνισης του κακόβουλου λογισμικού, εκτός εάν χρησιμοποιούνται συγκεκριμένα προγράμματα όπως τα προγράμματα περιήγησης στο Web.
Τρίτο βήμα: Λοίμωξη
Μόλις ληφθούν τα κακόβουλα προγράμματα και το φίλτρο, το κακόβουλο πρόγραμμα εκτελείται για να μολύνει το σύστημα. Αυτός είναι ο τόπος όπου οι χρήστες θα βλέπουν μια ειδοποίηση σχετικά με μια ενημερωμένη έκδοση λογισμικού και θα τους ζητείται να παρέχουν τους κωδικούς τους. Δυστυχώς σε αυτό το σημείο δεν υπάρχει τίποτα για να σταματήσει η μόλυνση, και εάν ο κωδικός πρόσβασης παρέχεται ή όχι αλλάζει μόνο τον τρόπο μόλυνσης.
Η ρίζα της ρουτίνας της λοίμωξης βασίζεται στα αρχεία διαμόρφωσης στο OS X που διαβάζονται και εκτελούνται κατά την εκτέλεση των προγραμμάτων. Ένα από αυτά ονομάζεται "Info.plist" που βρίσκεται στο φάκελο "Περιεχόμενα" σε κάθε πακέτο εφαρμογής OS X και διαβάζεται κάθε φορά που ανοίγει το συγκεκριμένο πρόγραμμα. Το δεύτερο καλείται "environment.plist" και βρίσκεται μέσα στο λογαριασμό χρήστη σε έναν κρυφό φάκελο (~ / .MacOSX / environment.plist), ο οποίος μπορεί να χρησιμοποιηθεί για την εκκίνηση παραμέτρων κάθε φορά που κάποιο πρόγραμμα ανοίγει ο χρήστης.
Ο πρώτος τρόπος μόλυνσης είναι εάν παρέχεται ένας κωδικός πρόσβασης, οπότε το κακόβουλο λογισμικό μεταβάλλει τα αρχεία Info.plist στα Safari και Firefox για να εκτελέσει το κακόβουλο λογισμικό κάθε φορά που ανοίγουν αυτά τα προγράμματα. Αυτός είναι ο προτιμώμενος τρόπος μόλυνσης του κακόβουλου λογισμικού, αλλά εάν δεν παρέχεται ένας κωδικός πρόσβασης, τότε το κακόβουλο λογισμικό καταφεύγει στο δεύτερο τρόπο μόλυνσης, όπου αλλάζει το αρχείο "environment.plist".
Χρησιμοποιώντας το αρχείο environment.plist, το κακόβουλο πρόγραμμα θα εκτελείται κάθε φορά που ανοίγει οποιαδήποτε εφαρμογή και αυτό θα οδηγήσει σε συντριβές και άλλες παράξενες συμπεριφορές που θα μπορούσαν να προκαλέσουν συναγερμό στον χρήστη, οπότε το κακόβουλο λογισμικό χρησιμοποιεί το στοιχείο του φίλτρου για να εκτελείται μόνο όταν ορισμένες εφαρμογές όπως το Safari, το Firefox, το Skype, ακόμα και οι εγκαταστάσεις του Office.
Είτε έτσι είτε αλλιώς, μετά τη λήψη του, το κακόβουλο λογισμικό θα μολύνει το σύστημα χρησιμοποιώντας μία από αυτές τις προσεγγίσεις και θα εκτελείται όποτε χρησιμοποιούνται εφαρμογές-στόχοι όπως προγράμματα περιήγησης Web. Σε πιο πρόσφατες παραλλαγές του κακόβουλου λογισμικού, όταν εγκατασταθεί χρησιμοποιώντας το αρχείο "environment.plist", θα ελέγξει περαιτέρω το σύστημα για να διασφαλίσει ότι υπάρχουν πλήρεις εγκαταστάσεις προγραμμάτων όπως το Office ή το Skype και ενδεχομένως να διαγραφεί εάν τα προγράμματα αυτά δεν είναι πλήρως ή σωστά εγκατασταθεί. Η F-Secure θεωρεί ότι πρόκειται για μια προσπάθεια να αποφευχθεί η έγκαιρη ανίχνευση του κακόβουλου λογισμικού.
Πώς μπορώ να το ανιχνεύσω;
Η ανίχνευση του κακόβουλου λογισμικού είναι αρκετά εύκολη και απαιτεί απλά να ανοίξετε την εφαρμογή Terminal στο φάκελο / Applications / Utilities / και να εκτελέσετε τις ακόλουθες εντολές:
οι προεπιλογές διαβάζουν ~ / .MacOSX / περιβάλλον DYLD_INSERT_LIBRARIES
προεπιλογές διαβάζουν /Applications/Safari.app/Contents/Info LSEnvironment
προεπιλογές διαβάζουν /Applications/Firefox.app/Contents/Info LSEnvironment
Αυτές οι εντολές θα διαβάσουν το αρχείο "Info.plist" ορισμένων εφαρμογών-στόχων και το αρχείο "environment.plist" στο λογαριασμό χρήστη και θα καθορίσουν εάν υπάρχει η μεταβλητή που χρησιμοποιεί το κακόβουλο λογισμικό για να ξεκινήσει (ονομάζεται "DYLD_INSERT_LIBRARIES"). Εάν η μεταβλητή δεν υπάρχει, τότε αυτές οι τρεις εντολές του Τερματικού θα εξάγουν ότι το προεπιλεγμένο ζεύγος "δεν υπάρχει", αλλά αν είναι παρούσες τότε αυτές οι εντολές θα εξάγουν μια διαδρομή που δείχνει στο αρχείο κακόβουλου λογισμικού, το οποίο θα πρέπει να δείτε στο τερματικό παράθυρο.
Εκτός από τις παραπάνω εντολές, μπορείτε να ελέγξετε για την παρουσία αόρατων αρχείων .so που έχουν δημιουργήσει παλιές παραλλαγές του κακόβουλου λογισμικού στον κατάλογο κοινών χρηστών, εκτελώντας την ακόλουθη εντολή στο Terminal:
ls -la ~ /../ Κοινόχρηστο /.*
Αφού εκτελέσετε αυτήν την εντολή, αν δείτε μια έξοδο από "κανένα τέτοιο αρχείο ή κατάλογο", τότε δεν έχετε αυτά τα αρχεία στον κοινόχρηστο κατάλογο του χρήστη σας. Ωστόσο, αν είναι παρόντες, τότε θα τους δείτε.
Πώς μπορώ να το αφαιρέσω;
Εάν μετά την εκτέλεση των τριών πρώτων εντολών ανίχνευσης διαπιστώσετε ότι το σύστημά σας περιέχει τα τροποποιημένα αρχεία και υποψιάζεστε ότι έχει εγκατασταθεί το κακόβουλο πρόγραμμα, τότε μπορείτε να το αφαιρέσετε χρησιμοποιώντας τις οδηγίες χειροκίνητης κατάργησης του F-Secure. Αυτές οι οδηγίες είναι λίγο σε βάθος, αλλά αν τις ακολουθήσετε ακριβώς, τότε θα πρέπει να είστε σε θέση να απαλλαγείτε από το σύστημα της λοίμωξης:
- Ανοίξτε το τερματικό και εκτελέστε τις ακόλουθες εντολές (ίδιες με τις παραπάνω):
προεπιλογές διαβάζουν /Applications/Safari.app/Contents/Info LSEnvironment
προεπιλογές διαβάζουν /Applications/Firefox.app/Contents/Info LSEnvironment
οι προεπιλογές διαβάζουν ~ / .MacOSX / περιβάλλον DYLD_INSERT_LIBRARIES
Όταν εκτελούνται αυτές οι εντολές, σημειώστε την πλήρη διαδρομή αρχείου που εξέρχεται στο παράθυρο του τερματικού (μπορεί να αντιστοιχιστεί με τον όρο "DYLD_INSERT_LIBRARIES"). Για κάθε μία από τις εντολές που εξάγουν μια διαδρομή αρχείου (και δεν λέει ότι το ζεύγος ζωνών δεν υπάρχει), αντιγράψτε την πλήρη διαδρομή του αρχείου και εκτελέστε την ακόλουθη εντολή με τη διαδρομή αρχείου στη θέση του FILEPATH στην εντολή (αντιγραφή και επικόλληση αυτή η εντολή):
grep -a -o '__ldpath __ [- ~] *' ΦΙΛΕΠΑΘ
- Εντοπίστε τα αρχεία που αναφέρονται στην έξοδο των παραπάνω εντολών και διαγράψτε τα. Εάν δεν μπορείτε να τα εντοπίσετε στο Finder, τότε για κάθε πρώτο τύπο sudo rm στο τερματικό που ακολουθείται από ένα μόνο κενό και στη συνέχεια χρησιμοποιήστε το δρομέα του ποντικιού για να επιλέξετε την πλήρη διαδρομή του αρχείου από την έξοδο της πρώτης εντολής και χρησιμοποιήστε το Command-C ακολουθούμενη από την εντολή V για να την αντιγράψετε και να την επικολλήσετε στο Terminal. Στη συνέχεια, πατήστε Enter για να εκτελέσετε την εντολή και να καταργήσετε αυτό το αρχείο.
Δείτε το παρακάτω στιγμιότυπο οθόνης για ένα παράδειγμα του πώς πρέπει να φαίνεται αυτό:
- Όταν διαγράψετε όλες τις αναφορές αρχείων από τις παραπάνω εντολές "προεπιλογές", τότε έχετε αφαιρέσει τα αρχεία κακόβουλου λογισμικού, αλλά θα πρέπει να επαναφέρετε τις τροποποιημένες εφαρμογές και τα αρχεία λογαριασμού, για να το κάνετε αυτό εκτελέστε τις ακόλουθες εντολές:
sudo προεπιλογή διαγραφή /Applications/Safari.app/Contents/Info LSEnvironment
sudo chmod 644 /Applications/Safari.app/Contents/Info.plist
sudo προεπιλογές διαγραφή /Applications/Firefox.app/Contents/Info LSEnvironment
sudo chmod 644 /Applications/Firefox.app/Contents/Info.plist
προεπιλογή διαγραφή ~ / .MacOSX / περιβάλλον DYLD_INSERT_LIBRARIES
Εκτελέστε το unsetenv DYLD_INSERT_LIBRARIES
- Στο Finder, μεταβείτε στο μενού Μετάβαση και επιλέξτε Βιβλιοθήκη (κρατήστε πατημένο το πλήκτρο Option στο Lion για να εμφανιστεί αυτή η επιλογή στο μενού) και, στη συνέχεια, ανοίξτε το φάκελο LaunchAgents, όπου θα δείτε ένα αρχείο που ονομάζεται "com.java.update .plist. " Στη συνέχεια, πληκτρολογήστε την ακόλουθη εντολή στο Terminal (Σημείωση: αλλάξτε το όνομα του "com.java.update" στην εντολή για να απεικονίσει το όνομα του αρχείου πριν από το suffix .plist του, όπως "com.adobe.reader" εάν έχετε αυτό το αρχείο):
οι προεπιλογές διαβάζουν ~ / Library / LaunchAgents / com.java.update ProgramArguments
Όταν ολοκληρωθεί αυτή η εντολή, πατήστε Enter και σημειώστε τη διαδρομή του αρχείου που έχει εξαχθεί στο παράθυρο του τερματικού.
Όπως κάνατε προηγουμένως, εντοπίστε αυτό το αρχείο στο Finder και διαγράψτε το, αλλά εάν δεν μπορείτε να το κάνετε, πληκτρολογήστε "sudo rm" ακολουθούμενο από ένα μόνο κενό και, στη συνέχεια, αντιγράψτε και επικολλήστε τη διαδρομή αρχείου εξόδου στην εντολή και πατήστε Enter.
Για να καταργήσετε τυχόν κρυμμένα αρχεία .so που βρέθηκαν νωρίτερα, μπορείτε να τα καταργήσετε εκτελώντας την ακόλουθη εντολή στο Terminal (φροντίστε να αντιγράψετε και να επικολλήσετε αυτήν την εντολή, καθώς δεν πρέπει να υπάρχουν απολύτως κενά στο τελευταίο στοιχείο που περιέχει τα σύμβολα και τα σημεία στίξης ):
sudo rm ~ /../ Κοινόχρηστο /.*
Αφού ολοκληρωθεί αυτό το βήμα, αφαιρέστε το αρχείο που ονομάζεται "com.java.update.plist" (ή "com.adobe.reader.plist" και θα πρέπει να είστε καλός.
UPDATED: 4/5/2012, 10:00 μμ - Προστέθηκαν οδηγίες ανίχνευσης και αφαίρεσης των κρυφών αρχείων .so που χρησιμοποιούνται από προηγούμενες παραλλαγές του κακόβουλου λογισμικού.
Αφήστε Το Σχόλιό Σας