Τα βολικά τηλεχειριστήρια εξοικονομούν διαχειριστές συστήματοςπολλές δυνάμεις - και ταυτόχρονα αντιπροσωπεύουν μια τεράστια απειλή για την ασφάλεια σε περίπτωση που δεν μπορούν να απενεργοποιηθούν από το υλικό χρησιμοποιώντας ένα βραχυκυκλωτήρα ή διακόπτη πλακέτα συστήματος. Αποκλεισμός της Intel Management Engine 11 στο σύγχρονο πλατφόρμες Intelαντιπροσωπεύει ακριβώς έναν τέτοιο κίνδυνο - αρχικά δεν μπορεί να απενεργοποιηθεί και, επιπλέον, ορισμένοι μηχανισμοί προετοιμασίας και λειτουργίας του επεξεργαστή συνδέονται με αυτό, επομένως μια πρόχειρη απενεργοποίηση μπορεί απλώς να οδηγήσει σε πλήρη αλειτουργία του συστήματος. Η ευπάθεια βρίσκεται στην τεχνολογία Intel Active Management Technology (AMT) και, με μια επιτυχημένη επίθεση, σας επιτρέπει να αποκτήσετε τον πλήρη έλεγχο του συστήματος, το οποίο συζητήθηκε τον Μάιο του τρέχοντος έτους. Όμως ερευνητές από την Positive Technologies .

Ο ίδιος ο επεξεργαστής IME είναι μέρος του τσιπ System Hub (PCH). Εξαιρουμένων των υποδοχών επεξεργαστή PCI Express, όλη η επικοινωνία μεταξύ του συστήματος και του εξωτερικού κόσμου περνά μέσω του PCH, πράγμα που σημαίνει ότι το IME έχει πρόσβαση σε όλα σχεδόν τα δεδομένα. Πριν από την έκδοση 11, μια επίθεση κατά μήκος αυτού του φορέα ήταν απίθανη: ο επεξεργαστής IME χρησιμοποιούσε τη δική του αρχιτεκτονική με το σύνολο εντολών ARC, το οποίο ήταν ελάχιστα γνωστό σε τρίτους προγραμματιστές. Αλλά στην έκδοση 11, η τεχνολογία έγινε ένα κακόγουστο αστείο: μεταφέρθηκε στην αρχιτεκτονική x86 και το τροποποιημένο MINIX χρησιμοποιήθηκε ως λειτουργικό σύστημα, πράγμα που σημαίνει ότι η έρευνα δυαδικού κώδικα από τρίτους απλοποιήθηκε πολύ: τόσο η αρχιτεκτονική όσο και το λειτουργικό σύστημα είναι καλά τεκμηριωμένα. Οι Ρώσοι ερευνητές Dmitry Sklyarov, Mark Yermolov και Maxim Goryachy κατάφεραν να αποκρυπτογραφήσουν τις εκτελέσιμες μονάδες IME έκδοσης 11 και ξεκίνησαν την ενδελεχή μελέτη τους.

Η τεχνολογία Intel AMT έχει βαθμολογία ευπάθειας 9,8 στα 10. Δυστυχώς, η πλήρης απενεργοποίηση του IME σε σύγχρονες πλατφόρμες δεν είναι δυνατή για τον λόγο που περιγράφεται παραπάνω - το υποσύστημα σχετίζεται στενά με την προετοιμασία και την εκκίνηση της CPU, καθώς και με τη διαχείριση ενέργειας. Αλλά από μια εικόνα μνήμης flash που περιέχει μονάδες IME, μπορείτε να αφαιρέσετε οτιδήποτε περιττό, αν και είναι πολύ δύσκολο να το κάνετε αυτό, ειδικά στην έκδοση 11. Το έργο me_cleaner αναπτύσσεται ενεργά, ένα βοηθητικό πρόγραμμα που σας επιτρέπει να αφαιρέσετε το κοινό μέρος της εικόνας και άφησε μόνο τα ζωτικά απαραίτητα εξαρτήματα. Αλλά ας κάνουμε μια μικρή σύγκριση: εάν στις εκδόσεις του IME έως και 11 (πριν από το Skylake) το βοηθητικό πρόγραμμα διέγραψε σχεδόν τα πάντα, αφήνοντας περίπου 90 KB κώδικα, τότε αυτή τη στιγμή είναι απαραίτητο να αποθηκεύσετε περίπου 650 KB κώδικα - και σε ορισμένες περιπτώσεις το σύστημα μπορεί να απενεργοποιηθεί μετά από μισή ώρα, καθώς το μπλοκ Το IME μεταβαίνει σε λειτουργία ανάκτησης.

Υπάρχουν κινήσεις όμως. Η προαναφερθείσα ομάδα ερευνητών κατάφερε να χρησιμοποιήσει ένα κιτ ανάπτυξης που παρείχε η ίδια η Intel, το οποίο περιλαμβάνει τα βοηθητικά προγράμματα Flash Image Tool για τη διαμόρφωση των ρυθμίσεων IME και το Flash Programming Tool, το οποίο λειτουργεί μέσω ενός ενσωματωμένου ελεγκτή SPI. Η Intel δεν δημοσιεύει αυτά τα προγράμματα στο ανοιχτή πρόσβαση, αλλά η εύρεση τους στον Ιστό δεν είναι δύσκολη.

Τα αρχεία XML που ελήφθησαν χρησιμοποιώντας αυτό το κιτ αναλύθηκαν (περιέχουν τη δομή του υλικολογισμικού IME και την περιγραφή του μηχανισμού ιμάντα PCH). Ένα bit που ονομάζεται "reserve_hap" (HAP) φαινόταν ύποπτο λόγω της περιγραφής του "High Assurance Platform (HAP) enable". Μια αναζήτηση στο διαδίκτυο αποκάλυψε ότι ήταν το όνομα ενός προγράμματος πλατφόρμας υψηλής εμπιστοσύνης που συνδέεται με την αμερικανική NSA. Η ενεργοποίηση αυτού του bit έδειξε ότι το σύστημα βρισκόταν σε λειτουργία Alt Disable Mode. Το μπλοκ IME δεν ανταποκρίθηκε σε εντολές και δεν ανταποκρινόταν σε εισόδους από το λειτουργικό σύστημα. Υπάρχουν επίσης ορισμένες πιο λεπτές αποχρώσεις που μπορούν να βρεθούν στο άρθρο στο Habrahabr.ru, αλλά στο νέα έκδοσηΤο me_cleaner έχει ήδη εφαρμόσει υποστήριξη για τις περισσότερες επικίνδυνες μονάδες χωρίς να έχει ορίσει το bit HAP, το οποίο θέτει τον κινητήρα IME σε κατάσταση "TemporaryDisable".

Η τελευταία τροποποίηση του me_cleaner αφήνει ακόμη και στην 11η έκδοση του IME μόνο τα modules RBE, KERNEL, SYSLIB και BUP, δεν βρέθηκε κώδικας σε αυτά που να ενεργοποιεί το ίδιο το σύστημα IME. Εκτός από αυτά, μπορείτε να χρησιμοποιήσετε το bit HAP για να βεβαιωθείτε ότι το βοηθητικό πρόγραμμα ξέρει επίσης πώς να το κάνει. Η Intel επανεξέτασε την έρευνα και επιβεβαίωσε ότι ορισμένες ρυθμίσεις IME σχετίζονται πράγματι με τις κυβερνητικές ανάγκες για βελτιωμένη ασφάλεια. Αυτές οι ρυθμίσεις εισήχθησαν κατόπιν αιτήματος πελατών της κυβέρνησης των ΗΠΑ, έχουν υποβληθεί σε περιορισμένες δοκιμές και αυτές οι διαμορφώσεις δεν υποστηρίζονται επίσημα από την Intel. Η εταιρεία αρνείται επίσης ότι εισάγει τα λεγόμενα backdoors στα προϊόντα της.

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

διαφήμιση

Σήμερα, η Intel δεν κρύβει καν το γεγονός ότι οι επεξεργαστές και τα chipset των σύγχρονων πλατφορμών υπολογιστών διαθέτουν ενσωματωμένα εργαλεία για απομακρυσμένο έλεγχο υπολογιστή. Διαφημίζεται ευρέως τεχνολογία IntelΗ Τεχνολογία Ενεργής Διαχείρισης (AMT) θα πρέπει να συμβάλλει στην απλοποίηση της απομακρυσμένης συντήρησης του συστήματος - διάγνωσης και ανάκτησης - χωρίς παρέμβαση του χρήστη. Αλλά κανείς δεν είναι ασφαλισμένος ότι μπορείτε επίσης να χρησιμοποιήσετε τα δικαιώματα διαχειριστή AMT για κακόβουλους σκοπούς και, όπως αποδεικνύεται, δεν υπάρχει απλώς ένας σελιδοδείκτης, υπάρχει μια ολόκληρη "παγίδα".

Σύμφωνα με μια δημοσίευση του ειδικού ασφαλείας Damien Zammit, τα σύγχρονα chipset της Intel διαθέτουν ενσωματωμένο τοπικό και απομονωμένο τσιπ μικροελεγκτή Intel Management Engine (Intel ME). Αυτή είναι μια λύση με δικό της υλικολογισμικό, το οποίο δεν είναι διαθέσιμο για μελέτη από εργαλεία τρίτων και με δικαιώματα πλήρους ελέγχου του επεξεργαστή, της μνήμης και του συστήματος συνολικά. Επιπλέον, ο ελεγκτής μπορεί να λειτουργήσει με τον υπολογιστή απενεργοποιημένο, αρκεί να παρέχεται ρεύμα στη μνήμη. Φυσικά, το λειτουργικό σύστημα και τα βοηθητικά προγράμματα δεν θα γνωρίζουν ούτε ύπνο ούτε πνεύμα για τη δραστηριότητα του ελεγκτή και δεν θα ηχήσουν συναγερμό ενώ εργάζεται με το σύστημα και τα δεδομένα.

