Μπορεί μια εφαρμογή Android να αποκαλύψει την IP σας με ενεργό VPN;
Νέα τεχνική αναφορά δείχνει ότι μια εφαρμογή Android μπορεί, υπό συγκεκριμένες συνθήκες, να αποκαλύψει την πραγματική IP εκτός VPN tunnel, παρότι είναι ενεργό το VPN lockdown.
Το Android διαθέτει μια ρύθμιση που πολλοί χρήστες θεωρούν αυτονόητη: «Αποκλεισμός συνδέσεων χωρίς VPN». Μόλις ενεργοποιηθεί, καμία εφαρμογή δεν θα έπρεπε να μπορεί να στείλει ούτε ένα πακέτο έξω από το tunnel.
Μια τεχνική αναφορά που δημοσιεύτηκε πρόσφατα στο issue tracker του GrapheneOS δείχνει ότι υπάρχει μια στενή, αλλά υπαρκτή εξαίρεση. Σε συγκεκριμένες συνθήκες, μια κακόβουλη εφαρμογή μπορεί να στείλει ένα μικρό πακέτο δεδομένων απευθείας μέσω Wi-Fi, παρακάμπτοντας το VPN, και να αποκαλύψει την πραγματική δημόσια IP της συσκευής.
Ο ερευνητής που το εντόπισε, γνωστός με το ψευδώνυμο lowlevel, το βάφτισε ανεπίσημα «Tiny UDP Cannon». Μικρό σε μέγεθος πακέτου, αρκετά μεγάλο όμως ώστε να αποκαλύψει από πού συνδέεται πραγματικά μια συσκευή.
Πώς λειτουργεί το κενό
Η αφορμή είναι ένας μηχανισμός γνωστός ως NAT-T keepalive, που χρησιμοποιεί το NAT για να κρατά ζωντανές ορισμένες συνδέσεις, κυρίως σε VPN που βασίζονται σε IPsec.
Για εξοικονόμηση μπαταρίας, ορισμένες συσκευές Android αναθέτουν την αποστολή αυτών των keepalive πακέτων απευθείας στο τσιπ Wi-Fi, χωρίς να χρειάζεται να ενεργοποιείται ο κύριος επεξεργαστής κάθε φορά. Μέχρι εδώ, καθαρά θέμα απόδοσης μπαταρίας.
Το πρόβλημα εμφανίζεται όταν μια εφαρμογή ζητήσει η ίδια τη δημιουργία ενός τέτοιου keepalive. Το αίτημα καταλήγει σε ένα επίπεδο δικτύου που βρίσκεται κάτω από τους συνήθεις ελέγχους δρομολόγησης του Android, δηλαδή κάτω από το σημείο όπου το λειτουργικό επιβάλλει τη διέλευση από το VPN. Το πακέτο φεύγει μέσα από τη θύρα UDP 4500, την τυπική θύρα για NAT-T, και ταξιδεύει κατευθείαν μέσω της πραγματικής σύνδεσης Wi-Fi.
Το VPN δεν «σπάει» σε καμία στιγμή. Ένα συγκεκριμένο, μικρό πακέτο απλώς καταφέρνει να μην περάσει ποτέ από αυτό.
Τι μπορεί να δει η άλλη πλευρά
Ο server που λαμβάνει το keepalive πακέτο βλέπει την πραγματική δημόσια IP της συσκευής, όχι αυτή του VPN server. Αυτό αρκεί για να αποκαλύψει τον πάροχο σύνδεσης, μια αρκετά ακριβή εκτίμηση της περιοχής του χρήστη, και το γεγονός ότι η συσκευή παραμένει συνδεδεμένη σε συγκεκριμένες χρονικές στιγμές.
Δεν πρόκειται, ωστόσο, για πλήρη διαρροή κίνησης. Το περιεχόμενο ενός keepalive πακέτου καθορίζεται στενά από το ίδιο το πρωτόκολλο και δεν μπορεί μια κακόβουλη εφαρμογή να το διαμορφώσει ελεύθερα για να περάσει αυθαίρετα δεδομένα. Η διαρροή IP είναι πραγματική, αλλά δεν ανοίγει δρόμο για ολόκληρη την κίνηση της εφαρμογής να βγει έξω από το tunnel.
Ποιες συσκευές επηρεάζει
Η τεχνική αναφορά στο GrapheneOS issue tracker επιβεβαίωσε αρχικά τη διαδρομή σε Pixel μέσω Wi-Fi, με την έξοδο των πακέτων να καταγράφεται απευθείας από ξεχωριστό router. Μεταγενέστερες δοκιμές έδειξαν ότι ο ίδιος μηχανισμός ενεργοποιείται και σε συσκευές Samsung και Nothing με Android 16.
Η εκτίμηση του ερευνητή είναι ότι η υποκείμενη διαδρομή υπάρχει στη μεγάλη πλειονότητα συσκευών με Android 12 και νεότερο, λόγω του τρόπου που είναι δομημένο το σχετικό κομμάτι του λειτουργικού. Αυτό δεν σημαίνει πως έχει δοκιμαστεί κάθε μοντέλο που κυκλοφορεί, μόνο πως η αρχιτεκτονική στην οποία βασίζεται το εύρημα είναι κοινή σε πολύ μεγάλο μέρος της αγοράς.
Χρειάζεται εγκατεστημένη κακόβουλη εφαρμογή, όχι root ή ADB
Για να λειτουργήσει η μέθοδος, η εφαρμογή πρέπει να επιδιώξει σκόπιμα τη συγκεκριμένη διαδρομή, άρα πρέπει ήδη να βρίσκεται στη συσκευή. Δεν χρειάζεται root πρόσβαση, ADB ή κάποια ασυνήθιστη άδεια συστήματος, κάτι που κάνει τον πήχη εισόδου αρκετά χαμηλό.
Αυτό δεν σημαίνει πως κάθε εφαρμογή στο κινητό σας διαρρέει αυτόματα την IP σας. Ο κίνδυνος αφορά συγκεκριμένα εφαρμογές που έχουν σχεδιαστεί κακόβουλα εξαρχής ή έχουν παραβιαστεί μεταγενέστερα.
Η αντίδραση της Google και της GrapheneOS
Εδώ η ιστορία αποκτά ενδιαφέρον. Η ομάδα ασφαλείας της Google χαρακτήρισε αρχικά το εύρημα «Won't Fix (Infeasible)» και αποφάσισε να μην το συμπεριλάβει σε δελτίο ασφαλείας. Μετά τη δημοσιοποίηση του θέματος, η εταιρεία εξέδωσε δήλωση αναφέροντας ότι το πρόβλημα αφορά μόνο συσκευές στις οποίες έχει ήδη εγκατασταθεί κακόβουλη εφαρμογή, και ότι το Google Play Protect προστατεύει τους χρήστες από γνωστές κακόβουλες εφαρμογές.
Η GrapheneOS διαφώνησε με αυτή την αξιολόγηση και προχώρησε μόνη της σε διόρθωση, απενεργοποιώντας τη διαδρομή του hardware offloaded keepalive στις υποστηριζόμενες συσκευές Pixel. Μέχρι τη δημοσίευση αυτού του άρθρου, το βασικό Android δεν διαθέτει αντίστοιχη επίσημη διόρθωση.
Το VPN lockdown δεν έγινε άχρηστο
Η ρύθμιση «αποκλεισμός συνδέσεων χωρίς VPN» συνεχίζει να εμποδίζει τη συντριπτική πλειονότητα των εφαρμογών από το να στέλνουν κίνηση έξω από το tunnel. Αυτό που αλλάζει είναι πως δεν πρέπει πια να αντιμετωπίζεται σαν απόλυτη, μαθηματική εγγύηση. Το ίδιο ισχύει και για όρους όπως kill switch, που περιγράφουν πολύ ισχυρή προστασία, όχι όμως απόλυτη.
Τι μπορεί να κάνει κανείς
Δεν υπάρχει προς το παρόν κάποια ρύθμιση σε επίπεδο χρήστη που να κλείνει αξιόπιστα αυτό το κενό σε όλες τις συσκευές. Το πιο χρήσιμο που μπορεί να κάνει κάποιος είναι να μειώσει την πιθανότητα να καταλήξει καν κακόβουλο λογισμικό στη συσκευή του: εγκατάσταση εφαρμογών μόνο από αξιόπιστες πηγές, τακτική αφαίρεση όσων δεν χρησιμοποιεί πια, και ενημερωμένο λειτουργικό σύστημα.
Το Always-on VPN και ο αποκλεισμός συνδέσεων χωρίς VPN αξίζει να παραμένουν ενεργά, ακόμη κι αν δεν καλύπτουν αυτή τη συγκεκριμένη περίπτωση, γιατί καλύπτουν όλες τις υπόλοιπες. Η απενεργοποίηση του VPN εξαιτίας αυτού του ευρήματος θα ήταν αντιπαραγωγική: χωρίς VPN, η πραγματική IP και η υπόλοιπη κίνηση της συσκευής είναι εκτεθειμένες μόνιμα, όχι μόνο σε ένα συγκεκριμένο σενάριο.
Θέλεις ένα VPN με kill switch και σταθερή πολιτική διαφάνειας; Δες τα πλάνα συνδρομής K1VPN →
Δεν είναι πρόβλημα του πρωτοκόλλου
Η διαρροή δεν οφείλεται σε αδυναμία του WireGuard, του OpenVPN ή του IKEv2. Το ζήτημα βρίσκεται πιο κάτω, στον τρόπο που το ίδιο το Android αποφασίζει ποιο πακέτο περνά από το VPN και ποιο όχι, πριν καν φτάσει στο πρωτόκολλο. Αλλαγή server ή πρωτοκόλλου δεν λύνει τίποτα σε αυτή την περίπτωση. Η μόνη πραγματική διόρθωση περνά από το ίδιο το λειτουργικό σύστημα, όχι από τον πάροχο VPN.
Τι αξίζει να θυμάσαι
Ένα VPN παραμένει από τα πιο αποτελεσματικά εργαλεία για να προστατέψεις τη σύνδεσή σου. Λειτουργεί όμως πάνω σε μια συσκευή με το δικό της λειτουργικό σύστημα και τις δικές της εφαρμογές, και αυτό το επίπεδο δεν βγαίνει ποτέ εντελώς εκτός εξίσωσης.
Το εύρημα του GrapheneOS δεν αποδεικνύει ότι η κίνηση του Android διαρρέει μαζικά έξω από το VPN. Δείχνει κάτι πιο συγκεκριμένο: πως μια κακόβουλη εφαρμογή, κάτω από πολύ συγκεκριμένες συνθήκες, μπορεί να αποσπάσει την πραγματική IP παρά την ενεργή προστασία lockdown. Η λογική αντίδραση σε αυτό δεν είναι να απενεργοποιήσεις το VPN, είναι να προσέχεις τι εγκαθιστάς στη συσκευή σου.