Ο Voatz, η εταιρεία που εδρεύει στη Μασαχουσέτη, η οποία προβαίνει σε μια εφαρμογή ψηφοφορίας για κινητά με δυνατότητα blockchain, δέχθηκε δημόσια κριτική για έλλειψη διαφάνειας, μεταξύ άλλων, ιδίως όσον αφορά την ασφάλεια των δεδομένων. Και με την απειλή παραβίασης των εκλογών, τα στοιχήματα είναι τόσο υψηλά όσο ποτέ.
Το Voatz χρησιμοποιήθηκε στις εκλογές στη Δυτική Βιρτζίνια. Jackson County, Όρεγκον; Umatilla County, Όρεγκον; δημοτικές εκλογές στην κομητεία Γιούτα, Γιούτα · καθώς και σε εκλογικές εκλογές και δημοτικές εκλογές στο Ντένβερ του Κολοράντο.
Ο έλεγχος δημόσιας ασφάλειας από μια αξιόπιστη εταιρεία τρίτων μερών που ζητούν οι ειδικοί επιτέλους εδώ. Τον Δεκέμβριο του 2019, οι Voatz και Tusk Philanthropies, που χρηματοδότησαν τους περισσότερους πιλότους κινητής τηλεφωνίας της Voatz, ανέλαβαν την εταιρεία ασφαλείας Trail of Bits για τη διενέργεια ενός ολοκληρωμένου ελέγχου του λευκού κουτιού.
Παρόλο που ο Voatz απέτυχε να παράσχει ένα backend σε live-test κακόβουλα διανύσματα επίθεσης, το Trail of Bits είχε πρόσβαση σε όλο τον πηγαίο κώδικα, συμπεριλαμβανομένου του κεντρικού διακομιστή, του πελάτη Android, του πελάτη iOS και της διεπαφής ιστού διαχειριστή.
Η έκθεση ελέγχου είναι περιεκτική, και περιλαμβάνει μια επισκόπηση ασφαλείας 122 σελίδων και ένα έγγραφο 78 σελίδων σχετικά με θέματα προσομοίωσης απειλών. Ακολουθεί μια γρήγορη αναδρομή στα κύρια μέρη.
Το Voatz δεν χρειάζεται blockchain
Η έκκληση της ψηφοφορίας blockchain είναι ότι είναι ένα αποκεντρωμένο σύστημα που δεν απαιτεί από τους ψηφοφόρους να εμπιστεύονται κανέναν. Αλλά το blockchain που χρησιμοποιεί το Voatz δεν επεκτείνεται στην πραγματικότητα για τον πελάτη για κινητά. Αντ ‘αυτού, η Voatz εφαρμόζει τις ψήφους σε ένα blockchain Hyperledger Fabric, το οποίο χρησιμοποιεί ως αρχείο καταγραφής ελέγχου – κάτι που γίνεται εύκολα χρησιμοποιώντας μια βάση δεδομένων με ένα αρχείο καταγραφής ελέγχου.
Παρόλο που ένας εκπρόσωπος του Voatz ισχυρίστηκε ότι το Hyperledger «παρέχει πολλές λειτουργίες ασφαλείας, όπως η εξασφάλιση της συνολικής ψηφοφορίας, ο έλεγχος μετά την εκλογή και η παροχή μιας αλυσίδας επιτήρησης για τα ψηφιακά ψηφοδέλτια καθώς διασχίζουν το οικοσύστημα», δεν είναι σαφές πώς θα το έκανε και αυτή η ικανότητα δεν είναι εμφανής στην αναφορά.
Ο κώδικας Trail of Bits που εξετάστηκε δεν χρησιμοποίησε προσαρμοσμένο κώδικα αλυσίδας ή έξυπνα συμβόλαια. Στην πραγματικότητα, η έκθεση έχει ως εξής:
«Όλη η επικύρωση δεδομένων και η επιχειρηματική λογική εκτελούνται εκτός αλυσίδας στη βάση κώδικα Scala του Voatz Core Server. Αρκετά ευρήματα υψηλού κινδύνου ήταν το αποτέλεσμα ζητημάτων επικύρωσης δεδομένων και μπερδεμένων αναπληρωτών στον κεντρικό διακομιστή που θα μπορούσαν να επιτρέψουν σε έναν ψηφοφόρο να μεταμφιέζεται ως άλλος πριν ακόμη αγγίξει το blockchain. “
Επειδή οι ψηφοφόροι δεν συνδέονται απευθείας με το ίδιο το blockchain, δεν μπορούν να επαληθεύσουν ανεξάρτητα ότι οι ψήφοι αντικατοπτρίζουν την πρόθεσή τους. Όμως, οποιοσδήποτε έχει πρόσβαση διαχειριστή στους διακομιστές back-end της Voatz έχει τη δυνατότητα να “απενεργοποιήσει ψήφους, να αρνηθεί ψήφους, να αλλάξει ψήφους και να ακυρώσει τα ίχνη ελέγχου”.
Η έκθεση διαπίστωσε ότι το σύστημα Voatz δεν έχει μετριασμό για την απονομητικοποίηση των ψηφοφόρων με βάση τον χρόνο καταγραφής της ψηφοφορίας τους στο blockchain. Σε μια δήλωση, ένας εκπρόσωπος της Voatz είπε ότι είχε ένα πειραματικό mixnet που εκτελείται στην άκρη-υποδομή που χρησιμοποιείται για πειράματα σε επίπεδο δικτύου, αλλά χωρίς κανένα πηγαίο κώδικα και τις συχνές ερωτήσεις του Voatz αξιώσεις ότι “μόλις υποβληθούν, όλες οι πληροφορίες ανώνυμα, δρομολογούνται μέσω ενός” mixnet “και δημοσιεύονται στο blockchain.” Αλλά αυτό ήταν που ονομάζεται υπό εξέταση σε μια έκθεση MIT – και τώρα και πάλι σε αυτόν τον έλεγχο.
«Δεν φαίνεται να υπάρχει, ούτε να αναφέρεται, ένα mixnet στον κώδικα που παρέχεται στο Trail of Bits», διαβάζει ο έλεγχος. “Ο κεντρικός διακομιστής έχει τη δυνατότητα να απενεργοποιήσει όλη την κίνηση, συμπεριλαμβανομένων των ψηφοφόρων.”
Το Trail of Bits επιβεβαίωσε τα ευρήματα του MIT – ο Voatz τα αμφισβήτησε
Στις 13 Φεβρουαρίου, οι ερευνητές του MIT δημοσίευσαν την προαναφερθείσα έκθεση, “Το ψηφοδέλτιο έχει καταστραφεί πριν από το Blockchain: Μια ανάλυση ασφάλειας του Voatz, η πρώτη εφαρμογή ψηφοφορίας μέσω Διαδικτύου που χρησιμοποιείται στις ομοσπονδιακές εκλογές των ΗΠΑ”, στην οποία ο Voatz απάντησε με μια ανάρτηση ιστολογίου την ίδια μέρα για να αντικρούσει αυτό που ονόμασε «ελαττωματική αναφορά», οδηγώντας τους ερευνητές του MIT Θέση ένα FAQ με διευκρινίσεις.
Αποδεικνύεται ότι η διαφωνία του Voatz γράφτηκε τρεις ημέρες μετά την επιβεβαίωση του Trail of Bits για την παρουσία των περιγραφόμενων τρωτών σημείων στο MIT, αφού έλαβε μια ανώνυμη συνοπτική έκθεση των ζητημάτων από το Υπουργείο Εσωτερικής Ασφάλειας των Ηνωμένων Πολιτειών. Αυτό υποδηλώνει ότι ο Voatz γνώριζε ότι η αναφορά ήταν ακριβής πριν από την δημόσια έκπτωση.
Ο έλεγχος αμφισβητεί επίσης ορισμένες από τις αντιρρήσεις του Voatz στις εκθέσεις των ερευνητών του MIT. Ο Voatz δήλωσε ότι η εφαρμογή Android που αναλύθηκε ήταν παλιά 27 εκδόσεων, αλλά το Trail of Bits έγραψε ότι «δεν εντόπισε αλλαγές σχετικές με την ασφάλεια στη βάση κώδικα» μεταξύ της έκδοσης Σεπτεμβρίου 2019 της εφαρμογής που χρησιμοποίησαν οι ερευνητές του MIT που θα επηρέαζαν ουσιαστικά τους ισχυρισμούς τους.
Ο Voatz αντιμετώπισε επίσης πρόβλημα με τους ερευνητές που ανέπτυξαν έναν πλαστό διακομιστή, χαρακτηρίζοντάς τον ως «ελαττωματική προσέγγιση» που «ακυρώνει τυχόν ισχυρισμούς σχετικά με την ικανότητά τους να θέσουν σε κίνδυνο το συνολικό σύστημα». Ο Voatz έγραψε ακόμη και ότι αυτή η πρακτική «αναιρεί κάθε βαθμό αξιοπιστίας εκ μέρους των ερευνητών».
Ωστόσο, το Trail of Bits ισχυρίζεται ότι «η ανάπτυξη πλαστού διακομιστή σε περιπτώσεις όπου η σύνδεση με διακομιστή παραγωγής ενδέχεται να οδηγήσει σε νομική ενέργεια είναι μια τυπική πρακτική στην έρευνα σχετικά με την ευπάθεια. Είναι επίσης μια συνήθης πρακτική στη δοκιμή λογισμικού. ” Επιπλέον, η έκθεση επισημαίνει ότι τα ευρήματα επικεντρώθηκαν στον πελάτη Android, αλλά δεν βασίζονταν σε σε βάθος γνώση των διακομιστών Voatz.
Ένας εκπρόσωπος της Voatz λέει ότι ο Voatz «αντιτίθεται στη μεθοδολογία και την προσέγγιση των ερευνητών του MIT» και ότι υπάρχουν «πολλά σφάλματα στην έκθεση».
«Εάν η μεθοδολογία μας ήταν λάθος, η θεωρία θα ήταν ότι θα καταλήγαμε σε λανθασμένα συμπεράσματα. Ωστόσο, όλες οι ευπάθειες που βρήκαμε επιβεβαιώθηκαν από τον δικό τους έλεγχο ασφαλείας. Επιπλέον, δεν φαίνεται να αμφισβητούν κανένα από αυτά », δήλωσε ο Michael Specter, ένας από τους ερευνητές του MIT που συνέταξε την έκθεση..
Οι προηγούμενοι έλεγχοι δεν ήταν ολοκληρωμένοι
Παρά το γεγονός ότι ο Voatz διενήργησε πολλαπλούς ελέγχους ασφαλείας, αυτή είναι η πρώτη φορά που πραγματοποιήθηκε αξιολόγηση λευκού πλαισίου, με τον κεντρικό διακομιστή και το backend να αναλύονται. Αν και δεν είναι όλοι οι προηγούμενοι έλεγχοι δημόσιοι, το Trail of Bits συνοψίζει όλους αυτούς.
Μια προηγούμενη επισκόπηση ασφαλείας ήταν διεξήχθη τον Αύγουστο του 2019 από την NCC, έναν ανεξάρτητο, ιδιωτικό μη κερδοσκοπικό οργανισμό που δεν απασχολεί ειδικούς σε θέματα τεχνικής ασφάλειας. Ο έλεγχος επικεντρώθηκε στη χρηστικότητα και όχι στην ασφάλεια. Τον Ιούλιο του 2018, ένας ανώνυμος προμηθευτής διενήργησε έλεγχο μαύρου κουτιού για τους πελάτες κινητής τηλεφωνίας της Voatz.
Τον Οκτώβριο του 2018, η TLDR Security, γνωστή τώρα ως ShiftState, πραγματοποίησε μια ευρεία επισκόπηση υγιεινής ασφάλειας που περιελάμβανε αρχιτεκτονική συστήματος, ροές εργασίας χρηστών και δεδομένων και σχεδιασμό μετριασμού των απειλών, αλλά δεν αναζήτησε σφάλματα στο σύστημα ούτε στην πραγματική εφαρμογή. Στη συνέχεια, το ShiftState διενήργησε έναν άλλο έλεγχο τον Δεκέμβριο του 2018, εξετάζοντας εάν το σύστημα λειτούργησε όπως είχε προβλεφθεί και ακολουθούσε τις βέλτιστες πρακτικές.
Παρόλο που ο CEO της ShiftState Αντρέ ΜακΓρέγκορ έχει πει προηγουμένως ότι ο Voatz «έκανε πολύ καλά», η κριτική του Trail of Bits για τον έλεγχο του ShiftState επισημαίνει ζητήματα με περιορισμένη καταγραφή, μη διαχειριζόμενους διακομιστές και μια λύση κακόβουλου λογισμικού Zimperium που δεν ήταν ενεργοποιημένη κατά τη διάρκεια του πιλοτικού προγράμματος.
Δεδομένου ότι όλες οι προστασίες κατά της παραβίασης της Voatz για κινητές συσκευές βασίζονται στο Zimperium, είναι ανενεργή σημαίνει ότι η εφαρμογή θα μπορούσε να έχει αλλοιωθεί ασήμαντα, καθώς η Voatz στερείται πρόσθετης προστασίας από κακόβουλες εφαρμογές που θα μπορούσαν να έχουν πρόσβαση σε ευαίσθητες πληροφορίες.
Ένας εκπρόσωπος της Voatz είπε ότι το Zimperium δεν ολοκληρώθηκε πλήρως μέχρι το 2019 και ότι ορισμένοι ερευνητές ζητούν την απενεργοποίησή του για σκοπούς δοκιμών, κάτι που κάνουν κατά περίπτωση. “Το Trail of Bits δεν μπόρεσε να επαληθεύσει ανεξάρτητα ότι οι ιδιοκτησιακοί έλεγχοι κατά της παραβίασης της Zimperium επαληθεύουν ρητά τον πάροχο ασφαλείας Android”, αναφέρει η έκθεση, συνιστώντας έναν επιπλέον έλεγχο σε περίπτωση που το Zimperium είναι ποτέ απενεργοποιημένο, σκόπιμα ή όχι.
Ο τελικός έλεγχος από το DHS, που πραγματοποιήθηκε τον Οκτώβριο του 2019, απλώς εξέτασε τους πόρους του cloud και όχι την εφαρμογή – αν υπάρχουν στοιχεία για παραβίαση ή αν θα μπορούσε να ανιχνευθεί εάν πραγματοποιηθεί.
Πέρα από τους περιορισμούς των προηγούμενων αξιολογήσεων ασφαλείας που έδωσε ο Voatz χωρίς να δημοσιοποιήσει – όπως το γεγονός ότι κανένας από τους ελέγχους δεν περιλάμβανε ευπάθειες διακομιστή και back-end – η έκθεση Trail of Bits αναφέρει ότι οι αναφορές από τις άλλες αξιολογήσεις ασφαλείας που πραγματοποιήθηκαν ήταν τεχνικά έγγραφα . Αυτό θέτει υπό αμφισβήτηση εάν οι εκλεγμένοι αξιωματούχοι λαμβάνουν αποφάσεις βάσει εγγράφων τα οποία δεν είναι κατάλληλα για ανάγνωση.
Ο Voatz εμφανίζεται άγρια αποδιοργανωμένος
Η αξιολόγηση του Trail of Bits διήρκεσε μια ολόκληρη εβδομάδα περισσότερο από ό, τι είχε αρχικά προγραμματιστεί “λόγω ενός συνδυασμού καθυστερήσεων στη λήψη κώδικα και στοιχείων, την απροσδόκητη πολυπλοκότητα και το μέγεθος του συστήματος και τη σχετική προσπάθεια αναφοράς.”
Το Trail of Bits δεν έλαβε ποτέ ένα λειτουργικό αντίγραφο του κώδικα, απαγορεύοντας στην εταιρεία να κάνει live-testing, πράγμα που σημαίνει ότι οι ερευνητές περιορίζονταν σχεδόν εξ ολοκλήρου στις στατικές δοκιμές, οι οποίες τους υποχρέωσαν να διαβάσουν ένα τεράστιο ποσό κώδικα. Σύμφωνα με την έκθεση, ο Voatz έχει τόσο μεγάλο κώδικα που “απαιτούσε από κάθε μηχανικό να αναλύσει, κατά μέσο όρο, σχεδόν 3.000 καθαρές γραμμές κώδικα σε 35 αρχεία την ημέρα της αξιολόγησης, προκειμένου να επιτευχθεί ελάχιστη κάλυψη.”
Παρόλο που το Trail of Bits έλαβε πρόσβαση στο backend για ζωντανή δοκιμή μια ημέρα πριν από την προγραμματισμένη λήξη της αξιολόγησης, το οποίο είπε ο εκπρόσωπος της Voatz οφείλεται σε ταυτόχρονους ελέγχους, καθυστερήσεις σε ελέγχους και παράλληλες δραστηριότητες και σε περιορισμένο αριθμό δοκιμαστικών πλατφορμών, ζητήθηκε από την εταιρεία ασφαλείας να μην επιτεθεί ή να τροποποιήσει το περιστατικό με τρόπο που θα αρνιόταν την υπηρεσία σε ταυτόχρονους ελέγχους.
Ο Voatz έκανε λάθη στο rookie – και δεν φαίνεται σοβαρό για διορθώσεις
Το Trail of Bits περιέγραψε διάφορα σφάλματα που θα μπορούσαν να οδηγήσουν στην παρακολούθηση των ψήφων, σε παραβίαση ή σε ανωνυμία ή που θα μπορούσαν να θέσουν υπό αμφισβήτηση την ακεραιότητα των εκλογών..
Πέρα από το γεγονός ότι οι ψηφοφόροι δεν μπορούν να επικυρώσουν ανεξάρτητα ότι η απόδειξη ψηφοφορίας τους είναι έγκυρη ή ότι οι ψήφοι είχαν σωστά υπολογιστεί, ένας υπάλληλος του Voatz θα μπορούσε θεωρητικά να αναγκάσει έναν χρήστη να ψηφίσει δύο φορές, να του επιτρέψει να ψηφίσει δύο φορές ή να επαναλάβει την ψήφο του χωρίς να το γνωρίζει στο backend . Επίσης, το Voatz χρησιμοποιεί ένα οκταψήφιο PIN για την κρυπτογράφηση όλων των τοπικών δεδομένων – κάτι που θα μπορούσε να σπάσει μέσα σε 15 λεπτά.
Επιπλέον, η αναφορά διαπίστωσε ότι η εφαρμογή δεν διαθέτει ελέγχους ασφαλείας για να αποτρέψει τον κίνδυνο παραβίασης συσκευών Android χωρίς παρακολούθηση. Τα ευαίσθητα διαπιστευτήρια API αποθηκεύτηκαν σε αποθετήρια git, πράγμα που σημαίνει ότι οποιοσδήποτε στην εταιρεία με πρόσβαση στον κώδικα – ίσως ακόμη και υπεργολάβοι – θα μπορούσε να χρησιμοποιήσει ή να κάνει κατάχρηση μυστικών κλειδιών που εκτίθενται στα αποθετήρια.
Οι υπάλληλοι της Voatz με πρόσβαση διαχειριστή μπορούν να αναζητήσουν συγκεκριμένες ψηφοφορίες. Το Voatz χρησιμοποιεί ένα ad hoc κρυπτογραφικό πρωτόκολλο χειραψίας, το οποίο γενικά δεν συνιστάται – καθώς η σπιτική κρυπτογραφία είναι επιρρεπής σε σφάλματα και είναι καλύτερο να χρησιμοποιήσετε σχήματα κρυπτογράφησης που έχουν μελετηθεί από ερευνητές και έχουν δοκιμαστεί στον πραγματικό κόσμο. Το SSL (Secure Sockets Layer) δεν είχε διαμορφωθεί με απόλυτα ασφαλή τρόπο, χάνοντας ένα βασικό χαρακτηριστικό που βοηθά τους πελάτες να αναγνωρίσουν πότε ανακαλείται ένα πιστοποιητικό TLS (Transport Layer Security).
Σε μία περίπτωση, ο Voatz έκοψε ακόμη και επικολλήθηκε ένα πλήκτρο και ένα διάνυσμα αρχικοποίησης από μια απάντηση Stack Overflow. Η αποκοπή και η επικόλληση κώδικα αποθαρρύνονται γενικά, ακόμη και σε μαθήματα ασφάλειας υπολογιστών σε επίπεδο κολλεγίου, επειδή η ποιότητα των πληροφοριών σχετικά με το Stack Overflow ποικίλλει και ακόμη και ο καλός κώδικας ενδέχεται να μην λειτουργεί σε ένα συγκεκριμένο περιβάλλον. Ωστόσο, η κοπή και η επικόλληση ενός κλειδιού και IV είναι ακόμη χειρότερη, καθώς σημαίνει ότι το κλειδί και το IV που χρησιμοποιούνται για την κρυπτογράφηση των δεδομένων είναι πανομοιότυπα με κάτι στο Διαδίκτυο, παρόλο που δεν υποτίθεται ότι είναι δημόσια. Ένας εκπρόσωπος της Voatz είπε σε ένα email ότι αυτός ήταν δοκιμαστικός κώδικας για μια επίδειξη εντός εφαρμογής και “δεν χρησιμοποιήθηκε στην πραγματικότητα σε καμία περίπτωση ή συναλλαγή”.
Ακόμα και όταν συνοψιστεί, οι προτάσεις του Trail of Bits έχουν μήκος οκτώ σελίδων. Ο Voatz φαίνεται ότι αντιμετώπισε οκτώ κινδύνους ασφαλείας, μερικώς αντιμετώπισε άλλους έξι, και άφησε 34 μη διορθωμένους. Συνήθως, οι εταιρείες έχουν ένα ολοκληρωμένο σχέδιο για τον τρόπο διόρθωσης υψηλών και μεσαίων κινδύνων. Πράγματι, ένας εκπρόσωπος του Voatz είπε, «Λαμβάνουμε κάθε εύρημα στα σοβαρά, αναλύουμε κάθε εύρημα από πρακτική προοπτική, εκχωρούμε την πιθανότητα κινδύνου και μετά καθορίζουμε την πορεία προς τα εμπρός», δήλωσε εκπρόσωπος της Voatz σε ένα email.
“Εάν το σφάλμα ή το ζήτημα είναι πρακτικά αξιοποιήσιμο σε ένα σενάριο πραγματικού κόσμου που συμμορφώνεται με τους πιλότους μικρής κλίμακας που διεξάγουμε, τότε τους αντιμετωπίζουμε αμέσως αλλιώς ρέουν στους αγωγούς φυσιολογικής ανάπτυξης με προτεραιότητα.”
Σοκαριστικά, ο Voatz αποφάσισε ότι «αποδέχεται τον κίνδυνο» πολλών από αυτά τα σφάλματα, ουσιαστικά αποδεχόμενος τον κίνδυνο εκ μέρους των ψηφοφόρων αντί να κάνει τις διορθώσεις που προτάθηκαν από την εταιρεία που προσέλαβε.
Οι Tusk Philanthropies, Voatz και Trail of Bits αναφέρθηκαν στο Cointelegraph ξεχωριστός ιστολόγιο δημοσιεύσεις σχετικά με τον έλεγχο και το Trail of Bits αναφέρεται στην ίδια την έκθεση.
Αυτό το άρθρο έχει ενημερωθεί με σχόλια από εκπρόσωπο της Voatz.
Σχετικά: Safe Harbor ή Thrown to the Sharks από τον Voatz?