Αναζητήστε ηλεκτρονικές συσκευές για υποκλοπή πληροφοριών χρησιμοποιώντας δείκτες ηλεκτρομαγνητικού πεδίου

ΕΡΓΑΣΙΑ ΜΑΘΗΜΑΤΟΣ

Ειδικότητα «10.02.01 Οργάνωση και τεχνολογία ασφάλειας πληροφοριών»

Συμπλήρωσε: Shevchenko Konstantin Pavlovich

αριθμός μαθητικής ομάδας 342

_______________/_____________/

υπογραφή F.I.O.

"____" ___________2016

Τετραγωνισμένος:

Δάσκαλος

_______________/S.V. Lutovinov/

υπογραφή F.I.O.

"____" ___________2016

Τομσκ 2016

Εισαγωγή. 3

Τύποι σελιδοδεικτών. τέσσερις

Ακουστικοί σελιδοδείκτες. 4

Σελιδοδείκτες τηλεφώνου. 7

Σελιδοδείκτες υλικού. 8

Ενδείξεις ηλεκτρομαγνητικού πεδίου. δέκα

Μετρητές ραδιοσυχνοτήτων. 13

Δέκτες σαρωτών και αναλυτές φάσματος. δεκατέσσερα

Συγκροτήματα υλικού-λογισμικού και ειδικού ελέγχου. 16

Σύστημα ανίχνευσης ακτινοβολίας. 17

Μέσα ελέγχου συρμάτινων γραμμών. δεκαοχτώ

Μη γραμμικοί εντοπιστές και ανιχνευτές μετάλλων. είκοσι

Ανίχνευση σελιδοδεικτών. 21

Συμπέρασμα. 22

Βιβλιογραφία. 23


Εισαγωγή

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

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

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


Τύποι σελιδοδεικτών

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



Ρύζι. 1. Σελιδοδείκτης ακουστικού ραδιοφώνου

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


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


Ρύζι. 2. Ραδιο στηθοσκόπιο

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


Εκτός από τους σελιδοδείκτες που μεταδίδουν πληροφορίες μέσω του ραδιοφώνου, υπάρχουν σελιδοδείκτες στους οποίους χρησιμοποιούνται γραμμές ρεύματος 220 V για τη μετάδοση πληροφοριών. Αυτοί οι ακουστικοί σελιδοδείκτες ονομάζονται δίκτυο. Για την υποκλοπή πληροφοριών που μεταδίδονται από σελιδοδείκτες δικτύου, χρησιμοποιούνται ειδικοί δέκτες που συνδέονται με το δίκτυο τροφοδοσίας εντός του κτιρίου.



Στην πράξη, είναι επίσης δυνατή η χρήση ακουστικών σελιδοδεικτών που μεταδίδουν πληροφορίες μέσω των γραμμών συστημάτων ασφαλείας και συναγερμού πυρκαγιάς, καθώς και τηλεφωνικών γραμμών. Η απλούστερη συσκευή που μεταδίδει πληροφορίες μέσω μιας τηλεφωνικής γραμμής είναι η λεγόμενη συσκευή «αυτί τηλεφώνου» (Εικ. 3).

Ρύζι. 3. Τηλεφωνικό αυτί TU-2


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

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

Η μεταφορά πληροφοριών με τη χρήση σελιδοδείκτη τηλεφώνου ξεκινά τη στιγμή που ο συνδρομητής παίρνει το ακουστικό.

Ρύζι. 4. Σελιδοδείκτης τηλεφώνου


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


Ρύζι. 5. Σελιδοδείκτης υλικού

Με τη βοήθεια σελιδοδεικτών υλικού, είναι δυνατή η υποκλοπή δεδομένων, για παράδειγμα, δεδομένα εισόδου / εξόδου προσωπικός υπολογιστής: εικόνα οθόνης; δεδομένα που εισάγονται από το πληκτρολόγιο, αποστέλλονται στον εκτυπωτή, εγγράφονται σε εσωτερικό και εξωτερικό μέσο.


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

Η μετάδοση από βιντεοκάμερες μπορεί να εγγραφεί απευθείας σε συσκευή εγγραφής βίντεο ή να μεταδοθεί μέσω ενός ραδιοφωνικού καναλιού χρησιμοποιώντας ειδικούς πομπούς. Εάν, εκτός από την εικόνα βίντεο, απαιτείται και μετάδοση ήχου, τότε μαζί με τη βιντεοκάμερα εγκαθίσταται μικρόφωνο. Κατά κανόνα, οι πομποί εικόνας βίντεο κατασκευάζονται ως ξεχωριστή μονάδα, ενώ έχουν μικρό μέγεθος και βάρος. Υπάρχουν όμως περιπτώσεις που συνδυάζονται δομικά με τηλεοπτικές κάμερες (Εικ. 5).

Ρύζι. 6. Πομπός βίντεο

Οι βιντεοκάμερες και οι πομποί τροφοδοτούνται είτε από ενσωματωμένες μπαταρίες, ενώ ο χρόνος λειτουργίας, κατά κανόνα, δεν ξεπερνά τις πολλές ώρες, είτε από το δίκτυο 220 V, ενώ ο χρόνος λειτουργίας τους είναι πρακτικά απεριόριστος.

