Please use this identifier to cite or link to this item: http://hdl.handle.net/10889/14031
Title: Malware classification methodologies
Other Titles: Μεθοδολογίες ταξινόμησης κακόβουλου λογισμικού
Authors: Τσουβάλας, Βασίλειος
Keywords: Malware detection
Machine learning
SVM
Graphs
Graph kernel
Keywords (translated): Κακόβουλο λογισμικό
Μηχανική μάθηση
Γράφοι
Kernel γράφων
Abstract: Malware detection refers to the classification of a software as malicious or benign. Many attempts, employing diverse techniques, have been tried to tackle this issue. In the present thesis, we present a graph-based solution to the malware detection problem, which implements resources extraction from executable samples and applies machine learning algorithms to those resources so as to decide on the nature of the executable (malicious or benign). Given an unknown Windows executable sample, we first extract the calls that the sample makes to the Windows Application Programming Interface (API) and arrange them in the form of an API Call Graph, based on which, an Abstract API Call Graph is constructed. Subsequently, using a Random Walk Graph Kernel, we are able to quantify the similarity between the graph of the unknown sample and the corresponding graphs hailing from a labeled dataset of known samples (benign and malicious Windows executables), in order to carry out the binary classification using Support Vector Machines. Following the aforementioned process, we achieve accuracy levels up to 98.25%, using a substantially smaller dataset than the one proposed by similar efforts, while being considerably more efficient in time and computational power.
Abstract (translated): Η ανίχνευση κακόβουλου λογισμικού αναφέρεται στη διαδικασία κατά την οποία, χρησιμοποιώντας διάφορες μεθόδους και τεχνικές ανάλυσης λογισμικού, έχουμε τη δυνατότητα να κατηγοριοποιήσουμε ένα πρόγραμμα ως κακόβουλο ή καλόβουλο. Στην παρούσα εργασία, παρουσιάζουμε μία λύση, κατά την οποία εξάγουμε πληροφορίες από ένα εκτελέσιμο δείγμα, μοντελοποιούμε αυτές τις πληροφορίες σε γράφους και εφαρμόζοντας τεχνικές μηχανικής μάθησης αποφαινόμαστε για τη φύση του εκτελέσιμου (καλόβουλο ή κακόβουλο). Ξεκινώντας με ένα σύνολο δεδομένων από καλόβουλα και κακόβουλα Windows εκτελέσιμα δείγματα, εξάγουμε , μέσω στατικής ανάλυσης, τις κλήσεις που πραγματοποιεί το κάθε εκτελέσιμο στο Windows API, μοντελοποιούμε ένα Γράφο ΑΡΙ Κλήσεων και εν συνεχεία έναν Αφηρημένο Γράφο ΑΡΙ Κλήσεων, ώστε να πραγματοποιήσουμε τη δυαδική ταξινόμηση με τη χρήση των Support Vector Machines (SVM's). Ακολουθώντας την παραπάνω διαδικασία, επιτυγχάνονται επίπεδα ακριβείας μέχρι 98.25% χρησιμοποιώντας μικρότερο σύνολο δεδομένων από εκείνο που χρησιμοποιείται σε παρόμοιες προσπάθειες, αλλά και μειώνοντας τις απαιτήσεις σε χρόνο και υπολογιστική ισχύ.
Appears in Collections:Τμήμα Ηλεκτρολ. Μηχαν. και Τεχνολ. Υπολογ. (ΔΕ)

Files in This Item:
File Description SizeFormat 
TsouvalasMalwareClassificationMethodologiesOct2020.pdf3.36 MBAdobe PDFView/Open


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