Please use this identifier to cite or link to this item: https://olympias.lib.uoi.gr/jspui/handle/123456789/40230
Full metadata record
DC FieldValueLanguage
dc.contributor.authorKolokythas, Vasileiosen
dc.date.accessioned2026-07-07T09:14:13Z-
dc.date.available2026-07-07T09:14:13Z-
dc.identifier.urihttps://olympias.lib.uoi.gr/jspui/handle/123456789/40230-
dc.rightsDefault License-
dc.subjectGPU Acceleration Pattern Matchingen
dc.titleGPU-Accelerated Pattern Matching for Open Anti-Virus Enginesen
dc.typemasterThesisen
heal.typemasterThesisel
heal.type.enMaster thesisen
heal.type.elΜεταπτυχιακή εργασίαel
heal.dateAvailable2026-07-07T09:15:13Z-
heal.languageenel
heal.accessfreeel
heal.recordProviderΠανεπιστήμιο Ιωαννίνων. Πολυτεχνική Σχολήel
heal.publicationDate2026-07-03-
heal.abstractThe rapid proliferation and increasing architectural complexity of contemporary malware have introduced severe computational strains on signature-based virus scanning infrastructures, exposing deep processing bottlenecks within legacy, CPU-bound sequential matching engines. Traditional implementations of the Aho–Corasick patternmatching algorithm rely on recursive, pointer-chasing traversals between automaton nodes, producing poor data locality, frequent cache invalidations, and strict singlethreaded execution limits that prevent real-time filesystem auditing at scale. To overcome these structural constraints, this thesis introduces a highly optimized, massively parallel pattern-matching architecture natively integrated into the production codebase of ClamAV 1.0.0 — the industry-standard open-source antivirus engine maintained by Cisco Talos Intelligence Group and globally deployed within high-volume network gateways and cloud storage perimeters. The developed system is built around three core engineering contributions. First, ClamAV’s default internal representation — a recursive, pointer-linked sparse trie — is replaced with a fully linearized Deterministic Finite Automaton (DFA) stored as a flat two-dimensional state transition table. This restructuring eliminates pointerchasing traversal and replaces it with a constant-time array lookup mapping any (state, byte) pair to a next state. Second, this flat table representation compresses the full ClamAV signature database of 3,968,449 signatures — with the dominant matcher encoding 2,651,902 patterns across 486,426 unique states — into a spaceoptimized 475 MB transition table that is loaded directly onto the GPU via OpenCL, residing entirely within device memory. Third, a hybrid dispatch layer manages work partitioning between the GPU and the host CPU. Files exceeding a measured 256 KB crossover threshold are transferred to the GPU asynchronously; patterns structurally incompatible with parallel evaluation are redirected to CPU threads, preserving correctness across the full signature set. xiiiThe system was evaluated against three independent live malware corpora spanning ten file type categories, using the full production ClamAV 1.0.0 signature database of 3,968,449 signatures. Each configuration was measured over n = 10 repeated runs with 95% confidence intervals computed via Student’s t-distribution (t0.025,9 = 2.262). Peak speedup over the single-threaded CPU baseline reached 15.13× on VirusShare Corpus 2 ELF binaries (119 files, 173.43 MB), with consistent speedups observed across all file types whose mean size exceeds the empirically determined 256 KB dispatch threshold. Detection accuracy against the CPU ground truth yielded 95.20% recall, 100% precision, and an F1 score of 0.9754 across 3,837 ground-truth positive files. Zero false positives were observed in any partition across any corpus. Detection accuracy analysis against the CPU ground truth yields an overall recall of 95.20%, precision of 100%, and F1 score of 0.9754. The 4.80% missed-detection rate is entirely attributable to an architectural constraint — only one of ClamAV’s multiple Aho–Corasick matcher roots is currently loaded onto the GPU — and not to any error in the pattern-matching logic itself. The GPU engine produces zero false positives against the CPU ground truth on any file type where it evaluates signatures from its loaded root. Furthermore, shifting the dominant pattern-matching load to the graphics accelerator reduces host CPU utilization during active scans, freeing critical processor capacity for concurrent system tasks. This research presents a cloud-native, open-source framework for hardware-accelerated malware detection suitable for deployment in hyperscale cloud environments and high-throughput network security perimeters.en
heal.abstractΗ αδιάκοπη εξάπλωση και η αρχιτεκτονική πολυπλοκότητα του σύγχρονου κακόβουλου λογισμικού έχουν επιφέρει πρωτοφανή υπολογιστική επιβάρυνση στις υποδομές ελέγχου υπογραφών, αναδεικνύοντας σοβαρά προβλήματα συμφόρησης στις παραδοσιακές σειριακές μηχανές επεξεργασίας που βασίζονται αποκλειστικά στην CPU. Οι συμβατικές υλοποιήσεις του αλγορίθμου αντιστοίχισης προτύπων AhoCorasick βασίζονται σε αναδρομικές δομές δεικτών, οι οποίες χαρακτηρίζονται από κακή τοπικότητα δεδομένων, συχνές ακυρώσεις κρυφής μνήμης και περιορισμούς μονονηματικής εκτέλεσης που εμποδίζουν τον πραγματικό χρόνο έλεγχο του συστήματος αρχείων σε μεγάλη κλίμακα. Για την άρση αυτών των δομικών περιορισμών, η παρούσα διατριβή εισάγει μια εξαιρετικά βελτιστοποιημένη, μαζικά παράλληλη αρχιτεκτονική αντιστοίχισης προτύπων, πλήρως ενσωματωμένη στον κώδικα παραγωγής της μηχανής ClamAV 1.0.0. Το ClamAV, το οποίο συντηρείται από την Cisco Talos Intelligence Group, αποτελεί την παγκόσμια βιομηχανική σταθερά στις ανοιχτού κώδικα μηχανές ανίχνευσης κακόβουλου λογισμικού, με ευρεία ανάπτυξη σε πύλες δικτύου υψηλού φόρτου και συστήματα αποθήκευσης cloud. Το σύστημα που αναπτύχθηκε βασίζεται σε τρεις βασικές μηχανολογικές συνεισφορές. Πρώτον, η εγγενής εσωτερική αναπαράσταση του ClamAV — ένα αναδρομικό, αραιό δέντρο με δείκτες — αντικαθίσταται από έναν πλήρως γραμμικοποιημένο Ντετερμινιστικό Πεπερασμένο Αυτόματο (DFA) που αποθηκεύεται ως επίπεδος δισδιάστατος πίνακας μεταβάσεων. Αυτή η αναδιάρθρωση εξαλείφει την αναδρομική διάσχιση μέσω δεικτών και την αντικαθιστά με μια αναζήτηση πίνακα σταθερού χρόνου που αντιστοιχίζει κάθε ζεύγος (κατάσταση, byte) σε επόμενη κατάσταση. Δεύτερον, αυτή η επίπεδη αναπαράσταση συμπυκνώνει τη συνολική βάση δεδομένων υπογραφών ClamAV των 3.968.449 υπογραφών — με τον κύριο αντιστοιχιστή να κωδικοποιεί 2.651.902 πρότυπα σε 486.426 μοναδικές καταστάσεις — σε έναν xvβελτιστοποιημένο πίνακα μεταβάσεων 475 MB, ο οποίος φορτώνεται απευθείας στη GPU μέσω OpenCL, διαμένοντας εξ ολοκλήρου στη μνήμη της συσκευής. Τρίτον, ένα επίπεδο υβριδικής κατανομής διαχειρίζεται τον διαμερισμό εργασίας μεταξύ GPU και CPU. Αρχεία που υπερβαίνουν το εμπειρικά προσδιορισμένο όριο των 256 KB μεταφέρονται ασύγχρονα στη GPU· πρότυπα που δεν είναι συμβατά με παράλληλη αξιολόγηση ανακατευθύνονται σε νήματα CPU, διατηρώντας την ορθότητα σε ολόκληρο το σύνολο υπογραφών. Το σύστημα αξιολογήθηκε σε τρία ανεξάρτητα σύνολα δεδομένων κακόβουλου λογισμικού, που καλύπτουν δέκα κατηγορίες τύπων αρχείων, χρησιμοποιώντας την πλήρη βάση δεδομένων υπογραφών του ClamAV 1.0.0 με 3.968.449 υπογραφές. Κάθε διαμόρφωση μετρήθηκε σε n = 10 επαναλαμβανόμενες εκτελέσεις με διαστήματα εμπιστοσύνης 95% υπολογισμένα μέσω της t-κατανομής του Student (t0,025,9 = 2,262). Η μέγιστη επιτάχυνση έναντι της μονής γραμμής βάσης CPU έφτασε 15,13× στα δυαδικά αρχεία ELF του VirusShare Corpus 2 (119 αρχεία, 173,43 MB), με σταθερές επιταχύνσεις σε όλους τους τύπους αρχείων των οποίων το μέσο μέγεθος υπερβαίνει το εμπειρικά προσδιορισμένο όριο κατανομής των 256 KB. Η ακρίβεια ανίχνευσης έναντι της γραμμής βάσης CPU απέδωσε ανάκληση 95,20%, ακρίβεια 100% και βαθμολογία F1 ίση με 0,9754 σε 3.837 θετικά αρχεία αναφοράς. Δεν παρατηρήθηκαν ψευδώς θετικά αποτελέσματα σε κανένα υποσύνολο κανενός συνόλου δεδομένων. Ηανάλυση ακρίβειας ανίχνευσης σε σχέση με τον έλεγχο αλήθειας της CPU αποδίδει συνολική ανάκληση 95,20%, ακρίβεια 100% και βαθμολογία F1 0,9754. Το ποσοστό αστοχίας ανίχνευσης 4,80% οφείλεται αποκλειστικά σε αρχιτεκτονικό περιορισμό — μόνο μία από τις πολλαπλές ρίζες αντιστοιχιστή Aho–Corasick του ClamAV φορτώνεται επί του παρόντος στη GPU — και όχι σε κανένα σφάλμα στη λογική αντιστοίχισης προτύπων. Η μηχανή GPU δεν παράγει ψευδώς θετικά αποτελέσματα έναντι του ελέγχου αλήθειας της CPU σε κανέναν τύπο αρχείου όπου αξιολογεί υπογραφές από τη φορτωμένη ρίζα της. Επιπλέον, η μεταφορά του κυρίαρχου φόρτου αντιστοίχισης προτύπων στον επιταχυντή γραφικών μειώνει τη χρήση της host CPU κατά τη διάρκεια ενεργών σαρώσεων, απελευθερώνοντας κρίσιμη υπολογιστική ισχύ για ταυτόχρονες εργασίες του συστήματος. Η παρούσα έρευνα παρέχει ένα ανοιχτού κώδικα, cloud-native πλαίσιο για επιταχυνόμενη ανίχνευση κακόβουλου λογισμικού, κατάλληλο για ανάπτυξη σε υποδομές cloud υπερκλίμακας και υψηλής απόδοσης περιμέτρους ασφάλειας δικτύου.el
heal.advisorNameLIASKOS, CHRISTOSen
heal.committeeMemberNameEVANGELOS, PAPAPETROUen
heal.committeeMemberNameSOTIRIOS, IOANNIDISen
heal.academicPublisherΠανεπιστήμιο Ιωαννίνων. Πολυτεχνική Σχολή. Τμήμα Μηχανικών Ηλεκτρονικών Υπολογιστών και Πληροφορικήςel
heal.academicPublisherIDuoiel
heal.fullTextAvailabilitytrue-
Appears in Collections:Διατριβές Μεταπτυχιακής Έρευνας (Masters) - ΜΗΥΠ

Files in This Item:
File Description SizeFormat 
Thesis (1).pdf379.33 kBAdobe PDFView/Open


Items in DSpace are protected by copyright, with all rights reserved, unless otherwise indicated.