Automated network data-driven seed generation for gray-box fuzzers based on generative adversarial network.

Φόρτωση...
Μικρογραφία εικόνας
Ημερομηνία
2024-09-03
Τίτλος Εφημερίδας
Περιοδικό ISSN
Τίτλος τόμου
Εκδότης
ΕΛΜΕΠΑ, Σχολή Μηχανικών (ΣΜΗΧ), ΠΜΣ Μηχανικών Πληροφορικής
Περίληψη
Cyber-attacks are assaults launched by cybercriminals utilizing network-enabled entities. Nowadays, the ever-increasing number of heterogeneous internet-connected entities has resulted in a wider cyber-threat landscape due to the exposure of their resources, services, and interfaces, potentially rendering the network prone to malicious attacks. With the introduction of new and the updation of existing architectural paradigms and methodologies such as Cloud Computing (CC), Fog Computing (FC), Extreme Edge Computing (EC), Internet of Things (loT), and Machine Learning (ML) and with the abundance of Information and Communications Technology (ICT) resources the attackers have devised more sophisticated ways to achieve their objectives. In our current era, the complexity that occurs in an ICT environment leads to new vulnerabilities within a network. At the same time, modern cybersecurity tools such as Intrusion Detection Systems (IDS), Anomaly Detection (AD), etc. focus on generic vulnerability categories. These issues, combined with the increase in variety and volume of cyber-attacks, pose an immense threat to everyone. Securing every connected entity within a network is a time-consuming, tedious, and challenging task, thus, a way to detect and address new vulnerabilities and bugs that each device and service contains had to be devised. Evidently, the detection of these vulnerabilities and bugs has to be automated, considering the number of services that co-exist in an entity and the vast number of different entities that co-exist within a network, thus guaranteeing its smooth operation. For that reason. fuzzing, an automated software testing technique, has gained traction for its potential to identify known and unknown vulnerabilities. However, prevailing fuzzing approaches often require human intervention in various steps of the process such as seed file generation, provide limited code coverage, and are resource-intensive. This work aims to explore automating and fine-tuning the seed file generation within grey-box fuzzers. To overcome these challenges, we propose a solution that automates seed refinement utilising a Generative Adversarial Network (GAN) in conjunction with dynamic network monitoring. By producing refined seed files and prioritizing them for testing, our approach aims to enhance vulnerability detection capabilities, deepening coverage while reducing processing time.
Οι επιθέσεις στον κυβερνοχώρο είναι επιθέσεις που εξαπολύονται από κυβερνοεγκληματίες που χρησιμοποιούν οντότητες με δυνατότητα δικτύου. Σήμερα, ο συνεχώς αυξανόμενος αριθμός ετερογενών οντοτήτων που συνδέονται στο Διαδίκτυο έχει οδηγήσει σε ένα ευρύτερο τοπίο απειλών στον κυβερνοχώρο λόγω της έκθεσης των πόρων, των υπηρεσιών και των διεπαφών τους, καθιστώντας δυνητικά το δίκτυο επιρρεπές σε κακόβουλες επιθέσεις. Με την εισαγωγή νέων και την ενημέρωση υφιστάμενων αρχιτεκτονικών παραδειγμάτων και μεθοδολογιών όπως το Cloud Computing (CC), το Fog Computing (FC), το Extreme Edge Computing (EC), το Internet of Things (loT) και η Machine Learning (ML) και με την αφθονία των πόρων Τεχνολογίας Πληροφοριών και Επικοινωνιών (ΤΠΕ) οι επιτιθέμενοι έχουν επινοήσει πιο εξελιγμένους τρόπους για να επιτύχουν τους στόχους τους. Στην τρέχουσα εποχή μας, η πολυπλοκότητα που εμφανίζεται σε ένα περιβάλλον ΤΠΕ οδηγεί σε νέα τρωτά σημεία σε ένα δίκτυο. Ταυτόχρονα, τα σύγχρονα εργαλεία κυβερνοασφάλειας όπως τα συστήματα ανίχνευσης εισβολής (IDS), η ανίχνευση ανωμαλιών (AD) κ.λπ. επικεντρώνονται σε γενικές κατηγορίες ευπάθειας. Αυτά τα ζητήματα, σε συνδυασμό με την αύξηση της ποικιλίας και του όγκου των επιθέσεων στον κυβερνοχώρο, αποτελούν τεράστια απειλή για όλους. Η ασφάλεια κάθε συνδεδεμένης οντότητας μέσα σε ένα δίκτυο είναι μια χρονοβόρα, κουραστική και προκλητική εργασία, επομένως, έπρεπε να επινοηθεί ένας τρόπος εντοπισμού και αντιμετώπισης νέων τρωτών σημείων και σφαλμάτων που περιέχει κάθε συσκευή και υπηρεσία. Προφανώς, ο εντοπισμός αυτών των τρωτών σημείων και σφαλμάτων πρέπει να αυτοματοποιηθεί, λαμβάνοντας υπόψη τον αριθμό των υπηρεσιών που συνυπάρχουν σε μια οντότητα και τον τεράστιο αριθμό διαφορετικών οντοτήτων που συνυπάρχουν σε ένα δίκτυο, διασφαλίζοντας έτσι την ομαλή λειτουργία του. Για αυτόν τον λόγο. Το fuzzing, μια αυτοματοποιημένη τεχνική δοκιμής λογισμικού, έχει κερδίσει έδαφος λόγω των δυνατοτήτων του να εντοπίζει γνωστά και άγνωστα τρωτά σημεία. Ωστόσο, οι επικρατούσες ασαφείς προσεγγίσεις απαιτούν συχνά ανθρώπινη παρέμβαση σε διάφορα στάδια της διαδικασίας, όπως η δημιουργία αρχέγονων αρχείων (seed files), παρέχουν περιορισμένη κάλυψη κώδικα και απαιτούν αρκετούς πόρους. Αυτή η εργασία στοχεύει στη διερεύνηση της αυτοματοποίησης στην δημιουργίας seed files μέσα σε grey-box fuzzers. Για να ξεπεραστούν αυτές οι προκλήσεις, προτείνουμε μια λύση που αυτοματοποιεί τη βελτίωση των seed files χρησιμοποιώντας ένα Generative Adversarial Network (GAN) σε συνδυασμό με τη δυναμική παρακολούθηση δικτύου. Με την παραγωγή ενισχυμένων seed files και την ιεράρχησή τους για δοκιμές, η προσέγγισή μας στοχεύει στην ενίσχυση των δυνατοτήτων ανίχνευσης ευπαθειών, εμβαθύνοντας την κάλυψη (code coverage) και μειώνοντας τον χρόνο επεξεργασίας.
Περιγραφή
Λέξεις-κλειδιά
Vulnerability detection, Cyber attack, Fuzzing, Ανίχνευση ευπαθειών, Κυβερνοεπίθεση
Παραπομπή