Κοινή χρήση τεχνολογίας

Paper Study_An Empirical Study of Deep Learning Models for Vulnerability Detection

2024-07-12

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

1. Εισαγωγή

Ερευνητικό Ιστορικό : Τα τελευταία χρόνια, τα εργαλεία ανίχνευσης ευπάθειας βαθιάς μάθησης έχουν επιτύχει πολλά υποσχόμενα αποτελέσματα. Το μοντέλο τελευταίας τεχνολογίας αναφέρει βαθμολογία F1 0,9 και ξεπερνά τις επιδόσεις του στατικού αναλυτή. Τα αποτελέσματα είναι συναρπαστικά γιατί η βαθιά μάθηση θα μπορούσε να φέρει επανάσταση στη διασφάλιση λογισμικού. Ως εκ τούτου, εταιρείες του κλάδου όπως η IBM, η Google και η Amazon ενδιαφέρονται πολύ και επενδύουν σε μεγάλο βαθμό στην ανάπτυξη τέτοιων εργαλείων και συνόλων δεδομένων.

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

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

  • ερώτηση 1 : Μπορούν διαφορετικά μοντέλα να επιτύχουν συναίνεση για τον εντοπισμό ευπάθειας; Ποιες είναι οι διαφορές μεταξύ των διαφορετικών μοντέλων;
  • Ερώτηση 2 : Είναι πιο εύκολο να εντοπιστούν ορισμένοι τύποι τρωτών σημείων; Πρέπει να δημιουργήσετε ένα μοντέλο για κάθε τύπο ευπάθειας ή πρέπει να δημιουργήσετε ένα μοντέλο που να εντοπίζει όλα τα τρωτά σημεία;
  • Ερώτηση 3 : Υπάρχουν κάποια μοτίβα κώδικα που είναι δύσκολο να προβλέψει το μοντέλο; Εάν υπάρχει τέτοιο μοτίβο κώδικα, τι είδους μοτίβο κώδικα είναι αυτό;

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

  • Ερώτηση 4: Η αύξηση του μεγέθους των δεδομένων συμβάλλει στη βελτίωση της απόδοσης του μοντέλου για τον εντοπισμό ευπάθειας;
  • Ερώτηση 5: Πώς η σύνθεση των στοιχείων στο σύνολο δεδομένων εκπαίδευσης επηρεάζει την απόδοση του μοντέλου;

Τέλος, το τρίτο ερευνητικό πεδίο της διατριβής είναι η ερμηνεία μοντέλων. Η εργασία χρησιμοποιεί το εργαλείο ερμηνείας του μοντέλου SOTA για να διερευνήσει:

  • Ερώτηση 6 : Ποιες πληροφορίες πηγαίου κώδικα χρησιμοποιεί το μοντέλο για πρόβλεψη; Είναι το μοντέλο συνεπές σε σημαντικά χαρακτηριστικά;

ερευνητικό περιεχόμενο : Για να απαντηθούν οι παραπάνω ερωτήσεις, η εργασία ερευνά μοντέλα βαθιάς μάθησης τελευταίας τεχνολογίας και αναπαράγει με επιτυχία 11 μοντέλα στα αρχικά σύνολα δεδομένων τους. Αυτά τα μοντέλα χρησιμοποιούν διαφορετικές αρχιτεκτονικές βαθιάς μάθησης όπως GNN, RNN, LSTM, CNN και Transformers. Για να συγκρίνει αυτά τα μοντέλα, η εργασία κατάφερε να εκτελέσει 9 μοντέλα με δύο δημοφιλή σύνολα δεδομένων, το Devign και το MSR. Οι λόγοι για τους οποίους η εργασία επιλέγει αυτά τα δύο σύνολα δεδομένων είναι: (1) και τα δύο σύνολα δεδομένων περιέχουν έργα και τρωτά σημεία του πραγματικού κόσμου (2) τα μοντέλα στα περισσότερα έγγραφα αξιολογούνται και ρυθμίζονται χρησιμοποιώντας το σύνολο δεδομένων Devign , και τα δεδομένα σχολιάζονται με τύπους ευπάθειας, κάτι που είναι κρίσιμο για το ερευνητικό μας ερώτημα. Μέσα από προσεκτικά σχεδιασμένα πειράματα και εξέταση των απειλών, η εργασία βρήκε αποτελέσματα για έξι ερευνητικά ερωτήματα. Συνολικά, οι ερευνητικές συνεισφορές της παρούσας εργασίας περιλαμβάνουν:

  • συνεισφορά: 1: Αυτή η εργασία διεξάγει μια ολοκληρωμένη έρευνα για τα μοντέλα ανίχνευσης ευπάθειας βαθιάς μάθησης.
  • Συμβολή 2: Η εργασία παρέχει ένα αποθετήριο κώδικα που περιέχει 11 μοντέλα εκπαίδευσης και σύνολα δεδομένων για το πλαίσιο βαθιάς μάθησης SOTA με διάφορες ρυθμίσεις έρευνας.
  • Συμβολή 3: Η εργασία σχεδιάζει 6 επιστημονικές ερωτήσεις για την κατανόηση των δυνατοτήτων του μοντέλου, των δεδομένων εκπαίδευσης και της ερμηνείας του μοντέλου.
  • Συμβολή 4: Η εργασία δομεί την έρευνα και λαμβάνει τα αποτελέσματα μέσω πειραμάτων στο επιστημονικό ερώτημα που τίθεται.
  • Συμβολή 5: Η εργασία προετοιμάζει ενδιαφέροντα παραδείγματα και δεδομένα για την περαιτέρω διερεύνηση της ερμηνευσιμότητας του μοντέλου.