Δεν είμαι επαγγελματίας στον τομέα της ασφάλειας πληροφοριών, το ενδιαφέρον μου είναι υπολογιστικά συστήματα υψηλής απόδοσης. Ήρθα στο θέμα της ασφάλειας πληροφοριών εντελώς τυχαία, και αυτό είναι που θα συζητηθεί περαιτέρω. Νομίζω ότι αυτή η μη φανταστική ιστορία θα τονίσει τα προβλήματα που σχετίζονται με το υλικό εικονικοποίησης πολύ καλύτερα από μια ξερή δήλωση γεγονότων. Ακόμη και πριν από την επίσημη ανακοίνωση των νέων επεξεργαστών Intel με υποστήριξη για εικονικοποίηση υλικού (στις αρχές του 2007), σχεδίαζα να χρησιμοποιήσω αυτά τα τσιπ για να δημιουργήσω ένα ενιαίο υπολογιστικό σύστημα βασισμένο σε πολλούς διακομιστές, το οποίο θα γινόταν μια ενιαία υπολογιστική εγκατάσταση με αρχιτεκτονική SMP για το ΛΣ και προγράμματα εφαρμογών. Για να γίνει αυτό, ήταν απαραίτητο να γραφτεί ένας συμπαγής hypervisor με μη τυπική λειτουργικότητα, κύριο χαρακτηριστικόπου δεν θα ήταν η κατανομή των πόρων μιας ενιαίας υπολογιστικής εγκατάστασης μεταξύ διαφορετικών λειτουργικών συστημάτων, αλλά, αντίθετα, η ένωση των πόρων πολλών Υπολογιστέςσε ένα ενιαίο συγκρότημα, το οποίο θα ελέγχεται από ένα ΛΣ. Ταυτόχρονα, το λειτουργικό σύστημα δεν θα έπρεπε καν να μαντέψει ότι δεν είχε να κάνει ενιαίο σύστημα αλλά με πολλούς διακομιστές. Ο εξοπλισμός εικονικοποίησης παρείχε μια τέτοια ευκαιρία, αν και αρχικά δεν προοριζόταν για την επίλυση τέτοιων προβλημάτων. Στην πραγματικότητα, δεν έχει δημιουργηθεί ακόμη ένα σύστημα στο οποίο το υλικό εικονικοποίησης θα χρησιμοποιείται για υπολογιστές υψηλής απόδοσης και εκείνη την εποχή ήμουν γενικά πρωτοπόρος σε αυτόν τον τομέα. Ο hypervisor για αυτήν την εργασία, φυσικά, γράφτηκε από την αρχή. Ήταν θεμελιωδώς σημαντικό να εκτελείται το λειτουργικό σύστημα ήδη σε μια εικονική πλατφόρμα, έτσι ώστε από τις πρώτες εντολές του φορτωτή του λειτουργικού συστήματος όλα να λειτουργούν σε ένα εικονικό περιβάλλον. Για να γίνει αυτό, έπρεπε να εικονικοποιήσουμε το πραγματικό μοντέλο και όλους τους τρόπους λειτουργίας του επεξεργαστή και να ξεκινήσουμε την εικονικοποίηση αμέσως μετά την προετοιμασία της πλατφόρμας πριν φορτώσουμε το λειτουργικό σύστημα. Δεδομένου ότι το σύστημα εικονικοποίησης για αυτόν τον σκοπό αποδείχθηκε μη τυπικό και έμοιαζε με μια εντελώς αυτόνομη συμπαγή μονάδα λογισμικού (μέγεθος κώδικα όχι μεγαλύτερο από 40–60 KB), η γλώσσα κατά κάποιο τρόπο δεν τόλμησε να την ονομάσει hypervisor, και άρχισα για να χρησιμοποιήσουμε τον όρο "υπεροδηγός", δεδομένου ότι είναι πιο ακριβής μεταφέρεται η ουσία του λειτουργικού σκοπού του συστήματος. Δεν υπήρχε σειριακός εξοπλισμός με υλικό εικονικοποίησης εκείνη την εποχή, ωστόσο, χάρη σε συνεργασία με την εταιρεία Kraftway, είχα πρόσβαση σε δείγματα προ-σειράς επεξεργαστών και μητρικών με υποστήριξη εικονικοποίησης που δεν είχαν κυκλοφορήσει ακόμη επίσημα (τα λεγόμενα δείγματα που Η Intel παρέχει ευγενικά στους επιχειρηματικούς εταίρους της). Ως εκ τούτου, η δουλειά άρχισε να βράζει σε αυτόν τον εξοπλισμό "δείγμα". Η διάταξη συναρμολογήθηκε, το hyperdriver γράφτηκε, όλα λειτουργούσαν όπως έπρεπε. Πρέπει να πω ότι εκείνη την εποχή ο εξοπλισμός εικονικοποίησης ήταν πολύ "ακατέργαστος", εξαιτίας του οποίου αρνήθηκε πολλές φορές να λειτουργήσει όπως αναγράφεται στην τεκμηρίωση. Έπρεπε να αντιμετωπίσω κυριολεκτικά κάθε εντολή assembler και να γράψω τις οδηγίες για τον εξοπλισμό εικονικοποίησης σε κώδικες μηχανών, γιατί τότε δεν υπήρχαν μεταγλωττιστές που να υποστηρίζουν οδηγίες εικονικοποίησης. Ήμουν περήφανος για τα αποτελέσματα, ένιωθα σχεδόν σαν κύριος των εικονικών κόσμων... αλλά η ευφορία μου δεν κράτησε πολύ, μόνο ένα μήνα. Μέχρι εκείνη τη στιγμή, είχα ήδη συγκεντρώσει μια διάταξη βασισμένη σε διακομιστές με εξοπλισμό εικονικοποίησης, τα πρώτα σειριακά δείγματα του οποίου είχαν μόλις εμφανιστεί εκείνη την εποχή, αλλά η διάταξη δεν λειτουργούσε. Άρχισα να καταλαβαίνω και συνειδητοποίησα ότι το σύστημά μου κολλάει όταν εκτελώ εντολές εικονικοποίησης υλικού. Φαινόταν ότι είτε δεν λειτούργησαν καθόλου, είτε δούλευαν με κάποιο τρόπο μη τυποποιημένο. Το πάγωμα συνέβη μόνο όταν το υλικό εικονικοποίησης εκτελούσε σε πραγματική λειτουργία, αλλά αν το σύστημά μου ξεκίνησε από την προστατευμένη λειτουργία μετά τη φόρτωση του λειτουργικού συστήματος, τότε όλα ήταν εντάξει. Οι επαγγελματίες γνωρίζουν ότι στις πρώτες αναθεωρήσεις, το υλικό εικονικοποίησης της Intel δεν υποστήριζε τον επεξεργαστή σε πραγματική λειτουργία. Αυτό απαιτούσε επιπλέον στρώμααρκετά μεγάλο για να μιμηθεί το εικονικό x86. Δεδομένου ότι το hyperdriver λειτουργούσε πριν από τη φόρτωση του λειτουργικού συστήματος, ώστε να μπορεί να πιστεύει πλήρως στη νέα εικονική διαμόρφωση, ένα μικρό κομμάτι κώδικα εκκίνησης του λειτουργικού συστήματος εκτελέστηκε στην πραγματική λειτουργία του επεξεργαστή. Το σύστημα πέθαινε μόνο στους χειριστές εξομοίωσης πραγματική λειτουργίαστο hyperdriver. Στην αρχή νόμιζα ότι κάπου έκανα λάθος, δεν κατάλαβα κάτι, ξέχασα κάτι. Έλεγξα τα πάντα μέχρι το τελευταίο κομμάτι στον κώδικά μου, δεν βρήκα σφάλματα και άρχισα να αμαρτάνω όχι στον εαυτό μου, αλλά σε συναδέλφους πίσω από έναν λόφο. Το πρώτο βήμα ήταν η αντικατάσταση των επεξεργαστών, αλλά δεν βοήθησε. Στις μητρικές πλακέτες εκείνη την εποχή, το υλικό εικονικοποίησης βρισκόταν μόνο στο BIOS, όπου αρχικοποιήθηκε όταν ο διακομιστής ήταν ενεργοποιημένος, οπότε άρχισα να συγκρίνω τα BIOS σε μητρικές πλακέτες (ίδιες μητρικές με δείγματα) - όλα ταιριάζουν με το byte και τον αριθμό του BIOS εαυτό. Έπεσα σε λήθαργο και, χωρίς να ξέρω πια τι να κάνω, έκανα αίτηση έσχατη λύση- "μέθοδος σακί". Αυτό που απλά δεν έκανα, δεν το σκέφτηκα πλέον, αλλά απλώς συνδύασα, και στο τέλος κατέβασα ανόητα το bios από τον επίσημο ιστότοπο της Intel και τα ξαναέγραψα σε μητρικές πλακέτες, μετά από τις οποίες όλα λειτουργούσαν ... Δεν υπήρχε όριο στην έκπληξή μου : ο αριθμός του BIOS ήταν ο ίδιος, οι εικόνες του bios αντιστοιχούσαν byte-byte, αλλά για κάποιο λόγο οι σειριακές μητρικές λειτούργησαν μόνο όταν τις γέμισα με το ίδιο bios που λήφθηκε από την τοποθεσία της Intel. Λοιπόν, ο λόγος είναι ακόμα στις μητρικές πλακέτες; Αλλά η μόνη διαφορά τους ήταν στην επισήμανση: το Assembled Canada ήταν γραμμένο στα δείγματα και το Assembled China στους πίνακες παραγωγής. Έγινε σαφές ότι οι πίνακες από την Κίνα περιέχουν πρόσθετες ενότητες λογισμικού που αναβοσβήνουν στο BIOS, αλλά αυτές οι ενότητες δεν ήταν ορατές από τυπικά προγράμματα ανάλυσης. Προφανώς, εργάστηκαν επίσης με εξοπλισμό εικονικοποίησης και, κατά συνέπεια, είχαν την ευκαιρία να κρύψουν το αληθινό περιεχόμενο του BIOS. Έγινε επίσης σαφές γιατί το hyperdriver μου παγώνει σε αυτές τις κινεζικές πλακέτες: δύο συστήματα λογισμικούεργάστηκε ταυτόχρονα με τον ίδιο εξοπλισμό εικονικοποίησης, ο οποίος δεν επέτρεπε την κοινή χρήση των πόρων τους. Ήθελα να ασχοληθώ με αυτό το κακόβουλο βιογραφικό, και χωρίς απώτερα κίνητρα για "σελιδοδείκτες", "πίσω πόρτες", "μη τεκμηριωμένα χαρακτηριστικά", ήταν απλώς ένα ακαδημαϊκό ενδιαφέρον και τίποτα περισσότερο. Πρέπει να πω ότι παράλληλα με την εισαγωγή του υλικού εικονικοποίησης, η Intel ενημέρωσε ριζικά το chipset. Αυτό το chipset, το οποίο έλαβε τον αριθμό 5000x, εξακολουθεί να είναι διαθέσιμο σε διάφορες τροποποιήσεις. Η νότια γέφυρα αυτού του chipset, 631xESB/632xESB I/O Controller Hub, στο οποίο συνδέονται μικροκυκλώματα flash με BIOS, παράγεται σχεδόν αμετάβλητη από το 2007 και χρησιμοποιείται ως βασικό τσιπ για όλους σχεδόν τους διακομιστές σε έκδοση δύο υποδοχών. Κατέβασα το δελτίο δεδομένων του southbridge, διάβασα την περιγραφή και μόλις ξέχασα. Αποδεικνύεται ότι τρία τσιπ μνήμης flash συνδέονται σε αυτή τη νέα νότια γέφυρα: το πρώτο είναι ένα τυπικό BIOS, το δεύτερο είναι αφιερωμένο στα προγράμματα του επεξεργαστή ελεγκτή δικτύου και το τρίτο προορίζεται για τη ναυτική μονάδα που είναι ενσωματωμένη στη νότια γέφυρα. Η μονάδα διαχείρισης συστήματος (SMB) είναι ένα μέσο απομακρυσμένου ελέγχου και παρακολούθησης μιας εγκατάστασης υπολογιστή. Είναι απαραίτητο για μεγάλα δωμάτια διακομιστών, όπου, λόγω θορύβου, θερμοκρασίας και ρεύματος, είναι απλά αδύνατο να μείνετε για μεγάλο χρονικό διάστημα. Το γεγονός ότι οι ναυτικές μονάδες έχουν δικό τους επεξεργαστή και, κατά συνέπεια, μνήμη flash για τα προγράμματά τους, φυσικά, δεν είναι νέο, αλλά μέχρι τώρα ένας τέτοιος επεξεργαστής και μνήμη τοποθετούνταν σε ξεχωριστή πλακέτα που ήταν συνδεδεμένη με τη μητρική πλακέτα: αν θέλετε - βάλε, αν δεν το θέλεις - μη βάλεις. Τώρα η Intel έχει εφαρμόσει αυτά τα στοιχεία στη νότια γέφυρα, επιπλέον, έχει συνδέσει αυτή τη μονάδα με το δίαυλο συστήματος και δεν έχει χρησιμοποιήσει ειδικό κανάλι δικτύου (όπως προβλέπεται από το πρότυπο IPMI που περιγράφει τις λειτουργίες της μονάδας BMC) για τη λειτουργία του δίκτυο υπηρεσιών, αλλά έχει διοχετεύσει όλη την κίνηση του δικτύου υπηρεσιών στους κύριους προσαρμογείς δικτύου. Επιπλέον, έμαθα από την τεκμηρίωση ότι τα προγράμματα στο τσιπ flash της ναυτικής μονάδας είναι κρυπτογραφημένα και χρησιμοποιείται μια ειδική κρυπτογραφική μονάδα υλικού, ενσωματωμένη επίσης στη νότια γέφυρα, για την αποσυσκευασία τους. Τέτοια μπλοκ του Πολεμικού Ναυτικού δεν έχω ξανασυναντήσει. Για να μην είμαι αβάσιμος, παραθέτω ένα απόσπασμα από την τεκμηρίωση αυτής της νότιας γέφυρας:

  • Επεξεργαστής ARC4 που λειτουργεί σε ταχύτητα 62,5 MHz.
  • Διασύνδεση και στις δύο θύρες LAN του διανομέα ελεγκτή εισόδου/εξόδου Intel® 631xESB/632xESB που επιτρέπει την άμεση σύνδεση με το δίκτυο και την πρόσβαση σε όλους τους καταχωρητές LAN.
  • Κρυπτογραφική μονάδα που υποστηρίζει αλγόριθμους κρυπτογράφησης AES και RC4 και αλγόριθμους ελέγχου ταυτότητας SHA1 και MD5.
  • Ασφαλισμένος μηχανισμός για φορτιζόμενο ρυθμιζόμενο FW.
