24 Δεκεμβρίου 2024 – Περιστατικό Cyberhaven [1]
24 Δεκεμβρίου 2025 – Περιστατικό Trust Wallet [2]
Είναι προφανές πως το να έχουμε παρόμοιες επιθέσεις εφοδιαστικής αλυσίδας (supply chain attacks) σε browser extensions για δυο συναπτά έτη σε ημερομηνίες που τα αντανακλαστικά των cybersecurity ομάδων μειώνονται λόγω των εορτών, δεν είναι τυχαίο.

 

Αθανάσιος Γιάτσος

Senior Cybersecurity Analyst – Regional Lead
CISSP, GCIH, GCED, Sec+, MSc

 

 

 

Ας τα πάρουμε όμως από την αρχή…

Τι είναι τα browser extensions.

Τα browser extensions είναι μικρά προγράμματα τα οποία είναι κατά βάση γραμμένα σε JavaScript. Με αυτά, μπορούμε να προσθέσουμε νέες λειτουργίες, να παραμετροποιήσουμε κάποιες άλλες και φυσικά να τροποποιήσουμε το γραφικό περιβάλλον με σκοπό την βελτίωση της γενικότερης εμπειρίας με τον browser. Οι πιο γνωστές λειτουργίες περιλαμβάνουν password managers, ad blockers, AI tools και Θέματα. Καθώς οι browsers δεν μπορούν να συμπεριλάβουν όλες τις πιθανές λειτουργίες και παραμετροποιήσεις που ενδεχομένως να ήθελε κάποιος χρήστης, οι επεκτάσεις μας επιτρέπουν να προσαρμόσουμε την εμπειρία περιήγησής μας ακριβώς με τα εργαλεία που χρειαζόμαστε.

Τα extensions είναι ειδικά συμπιεσμένα αρχεία [3] που περιέχουν αρχεία HTML, CSS, JavaScript και εικόνες. Αν και η δομή τους είναι παρόμοια, κάθε browser χρησιμοποιεί διαφορετική επέκταση αρχείου (file extension), οι επεκτάσεις του Firefox χρησιμοποιούν το .xpi, του Safari χρησιμοποιούσαν το .safariextz και πλέον το .app ενώ οι browsers που βασίζονται στο Chromium project (Edge, Chrome, Brave κλπ.), το .crx.

Το extensionID δημιουργείται από το δημόσιο κλειδί που αντιστοιχεί στο κλειδί υπογραφής του extension και παραμένει το ίδιο εφόσον ο δημιουργός συνεχίζει να χρησιμοποιεί το ίδιο ιδιωτικό κλειδί για την υπογραφή των ενημερώσεων του extension [4]. Καθώς το όνομα δεν είναι απαραίτητα μοναδικό ούτε παραμένει σταθερό, για την ταυτοποίηση ενός extension,  χρησιμοποιούμε το ExtensionID.

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

Γιατί τα extensions διαφέρουν από τις εφαρμογές.

Για τις παραδοσιακές εφαρμογές που εκτελούνται στους υπολογιστές, υπάρχουν συγκεκριμένα εργαλεία και τεχνικές με τα οποία αποκτούμε ορατότητα και γνώση του περιβάλλοντος μας. Έχοντας την γνώση της υποδομής, μπορούμε να χρησιμοποιήσουμε πληροφορίες για απειλές (threat intelligence) ώστε να εμποδίσουμε την εκτέλεση ήδη γνωστού κακόβουλου λογισμικού είτε να θέσουμε συγκεκριμένα όρια με βάση προκαθορισμένες πολιτικές.

