title: Accurate IoT intrusion detection system via application of AI models

title: Ακριβές σύστημα ανίχνευσης εισβολών σε ΙοΤ μέσω εφαρμογής μοντέλων μηχανικής μάθησης
Creators: name: Οικονομοπουλος Ιωαννης
Publisher: name: Technical University of Crete
Year: 2025

description: The Internet of Things (IoT) keeps growing bigger every year. Based on IoT Ana-
lytics data [1], connected devices worldwide are expected to reach over 29 billion
by 2027, spreading across transportation, healthcare, warehousing, security, and
data monitoring. These devices have become so important in our daily lives and
business operations that we can hardly imagine functioning without them. Yet,
we’ve seen how device failures in the past have seriously damaged both data pri-
vacy and economic stability.
With AI becoming the star technology of the 2020s, it’s revolutionizing how we
approach Network Intrusion Detection Systems (NIDS). While we’re getting bet-
ter at training models to catch all sorts of attacks on servers and microservices,
there’s still a big question mark when it comes to embedded devices - what can
we do when we’re working with limited computational resources?
This thesis tackles the challenge of running effective NIDS on IoT devices without
overwhelming their modest resources. Our approach? We’re implementing clas-
sification and outlier detection algorithms in GoLang - a lightweight, low-level
language that handles malicious traffic more efficiently than Python (the usual go-
to for Machine Learning). While we started our experiments in Python, thanks to
its user-friendly typing and rich Machine Learning libraries, we ultimately moved
everything to GoLang for the final product.
We worked with a Mirai Botnet attack dataset, since it’s the most common type of
IoT attack out there. For our analysis, we used Light Gradient Boosting Machine
(LightGBM - LGBM) for classification and One-Class Support Vector Machine
(One Class SVM - OCSVM) for spotting anomalies. We compared how these
methods stack up against Kitsune, a newer framework for detecting outliers. The
final test? Running everything on a Raspberry Pi [2] to see how Python, GoLang,
and Kitsune perform in a real embedded system setup.
description: Το ΄Ιντερνετ των Πραγμάτων (IoT ) μεγαλώνει κάθε χρόνο. Σύμφωνα με τα
δεδομένα της IoT Analytics[1], ο αριθμός των συνδεδεμένων συσκευών στο
διαδίκτυο παγκοσμίως αναμένεται να ξεπεράσει τα 29 δισεκατομμύρια μέχρι το
2027, με εφαρμογές στις μεταφορές, την υγειονομική περίθαλψη, την αποθήκευ-
ση, την ασφάλεια και την παρακολούθηση δεδομένων. Η χρήση του IoT προ-
σφέρει μεγάλα πλεονεκτήματα για τις επιχειρήσεις και την καθημερινή ζωή των
ανθρώπων, ώστε αν ξαφνικά οι συσκευές αυτές έμεναν ανενεργές, η επίδραση
θα ήταν αισθητή. Ωστόσο, δυσλειτουργίες αυτών των συσκευών στο παρελθόν
έχουν προκαλέσει σοβαρά πλήγματα στην ιδιωτικότητα των δεδομένων και την
οικονομία.
Με την Τεχνητή Νοημοσύνη να αναδεικνύεται ως η κυρίαρχη τεχνολογία της
δεκαετίας του 2020, έχει μετασχηματίσει τον τομέα των συστημάτων ανίχνευσης
εισβολών. Τα μοντέλα εκπαιδεύονται για να εντοπίζουν κάθε τύπο επίθεσης
σε διακομιστές, μικροϋπηρεσίες κ.λπ. Αλλά τι γίνεται με τις ενσωματωμένες
συσκευές που στερούνται υπολογιστικών πόρων·
Η παρούσα διπλωματική εργασία παρέχει μια ανάλυση σχετικά με την αποτε-
λεσματική αντιμετώπιση των δικτυακών επιθέσεων στο IoT , διατηρώντας ελα-
φρούς υπολογιστικούς πόρους. Η κεντρική ιδέα είναι η υλοποίηση αλγορίθμων
ταξινόμησης και ανίχνευσης ακραίων τιμών σε χαμηλού επιπέδου GoLang, το
οποίο καθιστά την ανίχνευση και την αντιμετώπιση της κακόβουλης κίνησης πιο
αποδοτική από άποψη χρόνου εκτέλεσης και υπολογιστικών πόρων σε σύγκριση
με την Python , η οποία αποτελεί τη δημοφιλή γλώσσα προγραμματισμού για τη
Μηχανική Μάθηση. Τα πειράματα εκτελέστηκαν σε Python λόγω της ευκολίας
στη χρήση και των δημοφιλών βιβλιοθηκών μηχανικής μάθησης που παρέχει,
αλλά το τελικό προϊόν χαρτογραφήθηκε σε GoLang.
Το σύνολο δεδομένων που χρησιμοποιείται είναι από επίθεση Mirai Botnet , η πιο
συνηθισμένη μορφή επίθεσης στο ΙοΤ. Οι αλγόριθμοι που χρησιμοποιήθηκαν
είναι το LightGBM ως μέθοδος ταξινόμησης και το OneClassSVM ως μέθοδος
ανίχνευσης ανωμαλιών. Σε αυτήν την εργασία, τα αποτελέσματα αυτών των
δύο αλγορίθμων συγκρίνονται με το καινοτόμο πλαίσιο ανίχνευσης αποκλίσεων
σε δικτυακές επιθέσεις Kitsune . Στη συνέχεια, διεξήχθησαν πειράματα σε
ένα Raspberry Pi [2] για τη μέτρηση της απόδοσης ζωντανής εκτέλεσης στα
ενσωματωμένα συστήματα στις υλοποιήσεις σε Python και GoLang, αλλα και
στην υλοποίηση του Kitsune.