Η χρήση ξένων εργαλείων κρυπτογράφησης με μήκος κλειδιού άνω των 40 bit απαγορεύεται στη Ρωσία από το νόμο, αλλά ορίστε! - σε κάθε διακομιστή Intel, μια κρυπτομονάδα με άγνωστα κλειδιά μήκους 256 bit. Επιπλέον, αυτά τα κλειδιά χρησιμοποιήθηκαν για την κρυπτογράφηση προγραμμάτων που είναι ενσωματωμένα στα τσιπ της μητρικής πλακέτας στο στάδιο της παραγωγής. Αποδεικνύεται ότι οι ναυτικές μονάδες στη Ρωσία σε διακομιστές Intel που έχουν ένα chipset 5000x στη σύνθεσή τους θα πρέπει να απενεργοποιηθούν. Ωστόσο, αυτά τα μπλοκ, αντίθετα, είναι πάντα σε κατάσταση λειτουργίας, ακόμη και αν η ίδια η υπολογιστική μονάδα είναι απενεργοποιημένη (για τη λειτουργία του VMS, η τάση αναμονής είναι αρκετή, δηλαδή το καλώδιο τροφοδοσίας του διακομιστή είναι συνδεδεμένο στην πρίζα) . Όλα αυτά μου φάνηκαν δευτερεύοντα εκείνη την εποχή, γιατί πρώτα έπρεπε να μάθω ποιο από τα τσιπ flash περιείχε μια μονάδα λογισμικού που δούλευε με υλικό εικονικοποίησης και παρενέβαινε στο υπερπρόγραμμα οδήγησης μου, και άρχισα να πειραματίζομαι με το υλικολογισμικό. Μετά την εξέταση της τεκμηρίωσης, έγινα επιφυλακτικός και όταν ανακάλυψα ότι η απόδοση του υπεροδηγού αποκαταστάθηκε αμέσως μετά το φλας του μικροκυκλώματος φλας της ναυτικής μονάδας, δεν εξεπλάγην καν. Ήταν αδύνατο να γίνει κατανοητό περαιτέρω χωρίς ειδικά περίπτερα, αφού η κρυπτογραφία εμπόδιζε εντελώς τις δυνατότητες αντιστροφής κώδικα για το Πολεμικό Ναυτικό. Δεν βρήκα τεκμηρίωση σχετικά με την εσωτερική αρχιτεκτονική αυτού του ενσωματωμένου Ναυτικού, στο φύλλο δεδομένων για τη νότια γέφυρα, η Intel περιέγραψε μόνο τους καταχωρητές διεπαφής για τον έλεγχο αυτής της μονάδας χρησιμοποιώντας τυπικές μεθόδους πρόσβασης, με αποτέλεσμα ένα κλασικό "μαύρο κουτί". Το σύνολο των γεγονότων ήταν ανησυχητικό και οδήγησε σε παρανοϊκές σκέψεις στο στυλ των ντετέκτιβ κατασκόπων. Αυτά τα γεγονότα έδειχναν ξεκάθαρα τα εξής:
  • Σε νέα σειριακά δωμάτια διακομιστών Πλακέτες Intelμε βάση το chipset 5000, υπάρχουν προγράμματα που αναβοσβήνουν στη μνήμη flash της μονάδας BMC και εκτελούνται στον κεντρικό επεξεργαστή και αυτά τα προγράμματα λειτουργούν χρησιμοποιώντας εξοπλισμό εικονικοποίησης ΕΠΕΞΕΡΓΑΣΤΗΣ.
  • Οι εικόνες μνήμης flash από τον επίσημο ιστότοπο της Intel δεν περιέχουν τέτοιες ενότητες λογισμικού, επομένως, οι μονάδες λογισμικού που παρεμβαίνουν σε εμένα μεταφέρθηκαν παράνομα σε μητρικές πλακέτες στο στάδιο της παραγωγής.
  • Η μνήμη flash της μονάδας του Πολεμικού Ναυτικού περιέχει κρυπτογραφημένες μονάδες προγράμματος που δεν μπορούν να συναρμολογηθούν και να φορτωθούν στη μνήμη flash χωρίς να γνωρίζουν τα κλειδιά κρυπτογράφησης, επομένως, αυτός που εισήγαγε αυτές τις παράνομες μονάδες προγράμματος γνώριζε τα κλειδιά κρυπτογράφησης, δηλαδή είχε πρόσβαση σε μυστικές πληροφορίες.
