ClusterFuzzLite, ένα σύστημα για την οργάνωση δοκιμών fuzzing κώδικα

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

Επί του παρόντος, ClusterFuzz μπορεί να χρησιμοποιηθεί για την αυτοματοποίηση του fuzz testing των αιτημάτων έλξης στο GitHub Actions, Google Cloud Build and Prow, αλλά αναμένεται ότι στο μέλλον θα είναι συμβατό με άλλα συστήματα IC. Το έργο βασίζεται στην πλατφόρμα ClusterFuzz, που δημιουργήθηκε για να συντονίζει την εργασία των συμπλεγμάτων δοκιμών fuzzing και διανέμεται με την άδεια Apache 2.0.

Θα πρέπει να σημειωθεί ότι μετά την εισαγωγή της υπηρεσίας OSS-Fuzz από την Google το 2016, περισσότερα από 500 μεγάλα έργα ανοιχτού κώδικα έγιναν δεκτά στο πρόγραμμα δοκιμών συνεχούς fuzzing. Από τους ελέγχους που πραγματοποιήθηκαν, περισσότερα από 6.500 επιβεβαιωμένα τρωτά σημεία έχουν εξαλειφθεί και περισσότερα από 21.000 λάθη έχουν διορθωθεί.

Σχετικά με το ClusterFuzzLite

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

Σήμερα, είμαστε στην ευχάριστη θέση να ανακοινώσουμε το ClusterFuzzLite, μια λύση συνεχούς fuzzing που εκτελείται ως μέρος των ροών εργασίας CI/CD για την εύρεση ευπαθειών πιο γρήγορα από ποτέ. Με λίγες μόνο γραμμές κώδικα, οι χρήστες του GitHub μπορούν να ενσωματώσουν το ClusterFuzzLite στη ροή εργασιών τους και να συλλάβουν αιτήματα έλξης για να εντοπίσουν σφάλματα πριν αυτά γίνουν, βελτιώνοντας τη συνολική ασφάλεια της αλυσίδας εφοδιασμού λογισμικού.
Από την κυκλοφορία του το 2016, περισσότερα από 500 κρίσιμα έργα ανοιχτού κώδικα έχουν ενσωματωθεί στο πρόγραμμα OSS-Fuzz της Google, με αποτέλεσμα τη διόρθωση περισσότερων από 6.500 ευπαθειών και 21.000 λειτουργικών σφαλμάτων. Το ClusterFuzzLite συμβαδίζει με το OSS-Fuzz, εντοπίζοντας σφάλματα παλινδρόμησης πολύ νωρίτερα στη διαδικασία ανάπτυξης.

Το ClusterFuzzLite υποστηρίζει επικύρωση έργου σε C, C ++, Java (και άλλες γλώσσες που βασίζονται σε JVM), Go, Python, Rust και Swift. Οι δοκιμές fuzzing πραγματοποιούνται με τη χρήση του κινητήρα LibFuzzer. Τα εργαλεία AddressSanitizer, MemorySanitizer και UBSan (UndefinedBehaviorSanitizer) μπορούν επίσης να κληθούν για τον εντοπισμό σφαλμάτων και ανωμαλιών στη μνήμη.

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

Μεγάλα έργα, συμπεριλαμβανομένων των systemd και curlya χρησιμοποιούν το ClusterFuzzLite κατά την αναθεώρηση κώδικα, με θετικά αποτελέσματα. Σύμφωνα με τον Daniel Stenberg, συγγραφέα του curl, «Όταν οι ανθρώπινοι αναθεωρητές συμφωνούν και έχουν εγκρίνει τον κώδικα και οι αναλυτές στατικού κώδικα και οι ράβδοι δεν μπορούν να εντοπίσουν άλλα προβλήματα, το fuzzing είναι αυτό που σε οδηγεί στο επόμενο επίπεδο ωριμότητας και στιβαρότητας κώδικα. Το OSS-Fuzz και το ClusterFuzzLite μας βοηθούν να διατηρήσουμε το curl ως ποιοτικό έργο, όλη μέρα, κάθε μέρα και σε κάθε δέσμευση.

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

Εάν κάποια ακολουθία αποτύχει ή δεν ταιριάζει με την αναμενόμενη απόκριση, αυτή η συμπεριφορά πιθανότατα υποδεικνύει σφάλμα ή ευπάθεια.

Τελικά αν ενδιαφέρεστε να μάθετε περισσότερα γι 'αυτό, μπορείτε να ελέγξετε τις λεπτομέρειες Στον ακόλουθο σύνδεσμο.


Αφήστε το σχόλιό σας

Η διεύθυνση email σας δεν θα δημοσιευθεί. Τα υποχρεωτικά πεδία σημειώνονται με *

*

*

  1. Υπεύθυνος για τα δεδομένα: Miguel Ángel Gatón
  2. Σκοπός των δεδομένων: Έλεγχος SPAM, διαχείριση σχολίων.
  3. Νομιμοποίηση: Η συγκατάθεσή σας
  4. Κοινοποίηση των δεδομένων: Τα δεδομένα δεν θα κοινοποιούνται σε τρίτους, εκτός από νομική υποχρέωση.
  5. Αποθήκευση δεδομένων: Βάση δεδομένων που φιλοξενείται από τα δίκτυα Occentus (ΕΕ)
  6. Δικαιώματα: Ανά πάσα στιγμή μπορείτε να περιορίσετε, να ανακτήσετε και να διαγράψετε τις πληροφορίες σας.