Θυμάμαι έναν εγκληματολογικό έλεγχο που διεξήγαγα πριν από δύο χρόνια για μια εταιρεία χρηματοοικονομικών υπηρεσιών που υπέστη ένα περιστατικό επίμονης υποκλοπής συνεδρίας (session hijacking). Ψάχναμε για προηγμένες επίμονες απειλές και εξελιγμένο κακόβουλο λογισμικό για μέρες. Τελικά βρήκαμε τον ένοχο: μια επέκταση widget καιρού που είχε εγκαταστήσει ένας junior αναλυτής για να παρακολουθεί τη θερμοκρασία στο Λονδίνο. Η επέκταση ήταν νόμιμη για τρία χρόνια προτού ένας νέος ιδιοκτήτης εισαγάγει μια σιωπηρή ενημέρωση που υπέκλεπτε δεδομένα cookie. Αυτός είναι ο λόγος για τον οποίο τα πρόσφατα ευρήματα των ερευνητών της Island, Oleg Zaytsev και Shachar Gritzman, σχετικά με την επέκταση Adblock for YouTube φαίνονται τόσο οικεία. Η επέκταση έχει πάνω από 10 εκατομμύρια εγκαταστάσεις και φέρει το σήμα "Featured" στο Chrome Web Store. Εμφανίζεται ως ένα αξιόπιστο εργαλείο για τον μέσο χρήστη. Η υποκείμενη αρχιτεκτονική όμως αφηγείται μια διαφορετική ιστορία πιθανής εκμετάλλευσης.
Οι χρήστες συχνά βλέπουν το Chrome Web Store ως ένα επιμελημένο καταφύγιο όπου η Google ελέγχει κάθε γραμμή κώδικα. Το σήμα "Featured" λειτουργεί ως ψηφιακή σφραγίδα έγκρισης που ενθαρρύνει εκατομμύρια ανθρώπους να παραχωρούν εκτεταμένες άδειες σε τρίτους προγραμματιστές. Αυτή η επέκταση, η οποία αναγνωρίζεται από το ID cmedhionkhpnakcndndgjdbohmhepckk, είναι διαθέσιμη από το 2014. Λειτουργεί ακριβώς όπως διαφημίζεται, αφαιρώντας διαφημίσεις από βίντεο του YouTube και εξωτερικές ενσωματώσεις. Αυτή η αναμενόμενη συμπεριφορά παρέχει ένα τέλειο κάλυμμα για αδρανείς δυνατότητες που παραμένουν αόρατες στον απλό παρατηρητή.
Από την πλευρά του κινδύνου, η παρουσία ενός σήματος "Featured" δεν εγγυάται μακροπρόθεσμη ασφάλεια. Η διαδικασία αναθεώρησης κατά τη στιγμή της υποβολής είναι μια στιγμιαία αποτύπωση στο χρόνο. Δεν λαμβάνει υπόψη τον τρόπο με τον οποίο μια επέκταση επικοινωνεί με τον διακομιστή εντολών και ελέγχου (command-and-control server) μετά την εγκατάσταση. Η αρχιτεκτονική των σύγχρονων πρόσθετων προγράμματος περιήγησης επιτρέπει δυναμικές αλλαγές ρυθμίσεων που τροποποιούν τη συμπεριφορά του κώδικα χωρίς να απαιτείται νέα ενημέρωση έκδοσης. Αυτό δημιουργεί ένα χάσμα μεταξύ αυτού που εξέτασε το κατάστημα και αυτού που εκτελεί πραγματικά ο χρήστης στο πρόγραμμα περιήγησής του.
Η έκθεση της Island εστιάζει σε έναν συγκεκριμένο κανόνα scriptlet με το όνομα trusted-create-element. Πρόκειται για έναν προσαρμοσμένο μηχανισμό που ορίστηκε από τον δημιουργό της επέκτασης. Επιτρέπει στην επέκταση να δημιουργεί νέα στοιχεία script σε οποιαδήποτε ιστοσελίδα επισκέπτεται ο χρήστης. Σε ένα τυπικό μοντέλο ασφάλειας, αυτό ισοδυναμεί με έναν εργάτη συντήρησης που κρατά ένα πασπαρτού κλειδί για κάθε δωμάτιο σε ένα κτίριο. Ο εργάτης υποτίθεται ότι διορθώνει μόνο τις σωληνώσεις, αλλά το κλειδί τού δίνει τη δυνατότητα να ανοίξει οποιοδήποτε χρηματοκιβώτιο βρει.
Κατά τη στιγμή της ανάλυσης, αυτή η δυνατότητα ήταν αδρανής. Η διαμόρφωση από την πλευρά του διακομιστή δεν ενεργοποίησε την εισαγωγή κακόβουλων σεναρίων. Πρόκειται για μια κρυφή προσέγγιση για τη διατήρηση ερείσματος σε εκατομμύρια προγράμματα περιήγησης. Η ενεργοποίηση της δυνατότητας απαιτεί μια απλή αλλαγή στον διακομιστή του προγραμματιστή. Δεν υπάρχει ανάγκη για αναθεώρηση από το κατάστημα ή ενημέρωση της επέκτασης. Δεν υπάρχει ορατή ένδειξη για τον χρήστη ότι η επέκταση είναι ξαφνικά ικανή να διαβάζει τα προσωπικά του μηνύματα ή να κλέβει διαπιστευτήρια σύνδεσης. Η δυνατότητα είναι ένα γεμάτο όπλο που βρίσκεται στο συρτάρι ενός γραφείου. Δεν εκπυρσοκροτεί, αλλά ο κίνδυνος παραμένει σταθερός.
Οι προγραμματιστές του Adblock for YouTube συμπεριέλαβαν έναν έλεγχο που αποσκοπούσε στον περιορισμό της δραστηριότητάς του σε σχετικούς ιστότοπους. Η επέκταση υποτίθεται ότι ενεργοποιεί τις λειτουργίες αποκλεισμού διαφημίσεων μόνο όταν το URL περιέχει το youtube.com. Μια ισχυρή υλοποίηση ασφάλειας θα επικύρωνε το hostname ή την προέλευση (origin) του πλαισίου για να διασφαλίσει ότι ο κώδικας εκτελείται μόνο στον επιδιωκόμενο τομέα. Αυτή η επέκταση χρησιμοποιεί μια απλή αντιστοίχιση συμβολοσειράς που αναζητά την ακολουθία χαρακτήρων οπουδήποτε στο URL.
Πρόκειται για μια θεμελιώδη αρχιτεκτονική αποτυχία. Ένας χρήστης επισκέπτεται έναν τραπεζικό ιστότοπο στο bank.example.com. Εάν ένας επιτιθέμενος ή μια κακόβουλη διαμόρφωση προσθέσει μια παράμετρο ερωτήματος όπως ?ref=youtube.com στο τέλος αυτού του URL, η επέκταση ενεργοποιείται. Ο έλεγχος ικανοποιείται επειδή η συμβολοσειρά υπάρχει στη διαδρομή. Η επέκταση έχει πλέον την εξουσία να χειραγωγεί τη σελίδα, να εισάγει σενάρια κώδικα και να διαβάζει ευαίσθητα δεδομένα σε μια τραπεζική πύλη. Αυτή η παράκαμψη είναι τετριμμένη για οποιονδήποτε κατανοεί τις βασικές δομές URL. Καθιστά την ειδική προστασία του ιστότοπου εντελώς αναποτελεσματική.
Η προέλευση ενός λογισμικού είναι εξίσου σημαντική με τον τρέχοντα κώδικά του. Το Adblock for YouTube ξεκίνησε ως ένα απλό έργο το 2014, αλλά άλλαξε ιδιοκτησία το 2018. Αυτό είναι ένα κοινό μοτίβο στο οικοσύστημα των επεκτάσεων. Μικροί προγραμματιστές πωλούν τα δημοφιλή εργαλεία τους σε εταιρείες που επιδιώκουν να κερδοφορήσουν από τη μεγάλη βάση εγκαταστάσεων. Αυτοί οι νέοι ιδιοκτήτες μερικές φορές εισάγουν επιθετική συλλογή δεδομένων ή SDK έγχυσης διαφημίσεων για να αποσβέσουν την επένδυσή τους.
Οι ερευνητές της Island διαπίστωσαν ότι παλαιότερες εκδόσεις αυτής της επέκτασης χρησιμοποιούσαν ένα εργαλείο έγχυσης διαφημίσεων που ονομαζόταν Unistream SDK. Οι προγραμματιστές αφαίρεσαν αυτό το SDK τον Ιούνιο του 2024, αλλά οι διαδρομές έγχυσης σεναρίων μέσω τηλεχειρισμού είναι παρούσες από τον Φεβρουάριο του 2025. Αυτό το ιστορικό πειραματισμού με την έγχυση διαφημίσεων υποδηλώνει μια μετατόπιση των προτεραιοτήτων από το απόρρητο του χρήστη στη νομισματοποίηση. Η επέκταση συνδέεται επίσης με αρκετά άλλα προγράμματα αποκλεισμού διαφημίσεων, όπως το Adblock for Chrome και το Adblock Suite, τα οποία η Google αφαίρεσε προηγουμένως επειδή περιείχαν κακόβουλο λογισμικό. Όταν πολλαπλά προϊόντα από την ίδια γενιά δείχνουν σημάδια κακόβουλης πρόθεσης, το επίπεδο κινδύνου μετακινείται από το θεωρητικό στο πιθανό.
Τα ad blockers απαιτούν εκτεταμένες άδειες για να λειτουργήσουν. Πρέπει να βλέπουν κάθε αίτημα ιστού για να αποκλείουν τους ιχνηλάτες και να τροποποιούν το Document Object Model (DOM) για να κρύβουν τα διαφημιστικά στοιχεία. Αυτό είναι ένα κρίσιμο επίπεδο πρόσβασης. Οι περισσότεροι χρήστες κάνουν κλικ στο "Να επιτρέπεται" χωρίς να αναλογίζονται τις επιπτώσεις ενός πρόσθετου προγράμματος περιήγησης που έχει τη δύναμη να διαβάζει και να αλλάζει όλα τα δεδομένα σε όλους τους ιστότοπους. Αυτό είναι το αρχιτεκτονικό παράδοξο της σύγχρονης ασφάλειας στον ιστό. Εγκαθιστούμε εργαλεία για να βελτιώσουμε το απόρρητό μας, αλλά αυτά τα εργαλεία απαιτούν από εμάς να παραδώσουμε τον πλήρη έλεγχο της συνεδρίας του προγράμματος περιήγησής μας.
Κοιτάζοντας το τοπίο των απειλών, οι επεκτάσεις προγράμματος περιήγησης είναι ο τέλειος Δούρειος Ίππος. Βρίσκονται εντός της περιμέτρου ασφαλείας του προγράμματος περιήγησης. Παρακάμπτουν το παραδοσιακό τείχος προστασίας δικτύου επειδή η κίνησή τους μοιάζει με τυπικά αιτήματα HTTPS από μια αξιόπιστη εφαρμογή. Εάν μια επέκταση παραβιαστεί, ο επιτιθέμενος ενεργεί ως χρήστης. Μπορεί να εκτελέσει ενέργειες σε εφαρμογές εργασίας, να αποκτήσει πρόσβαση σε πίνακες διαχείρισης και να διαβάσει κρυπτογραφημένα μηνύματα ηλεκτρονικού ταχυδρομείου μόλις αυτά αποκρυπτογραφηθούν στο παράθυρο του προγράμματος περιήγησης. Το πρόγραμμα περιήγησης είναι το κύριο λειτουργικό σύστημα για τον σύγχρονο εργαζόμενο και οι επεκτάσεις είναι οι πιο ευάλωτοι οδηγοί (drivers) σε αυτό το σύστημα.
Θα πρέπει να αντιμετωπίζετε κάθε επέκταση προγράμματος περιήγησης ως μια πιθανή ευπάθεια. Ακόμη και εργαλεία με εκατομμύρια χρήστες μπορούν να επαναχρησιμοποιηθούν για κλοπή δεδομένων. Μια προληπτική προσέγγιση στη διαχείριση των επεκτάσεων είναι απαραίτητη για τη διατήρηση της ακεραιότητας των δεδομένων. Θα πρέπει να ξεκινήσετε διεξάγοντας έναν λεπτομερή έλεγχο κάθε πρόσθετου που είναι εγκατεστημένο αυτήν τη στιγμή στο πρόγραμμα περιήγησής σας. Εάν δεν έχετε χρησιμοποιήσει μια επέκταση τις τελευταίες τριάντα ημέρες, θα πρέπει να την αφαιρέσετε αμέσως. Κάθε εγκατεστημένη επέκταση αυξάνει την επιφάνεια επίθεσης.
Για τους ηγέτες των επιχειρήσεων, η λύση είναι μια πολιτική ελάχιστων προνομίων. Θα πρέπει να χρησιμοποιείτε πολιτικές ομάδας (group policies) για τη διαχείριση των επεκτάσεων σε ολόκληρο τον οργανισμό. Μπορείτε να δημιουργήσετε μια λίστα επιτρεπόμενων (allow-list) εγκεκριμένων επεκτάσεων που έχουν υποβληθεί σε τεχνική αναθεώρηση. Θα πρέπει επίσης να εξετάσετε τη χρήση εταιρικών προγραμμάτων περιήγησης ή επιπέδων ασφαλείας που μπορούν να ανιχνεύσουν μη εξουσιοδοτημένη έγχυση σεναρίων σε πραγματικό χρόνο. Μην βασίζεστε στο Chrome Web Store για να κάνει τη δέουσα επιμέλεια για εσάς. Η παρουσία ενός σήματος "Featured" είναι ένα σημείο εκκίνησης, όχι ένα τελικό συμπέρασμα. Πρέπει να επαληθεύετε τη συμπεριφορά του λογισμικού στο οποίο εμπιστεύεστε τα πιο ευαίσθητα δεδομένα σας.
Βασικά συμπεράσματα για καλύτερη υγιεινή του προγράμματος περιήγησης:
Πηγές: Island Research Report by Oleg Zaytsev and Shachar Gritzman, Palo Alto Networks Unit 42, NIST Guide to Malware Incident Prevention and Handling (SP 800-83).
Αποποίηση ευθύνης: Αυτό το άρθρο προορίζεται μόνο για ενημερωτικούς και εκπαιδευτικούς σκοπούς και δεν αντικαθιστά έναν επαγγελματικό έλεγχο κυβερνοασφάλειας ή μια υπηρεσία απόκρισης σε περιστατικά.



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