Ενημέρωσα τη διοίκηση της Kraftway για το πρόβλημα με το firmware της μνήμης flash της ναυτικής μονάδας και την αμφίβολη κατάσταση από την άποψη της νομοθεσίας με νέα chipset της Intel , στο οποίο έλαβε μια αρκετά αναμενόμενη απάντηση με το ύφος «μην μπερδεύεσαι, παρεμβαίνεις στις δουλειές». Έπρεπε να ηρεμήσω, γιατί δεν μπορείς πραγματικά να διαφωνήσεις εναντίον των εργοδοτών. Τα χέρια μου ήταν δεμένα, αλλά «οι σκέψεις μου, τα άλογά μου» δεν μου έδιναν ησυχία, δεν ήταν ξεκάθαρο γιατί ήταν αυτές οι δυσκολίες και πώς έγιναν όλα αυτά. Αν έχεις τη δυνατότητα να βάλεις το δικό σου λογισμικό στη μνήμη της ναυτικής μονάδας, γιατί χρειάζεσαι όλη αυτή την ταλαιπωρία με τον κεντρικό επεξεργαστή; Ένας εύλογος λόγος θα μπορούσε να είναι μόνο ότι η εργασία που επιλύεται απαιτείται για τον έλεγχο του τρέχοντος υπολογιστικού περιβάλλοντος στον κεντρικό επεξεργαστή. Προφανώς, είναι αδύνατο να παρακολουθείτε τις πληροφορίες που επεξεργάζονται στο κύριο σύστημα υπολογιστή χρησιμοποιώντας μόνο περιφερειακό επεξεργαστή χαμηλής ταχύτητας με συχνότητα 60 MHz. Έτσι, φαίνεται ότι το καθήκον αυτού του παράνομου συστήματος ήταν να ανακτήσει πληροφορίες που υποβλήθηκαν σε επεξεργασία στην κύρια εγκατάσταση του υπολογιστή χρησιμοποιώντας υλικό εικονικοποίησης. Φυσικά, είναι πιο βολικό ο απομακρυσμένος έλεγχος ολόκληρου του παράνομου συστήματος από τον επεξεργαστή της μονάδας BMC, καθώς έχει τη δική του ανεξάρτητη πρόσβαση στους προσαρμογείς δικτύου στη μητρική πλακέτα και τις δικές του διευθύνσεις MAC και IP. Η ερώτηση "πώς γίνεται;" ήταν πιο ακαδημαϊκής φύσης, επειδή κάποιος κατάφερε να δημιουργήσει έναν hypervisor που μπορεί να μοιράζεται πόρους υλικού virtualization με έναν άλλο hypervisor και να το κάνει σωστά για όλες τις λειτουργίες εκτός από την πραγματική λειτουργία της CPU. Τώρα δεν θα εκπλήξετε κανέναν με τέτοια συστήματα, αλλά στη συνέχεια, πριν από πέντε χρόνια, θεωρήθηκαν ως θαύμα, επιπλέον, η ταχύτητα εξομοίωσης ήταν εκπληκτική - ήταν αδύνατο να μιμηθεί μέσω προγραμματισμού ένας κεντρικός υπολογιστής χωρίς σημαντικές απώλειες απόδοσης. Για μια εξήγηση, πρέπει να εμβαθύνετε λίγο στη θεωρία. Η αρχιτεκτονική των συστημάτων εικονικοποίησης Intel και AMD δεν συνεπάγεται την παρουσία αρκετών υπερεπόπτων στην πλατφόρμα ταυτόχρονα, ωστόσο, ο υπερεπόπτης που ξεκίνησε πρώτος μπορεί να μιμηθεί εργασία σε πραγματικό υλικό εικονικοποίησης για υπερεπόπτες που εκκινούνται μετά. Σε αυτήν την περίπτωση, όλοι οι hypervisors ξεκινούν μετά την πρώτη εκτέλεση στο περιβάλλον εξομοίωσης κεντρικού υπολογιστή. Αυτή την αρχή αποκαλώ «το δικαίωμα της πρώτης νύχτας». Μπορεί να εφαρμοστεί εύκολα χρησιμοποιώντας ειδικούς χειριστές στον κεντρικό κεντρικό υπολογιστή, ενώ η λειτουργία εργασιών δεν θα αλλάξει σημαντικά και οι δευτερεύοντες κεντρικοί υπολογιστές υπερεπόπτη θα εκτελούνται σε λειτουργία εργασιών για τον κεντρικό υπολογιστή. Η λειτουργία εξομοίωσης δεν είναι δύσκολο να οργανωθεί, αλλά υπάρχουν προβλήματα με την απόδοση. Το υλικό εικονικοποίησης λειτουργεί κυρίως με το VMCB (VMCS), τα προγράμματα υποδοχής έχουν συνεχώς πρόσβαση σε αυτό το μπλοκ και κάθε τέτοια πρόσβαση απαιτεί 0,4-0,7 μs. Η απόκρυψη μιας τέτοιας προσομοίωσης κεντρικού υπολογιστή λογισμικού για ένα σύστημα εικονικοποίησης Intel είναι σχεδόν αδύνατη, θα πρέπει να εξομοιωθούν πάρα πολλές εντολές εικονικοποίησης στο λογισμικό μέσω εξόδων στον κεντρικό υπολογιστή, αντί να εκτελεστούν σε πραγματικό υλικό. Θα σας πω λίγα λόγια για τις διαφορές μεταξύ των αρχιτεκτονικών εικονικοποίησης. Τα συστήματα εικονικοποίησης υλικού από την Intel και την AMD είναι εντελώς διαφορετικά μεταξύ τους. Η κύρια αρχιτεκτονική διαφορά μεταξύ αυτών των συστημάτων είναι η λειτουργία υποδοχής. Σε ένα σύστημα AMD, ο κεντρικός υπολογιστής εκτελείται με το υλικό εικονικοποίησης απενεργοποιημένο, που σημαίνει ότι τα προγράμματά του εκτελούνται σε πραγματικό επεξεργαστή. Η δευτερεύουσα εικονικοποίηση κεντρικού υπολογιστή σε συστήματα AMD απαιτεί μόνο εικονικοποίηση της εντολής VMRUN (υποθέτοντας ότι δεν υπάρχουν άλλες εντολές). Η εργασία με το μπλοκ VMCB ελέγχου στην αρχιτεκτονική AMD πραγματοποιείται μέσω των συνηθισμένων εντολών για πρόσβαση μνήμη τυχαίας προσπέλασης, το οποίο σας επιτρέπει να ελέγχετε μόνο την εκτέλεση εντολών VMRUN χρησιμοποιώντας τον δευτερεύοντα κεντρικό υπολογιστή και, εάν είναι απαραίτητο, να διορθώνετε το μπλοκ VMCB πριν εισέλθετε πραγματικά στη λειτουργία εργασιών. Είναι ακόμα δυνατό να επιμηκυνθεί ο κύκλος επεξεργασίας συμβάντων δύο φορές και Πλατφόρμα AMD μια τέτοια προσομοίωση είναι βιώσιμη. Στο σύστημα εικονικοποίησης της Intel, τα πράγματα είναι πολύ πιο περίπλοκα. Για πρόσβαση στο μπλοκ VMCB, χρησιμοποιούνται ειδικές εντολές VMREAD και VMLOAD, οι οποίες πρέπει να εικονικοποιηθούν. Συνήθως, οι χειριστές κεντρικού υπολογιστή έχουν πρόσβαση στα πεδία του μπλοκ VMCB δεκάδες, αν όχι εκατοντάδες φορές, και κάθε τέτοια λειτουργία πρέπει να εξομοιωθεί. Ταυτόχρονα, είναι αξιοσημείωτο ότι η ταχύτητα πέφτει κατά μια τάξη μεγέθους, αυτό είναι πολύ αναποτελεσματικό. Έγινε σαφές ότι άγνωστοι συνάδελφοι χρησιμοποίησαν έναν διαφορετικό, πιο αποτελεσματικό μηχανισμό για μίμηση. Και υποδείξεις για το ποια, βρήκα στην τεκμηρίωση. Ο ίδιος ο κεντρικός υπολογιστής της Intel είναι ένα εικονικό περιβάλλον, δηλαδή, στην πραγματικότητα, από αυτή την άποψη, δεν διαφέρει από το περιβάλλον εκτέλεσης εργασιών και απλώς ελέγχεται από άλλο VMCB (βλ. διάγραμμα). Επιπλέον, η τεκμηρίωση περιγράφει την έννοια μιας "διπλής οθόνης" για εικονικοποίηση της λειτουργίας SMM (λειτουργία διαχείρισης συστήματος), όταν δύο κεντρικοί υπολογιστές είναι πραγματικά ενεργοί ταυτόχρονα και, επομένως, δύο μπλοκ VMCB, και ο κεντρικός υπολογιστής εικονικοποιεί τα στοιχεία ελέγχου λειτουργίας διαχείρισης συστήματος ο κύριος κεντρικός υπολογιστής ως εργασία , αλλά μόνο σε σημεία ενεργοποίησης διακοπής διαχείρισης συστήματος. Αυτό το σύνολο έμμεσων γεγονότων υποδηλώνει ότι το υλικό εικονικοποίησης της Intel έχει πιθανώς έναν μηχανισμό για τον έλεγχο πολλών δευτερευόντων κεντρικών υπολογιστών που διαχειρίζονται ο κεντρικός υπολογιστής, αν και αυτός ο μηχανισμός δεν περιγράφεται πουθενά. Επίσης, έτσι δούλευε το σύστημά μου και ακόμα δεν έχω άλλη εξήγηση για τις σχεδόν ανεπαίσθητες ενέργειες του root hypervisor. Έγινε ακόμη πιο ενδιαφέρον: φαίνεται ότι κάποιος είχε πρόσβαση σε αυτά τα μη τεκμηριωμένα χαρακτηριστικά και τα χρησιμοποίησε στην πράξη. Περίπου έξι μήνες πριν από τη λήξη της συνεργασίας με την Kraftway, πήρα τη θέση του παθητικού παρατηρητή, συνεχίζοντας ωστόσο να εκτοξεύω τακτικά το σύστημά μου σε νέες παρτίδες σειριακών μητρικών από την Κίνα και νέα δείγματα. Στα δείγματα, όλα συνέχισαν να λειτουργούν σταθερά. Όταν πέρασα σε κινέζικες σανίδες, όλο και περισσότερα θαύματα εμφανίστηκαν στο σύστημα. Φαινόταν ότι συνάδελφοι από το εξωτερικό βελτίωναν ενεργά την απόδοση του υπερεπόπτη ρίζας τους. Οι τελευταίες ύποπτες παρτίδες πλακών συμπεριφέρθηκαν σχεδόν κανονικά, δηλαδή, η πρώτη εκκίνηση του υπεροδηγού μου οδήγησε σε επανεκκίνηση του συστήματος κατά την εκκίνηση του λειτουργικού συστήματος, αλλά όλες οι επόμενες εκκινήσεις του hyperdriver και του λειτουργικού συστήματος πήγαν χωρίς προβλήματα. Στο τέλος, συνέβη αυτό που περίμενα εδώ και καιρό: έφτασε μια νέα παρτίδα σειριακών μητρικών, χρησιμοποιώντας τις οποίες ο υπεροδηγός μου δεν πάγωσε καθόλου. Είχα ήδη αρχίσει να αμφιβάλλω για τις παρανοϊκές υποψίες μου, αλλά ένα νέο περιστατικό τις ενίσχυσε. Θα πρέπει να σημειωθεί ότι η Intel βελτιώνει ενεργά το υλικό εικονικοποίησης. Εάν η πρώτη αναθεώρηση του υλικού με το οποίο άρχισα να εργάζομαι ήταν ο αριθμός 7, τότε η περιγραφόμενη κατάσταση συνέβη στην 11η αναθεώρηση, δηλαδή, η αναθεώρηση ενημερώθηκε δύο φορές σε περίπου ένα χρόνο (για κάποιο λόγο, οι αναθεωρήσεις έχουν μόνο μονούς αριθμούς). Έτσι, στην αναθεώρηση 11, οι συνθήκες για την είσοδο στον κεντρικό υπολογιστή σύμφωνα με την κατάσταση εργασιών για εξοπλισμό εικονικοποίησης έχουν επεκταθεί σημαντικά, σύμφωνα με την οποία εισήχθη ακόμη και ένα νέο πεδίο ελέγχου στο μπλοκ VMCB. Όταν εμφανίστηκαν δείγματα επεξεργαστών με αυτήν την αναθεώρηση του υλικού εικονικοποίησης, ήθελα να δοκιμάσω νέες δυνατότητες στην πράξη. Ενημέρωσα το hyperdriver με τις νέες δυνατότητες της 11ης αναθεώρησης του υλικού εικονικοποίησης, εγκατέστησα το δείγμα επεξεργαστή σε μια σειριακή πλακέτα από την Κίνα, στην οποία όλα λειτουργούσαν ήδη χωρίς προβλήματα, και ξεκίνησα τον εντοπισμό σφαλμάτων. Οι νέες δυνατότητες του εξοπλισμού δεν φάνηκαν με κανέναν τρόπο και έπεσα πάλι σε υπόκλιση, αμαρτάνοντας τον επεξεργαστή δειγμάτων και την τεκμηρίωση. Μετά από κάποιο χρονικό διάστημα, η μητρική πλακέτα χρειάστηκε για μια άλλη εργασία και, έχοντας ξαναρχίσει τα πειράματα, αναδιάταξη των επεξεργαστών με την 11η αναθεώρηση του υλικού εικονικοποίησης στο καναδικό δείγμα για λόγους ασφαλείας. Φανταστείτε την έκπληξή μου όταν όλα λειτούργησαν σε αυτό το δείγμα! Στην αρχή νόμιζα ότι κάπου τα τσάκωσα με τη σειριακή πλακέτα, μιας και οι νέες έξοδοι στο host δεν είχαν καμία απολύτως σχέση με τη μητρική, αυτή είναι καθαρά επεξεργαστική λειτουργία. Για δοκιμή, μετακίνησα τον επεξεργαστή δειγμάτων σε μια σειριακή πλακέτα και όλα σταμάτησαν να λειτουργούν ξανά. Έτσι, δεν μπέρδεψα τίποτα και το πρόβλημα βρισκόταν στο γεγονός ότι η μητρική πλακέτα επηρέασε κατά κάποιο τρόπο τις νέες δυνατότητες του υλικού εικονικοποίησης του επεξεργαστή. Λαμβάνοντας υπόψη τις υποψίες μου, το μόνο συμπέρασμα ήταν ότι ο παράνομος root host συναδέλφων από το εξωτερικό, που έμπαινε στη μνήμη flash της μητρικής πλακέτας, δεν γνώριζε για τη νέα αναθεώρηση του υλικού εικονικοποίησης. Όταν αυτό το υλικό, άγνωστο σε αυτόν, άρχισε να λειτουργεί, σταμάτησε να περνά σωστά εξόδους από την κατάσταση εργασιών στον δευτερεύοντα κεντρικό υπολογιστή μου μέσω του δικού του προγράμματος χειρισμού συμβάντων. Γνωρίζοντας ήδη πώς να αντιμετωπίσω αυτή τη μάστιγα, ανέβασα το υλικολογισμικό για τη μονάδα Navy από τον ιστότοπο της Intel στη σειριακή πλακέτα, ενεργοποίησα το σύστημα με την πεποίθηση ότι όλα θα λειτουργούσαν αμέσως και έπεσα ξανά στο ίζημα, καθώς παγώνει παρέμεινε. Ήταν κάτι καινούργιο. Σύμφωνα με τη θεωρία μου, ο παράνομος hypervisor έγινε τολμηρός και σίγουρος για το άτρωτο. Προφανώς, οι συγγραφείς του θεώρησαν ότι το πνευματικό τέκνο τους είχε περάσει το στάδιο της εκτέλεσης και δεν ήταν πλέον απαραίτητο να συγκαλύπτεται το λογισμικό που δεν είχε εντοπιστεί σφαλμάτων ως αποτυχία του BIOS. Αφού ενεργοποιήθηκε η λειτουργία προστασίας του κώδικα προετοιμασίας από την αντικατάσταση στη μνήμη flash, ο σελιδοδείκτης έγινε σχεδόν άφθαρτος. Δεν ήμουν σίγουρος ότι είχα δίκιο, χρειαζόμουν πειράματα ελέγχου. Έπρεπε να εφεύρω τη δική μου μέθοδο για την ανίχνευση ενός hypervisor υλικού. Μετά, όμως, αποδείχθηκε ότι είχα εφεύρει τον τροχό. Η μέθοδος επέτρεπε τον έλεγχο του χρόνου εκτέλεσης εντολές συστήματοςπου απαιτούν υποχρεωτική εξομοίωση στον κεντρικό υπολογιστή hypervisor. Ως χρονόμετρο, χρησιμοποίησα τον μετρητή κυκλικού καρέ στο υλικό του ελεγκτή USB και έγραψα το πρόγραμμα για πραγματική λειτουργία, προκειμένου να ελαχιστοποιήσω τις πλευρικές και ανεξέλεγκτες διακοπές που συγκάλυπταν τον πραγματικό χρόνο εκτέλεσης των εντολών του συστήματος. Έκανα το πρώτο τεστ για καθαρό σύστημαμε βάση δείγματα μητρικών από τον Καναδά.
Ο χρόνος εκτέλεσης που υποδεικνύεται στη φωτογραφία είναι κάποια τιμή υπό όρους, που αντιστοιχεί περίπου στον κύκλο του επεξεργαστή. Στη συνέχεια, έτρεξα το ίδιο τεστ σε μια μητρική πλακέτα στοκ και επιβεβαίωσα τις παρανοϊκές μου υποθέσεις - οι κύκλοι εκτέλεσης εντολών παρατάθηκαν σημαντικά.
Δηλαδή, στη μνήμη flash του μπλοκ πλακών διακομιστών BMC από την Κίνα, που κατασκευάστηκε με την ετικέτα Intel, υπήρχε μια αδήλωτη μονάδα λογισμικού εγκατεστημένη στο στάδιο της παραγωγής που λειτουργούσε ως host hypervisor. Μένει να πείσουμε τους άλλους για αυτό. Πρώτα απ 'όλα, πήγα στον Ρώσο αντιπρόσωπο της Intel. Δεν ήταν καθόλου δύσκολο, αφού οι υπάλληλοι του ρωσικού γραφείου εμφανίζονταν συχνά στο Kraftway. Τα είπα και τα έδειξα όλα, αλλά δεν ήμουν σίγουρος ότι ο τεχνικός τα κατάλαβε όλα. Αυτοί οι λεγόμενοι τεχνικοί ειδικοί δεν διαφέρουν πολύ από τους διευθυντές ως προς το επίπεδο των ικανοτήτων τους. Ωστόσο, υποσχέθηκε να αναφέρει τα πάντα στην ηγεσία. Δεν ξέρω αν το έκανε, αλλά δεν υπήρξε απάντηση από την Intel, όλα πήγαν σαν άμμος. Η δουλειά στο Kraftway είχε τελειώσει εκείνη τη στιγμή και ξεκίνησα νέο έργοσε εταιρεία ασφάλειας πληροφοριών. Ο επικεφαλής αυτής της εταιρείας, με τον οποίο μοιράστηκα τις «ανακαλύψεις» μου, πήρε στα σοβαρά τα λόγια μου. Από την άποψη αυτή, αποφασίστηκε να πάει στην ηγεσία του Κέντρου Προστασίας Πληροφοριών και Ειδικών Επικοινωνιών του FSB. Αυτή η δομή εντός του FSB είναι υπεύθυνη για τη διασφάλιση της ασφάλειας των πληροφοριών στη χώρα και ρυθμίζει τις δραστηριότητες των κρατικών και εμπορικών οργανισμών που σχετίζονται με την προστασία των πληροφοριών. Ρυθμίζει επίσης μέτρα ασφάλειας πληροφοριών για κυβερνητικές υπηρεσίες και εμπορικές εταιρείες που επεξεργάζονται μυστικά και εμπιστευτικές πληροφορίες . Η εταιρεία στην οποία εργαζόμουν εκείνη την εποχή διατηρούσε επίσημες επαφές με το Κέντρο για την πιστοποίηση και την αδειοδότηση των εμπορικών τους έργων, επομένως ήταν πολύ εύκολο να κανονίσουμε μια συνάντηση σε επίπεδο ειδικών. Θεωρήθηκε ότι οι εμπειρογνώμονες του Κέντρου θα ανέφεραν τη γνώμη τους στη διοίκηση και εάν μετά από αυτό η διοίκηση κρίνει απαραίτητο να μας ακούσει, τότε το επόμενο βήμα θα ήταν μια συνάντηση σε υψηλότερο επίπεδο. Η συνάντηση πραγματοποιήθηκε, είπα και έδειξα όλα όσα κατάφερα να μάθω, μετά απέδειξα την παρουσία μιας παράνομης ενότητας λογισμικού χρησιμοποιώντας παραδείγματα πινάκων από τον Καναδά και την Κίνα. Παρεμπιπτόντως, τότε για πρώτη φορά άκουσα τον επαγγελματικό όρο "σελιδοδείκτης", που υποδηλώνει μια τέτοια ενότητα. Όταν η κουβέντα στράφηκε στο Πολεμικό Ναυτικό, στα μάτια των συναδέλφων του Κέντρου εμφανίστηκε παρεξήγηση. Έπρεπε να κάνω ένα εκπαιδευτικό πρόγραμμα. Στην πορεία, αποδείχθηκε ότι δεν υποψιάστηκαν καν την ύπαρξη ειδικού μικροεπεξεργαστή στη νότια γέφυρα με πρόσβαση στον προσαρμογέα δικτύου και την παρουσία κρυπτογραφικής μονάδας στη ναυτική μονάδα που παραβίαζε τη ρωσική νομοθεσία. Εν κατακλείδι, ακούσαμε απροσδόκητα ότι αυτό το μοντέλο απειλής έχει ήδη διερευνηθεί, εφαρμόζεται ένα σύνολο αντιμέτρων εναντίον τους και γενικά δεν φοβόμαστε τους σελιδοδείκτες, αφού τα συστήματά μας δεν έχουν πρόσβαση στο Διαδίκτυο. Περαιτέρω έρευνες δεν οδήγησαν σε τίποτα, όλα βασίστηκαν στη μυστικότητα, όπως, είμαστε έξυπνοι και υπερ-εγγράμματοι, αλλά υποτίθεται ότι δεν ξέρετε τίποτα. Ωστόσο, αμφέβαλα έντονα για τον τεχνικό τους γραμματισμό, γιατί πολύ απλά δεν καταλάβαιναν τα περισσότερα από αυτά που είπα και έδειξα. Χωρίστηκαν επειδή θα αναφέρονταν στους ανωτέρους τους και θα αποφάσιζαν για περαιτέρω ενέργειες. Λίγο αργότερα, ανακάλυψα ποια είναι αυτή η «μυστική μέθοδος» για τον εντοπισμό προγραμμάτων υποδοχής. Και το έμαθα εντελώς τυχαία, κατά τη διάρκεια διαπραγματεύσεων στην εταιρεία - ο κάτοχος άδειας του Κέντρου, εξουσιοδοτημένος να ελέγξει το bios για σελιδοδείκτες. Οι τεχνικοί ειδικοί αυτής της εταιρείας, που διεξάγουν έρευνα στο BIOS, είπαν ότι οι ενότητες λογισμικού της που χρησιμοποιούν υλικό εικονικοποίησης θα πρέπει να αναζητηθούν από τις υπογραφές των εντολών εικονικοποίησης. Πράγματι, οι οδηγίες επεξεργαστή για εξοπλισμό εικονικοποίησης περιέχουν επίσης τρία ή τέσσερα byte στον κώδικα του προγράμματος, αλλά ποιος είπε ότι θα βρουν αυτόν τον κώδικα προγράμματος σε μη κρυπτογραφημένη μορφή σε ένα τσιπ flash; Πώς θα σαρώσουν αυτόν τον κωδικό στη μνήμη RAM εάν αυτές οι περιοχές μνήμης προστατεύονται από την προβολή από το υλικό; Γενικά, το αποτέλεσμα της πρώτης συνάντησης άφησε μια δυσάρεστη επίγευση και ήμουν στην πιο ζοφερή διάθεση περιμένοντας την εξέλιξη των γεγονότων. Ενάμιση μήνα αργότερα, προσκληθήκαμε στο ίδιο το Κέντρο Προστασίας Πληροφοριών και Ειδικών Επικοινωνιών, για να επιδείξουμε τον σελιδοδείκτη που ανακαλύψαμε. Αυτή τη φορά δεν μαζεύτηκαν απλοί υπάλληλοι για να μας ακούσουν, αλλά διευθυντές και κορυφαίοι ειδικοί (τουλάχιστον έτσι συστηνόταν). Η συνάντηση μετατράπηκε σε διάλεξη, με άκουσαν με προσοχή για σχεδόν τρεις ώρες, ήταν ξεκάθαρο ότι άκουγαν για πρώτη φορά τι τους έλεγα. Παρέθεσα τα νέα τρωτά σημεία της πλατφόρμας x86, έδειξα έναν σελιδοδείκτη και είπα πώς να τον εντοπίσω, απάντησα σε πολλές ερωτήσεις. Στο τέλος, μας ευχαρίστησαν, είπαν ότι το θέμα πρέπει να αναπτυχθεί στο πλαίσιο ειδικών ερευνητικών έργων και σε αυτό χωρίσαμε. Η ευφορία εξαφανίστηκε όταν μας έφτασαν πληροφορίες από ανεπίσημα κανάλια ότι απλά δεν ήθελαν να μας πιστέψουν. Ωστόσο, αυτό δεν μείωσε την επιθυμία μου να αποδείξω την υπόθεσή μου. Όπως μου φάνηκε τότε, η λύση βρισκόταν στην επιφάνεια: ήταν απαραίτητο να γράψω μόνος μου μια τέτοια ενότητα λογισμικού σελιδοδεικτών. Δεν θα μπορούσα να βάλω σελιδοδείκτη στη μνήμη flash του Πολεμικού Ναυτικού, αλλά θα μπορούσα κάλλιστα να τον σπρώξω στο κύριο BIOS. Αποφάσισα να εξοπλίσω τον hypervisor με μια μονάδα αυτοασφάλειας για κάλυψη στη μνήμη και σε ένα τσιπ flash, καθώς και να αποκλείσω την εγγραφή στο τσιπ flash όπου θα τοποθετηθεί ο κωδικός σελιδοδείκτη, μετά την οποία μπορεί να αφαιρεθεί μόνο με συγκόλληση του BIOS και επαναπρογραμματισμός του σε εξωτερικό προγραμματιστή. Έμενε μόνο να αποφασίσουμε για την "κακόβουλη" λειτουργία που θα έπρεπε να έχει εκτελέσει ο hypervisor. Θυμήθηκα τη δήλωση ενός από τους ειδικούς του FSB ότι δεν φοβούνται τους σελιδοδείκτες, καθώς τα συστήματά τους είχαν αποσυνδεθεί από το παγκόσμιο δίκτυο. Αλλά πληροφορίες από τον έξω κόσμο πρέπει με κάποιο τρόπο να μπουν σε αυτά τα προστατευμένα τοπικά δίκτυα, τουλάχιστον μέσω μιας χρήσης οπτικούς δίσκους. Έτσι, κατέληξα στο προφανές συμπέρασμα και αποφάσισα να αναλύσω τα εισερχόμενα ροή πληροφοριώνσε έναν σελιδοδείκτη μέσω ενός υπερπρογράμματος οδήγησης για να εφαρμοστεί, ας πούμε, ένα όπλο της ημέρας της κρίσης, δηλαδή να χρησιμοποιηθεί ένας σελιδοδείκτης για να καταστρέψει ένα υπολογιστικό σύστημα σε μια εξωτερική εντολή, περνώντας το μέσω της ροής πληροφοριών εισόδου, στεγανογραφικά. Σαρώστε τη ροή πληροφοριών διακριτικά, χωρίς απώλεια απόδοσης, μόνο ο εξοπλισμός εικονικοποίησης είναι δύσκολος. Σε ποιο σημείο σάρωσης είναι επίσης σαφές: στα buffer I/O των συστημάτων δίσκων και στον προσαρμογέα δικτύου. Η σάρωση των buffer I/O είναι μια ασήμαντη εργασία για το υλικό εικονικοποίησης. Δεν ειπώθηκε νωρίτερα! Ένα τέτοιο hyperdriver με μέγεθος περίπου 20 KB καταχωρήθηκε στο BIOS της μητρικής πλακέτας και ήταν εξοπλισμένο με λειτουργία προστασίας ανίχνευσης. Μπλοκάρει τις προσπάθειες αντικατάστασής του κατά την ενημέρωση του BIOS και εκτελούσε τη μοναδική λειτουργία: έκανε επαναφορά του τσιπ flash του BIOS όταν ελήφθη μια εντολή για την καταστροφή του. Η ίδια η εντολή, για ευκολία εφαρμογής, ενσωματώθηκε σε ένα αρχείο κειμένου σε μορφή DOC στις ετικέτες διαμόρφωσης. Όταν όλα ήταν έτοιμα, η διοίκηση της εταιρείας πήγε ξανά στο FSB με μια πρόταση να εξετάσει τη δουλειά του δικού μας σελιδοδείκτη και να βεβαιωθεί ότι οι τεχνολογίες εικονικοποίησης αποτελούν πραγματική απειλή. Κανείς όμως δεν ήθελε να κοιτάξει τον σελιδοδείκτη μας στη θήκη, ήρθε μια εντολή από την κορυφή (δεν έμαθα ποτέ ποιανού παραγγελία ήταν) να μην επικοινωνούν πια μαζί μας. Οι κύριοι μαχητές για την ασφάλεια των πληροφοριών δεν ήθελαν να μας ακούσουν. Στη συνέχεια, σχεδόν χωρίς να ελπίζουμε σε τίποτα, στην πραγματικότητα, για να καθαρίσουμε τη συνείδησή μας, προσπαθήσαμε να μεταφέρουμε πληροφορίες για το πρόβλημα στους χρήστες συστημάτων ασφάλειας πληροφοριών. Επικοινωνήσαμε με την Gazprom για να ενημερώσουμε τους ειδικούς της εταιρείας σχετικά με τις σύγχρονες απειλές στα κατανεμημένα συστήματα ελέγχου διεργασιών. Ήταν δυνατή η διοργάνωση συνάντησης με τη διοίκηση της υπηρεσίας εταιρικής προστασίας και διαχείρισης πολύπλοκα συστήματατην ασφάλεια αυτής της εταιρείας. Ειδικά για αυτούς, ετοιμάστηκε μια πιο οπτική έκδοση του σελιδοδείκτη με απλοποιημένη διεπαφή εντολών. Ο σελιδοδείκτης ενεργοποιήθηκε μετά τη λήψη στον υπολογιστή αρχείο κειμένου, το περιεχόμενο των οποίων περιελάμβανε δύο λέξεις - "Gazprom" και "stop" - ταξινομημένες με τυχαία σειρά. Μετά από αυτό, ο υπολογιστής πέθανε, αλλά όχι αμέσως, αλλά με καθυστέρηση πέντε λεπτών. Φυσικά, ήταν δυνατό να καθυστερήσουμε έστω και μια μέρα, αλλά τότε δεν θα κρατούσαμε τον χρόνο που είχε διατεθεί για τη διαδήλωση. Οι εργαζόμενοι της Gazprom παραπονέθηκαν για το χαμηλό επίπεδο ασφάλειας των πληροφοριών και είπαν ότι δεν είναι δική τους δουλειά, καθώς καθοδηγούνται από τις απαιτήσεις και τους κανόνες που έχει θεσπίσει η FSB. Ο κύκλος έκλεισε, φάνηκε ότι αυτό το μονολιθικό σύστημα «ανευθυνότητας πληροφοριών» δεν μπορούσε να σπάσει. Στα τρία και πλέον χρόνια που πέρασαν από τότε, δεν άκουσα ποτέ κανέναν να μιλάει για το υλικό εικονικοποίησης ως εργαλείο διείσδυσης σε συστήματα-στόχους. Παράδοξο? Δεν νομίζω. Οι ιδιαιτερότητες του θέματος είναι ότι μαθαίνουμε μόνο για αποτυχημένες τεχνολογίες. Δεν γνωρίζουμε για τεχνολογίες που δεν έχουν ανακαλυφθεί και οι συγγραφείς τους, φυσικά, σιωπούν. Θα πρέπει να ληφθεί υπόψη ότι η αξιόπιστη τοποθέτηση σελιδοδεικτών στο BIOS είναι δυνατή μόνο στο εργοστάσιο. Σε συνθήκες λειτουργίας, αυτό θα πρέπει να επικεντρωθεί σε ένα συγκεκριμένο μοντέλο της μητρικής πλακέτας και τέτοιες επιλογές δεν είναι πολύ ενδιαφέρουσες για τους χάκερ. Χρειάζονται μάζα, δουλεύουν, όπως λένε, «ανά περιοχή». Ωστόσο, υπάρχουν και αυτοί που επιτίθενται στοχεύοντας, «σκοπευτικά». Οι τεχνολογίες για την τοποθέτηση σελιδοδεικτών στο BIOS, ακόμη και με την ενεργοποίηση εξοπλισμού εικονικοποίησης, που σας επιτρέπει να τους αποκρύψετε αποτελεσματικά, είναι, φυσικά, ένα βολικό εργαλείο για τέτοιους «ελεύθερους σκοπευτές». Κάποτε τους έπιασαν σχεδόν, και σχεδόν τυχαία. Νομίζω ότι τώρα δεν θα είναι δυνατό να γίνει αυτό και, όπως μάλλον καταλάβατε, δεν υπάρχει κανένας να πιάσει.