Με τα extensions, η κατάσταση είναι πιο σύνθετη:

  • Ο μηχανισμός των ενημερώσεων δεν είναι ορατός. Η προκαθορισμένη ρύθμιση είναι τα extensions να ενημερώνονται αυτόματα μέσω του εκάστοτε store. Αυτή η λειτουργία εμποδίζει τον έλεγχο των νέων εκδόσεων καθώς πραγματοποιείται στο παρασκήνιο, κάτι που ευνοεί τις επιθέσεις εφοδιαστικής αλυσίδας.
  • Η γνώση για κακόβουλα extensions είναι περιορισμένη. Ελάχιστες εταιρείες κυβερνοασφάλειας ασχολούνται εκτενώς με τα extensions. Η πλειοψηφία των αναφορών έρχεται από νέες, μικρότερες εταιρείες είτε από αναφορές όπου τα extensions ήταν μέρος μιας συγκεκριμένης επίθεσης, π.χ. τρόπος εισόδου.
  • Η εγκατάστασή τους παρακάμπτει το IT. Οι χρήστες μπορούν να εγκαταστήσουν επεκτάσεις απλά με ένα κλικ. Δεν υπάρχουν αρχεία εγκατάστασης ούτε απαιτούνται δικαιώματα διαχειριστή.
  • Τα δικαιώματα είναι ευρεία. Οι περισσότεροι προγραμματιστές δεν έχουν την ασφάλεια στο μυαλό τους κατά την δημιουργία των extensions με αποτέλεσμα τα περισσότερα από αυτά να χρησιμοποιούν περισσότερα ή/και πιο ευρεία δικαιώματα από αυτά που θα έπρεπε να χρησιμοποιεί ένα extension με αυτές τις λειτουργίες.

Αυτές οι διαφορές, είναι αρκετές για να καταλάβουμε πως το αρχικό ερώτημά μας δεν θα έπρεπε να είναι «πως περιορίζουμε την έκθεσή μας σε αυτά;» αλλά «πόσο εκτεθειμένοι είμαστε ήδη»;

Visibility και logs, η βασική υποδομή αντιμετώπισης

Είναι πολύ δύσκολο να πάρετε σωστές αποφάσεις για τα browser extensions χωρίς την απαραίτητη ορατότητα στο περιβάλλον σας. Αυτή η πληροφορία, ενώ φαινομενικά είναι εύκολη, στην πραγματικότητα είναι μια αρκετά δύσκολη εξίσωση! Η πολυπλοκότητα της δημιουργίας ενός καταλόγου με τα εγκατεστημένα extensions αυξάνεται από το ότι ένας χρήστης μπορεί να έχει εγκατεστημένα διαφορετικά extensions σε κάθε browser καθώς και σε κάθε διαφορετικό προφίλ του (προσωπικό ή εργασίας)! Επιπλέον, το κάθε extension μπορεί να έχει εγκατασταθεί απευθείας από το εκάστοτε store, από μια πολιτική της εταιρείας, ως συνοδευτικό ενός προγράμματος ή ως χειροκίνητη εγκατάσταση (sideload). Επιπλέον, θα χρειαστεί να κρατάμε το ExtensionID, καθώς είναι το μοναδικό στοιχείο που παραμένει σταθερό, το όνομα μπορεί να αλλάξει.

Τα logs θα πρέπει να περιέχουν:

  • Ποια extensions έχουν εγκατασταθεί (extensionID, έκδοση, όνομα)
  • Που εγκαταστάθηκαν (browser, user, profile)
  • Πως εγκαταστάθηκαν (από store, πολιτική, sideload)
  • Τι δικαιώματα έχουν (permissions)

Κακόβουλα extensions

