Προβλήματα λόγω αναφορών ευπάθειας που συντάχθηκαν από εργαλεία AI

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

Το έργο Curl πληρώνει ανταμοιβές για τον εντοπισμό νέων τρωτών σημείων και έχει ήδη λάβει 415 αναφορές για πιθανά προβλήματα, εκ των οποίων μόνο 64 επιβεβαιώθηκαν ως τρωτά σημεία και 77 ως σφάλματα μη ασφαλείας. Έτσι, το 66% όλων των αναφορών δεν περιείχαν χρήσιμες πληροφορίες και αφαίρεσαν μόνο χρόνο από τους προγραμματιστές που θα μπορούσαν να είχαν δαπανηθεί σε κάτι χρήσιμο.

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

Δίνονται δύο παραδείγματα τέτοιων αναφορών για τα σκουπίδια. Την ημέρα πριν από την προγραμματισμένη αποκάλυψη πληροφοριών σχετικά με την επικίνδυνη ευπάθεια του Οκτωβρίου (CVE-2023-38545), εστάλη μια αναφορά μέσω της Hackerone ότι η ενημέρωση κώδικα με την επιδιόρθωση είχε γίνει δημόσια διαθέσιμη. Στην πραγματικότητα, η έκθεση περιείχε ένα μείγμα γεγονότων για παρόμοια προβλήματα και αποσπάσματα λεπτομερών πληροφοριών σχετικά με προηγούμενα τρωτά σημεία που συνέταξε ο βοηθός τεχνητής νοημοσύνης της Google, Bard. Ως αποτέλεσμα, οι πληροφορίες έμοιαζαν νέες και σχετικές και δεν είχαν καμία σχέση με την πραγματικότητα.

Το δεύτερο παράδειγμα αφορά ένα μήνυμα που ελήφθη στις 28 Δεκεμβρίου σχετικά με μια υπερχείλιση buffer στο πρόγραμμα χειρισμού WebSocket, που στάλθηκε από έναν χρήστη που είχε ήδη ενημερώσει διάφορα έργα σχετικά με τρωτά σημεία μέσω του Hackerone. Ως μέθοδος αναπαραγωγής του προβλήματος, η αναφορά περιλάμβανε γενικές λέξεις σχετικά με τη μετάδοση ενός τροποποιημένου αιτήματος με τιμή μεγαλύτερη από το μέγεθος του buffer που χρησιμοποιείται κατά την αντιγραφή με strcpy. Η έκθεση παρείχε επίσης ένα παράδειγμα διόρθωσης (παράδειγμα αντικατάστασης του strcpy με strncpy) και υποδείκνυε μια σύνδεση με τη γραμμή του κώδικα "strcpy(keyval, randstr)", η οποία, σύμφωνα με τον αιτούντα, περιείχε σφάλμα.

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

Πηγή: opennet.ru

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