Ανησυχία ότι με επαρκές τεχνικό επίπεδο του εχθρού, υπάρχει ο κίνδυνος να εκτελέσει μια κρυφή τροποποίηση οποιουδήποτε τσιπ. Το τροποποιημένο τσιπ θα λειτουργεί σε κρίσιμους κόμβους και ο εισαγόμενος «Δούρειος ίππος» ή «σελιδοδείκτης υλικού» θα περάσει απαρατήρητος, υπονομεύοντας την αμυντική ικανότητα της χώρας στο πιο θεμελιώδες επίπεδο. Για πολύ καιρόμια τέτοια απειλή παρέμενε υποθετική, αλλά μια διεθνής ομάδα ερευνητών μπόρεσε πρόσφατα να την εφαρμόσει σε φυσικό επίπεδο.

Ο Georg T. Becker από το Πανεπιστήμιο της Μασαχουσέτης, μαζί με συναδέλφους από την Ελβετία και τη Γερμανία, δημιούργησαν δύο εκδόσεις ενός «Trojan σε επίπεδο υλικού» που διακόπτει τη λειτουργία της (ψευδο) γεννήτριας τυχαίων αριθμών (PRNG) στο κρυπτογραφικό μπλοκ της Intel. Επεξεργαστές αρχιτεκτονικής Ivy ως μέρος ενός proof of concept Bridge. Τα κρυπτογραφικά κλειδιά που δημιουργούνται χρησιμοποιώντας το τροποποιημένο PRNG για οποιοδήποτε σύστημα κρυπτογράφησης θα είναι εύκολα προβλέψιμα.

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

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

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