2. Αναπαραγωγή μοντέλου

Προκειμένου να συλλέξει τα πιο προηγμένα μοντέλα βαθιάς μάθησης, η εργασία μελέτησε εργασίες από το 2018 έως το 2022 και αναφέρθηκε στην κατάταξη CodeXGLUE της Microsoft και στην κατάταξη D2A για την ανίχνευση ελαττωμάτων της IBM. Το χαρτί χρησιμοποίησε όλα τα διαθέσιμα μοντέλα ανοιχτού κώδικα και αναπαρήγαγε με επιτυχία 11 μοντέλα. Μια πλήρης λίστα μοντέλων, καθώς και οι λόγοι για τους οποίους δεν μπορέσαμε να αναπαραγάγουμε ορισμένα μοντέλα, περιλαμβάνεται στο πακέτο αναπαραγωγής δεδομένων του χαρτιού.

Όπως φαίνεται στον παραπάνω πίνακα, τα αναπαραγόμενα μοντέλα καλύπτουν διάφορες αρχιτεκτονικές βαθιάς μάθησης. Το Devign και το ReVeal χρησιμοποιούν το GNN σε γραφήματα ιδιοτήτων, ενσωματώνοντας τη ροή ελέγχου, τις εξαρτήσεις δεδομένων και το AST. Το ReGVD χρησιμοποιεί GNN σε μάρκες. Το Code2Vec χρησιμοποιεί ένα πολυστρωματικό perceptron (MLP) στο AST. Το VulDeeLocator και το SySeVR είναι μοντέλα ακολουθίας που βασίζονται σε RNN και Bi-LSTM. Η πρόσφατη ανίχνευση βαθιάς μάθησης χρησιμοποιεί προεκπαιδευμένους Transformers, συμπεριλαμβανομένων των CodeBERT, VulBERTa-CNN, VulBERTa-MLP, PLBART και LineVul.

Ως απάντηση στα ερευνητικά ερωτήματα της εργασίας, η εργασία επέλεξε σύνολα δεδομένων Devign και MSR. Η εργασία μελετά αυτά τα 11 μοντέλα στα σύνολα δεδομένων που χρησιμοποιούνται στις πρωτότυπες εργασίες τους, τα οποία φαίνονται στον παραπάνω πίνακα. Η εργασία διαπίστωσε ότι το σύνολο δεδομένων Devign έχει χρησιμοποιηθεί για την αξιολόγηση και τον συντονισμό 8 μοντέλων. Το σύνολο δεδομένων είναι ένα ισορροπημένο σύνολο δεδομένων που περιέχει περίπου ίσο αριθμό ευάλωτων και μη ευάλωτων παραδειγμάτων, για συνολικά 27.318 σημεία δεδομένων (κάθε παράδειγμα αναφέρεται επίσης ως σημείο δεδομένων). Το LineVul χρησιμοποιεί το σύνολο δεδομένων MSR, το οποίο είναι ένα πρόσφατα διαθέσιμο σύνολο δεδομένων. Το σύνολο δεδομένων είναι ανισόρροπο και περιέχει 10.900 ευάλωτα παραδείγματα και 177.736 μη ευάλωτα παραδείγματα. Τα παραδείγματα έχουν τα έργα πηγής τους καθώς και τις καταχωρήσεις Common Weakness Enumeration (CWE) που δείχνουν τον τύπο της ευπάθειας. Η εργασία χρησιμοποιεί αυτά τα χαρακτηριστικά δεδομένων για να διατυπώσει ορισμένα ερευνητικά ερωτήματα.

Το χαρτί αναπαράγει τα αποτελέσματα του μοντέλου με βάση το αρχικό σύνολο δεδομένων και τις ρυθμίσεις, όπως φαίνεται στον παραπάνω πίνακα. Μεταξύ αυτών, οι στήλες A, P, R και F αντιπροσωπεύουν δείκτες που χρησιμοποιούνται συνήθως στον εντοπισμό ευπάθειας βαθιάς μάθησης, συμπεριλαμβανομένης της ακρίβειας, της ακρίβειας, της ανάκλησης και της βαθμολογίας F1. Σε σύγκριση με το αρχικό χαρτί, τα αποτελέσματα αναπαραγωγής του χαρτιού έχουν συνήθως σφάλμα υπολογισμού εντός 2%. Ειδικές περιπτώσεις είναι το ReVeal, όπου οι συγγραφείς επιβεβαίωσαν ότι τα αποτελέσματά μας διόρθωσαν το σφάλμα διαρροής δεδομένων στο αρχικό χαρτί και το Devign, όπου το χαρτί χρησιμοποιούσε έναν αναπαραγόμενο κώδικα τρίτου μέρους (δημοσιεύτηκε από τους Chakaborthy et al.) καθώς ο αρχικός κώδικας Devign δεν ήταν ανοιχτή πηγή.