Κυβερνοασφάλεια

Πώς ένα μεμονωμένο σενάριο παρακολούθησης ανακατεύθυνε πληρωμές κρυπτονομισμάτων στον ιστό

Ανάλυση της παραβίασης της εφοδιαστικής αλυσίδας της Adform, όπου χάκερ τροποποίησαν ένα σενάριο παρακολούθησης για να υποκλέψουν διευθύνσεις πορτοφολιών κρυπτονομισμάτων μέσω του προγράμματος περιήγησης.
Πώς ένα μεμονωμένο σενάριο παρακολούθησης ανακατεύθυνε πληρωμές κρυπτονομισμάτων στον ιστό

Η τεχνολογία διαφημίσεων είναι η σκοτεινή ύλη του σύγχρονου διαδικτύου. Είναι αόρατη για τον μέσο χρήστη, ωστόσο ασκεί τεράστια επιρροή στον τρόπο με τον οποίο τα δεδομένα ρέουν στον ιστό. Όταν αυτό το αόρατο στρώμα αποτυγχάνει, ο αντίκτυπος κλιμακώνεται αμέσως σε χιλιάδες άσχετους ιστότοπους. Στις 27 Ιουλίου 2026, η Adform ανακάλυψε ότι ένα από τα κύρια σενάρια παρακολούθησης (tracking scripts) είχε στραφεί εναντίον των χρηστών της. Μια παραβίαση της εφοδιαστικής αλυσίδας επέτρεψε σε επιτιθέμενους να εισάγουν κακόβουλο κώδικα σε ένα ευρέως χρησιμοποιούμενο αρχείο JavaScript, μετατρέποντάς το σε ένα εργαλείο που αντικαθιστά διευθύνσεις πορτοφολιών κρυπτονομισμάτων σε πραγματικό χρόνο.

Πέρασα το πρωινό μου αναλύοντας τα δείγματα που συλλέχθηκαν από το κακόβουλο σενάριο. Η παραβίαση στοχεύει το trackpoint-async.js, ένα αρχείο που σερβίρεται από την υποδομή της Adform. Επειδή αυτό το σενάριο είναι ενσωματωμένο στις κεφαλίδες περίπου 1.800 ιστότοπων πελατών για τη διευκόλυνση των αναλυτικών στοιχείων διαφήμισης, οι επιτιθέμενοι δεν χρειάστηκε να παραβιάσουν αυτές τις μεμονωμένες εταιρείες. Απλώς «δηλητηρίασαν το πηγάδι». Μόλις το τροποποιημένο σενάριο φορτωνόταν στο πρόγραμμα περιήγησης ενός επισκέπτη, άρχιζε να παρακολουθεί το μοντέλο αντικειμένου εγγράφου (DOM) για συγκεκριμένα μοτίβα που μοιάζουν με διευθύνσεις Bitcoin, Ethereum ή Tron.

Ο αόρατος κίνδυνος των εξαρτήσεων από τρίτους

Η σύγχρονη αρχιτεκτονική του ιστού βασίζεται στην έμμεση εμπιστοσύνη πόρων από τρίτους. Όταν ένας προγραμματιστής προσθέτει μια γραμμή κώδικα για να καλέσει ένα σενάριο από έναν παγκόσμιο πάροχο, εκχωρεί σε αυτόν τον πάροχο σημαντικό έλεγχο στην εμπειρία του χρήστη. Αυτό το περιστατικό αποτελεί κλασικό παράδειγμα επίθεσης στην εφοδιαστική αλυσίδα, όπου η σχέση εμπιστοσύνης γίνεται αντικείμενο εκμετάλλευσης. Το εν λόγω σενάριο, το trackpoint-async.js, έχει σχεδιαστεί για να εκτελείται σε ολόκληρους ιστότοπους ή σε συγκεκριμένες ενότητες. Σε αυτή την περίπτωση, οι επιτιθέμενοι πρόσθεσαν δύο κακόβουλα τμήματα κώδικα στο τέλος της νόμιμης βιβλιοθήκης.

Από την πλευρά του κινδύνου, αυτό είναι ένα σενάριο εφιάλτη για κάθε διαχειριστή ιστότοπου. Μπορεί να έχετε μια τέλεια στάση ασφαλείας, έναν θωρακισμένο διακομιστή και μια αυστηρή εσωτερική διαδικασία ελέγχου κώδικα, ωστόσο ένα μόνο εξωτερικό σενάριο μπορεί να θέσει σε κίνδυνο τους χρήστες σας. Οι επιτιθέμενοι παρέκαμψαν την περίμετρο του δικτύου περνώντας από μια πλαϊνή πόρτα που σχεδόν πάντα μένει ανοιχτή για εργαλεία μάρκετινγκ και αναλυτικών στοιχείων. Αυτό αποδεικνύει γιατί η έννοια της περιμέτρου δικτύου είναι μια παρωχημένη τάφρος κάστρου. Εάν επιτρέπετε σε εξωτερικά σενάρια να εκτελούνται με υψηλά προνόμια στον ιστότοπό σας, έχετε ουσιαστικά προσκαλέσει έναν ξένο να διαχειριστεί την ασφάλειά σας.