Για να μειωθεί η επίδραση της προβλεψιμότητας, οποιαδήποτε γεννήτρια αριθμών χρειάζεται μια αξιόπιστη πηγή τυχαίων σπόρων - τυχαίων σπόρων. Συνήθως, τα αποτελέσματα των μετρήσεων ορισμένων χαοτικών φυσικών διεργασιών χρησιμοποιούνται ως αυτό. Για παράδειγμα, διακυμάνσεις στην ένταση των δονήσεων φωτός ή καταγραφή θορύβου ραδιοσυχνοτήτων. Θα ήταν τεχνικά βολικό να χρησιμοποιήσετε ένα τέτοιο στοιχείο τυχαίας (και ολόκληρου του υλικού PRNG) σε μια συμπαγή έκδοση, και ιδανικά, να το κάνετε ενσωματωμένο.

Intelέχει δημιουργήσει (ψευδο) γεννήτριες τυχαίων αριθμών στα τσιπ της από τα τέλη της δεκαετίας του '90. Προηγουμένως, η φύση τους ήταν αναλογική. Οι τυχαίες τιμές στην έξοδο λήφθηκαν λόγω της επίδρασης των δύσκολων προβλέψιμων φυσικών διεργασιών - θερμικού θορύβου και ηλεκτρομαγνητικών παρεμβολών. Οι αναλογικοί ταλαντωτές ήταν σχετικά εύκολο να εφαρμοστούν ως ξεχωριστά μπλοκ, αλλά δύσκολο να ενσωματωθούν σε νέα κυκλώματα. Καθώς η διαδικασία έγινε μικρότερη, απαιτήθηκαν νέα και μακρά βήματα βαθμονόμησης. Επιπλέον, μια τακτική μείωση της τάσης τροφοδοσίας επιδείνωσε την αναλογία σήματος προς θόρυβο σε τέτοια συστήματα. Τα PRNG δούλευαν συνεχώς και κατανάλωναν σημαντική ποσότητα ενέργειας και η ταχύτητα της εργασίας τους άφηνε πολλά να είναι επιθυμητή. Αυτές οι ελλείψεις έχουν περιορίσει τους πιθανούς τομείς εφαρμογής.

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