Υπάρχουν αρκετοί λόγοι για τους οποίους κάποια extensions είναι κακόβουλα, κάποιες φορές αυτό δεν ήταν σχεδιασμένο να συμβεί από την αρχή.

  • Υπήρξαν περιπτώσεις που ο developer πούλησε το extension και ο αγοραστής αποφάσισε να το χρησιμοποιήσει διαφορετικά, ενδεικτικά παραδείγματα: Feedly [5], The Great Suspender[6], Page Ruler [7].
  • Σε άλλες περιπτώσεις, παραβιάστηκε ο λογαριασμός του προγραμματιστή και προστέθηκε κακόβουλος κώδικας, αυτό που συνέβη με το extension της Cyberhaven [1].

  • Φυσικά, υπάρχουν και εκείνα που ήταν κακόβουλα από την αρχή. Αυτά χωρίζονται σε δυο υποκατηγορίες:
    • Εκείνα που είναι αντίγραφα γνωστών extensions που παριστάνουν πως είναι γνήσια, όπως πληθώρα από fake ad-blockers και το ChatGPT For Google [8].
    • Εκείνα που παριστάνουν πως είναι χρήσιμα εργαλεία αλλά στην ουσία προσπαθούν να κλέψουν τα δεδομένα των χρηστών. H πιο γνωστή υπόθεση είναι του extension Rilide [9] το οποίο εμφανιζόταν σαν ένα Google Drive extension.

  • Τελευταία και πιο δύσκολη στον εντοπισμό της, η κατηγορία των extensions που γίνονται κακόβουλα όταν φτάσουν έναν μεγάλο αριθμό χρηστών. Αυτά είναι και τα δυσκολότερα στον εντοπισμό τους, όταν τα ελέγχουμε δεν βρίσκουμε κακόβουλο κώδικα, αλλά μετά από μια ενημέρωση, αλλάζουν πλευρά και γίνονται κακόβουλα! Αυτή η τεχνική είναι γνωστή ως extension hollowing. Το πιο γνωστό extension της κατηγορίας είναι το Clean Master [10], βρισκόταν περίπου από 2019 στο store και είχε εγκατασταθεί 300,000+ φορές! Στα μέσα του 2024, αυτό και άλλα 4 που ανήκαν στην ίδια οικογένεια, αναβαθμίστηκαν και πλέον είχαν κακόβουλο κώδικα.

Πως να ελέγξετε τα browser extensions

Ένας έμπειρος επαγγελματίας μπορεί να ελέγξει αρκετά κομμάτια του κώδικα ενός extension. Φυσικά, αυτό απαιτεί εξειδίκευση και πολύ χρόνο. Αλλά τα πραγματικά προβλήματα ξεκινάνε όταν ο κώδικας είναι μπερδεμένος (obfuscated), με αποτέλεσμα η προσπάθεια ανάγνωσής του να είναι σχεδόν αδύνατη με γυμνό μάτι! Για αυτό χρησιμοποιούμε τα κατάλληλα εργαλεία!

Τα τελευταία χρόνια έχουν κυκλοφορήσει αρκετά εργαλεία για browser extension Risk Assessment, τα περισσότερα από αυτά παρέχονται δωρεάν. Το CRXcavator ήταν το πρώτο, με το Crxviewer και το ExtAnalysis να ακολουθούν. Την σκυτάλη πήραν πιο σύνθετα εργαλεία όπως το Chrome stats και το CRXaminer. Υπάρχουν και τα Spin.ai, LayerX, τα δυο εργαλεία που προτείνει η Google για Risk assessment [11]. Η βεντάλια των εργαλείων μεγάλωσε με την προσθήκη κάποιων πιο εξελιγμένων και πιο business oriented εργαλείων όπως το Secure Annex, το CRXplorer και το Koidex (πρώην-ExtensionTotal). Τελευταία χρονικά προσθήκη στην λίστα είναι το BrowserTotal. Τέλος, υπάρχουν και τα εργαλεία που είναι επί πληρωμή, όπως το Browsium καθώς και εκείνα που αυτή δεν είναι η βασική τους λειτουργία αλλά συμπεριλαμβάνουν λειτουργίες ανάλυσης για extensions όπως το CrowdStrike και το Microsoft Defender.

Πως να προστατέψετε την εταιρεία σας

