Μια βιβλιοθήκη Python στο PyPI χρησιμοποιεί Unicode για να διαφεύγει της ανίχνευσης, καθώς κλέβει και αφαιρεί τα δεδομένα λογαριασμών προγραμματιστών καθώς και άλλες εμπιστευτικές πληροφορίες από παραβιασμένες συσκευές.
Προκειμένου να αποφύγει τον εντοπισμό από αυτοματοποιημένες σαρώσεις και άμυνες που βασίζονται στην αντιστοίχιση συμβολοσειρών, το κακόβουλο πακέτο “onyxproxy” χρησιμοποιεί μια ανάμειξη διαφόρων γραμματοσειρών Unicode στον πηγαίο του κώδικα.
Η ανακάλυψη του onyxproxy προέρχεται από ειδικούς στον τομέα της κυβερνοασφάλειας στο Phylum, οι οποίοι δημοσίευσαν μια έκθεση που εξηγεί την τεχνική.
Από την απελευθέρωσή του στο PyPI πριν από δύο εβδομάδες, το κακόβουλο πακέτο είχε συγκεντρώσει 183 downloads πριν αφαιρεθεί από την πλατφόρμα χθες.
Mark Zuckerberg: Ο δεύτερος πλουσιότερος άνθρωπος
Ένα «νέο αστέρι» φωτίζεται στο νυχτερινό ουρανό
Mark Zuckerberg: Έγινε ο δεύτερος πλουσιότερος άνθρωπος! 💰💰
Δείτε επίσης: Τι τεχνικές διανομής malware χρησιμοποιεί η ομάδα hacking ScarCruft;
Το Unicode είναι ένα πρωτοποριακό πρότυπο κωδικοποίησης χαρακτήρων που ενοποιεί πάνω από 100.000 χαρακτήρες από πολυάριθμες γραφές και γλώσσες σε ένα τεράστιο σύστημα. Με αυτή την καινοτόμο τεχνολογία, οι χρήστες μπορούν να έχουν πρόσβαση σε διάφορα σύνολα/σχήματα με ευκολία, διατηρώντας παράλληλα την ακρίβεια των δεδομένων σε όλες τις πλατφόρμες.
Το Unicode αναπτύχθηκε για να διασφαλίσει τη διαλειτουργικότητα και την τυποποιημένη αναπαράσταση κειμένου μεταξύ γλωσσών, πλατφορμών και συσκευών και δημιουργήθηκε για να αποτρέψει προβλήματα κωδικοποίησης που διαφορετικά θα μπορούσαν να οδηγήσουν σε αλλοίωση δεδομένων.
Το πακέτο “onyxproxy” κρύβει ένα “setup.py” που περιέχει χιλιάδες ύποπτα code strings που συνδυάζουν χαρακτήρες Unicode.
Μια απλή ματιά σε αυτές τις συμβολοσειρές δεν θα αποκάλυπτε απαραίτητα σημαντικές διαφορές μεταξύ τους, ωστόσο η αλλαγή στο στυλ της γραμματοσειράς έχει τεράστιο αντίκτυπο στους διερμηνείς της Python που είναι σε θέση να αναγνωρίσουν και να ερμηνεύσουν τους χαρακτήρες ως σαφώς διαφορετικούς.
Δείτε επίσης: Η ομάδα Play ransomware δημοσίευσε τα data της Royal Dirkzwager
Για παράδειγμα, ο Unicode παρέχει πέντε διαφορετικές παραλλαγές του γράμματος “n” και 19 εκδοχές του γράμματος “s”, κάθε μία από τις οποίες ανταποκρίνεται σε διαφορετικές γλώσσες, μαθηματικούς τύπους και άλλα. Ακόμα και κάτι τόσο απλό όσο μια λέξη όπως το “self” μπορεί να αναπαρασταθεί με 122.740 τρόπους με το Unicode (19x19x20x17).
Οι προγραμματιστές μπορούν να επωφεληθούν από την υποστήριξη Unicode της Python για αναγνωριστικά, όπως μεταβλητές κώδικα, συναρτήσεις, κλάσεις, ενότητες και άλλα αντικείμενα. Αυτό το χαρακτηριστικό τους επιτρέπει να δημιουργούν μοναδικά αναγνωριστικά που μοιάζουν ίδια αλλά παραπέμπουν σε διαφορετικές λειτουργίες.
Οι δημιουργοί του Onyxproxy εφάρμοσαν τα αναγνωριστικά “__import__”, “subprocess” και “CryptUnprotectData”, τα οποία είναι μεγαλύτερα και πιο ποικίλα, επιτρέποντάς του έτσι να ξεγελάσει αποτελεσματικά τις άμυνες αντιστοίχισης συμβολοσειρών.
Η υποστήριξη Unicode της Python μπορεί εύκολα να γίνει abused για την απόκρυψη κακόβουλων αντιστοιχίσεων string, κάνοντας τον κώδικα να φαίνεται αβλαβής ενώ εξακολουθεί να εκτελεί κακόβουλη συμπεριφορά. Σε αυτήν την περίπτωση, η κλοπή ευαίσθητων δεδομένων και authentication tokens από προγραμματιστές.
Αν και αυτή η μέθοδος συσκότισης δεν είναι ιδιαίτερα περίπλοκη, είναι ανησυχητικό να τη βλέπουμε να χρησιμοποιείται και μπορεί να αποτελεί ένδειξη ευρύτερης κατάχρησης του Unicode για το Python obfuscation.
Δείτε επίσης: Rio Tinto: Τα προσωπικά δεδομένα του προσωπικού ενδέχεται να έχουν διαρρεύσει
Η κοινότητα των προγραμματιστών της Python έχει εδώ και καιρό ξεκινήσει μια ουσιαστική συζήτηση σχετικά με τους πιθανούς κινδύνους του Unicode στην Python.
Συνοψίζοντας, αυτές οι απειλές έχουν επαληθευτεί και οι επαγγελματίες της ασφάλειας πρέπει να εγκαταστήσουν αποτελεσματικότερα συστήματα ανίχνευσης για την καταπολέμησή τους.
Πηγή πληροφοριών: bleepingcomputer.com