Ανατομία της παραβίασης του trackpoint

Η τεχνική ανάλυση των κακόβουλων τμημάτων αποκαλύπτει μια εστιασμένη προσπάθεια υποκλοπής οικονομικών συναλλαγών. Ο κώδικας χρησιμοποιεί ένα κλειδί XOR έξι byte για να αποκρύψει τις διευθύνσεις πορτοφολιών αντικατάστασης, μια κοινή τακτική για την αποφυγή βασικής ανίχνευσης βάσει υπογραφών. Μόλις εκτελεστεί το σενάριο, ξεκινά δύο διακριτές διαδρομές επίθεσης. Το πρώτο τμήμα εστιάζει στο πρόχειρο (clipboard) του συστήματος. Παρακολουθεί το συμβάν αντιγραφής και προσπαθεί να διαβάσει το πρόχειρο κάθε τέσσερα δευτερόλεπτα. Εάν εντοπίσει μια συμβολοσειρά που ταιριάζει με ένα μοτίβο πορτοφολιού κρυπτονομισμάτων, αντικαθιστά αυτή τη συμβολοσειρά με μια διευθύνση πορτοφολιού που ανήκει στον επιτιθέμενο.

Στο παρασκήνιο, το δεύτερο τμήμα κώδικα είναι ακόμη πιο επεμβατικό. Διασχίζει τους κόμβους κειμένου του εγγράφου και παρακολουθεί κάθε πεδίο εισαγωγής, περιοχή κειμένου και στοιχείο με δυνατότητα επεξεργασίας περιεχομένου. Όταν ένας χρήστης πληκτρολογεί ή επικολλά μια διεύθυνση σε ένα πεδίο φόρμας, το σενάριο αναχαιτίζει το συμβάν και αντικαθιστά την τιμή. Φτάνει μάλιστα στο σημείο να επαναφέρει τη θέση του κέρσορα μετά την αντικατάσταση, ώστε να διασφαλίσει ότι ο χρήστης δεν θα παρατηρήσει την αλλαγή. Αυτό το επίπεδο λεπτομερούς χειραγώγησης διασφαλίζει ότι ακόμη και αν ένας χρήστης παρακάμψει το πρόχειρο πληκτρολογώντας μια διεύθυνση χειροκίνητα, η συναλλαγή παραμένει ευάλωτη σε ανακατεύθυνση.

Το πρόχειρο είναι ένα αμφισβητούμενο περιβάλλον

Ο ανεξάρτητος ερευνητής Kevin Beaumont σημείωσε ένα ιδιαίτερα επιθετικό χαρακτηριστικό αυτού του κακόβουλου λογισμικού. Ακόμη και αν ένας χρήστης παρατηρήσει ότι η διεύθυνση είναι λανθασμένη και προσπαθήσει να αντιγράψει ξανά την αρχική διεύθυνση πορτοφολιού, το σενάριο συνεχίζει να την αντικαθιστά. Αυτή η επιμονή καθιστά το ίδιο το περιβάλλον του προγράμματος περιήγησης αναξιόπιστο. Σε περίπτωση μιας τέτοιας παραβίασης, το πρόγραμμα περιήγησης μετατρέπεται σε κακόβουλο πράκτορα που ενεργεί ενάντια στα συμφέροντα του χρήστη.

Από την πλευρά του τελικού χρήστη, η επίθεση είναι σχεδόν εντελώς αθόρυβη. Δεν υπάρχουν αναδυόμενα παράθυρα, καθυστερήσεις ή προφανή σημάδια μόλυνσης του συστήματος. Το κακόβουλο λογισμικό δεν επιχειρεί να εγκαταστήσει λογισμικό ή να εδραιωθεί στον σκληρό δίσκο. Υπάρχει μόνο στην πτητική μνήμη της καρτέλας του προγράμματος περιήγησης. Μόλις ο χρήστης κλείσει την επηρεαζόμενη σελίδα, η κακόβουλη διαδικασία τερματίζεται. Ωστόσο, η ζημιά συμβαίνει στα δευτερόλεπτα που χρειάζονται για να πατηθεί το κουμπί αποστολής. Μία αλλαγμένη διεύθυνση στο σημείο της πληρωμής αρκεί για να ανακατευθύνει χιλιάδες δολάρια με τρόπο που είναι λειτουργικά μη αναστρέψιμος σε ένα αποκεντρωμένο blockchain.