Ανάλογα με τα εργαλεία που έχετε ήδη διαθέσιμα και τις δυνατότητές τους, μπορείτε να ακολουθήσετε τις παρακάτω προτάσεις [12] για μια ολοκληρωμένη δομή ελέγχου για τα browser extensions.

  • Ξεκινήστε με την καταγραφή. Visibility και logs είναι κρίσιμα για τις δράσεις που θα ακολουθήσετε στην συνέχεια. Σε αυτό το σημείο, απλά ξεκινήστε τα και περιμένετε 2-3 εβδομάδες ώστε να έχετε αρκετά δεδομένα από το περιβάλλον σας.
  • Ορίστε μια συγκεκριμένη πολιτική για τα browser extensions. Χρησιμοποιήστε κάποια από τα εργαλεία που αναφέραμε για να ελέγχετε τα extensions ώστε να βεβαιωθείτε πως συμφωνούν με την πολιτική της εταιρείας και το επίπεδο ασφαλείας που έχετε ορίσει.
  • Δημιουργήστε μια extension Whitelist. Χρησιμοποιήστε πολιτικές στους browser ή άλλα εργαλεία διαχείρισης ώστε να επιτρέπετε την εγκατάσταση στους browsers του οργανισμού σας μόνο των extensions που έχετε ελέγξει και εγκρίνει την χρήση τους.
  • Παρακολουθήστε τις αλλαγές στα δικαιώματα και την ιδιοκτησία μετά από ενημερώσεις. Μην ξεχνάτε πως τα extensions μπορεί να πουληθούν ή και να αλλάξουν συμπεριφορά με μια απλή ενημέρωση.
  • Audit extensions. Η διαδικασία δεν θα πρέπει να σταματάει στον αρχικό έλεγχο. Ορίστε ένα συγκεκριμένο χρονικό περιθώριο κατά το οποίο θα ελέγχετε ξανά τα extensions της allowlist ώστε να βεβαιωθείτε πως παραμένουν εντός των επιπέδων ασφαλείας που έχετε ορίσει.
  • Ενημερώστε τους χρήστες για τα browser extensions. Συμπεριλάβετε τα browser extensions στο πρόγραμμα εκπαίδευσης των χρηστών για ζητήματα κυβερνοασφάλειας. Εκπαιδεύστε τους χρήστες ώστε να χρησιμοποιούν extensions μόνο από τα stores και να πραγματοποιούν βασικούς ελέγχους πριν από την εκάστοτε εγκατάσταση.

Το μέλλον

Βρισκόμαστε σε μια νέα εποχή όπου έχουμε ήδη φύγει από τις standalone εφαρμογές στους υπολογιστές, οι πιο πολλές εφαρμογές βρίσκονται στο cloud και έχουμε ξεκινήσει την χρήση αυτόνομων agents! Πλέον το πεδίο της μάχης δεν είναι το λειτουργικό, αλλά ο browser, μέσω αυτού αλληλοεπιδρούμε με την πλειοψηφία των εφαρμογών που χρησιμοποιούμε σήμερα. Με βάση μελέτη [13] της Palo Alto Networks, το 85%  της δουλείας γίνεται στον browser και το 95% των οργανισμών δέχτηκαν πέρυσι μια επίθεση που στόχευε στον browser!

Την ίδια άποψη έχουν και μεγάλες εταιρείες του κλάδου οι οποίες έχουν προχωρήσει σε εξαγορές startup εταιρειών που έδειξαν πως γνωρίζουν το αντικείμενο και έχουν ήδη έτοιμες λύσεις. Πρώτη ξεκίνησε η CrowdStrike με την εξαγορά της Seraphic [14] με σκοπό να ενισχύσει την καταγραφή μέσα στον browser και στην συνέχεια πήρε την σκυτάλη η Zscaler με την εξαγορά της SquareX [15] (του cybersecurity veteran Vivek Ramachandran). Ακολούθησε η Palo Alto Networks που εξαγόρασε την KOI [16], μια εταιρεία που ειδικεύεται σε browser extensions, IDE plugins και AI tools. Η επόμενη εξαγορά ήταν από την Socket, η Secure Annex [17] θα εμπλουτίσει τις παρεχόμενες υπηρεσίες της πλατφόρμας τους.  Τελευταία χρονικά κίνηση έγινε από την Akamai η οποία εξαγόρασε την LayerX [18], άλλη μια εταιρεία που ειδικεύεται στην ασφάλεια εντός του browser.