Προσπάθειες να επιτευχθεί το επιθυμητό χάος που βασίζεται μόνο σε ψηφιακά στοιχεία έχουν γίνει από μηχανικούς της Intel από το 2008 και στέφθηκαν με επιτυχία μετά από μερικά χρόνια έρευνας. Το έργο παρουσιάστηκε το 2010 στο Θερινό Συμπόσιο VLSI στη Χονολουλού και έκανε μια μικρή επανάσταση στη σύγχρονη κρυπτογραφία. Για πρώτη φορά, ένα πλήρως ψηφιακό, γρήγορο και ενεργειακά αποδοτικό PRNG έχει εφαρμοστεί σε επεξεργαστές γενικής χρήσης μαζικής παραγωγής.

Ο πρώτος τίτλος εργασίας του ήταν το Bull Mountain. Στη συνέχεια μετονομάστηκε σε Ασφαλές κλειδί. Αυτό το κρυπτογραφικό μπλοκ αποτελείται από τρεις βασικές ενότητες. Το πρώτο δημιουργεί μια ροή τυχαίων bit με σχετικά αργό ρυθμό 3 Gbps. Το δεύτερο αξιολογεί τη διακύμανσή τους και τα συνδυάζει σε μπλοκ των 256 bit, τα οποία χρησιμοποιούνται ως πηγές τυχαίας σποράς. Μετά από μια σειρά μαθηματικών διαδικασιών στο τρίτο μπλοκ με περισσότερα υψηλή ταχύτηταδημιουργείται μια ροή 128-bit τυχαίων αριθμών. Με βάση αυτά, με νέα οδηγία RdRand, εάν είναι απαραίτητο, δημιουργούνται τυχαίοι αριθμοί του απαιτούμενου μήκους και τοποθετούνται σε έναν ειδικά καθορισμένο καταχωρητή: 16, 32 ή 64 bit, οι οποίοι τελικά μεταφέρονται στο πρόγραμμα που τους ζήτησε.

Λάθη στις (ψευδο)τυχαίες γεννήτριες αριθμών και οι κακόβουλες τροποποιήσεις τους προκαλούν απώλεια εμπιστοσύνης στα δημοφιλή κρυπτογραφικά προϊόντα και στην ίδια τη διαδικασία για την πιστοποίησή τους.

Λόγω της εξαιρετικής σημασίας του PRNG για οποιοδήποτε κρυπτογραφικό σύστημα, ενσωματώθηκαν δοκιμές στο Secure Key για τον έλεγχο της ποιότητας των δημιουργούμενων τυχαίων αριθμών και κορυφαίες ομάδες ειδικών συμμετείχαν στην πιστοποίηση. Ολόκληρο το μπλοκ πληροί τα κριτήρια ANSI X9.82 και NIST SP 800-90. Επιπλέον, είναι πιστοποιημένο Επίπεδο 2 σύμφωνα με το NIST FIPS 140-2.

Μέχρι τώρα, το μεγαλύτερο μέρος της εργασίας για τους Trojans υλικού ήταν υποθετικό. Οι ερευνητές πρότειναν πρόσθετα σχέδια μικρών λογικών κυκλωμάτων, τα οποία θα πρέπει με κάποιο τρόπο να προστεθούν στα υπάρχοντα τσιπ. Για παράδειγμα, ο Samuel Talmadge King και οι συν-συγγραφείς παρουσίασαν στο συνέδριο LEET-08 μια παραλλαγή ενός τέτοιου Trojan υλικού για τον κεντρικό επεξεργαστή, ο οποίος θα παρείχε πλήρη έλεγχο του συστήματος σε έναν απομακρυσμένο εισβολέα. Με την απλή αποστολή ενός πακέτου UDP που έχει ρυθμιστεί με συγκεκριμένο τρόπο, θα μπορούσε κανείς να κάνει οποιεσδήποτε αλλαγές σε έναν τέτοιο υπολογιστή και να αποκτήσει απεριόριστη πρόσβαση στη μνήμη του. Ωστόσο, πρόσθετα λογικά κυκλώματα είναι σχετικά εύκολο να αναγνωριστούν με μικροσκόπιο, για να μην αναφέρουμε τις εξειδικευμένες μεθόδους αναζήτησης τέτοιων τροποποιήσεων. Η ομάδα του Μπέκερ πήγε στον άλλο δρόμο:

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

Ως αποτέλεσμα της δουλειάς που έγινε, αντί για μοναδικούς αριθμούς με μήκος 128 bit, το τρίτο μπλοκ Secure Key άρχισε να συσσωρεύει ακολουθίες στις οποίες διέφεραν μόνο 32 bit. Τα κρυπτογραφικά κλειδιά που δημιουργούνται βάσει τέτοιων ψευδοτυχαίων αριθμών είναι εξαιρετικά προβλέψιμα και μπορούν να σπάσουν μέσα σε λίγα λεπτά σε έναν τυπικό οικιακό υπολογιστή.

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

  1. ψηφιακή μετεπεξεργασία σημάτων από το Intel Secure Key.
  2. χρήση σε πλευρικό κανάλι χρησιμοποιώντας τη μέθοδο αντικατάστασης bit πίνακα (Substitution-box).

Η τελευταία μέθοδος είναι πιο ευέλικτη και μπορεί να εφαρμοστεί με μικρές τροποποιήσεις σε άλλα τσιπ.

Η δυνατότητα χρήσης του ενσωματωμένου PRNG μέσω της εντολής RdRand εμφανίστηκε για πρώτη φορά στο Επεξεργαστές IntelΑρχιτεκτονική της Ivy Bridge. Η Intel έχει γράψει λεπτομερή εγχειρίδια για προγραμματιστές. Περιγράφουν μεθόδους για τη βέλτιστη υλοποίηση κρυπτογραφικών αλγορίθμων και παρέχουν μια σύνδεση με μια περιγραφή των αρχών της λειτουργίας του ασφαλούς κλειδιού. Εδώ και πολύ καιρό, οι προσπάθειες των ειδικών σε θέματα ασφάλειας επικεντρώθηκαν στην εύρεση ευπαθειών στο κομμάτι του λογισμικού. Ίσως για πρώτη φορά, η κρυφή παρέμβαση σε επίπεδο υλικού αποδείχθηκε ότι ήταν μια πολύ πιο επικίνδυνη και αρκετά εφικτή τεχνολογία στην πράξη.