Συμφιλίωση της σύγκρουσης στο χρονοδιάγραμμα

Υπάρχει μια ασυμφωνία μεταξύ της επίσημης αναφοράς του περιστατικού και των ανεξάρτητων παρατηρήσεων. Η Adform προσδιορίζει την 27η Ιουλίου ως την ημερομηνία του περιστατικού και δηλώνει ότι αφαίρεσε τον κώδικα αμέσως. Ο Kevin Beaumont ανέφερε ότι είδε κακόβουλη δραστηριότητα μέσω της Adform για τουλάχιστον μία εβδομάδα πριν από αυτή την ημερομηνία. Αυτό το κενό διάρκειας αποτελεί σημαντικό πρόβλημα για την αξιολόγηση κινδύνου. Εάν το σενάριο ήταν ενεργό για επτά ημέρες αντί για μία, ο αριθμός των εκτεθειμένων επισκεπτών αυξάνεται κατά τάξεις μεγέθους. Η Adform σερβίρει περίπου 1,5 δισεκατομμύριο διαφημίσεις καθημερινά σε 180 χώρες. Ακόμη και αν μόνο ένα μικρό κλάσμα αυτών των διαφημίσεων έφερε το κακόβουλο φορτίο, η δεξαμενή των πιθανών θυμάτων είναι τεράστια.

Ως αντίμετρο, η Adform συμβούλεψε όλους τους χρήστες να καθαρίσουν την προσωρινή μνήμη (cache) του προγράμματος περιήγησής τους. Αυτό είναι ένα ζωτικό βήμα, επειδή η κακόβουλη έκδοση του trackpoint-async.js μπορεί να παραμείνει αποθηκευμένη τοπικά στον υπολογιστή ενός χρήστη ακόμη και μετά τη διόρθωση στην πλευρά του διακομιστή. Εάν το πρόγραμμα περιήγησης φορτώσει την αποθηκευμένη έκδοση του σεναρίου, η επίθεση παραμένει ενεργή. Αυτό αναδεικνύει ένα επίμονο ελάττωμα στην ασφάλεια του ιστού, όπου η μακροζωία μιας προσωρινής μνήμης μπορεί να παρατείνει τη διάρκεια ζωής μιας απειλής ασφαλείας πολύ μετά την εφαρμογή μιας διορθωτικής ενημέρωσης.

Αξιολόγηση των δυνατοτήτων εξαγωγής δεδομένων

Μία από τις πιο ανησυχητικές πτυχές του κώδικα είναι η επικοινωνία του με έναν εξωτερικό διακομιστή. Το σενάριο επιχειρεί να στείλει ένα αίτημα HTTP σε μια διεύθυνση IP (84.32.102[.]230) κατά τη φόρτωση της σελίδας. Αυτό το αίτημα περιλαμβάνει το όνομα κεντρικού υπολογιστή (hostname) και τη συγκεκριμένη διαδρομή της σελίδας που προβάλλει εκείνη τη στιγμή ο επισκέπτης. Η Adform δήλωσε ότι δεν βρήκε στοιχεία που να αποδεικνύουν ότι οι διευθύνσεις IP ή το ιστορικό περιήγησης των επισκεπτών έφτασαν στους επιτιθέμενους. Ωστόσο, η ειδοποίηση για το περιστατικό παραδέχεται ότι μια τέτοια μετάδοση ήταν τεχνικά δυνατή με βάση τη δομή του κώδικα.

Στην εμπειρία μου από την ανάλυση απειλών APT και παραβιάσεων της εφοδιαστικής αλυσίδας, οι επιτιθέμενοι σπάνια περιλαμβάνουν δυνατότητες εξαγωγής δεδομένων χωρίς την πρόθεση να τις χρησιμοποιήσουν. Τα δεδομένα ονόματος κεντρικού υπολογιστή και διαδρομής παρέχουν στους χειριστές έναν ζωντανό χάρτη των ιστότοπων που σερβίρουν επιτυχώς το κακόβουλο λογισμικό τους. Αυτό τους βοηθά να ιεραρχήσουν τους στόχους τους και να μετρήσουν την αποτελεσματικότητα της παραβίασής τους. Μιλώντας προληπτικά, πρέπει να υποθέσουμε ότι οποιοδήποτε δεδομένο στο οποίο είχε πρόσβαση το σενάριο καταγράφηκε δυνητικά από τον διακομιστή εντολών και ελέγχου του επιτιθέμενου.

Αμυντικά μέτρα για τον σύγχρονο ιστό