Το 2026 ξεκίνησε δυναμικά, αναμένουμε την συνέχεια!

#Dedicated to Mark Parrett, in appreciation of his guidance and mentorship.


Image source links:

1 https://blog.sekoia.io/targeted-supply-chain-attack-against-chrome-browser-extensions/

2 https://www.reco.ai/blog/cyberhaven-supply-chain-attack-how-one-phishing-email-led-to-over-400-000-compromised-browsers

3 https://blog.pulsedive.com/rilide-an-information-stealing-browser-extension/

 

Αναφορές

[1] M. Johansen, «Vulnerable U,» [Ηλεκτρονικό]. Available: https://www.vulnu.com/p/breaking-cyberhaven-chrome-extension-compromised.
[2] O. Yomtov. [Ηλεκτρονικό]. Available: https://www.koi.ai/blog/trust-wallet-binance-compromised-inside-the-code-that-stole-7m-on-christmas-eve.
[3] C. Extractor. [Ηλεκτρονικό]. Available: https://crxextractor.com/about.html.
[4] D. Chrome. [Ηλεκτρονικό]. Available: https://developer.chrome.com/docs/extensions/reference/manifest/key.
[5] A. Agarwal. [Ηλεκτρονικό]. Available: https://www.labnol.org/internet/sold-chrome-extension/28377.
[6] bleepingcomputer. [Ηλεκτρονικό]. Available: https://www.bleepingcomputer.com/news/security/the-great-suspender-chrome-extensions-fall-from-grace/.
[7] B. Krebs. [Ηλεκτρονικό]. Available: https://krebsonsecurity.com/2020/03/the-case-for-limiting-your-browser-extensions/.
[8] N. Tal, «guard.io,» [Ηλεκτρονικό]. Available: https://guard.io/labs/fakegpt-2-open-source-turned-malicious-in-another-variant-of-the-facebook-account-stealer.
[9] W. C. Pawel Knapczyk, «levelblue.com,» [Ηλεκτρονικό]. Available: https://www.levelblue.com/blogs/spiderlabs-blog/rilide-a-new-malicious-browser-extension-for-stealing-cryptocurrencies.
[10] T. Admoni, «koi.ai,» [Ηλεκτρονικό]. Available: https://www.koi.ai/blog/4-million-browsers-infected-inside-shadypanda-7-year-malware-campaign.
[11] [Ηλεκτρονικό]. Available: https://support.google.com/chrome/a/answer/10836225.
[12] S. Kaminsky, «Kaspersky,» [Ηλεκτρονικό]. Available: https://www.kaspersky.com/blog/chrome-extension-security-validation/54795/.
[13] P. A. Networks. [Ηλεκτρονικό]. Available: https://start.paloaltonetworks.com/omdia-state-of-workforce-security.
[14] CrowdStrike. [Ηλεκτρονικό]. Available: https://www.crowdstrike.com/en-us/press-releases/crowdstrike-to-acquire-seraphic-security/.
[15] Zscaler. [Ηλεκτρονικό]. Available: https://www.zscaler.com/press/zscaler-acquires-squarex.
[16] A. Assaraf, «koi.ai,» [Ηλεκτρονικό]. Available: https://www.koi.ai/blog/koi-to-join-palo-alto-networks-a-defining-moment.
[17] socket. [Ηλεκτρονικό]. Available: https://socket.dev/blog/socket-acquires-secure-annex.
[18] «Akamai,» [Ηλεκτρονικό]. Available: https://www.akamai.com/newsroom/press-release/akamai-technologies-announces-intent-to-acquire-layerx-advancing-its-workforce-security-strategy-with-ai-usage-control.