Σύνοψη
- Η Ευρωπαϊκή Επιτροπή παρουσίασε το demo μιας νέας εφαρμογής επαλήθευσης ηλικίας (Zero-Knowledge Proof) για την προστασία ανηλίκων στα social media.
- Ο ερευνητής ασφαλείας Paul Moore παραβίασε την εφαρμογή σε λιγότερο από δύο λεπτά, έχοντας φυσική πρόσβαση στη συσκευή.
- Το κενό ασφαλείας εντοπίζεται στα τοπικά αρχεία ρυθμίσεων, επιτρέποντας την αλλαγή PIN και την παράκαμψη των βιομετρικών ελέγχων.
- Έντονες αντιδράσεις προέκυψαν από στελέχη της αγοράς, όπως ο CEO του Telegram, Pavel Durov, που χαρακτήρισε την εφαρμογή «εργαλείο παρακολούθησης».
- Η Κομισιόν απάντησε επισήμως ότι πρόκειται για μη τελικό κώδικα (demo) και πως ήδη αναπτύσσεται σχετικό patch ασφαλείας.
Η ψηφιακή ταυτότητα και ο έλεγχος ηλικίας αποτελούν τους κεντρικούς πυλώνες της νέας ρυθμιστικής πολιτικής της Ευρωπαϊκής Ένωσης για το διαδίκτυο. Στο πλαίσιο αυτό, η Κομισιόν παρουσίασε πρόσφατα το πρωτότυπο μιας νέας, κεντρικής εφαρμογής επαλήθευσης ηλικίας (Age Verification App), με στόχο να περιορίσει την πρόσβαση των παιδιών σε ακατάλληλο περιεχόμενο και πλατφόρμες κοινωνικής δικτύωσης. Η αρχιτεκτονική του συστήματος βασίζεται θεωρητικά στη μέθοδο Zero-Knowledge Proof, επιτρέποντας στον χρήστη να αποδείξει ότι είναι άνω των 18 ετών χρησιμοποιώντας το διαβατήριο ή την εθνική του ταυτότητα, χωρίς να διαμοιράζεται τα πραγματικά προσωπικά του δεδομένα με τις πλατφόρμες.
Η επίσημη ανακοίνωση στις Βρυξέλλες από την Πρόεδρο Ursula von der Leyen πλαισιώθηκε από δηλώσεις για την τεχνική αρτιότητα του εργαλείου. Εντούτοις, η κοινότητα του κυβερνοχώρου χρειάστηκε ελάχιστες ώρες για να αποδομήσει τον κώδικα της εφαρμογής.
Πώς παραβιάστηκε η εφαρμογή της ΕΕ σε μόλις δύο λεπτά;
Η παραβίαση της εφαρμογής επαλήθευσης ηλικίας της ΕΕ επιτεύχθηκε μέσω της τροποποίησης των τοπικών αρχείων ρυθμίσεων σε συσκευές με φυσική πρόσβαση. Ερευνητές διέγραψαν τις τιμές του κρυπτογραφημένου PIN και μηδένισαν τον μετρητή αποτυχημένων προσπαθειών, παρακάμπτοντας τα βιομετρικά δεδομένα και αποκτώντας πλήρη πρόσβαση στο ήδη επαληθευμένο προφίλ του χρήστη.
Κύρια τεχνικά σημεία της παραβίασης
- Διαγραφή Κλειδιών: Αφαίρεση των παραμέτρων PinEnc και PinIV από το αρχείο shared_prefs.
- Μηδενισμός Rate Limiting: Η προστασία έναντι brute-force επιθέσεων ήταν ένας απλός, επεξεργάσιμος μετρητής στο ίδιο αρχείο.
- Απενεργοποίηση Biometrics: Παράκαμψη των απαιτήσεων ελέγχου προσώπου και δακτυλικού αποτυπώματος.
- Αποθήκευση Selfies: Ανακαλύφθηκε πως τα βιομετρικά δεδομένα προσώπου (NFC / Selfies) αποθηκεύονταν τοπικά ως μη κρυπτογραφημένα αρχεία PNG.
Ο Βρετανός σύμβουλος κυβερνοασφάλειας, Paul Moore, δημοσίευσε ένα αναλυτικό βίντεο στο X αναδεικνύοντας τα θεμελιώδη σχεδιαστικά σφάλματα του EU Age Verification App. Η βασική αδυναμία εστιάζεται στον τρόπο με τον οποίο το λογισμικό διαχειρίζεται τα τοπικά δεδομένα στο λειτουργικό σύστημα.
Κατά την αρχική ρύθμιση, η εφαρμογή ζητά από τον χρήστη να δημιουργήσει ένα PIN. Σύμφωνα με την ανάλυση του Moore, το σύστημα αποθηκεύει αυτό το PIN τοπικά, αλλά η κρυπτογράφηση του δεν είναι συνδεδεμένη με το identity vault, δηλαδή το ασφαλές περιβάλλον αποθήκευσης όπου βρίσκονται τα ευαίσθητα δεδομένα της ταυτοποίησης.
Εάν ένας επιτιθέμενος έχει φυσική πρόσβαση στη συσκευή (ειδικά αν αυτή είναι rooted), μπορεί να πλοηγηθεί στο σύστημα αρχείων της εφαρμογής. Διαγράφοντας συγκεκριμένες τιμές από το XML αρχείο διαμόρφωσης και επανεκκινώντας την εφαρμογή, το λογισμικό αντιλαμβάνεται την απουσία του PIN και ζητά τη δημιουργία νέου. Όταν ο επιτιθέμενος ορίσει τον νέο κωδικό, αποκτά αυτόματα πρόσβαση στα ψηφιακά πιστοποιητικά που είχαν δημιουργηθεί από τον νόμιμο κάτοχο. Σε πρακτικό επίπεδο, η εφαρμογή αποδέχεται την επαναχρησιμοποίηση δεδομένων ταυτότητας κάτω από ένα νέο, μη εξουσιοδοτημένο access control. Τον ισχυρισμό του Moore επιβεβαίωσε άμεσα και ο Γάλλος ερευνητής κρυπτογραφίας, Olivier Blazy, δηλώνοντας χαρακτηριστικά πως «ένας ανήλικος μπορεί να πάρει το ξεκλείδωτο τηλέφωνο του κηδεμόνα του, να διαγράψει τα αρχεία και να αποδείξει διαδικτυακά πως είναι ενήλικας».
Αντιδράσεις και η παρέμβαση του Pavel Durov
Η τεχνική αστοχία έλαβε γρήγορα πολιτικές διαστάσεις. Ο Pavel Durov, CEO του Telegram, τοποθετήθηκε δημόσια μέσω του καναλιού του, υποστηρίζοντας ότι τα συγκεκριμένα κενά δεν αποτελούν απλώς προγραμματιστικά λάθη. Ανέφερε ότι η εφαρμογή είναι «hackable by design» διότι βασίζεται στην «εμπιστοσύνη προς τη συσκευή», κάτι που αποτελεί καταστροφική πρακτική για εφαρμογές ασφαλείας. Ο Durov εξέφρασε την ανησυχία ότι τέτοιου είδους υποδομές λειτουργούν επί της ουσίας ως εργαλεία μαζικής παρακολούθησης, καμουφλαρισμένα πίσω από την υπόσχεση της προστασίας των ανηλίκων.
Από την πλευρά της, η Ευρωπαϊκή Επιτροπή, μέσω της εκπροσώπου Paula Pinho, υποστήριξε την κυκλοφορία του εργαλείου αναφέροντας πως πρόκειται για πρωτότυπο (demo) και όχι για τελικό κώδικα. Η επίσημη θέση είναι πως οι ερευνητές ανέπτυξαν τα exploits πάνω σε εκδόσεις που το ίδιο το GitHub repository της ΕΕ προειδοποιούσε να μην χρησιμοποιηθούν σε πραγματικές συνθήκες, καθώς έχουν μειωμένα στάνταρ ασφαλείας έναντι των τελικών εκδόσεων. Ήδη έχει ανακοινωθεί η διάθεση ενός patch που διορθώνει τη λογική αποθήκευσης των shared_prefs.
Η άποψη του Techgear
Η τεχνολογική βιασύνη παράγει πάντοτε ανασφάλεια. Αναλύοντας τον διαθέσιμο κώδικα του ευρωπαϊκού project, καθίσταται προφανές ότι οι υπεύθυνοι ανάπτυξης επέλεξαν την ταχύτητα υλοποίησης εις βάρος της αυστηρής κρυπτογραφικής αρχιτεκτονικής. Η αποθήκευση μη κρυπτογραφημένων PNG αρχείων και η διαχείριση κρίσιμων μετρητών (όπως το rate limiting) σε απλά επεξεργάσιμα XML αρχεία στο Android, αποτελούν πρακτικές που διδάσκονται ως «αντιπαραδείγματα» στα βασικά μαθήματα προγραμματισμού.
Η δικαιολογία ότι πρόκειται για «demo έκδοση» δεν αρκεί για να καθησυχάσει τις ανησυχίες. Όταν διαχειρίζεσαι ψηφιακές ταυτότητες 450 εκατομμυρίων Ευρωπαίων πολιτών, η έννοια του Proof of Concept οφείλει να είναι αλάνθαστη ως προς τον σχεδιασμό της. Η Κομισιόν οφείλει να αντιληφθεί πως η επιβολή ψηφιακών ελέγχων χωρίς την ανάλογη επένδυση σε αδιαπέραστες υποδομές κρυπτογράφησης σε επίπεδο hardware (π.χ. αξιοποίηση του Android Keystore System ή του Secure Enclave της Apple με σωστό key binding), απλώς μετατρέπει τα κινητά μας σε ευάλωτα σημεία μαζικής υποκλοπής προσωπικών δεδομένων.