Προβλήματα αυτόνομων συστημάτων ελέγχου πρόσβασης - Εκεί που δεν αναμενόταν

Καλημέρα σε όλους. Θα ξεκινήσω με το ιστορικό για το τι με ώθησε να πραγματοποιήσω αυτήν την έρευνα, αλλά πρώτα θα σας προειδοποιήσω: όλες οι πρακτικές ενέργειες πραγματοποιήθηκαν με τη συγκατάθεση των κυβερνητικών δομών. Οποιαδήποτε απόπειρα χρήσης αυτού του υλικού για είσοδο σε απαγορευμένη περιοχή χωρίς το δικαίωμα να βρίσκεται εκεί είναι ποινικό αδίκημα.

Όλα ξεκίνησαν όταν, ενώ καθάριζα το τραπέζι, τοποθέτησα κατά λάθος το κλειδί εισόδου RFID στη συσκευή ανάγνωσης NFC ACR122 - φανταστείτε την έκπληξή μου όταν τα Windows έπαιξαν τον ήχο ανίχνευσης μιας νέας συσκευής και το LED έγινε πράσινο. Μέχρι αυτή τη στιγμή, πίστευα ότι αυτά τα κλειδιά λειτουργούν αποκλειστικά στο πρότυπο Proximity.
Προβλήματα αυτόνομων συστημάτων ελέγχου πρόσβασης - Εκεί που δεν αναμενόταν
Αλλά αφού το είδε ο αναγνώστης, σημαίνει ότι το κλειδί πληροί ένα από τα πρωτόκολλα πάνω από το πρότυπο ISO 14443 (γνωστός και ως Επικοινωνία κοντινού πεδίου, 13,56 MHz). Ο καθαρισμός ξεχάστηκε αμέσως, καθώς είδα την ευκαιρία να απαλλαγώ εντελώς από το σετ κλειδιών και να κρατήσω το κλειδί της εισόδου στο τηλέφωνό μου (το διαμέρισμα έχει από καιρό εξοπλισμένο με ηλεκτρονική κλειδαριά). Έχοντας αρχίσει να μελετάω, ανακάλυψα ότι κάτω από το πλαστικό κρύβεται μια ετικέτα Mifare 1k NFC - το ίδιο μοντέλο με τα εταιρικά σήματα, τις κάρτες μεταφοράς κ.λπ. Οι προσπάθειες εισόδου στα περιεχόμενα των τομέων δεν έφεραν επιτυχία στην αρχή και όταν τελικά σπάθηκε το κλειδί, αποδείχθηκε ότι χρησιμοποιήθηκε μόνο ο 3ος τομέας και το UID του ίδιου του τσιπ αντιγραφόταν σε αυτό. Φαινόταν πολύ απλό, και αποδείχθηκε ότι ήταν έτσι, και δεν θα υπήρχε άρθρο αν όλα πήγαιναν ακριβώς όπως είχαν προγραμματιστεί. Έτσι, έλαβα τα εντόσθια του κλειδιού και δεν υπάρχουν προβλήματα αν χρειαστεί να αντιγράψετε το κλειδί σε άλλο ίδιου είδους. Αλλά το καθήκον ήταν να μεταφέρω το κλειδί σε μια κινητή συσκευή, κάτι που έκανα. Εδώ ξεκίνησε η διασκέδαση - έχουμε τηλέφωνο - iPhone SE με εγκατεστημένο iOS 13.4.5 Beta έκδοση 17F5044d και ορισμένα προσαρμοσμένα στοιχεία για δωρεάν λειτουργία του NFC - δεν θα σταθώ σε αυτό λεπτομερώς για κάποιους αντικειμενικούς λόγους. Εάν θέλετε, όλα όσα αναφέρονται παρακάτω ισχύουν και για το σύστημα Android, αλλά με ορισμένες απλοποιήσεις.

Λίστα εργασιών προς επίλυση:

  • Πρόσβαση στα περιεχόμενα του κλειδιού.
  • Εφαρμόστε τη δυνατότητα εξομοίωσης κλειδιού από τη συσκευή.

