Fuzzing για επικύρωση ασφάλειας SoC. Καινοτομία στην επαλήθευση

Κόμβος πηγής: 1853830

Το Fuzzing είναι για την επαλήθευση λογισμικού ό,τι η τυχαιοποίηση είναι η επαλήθευση υλικού. Μπορεί μια ασαφής προσέγγιση να βελτιώσει τις δοκιμές ασφάλειας υλικού; Ο Paul Cunningham (GM, Verification at Cadence), ο Raúl Camposano (Silicon Catalyst, επιχειρηματίας, πρώην CTO της Synopsys) και εγώ συνεχίζουμε τη σειρά μας για ερευνητικές ιδέες. Όπως πάντα, τα σχόλια είναι ευπρόσδεκτα.

Fuzzing για επικύρωση ασφάλειας SoC

Η Καινοτομία

Η επιλογή αυτού του μήνα είναι HyperFuzzing for SoC Security Validation. Οι συγγραφείς παρουσίασαν αυτήν την εργασία στο ICCAD 2020. Είναι από το IIT Kanpur.

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

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

Η δοκιμαστική τους περίπτωση είναι ένα μικρό αλλά αντιπροσωπευτικό SoC (λεπτομέρειες στο GitHub) εκτέλεση δοκιμών υλικολογισμικού έναντι κρυπτογραφικών μπλοκ, έλεγχος για μη παρεμβολές και άλλα τρωτά σημεία. Εκτελούν επίσης ασφαλή εκκίνηση με ελέγχους μπλοκ δεδομένων. Βρήκαν πολλαπλές παραβιάσεις ασφαλείας στα μπλοκ κρυπτογράφησης, εκτός από τις περιπτώσεις όπου ο αποκλεισμός περιλαμβάνει προστασία ECC.

Η άποψη του Παύλου

Η επαλήθευση ασφαλείας είναι ένα τόσο σημαντικό θέμα και υπάρχει πολλή δουλειά σε εξέλιξη τόσο στον ακαδημαϊκό χώρο όσο και στη βιομηχανία. Αυτό το έγγραφο συνδυάζει όμορφα τυχαιοποιημένη κάλυψη με βάση τις μεταλλάξεις με «υπερ-ιδιότητες» σε σύνολα ιχνών προσομοίωσης για να δημιουργήσει μια καινοτόμο λύση που είναι επεκτάσιμη και αποτελεσματική στην επίδειξη ελαττωμάτων ασφαλείας.

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

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

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

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

Η άποψη του Ραούλ

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

Θα βάλω το επενδυτικό μου καπέλο για τη δεύτερη πρόκληση. Η ασφάλεια είναι ένα σημαντικό θέμα, χωρίς αμφιβολία. Αλλά εκτός από μερικούς τομείς που ήδη γνωρίζουμε – για παράδειγμα, η αεροδιαστημική, η άμυνα, τα συστήματα πληρωμών και οι επεξεργαστές/διακομιστές. Δεν είναι ακόμα υπαρξιακό πρόβλημα για τους περισσότερους OEM και κατασκευαστές στοιχείων. Είναι πρόθυμοι να τσεκάρουν ένα πλαίσιο, αν είναι γενικά αναμενόμενο. Αλλά μόνο εάν ο αντίκτυπος στο κόστος ή στον χρόνο διάθεσης στην αγορά είναι μικρός. Επειδή οι πελάτες τους γενικά δεν πληρώνουν περισσότερα για την ασφάλεια. Κάτι που αφήνει την ασφάλεια για τις περισσότερες αγορές να εξακολουθεί να εξαρτάται από το κλειδί στο χέρι IP, όπως οι ρίζες αξιοπιστίας υλικού και οι εύχρηστες εφαρμογές. Οι λύσεις που συσκευάζονται με έναν από αυτούς τους τρόπους θα είναι επενδυτικές, διαφορετικά όχι τόσο.

Η θέα μου

Ο Πωλ και ο Ραούλ κάλυψαν τα περισσότερα από αυτά που θα μπορούσα να είχα προτείνει. Μου αρέσει η ιδέα του Paul να επεκτείνει το SVA, τουλάχιστον για να ενθαρρύνει τον πειραματισμό με υπερ-ιδιότητες. Αυτό πρέπει να ανοίξει μια νέα κατηγορία ενδιαφέροντων δοκιμών, που θα οδηγήσουν τελικά σε νέες συνδυασμένες μεθόδους επαλήθευσης.

Μοιραστείτε αυτήν την ανάρτηση μέσω: Πηγή: https://semiwiki.com/eda/299391-fuzzing-to-validate-soc-security-innovation-in-verification/

Σφραγίδα ώρας:

Περισσότερα από Semiwiki