Αυτό το περιστατικό χρησιμεύει ως μια έντονη υπενθύμιση ότι τα σενάρια τρίτων αποτελούν σημαντικό φορέα συστημικού κινδύνου. Για να αμυνθούν έναντι αυτού, οι οργανισμοί πρέπει να κινηθούν προς ένα μοντέλο ασφάλειας με λεπτομερή έλεγχο. Η χρήση κατακερματισμών Ακεραιότητας Υποπόρων (Subresource Integrity - SRI) είναι μια πρωταρχική άμυνα. Το SRI επιτρέπει σε ένα πρόγραμμα περιήγησης να επαληθεύει ότι ένα σενάριο που ανακτήθηκε δεν έχει τροποποιηθεί. Εάν ο κατακερματισμός του αρχείου στον διακομιστή δεν ταιριάζει με τον κατακερματισμό που ορίζεται στον κώδικα του ιστότοπου, το πρόγραμμα περιήγησης αρνείται να το εκτελέσει. Εάν οι πελάτες της Adform είχαν εφαρμόσει SRI για το trackpoint-async.js, η κακόβουλη έκδοση θα είχε αποκλειστεί αυτόματα.

Μια άλλη κρίσιμη άμυνα είναι η Πολιτική Ασφάλειας Περιεχομένου (Content Security Policy - CSP). Μια σωστά ρυθμισμένη CSP μπορεί να περιορίσει τους τομείς από τους οποίους μπορούν να φορτωθούν σενάρια και να τα εμποδίσει να στέλνουν δεδομένα σε μη εξουσιοδοτημένες εξωτερικές διευθύνσεις IP. Εάν υπήρχε μια CSP που απέκλειε ρητά τις συνδέσεις με τη διεύθυνση IP του επιτιθέμενου, η απόπειρα εξαγωγής δεδομένων θα είχε αποτύχει. Η ασφάλεια δεν είναι ένα μεμονωμένο εργαλείο αλλά μια σειρά από αλληλεπικαλυπτόμενα στρώματα. Όταν ένα στρώμα παραβιάζεται, τα άλλα πρέπει να είναι έτοιμα να ανακόψουν την αποτυχία.

Τελικά, η ευθύνη για την επαλήθευση μιας συναλλαγής παραμένει στον χρήστη. Η πιο αποτελεσματική άμυνα στη συγκεκριμένη περίπτωση είναι η απλούστερη: να επαληθεύετε πάντα τη διεύθυνση προορισμού μέσω ενός δεύτερου καναλιού ή ελέγχοντας διπλά κάθε χαρακτήρα πριν πατήσετε αποστολή. Σε έναν κόσμο όπου ο ίδιος ο κώδικας που χρησιμοποιείτε για την περιήγηση στον ιστό μπορεί να στραφεί εναντίον σας, η υγιής παράνοια είναι μια λειτουργική απαίτηση για την ψηφιακή ζωή.

Βασικά συμπεράσματα για τους ηγέτες πληροφορικής

  • Ελέγξτε όλα τα σενάρια τρίτων που εκτελούνται επί του παρόντος στα περιβάλλοντα παραγωγής σας και αφαιρέστε όσα δεν είναι κρίσιμα για την αποστολή σας.
  • Εφαρμόστε κατακερματισμούς Ακεραιότητας Υποπόρων (SRI) για όλες τις εξωτερικές εξαρτήσεις JavaScript για να αποτρέψετε την εκτέλεση μη εξουσιοδοτημένου κώδικα.
  • Ενισχύστε τις Πολιτικές Ασφάλειας Περιεχομένου (CSP) για να περιορίσετε την εκτέλεση σεναρίων και την εξαγωγή δεδομένων σε γνωστούς, έμπιστους τομείς.
  • Επιβάλετε μια προσέγγιση μηδενικής εμπιστοσύνης (zero-trust) στους πόρους της πλευράς του πελάτη, υποθέτοντας ότι οποιαδήποτε εξωτερική εξάρτηση μπορεί να παραβιαστεί στην πηγή.

Πηγές

  • Adform Incident Notice (July 2026)
  • MITRE ATT&CK Framework: Supply Chain Compromise (T1195)
  • NIST Special Publication 800-161: Cybersecurity Supply Chain Risk Management Practices for Systems and Organizations

Αποποίηση ευθύνης: Αυτό το άρθρο προορίζεται μόνο για ενημερωτικούς και εκπαιδευτικούς σκοπούς και δεν αντικαθιστά έναν επαγγελματικό έλεγχο κυβερνοασφάλειας ή μια υπηρεσία απόκρισης σε περιστατικά.

bg
bg
bg

Τα λέμε στην άλλη πλευρά.

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

/ Εγγραφείτε δωρεάν