Αν με το πρώτο όλα ήταν σχετικά απλά, τότε με το δεύτερο υπήρχαν προβλήματα. Η πρώτη έκδοση του εξομοιωτή δεν λειτούργησε. Το πρόβλημα ανακαλύφθηκε αρκετά γρήγορα - σε κινητές συσκευές (είτε iOS είτε Android) σε λειτουργία εξομοίωσης, το UID είναι δυναμικό και, ανεξάρτητα από το τι είναι ενσωματωμένο στην εικόνα, επιπλέει. Η δεύτερη έκδοση (εκτελείται με δικαιώματα υπερχρήστη) καθόρισε αυστηρά τον σειριακό αριθμό στην επιλεγμένη - η πόρτα άνοιξε. Ωστόσο, ήθελα να κάνω τα πάντα τέλεια και κατέληξα να δημιουργήσω μια ολοκληρωμένη έκδοση του εξομοιωτή που θα μπορούσε να ανοίξει τις χωματερές του Mifare και να τις μιμηθεί. Υποχωρώντας σε μια ξαφνική παρόρμηση, άλλαξα τα κλειδιά του τομέα σε αυθαίρετα και προσπάθησα να ανοίξω την πόρτα. Και αυτή… ΑΝΟΙΞΕ! Μετά από λίγο κατάλαβα ότι άνοιγαν κάθε πόρτες με αυτή την κλειδαριά, ακόμα και εκείνες στις οποίες δεν ταίριαζε το αρχικό κλειδί. Από αυτή την άποψη, δημιούργησα μια νέα λίστα εργασιών προς ολοκλήρωση:

  • Μάθετε τι είδους ελεγκτής είναι υπεύθυνος για την εργασία με κλειδιά
  • Κατανοήστε εάν υπάρχει σύνδεση δικτύου και κοινή βάση
  • Μάθετε γιατί ένα ουσιαστικά μη αναγνώσιμο κλειδί γίνεται καθολικό

Αφού μίλησα με έναν μηχανικό στην εταιρεία διαχείρισης, έμαθα ότι χρησιμοποιούνται απλοί ελεγκτές Iron Logic z5r χωρίς σύνδεση σε εξωτερικό δίκτυο.

Αναγνώστης CP-Z2 MF και ελεγκτής IronLogic z5r
Μου δόθηκε ένα σετ εξοπλισμού για τα πειράματα:

Προβλήματα αυτόνομων συστημάτων ελέγχου πρόσβασης - Εκεί που δεν αναμενόταν

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

Στιγμιότυπο οθόνης της διαδικασίας εξομοίωσης στη συσκευή
Προβλήματα αυτόνομων συστημάτων ελέγχου πρόσβασης - Εκεί που δεν αναμενόταν
... και ο ελεγκτής σηματοδοτεί ότι έχει παραχωρηθεί πρόσβαση.

Αυτό σημαίνει ότι το πρόβλημα βρίσκεται στο λογισμικό είτε του ελεγκτή είτε του αναγνώστη. Ας ελέγξουμε τον αναγνώστη - λειτουργεί σε λειτουργία iButton, οπότε ας συνδέσουμε την πλακέτα ασφαλείας Bolid - θα μπορούμε να προβάλουμε τα δεδομένα εξόδου από τον αναγνώστη.

Η πλακέτα θα συνδεθεί αργότερα μέσω RS232
Προβλήματα αυτόνομων συστημάτων ελέγχου πρόσβασης - Εκεί που δεν αναμενόταν

Χρησιμοποιώντας τη μέθοδο των πολλαπλών δοκιμών, διαπιστώνουμε ότι ο αναγνώστης εκπέμπει τον ίδιο κωδικό με σε περίπτωση αποτυχίας εξουσιοδότησης: 1219191919

Η κατάσταση αρχίζει να γίνεται πιο ξεκάθαρη, αλλά αυτή τη στιγμή δεν μου είναι ξεκάθαρο γιατί ο ελεγκτής ανταποκρίνεται θετικά σε αυτόν τον κωδικό. Υπάρχει η υπόθεση ότι όταν γεμίστηκε η βάση δεδομένων - κατά λάθος ή επίτηδες παρουσιάστηκε μια κάρτα με άλλα κλειδιά τομέα - ο αναγνώστης έστειλε αυτόν τον κωδικό και ο ελεγκτής τον αποθήκευσε. Δυστυχώς, δεν έχω ιδιόκτητο προγραμματιστή από την IronLogic για να ψάξω στη βάση δεδομένων κλειδιού ελεγκτή, αλλά ελπίζω ότι κατάφερα να επιστήσω την προσοχή στο γεγονός ότι το πρόβλημα υπάρχει. Διατίθεται μια επίδειξη βίντεο για την εργασία με αυτήν την ευπάθεια по ссылке.

Υ.Γ. Η θεωρία της τυχαίας προσθήκης έρχεται σε αντίθεση με το γεγονός ότι σε ένα επιχειρηματικό κέντρο στο Krasnoyarsk κατάφερα επίσης να ανοίξω την πόρτα χρησιμοποιώντας την ίδια μέθοδο.

Πηγή: www.habr.com

Προσθέστε ένα σχόλιο