Securing critical infrastructures at software and interdependency levels
Authors: Στεργιόπουλος Γεώργιος 
Published: August 2021

Μια Κρίσιμη Υποδομή αποτελεί την ραχοκοκκαλιά της οικονομίας, της ασφάλειας και του βιωτικού επίπεδου ενός έθνους. Είναι το είδος της υποδομής το οποίο παρέχει ενέργεια και νερό στα σπίτια, υποστηρίζει τις μεταφορές και τα συστήματα επικοινωνίας στα οποία στηρίζεται η κοινωνία. Τα κριτήρια που προσδιορίζουν πότε μια υποδομή θεωρείται χρήσιμη, έχουν διευρυνθεί εν παρόδω χρόνω (DHS, 2013). Ως κρίσιμη υποδομή ορίζεται το σύνολο εκείνων των αγαθών, των συστημάτων και των δικτύων, είτε φυσικών είτε εικονικών, τα οποία είναι τόσο απαραίτητα για μια χώρα ώστε πιθανή μη-διαθεσιμότητά ή καταστροφή τους θα είχε τεράστιες και εξουθενωτικές επιπτώσεις στην εθνική ασφάλεια, οικονομία, την δημόσια υγεία ή οποιονδήποτε συνδυασμό αυτών (DHS, 2013).Μια αυξανόμενη λίστα των υποδομών που χρήζουν προστασίας θα απαιτήσει από κάθε ομοσπονδιακή κυβέρνηση να ιεραρχήσει τις προσπάθειές της και να προσπαθήσει να ελαχιστοποιήσει τις επιπτώσεις από τυχόν μελλοντική αστοχία οποιουδήποτε είδους σε κρίσιμες υποδομές της χώρας (π.χ. τρομοκρατική επίθεση ή αστοχία συστημάτων), ενώ, ταυτόχρονα, λαμβάνοντας υπόψη το είδος αυτών των επιπτώσεων και την πιθανότητα εμφάνισης τους (Motef et al., 2003).Λαμβάνοντας υπόψη όλα τα ανωτέρω, είναι εμφανές πως οι κρίσιμες υποδομές μαζί με τις υπηρεσίες και τα συστήματά τους, πρέπει να προστατεύονται επαρκώς ενάντια σε όλα τα είδη αστοχιών ή ατυχημάτων, είτε πηγάζουν από ανθρώπινες πράξεις είτε από φυσικά φαινόμενα. Οι κρίσιμες υποδομές παρέχουν υπηρεσίες αναγκαίες για ένα έθνος προκειμένου να λειτουργήσει ορθά και να μπορεί να υποστηρίζει τις ανάγκες των πολιτών του, διαμέσου υπηρεσιών όπως το σύστημα Υγείας, οι μεταφορές κτλ. Ακόμα περισσότερο αφού τέτοιου είδους αστοχίες μπορούν να προξενηθούν από κακόβουλους επιτιθέμενους άλλων χωρών με σκοπο να πλήξουν το ίδιο το έθνος και τα εισοδήματά του.Μέχρι στιγμής, η δημοσιευμένη έρευνα έχει προσπαθεί να ασφαλίσει τις κρίσιμες υποδομές μέσω διαδικασιών αξιολόγησης του ρίσκου και των απειλών που ενδεχομένως μπορούν να πλήξουν μια κρίσιμη υποδομή. Μεθοδολογίες βασισμένες σε διεθνή πρότυπα ISO (όπως το ISO 27001) και αντίστοιχες αναλύσεις ασφάλειας, η οποίες προμηθεύουν τις κρίσιμες υποδομές με σχέδια ασφάλειας και μέτρα προστασίας ικανά να θωρακίσουν τις υποδομές ενάντια σε πληθώρα απειλών. Ωστόσο, ελάχιστη πρόοδος έχει γίνει όσων αφορά το θέμα της προστασίας των υποδομών απέναντι σε αστοχίες που προέρχονται από το εξωτερικό της περιβάλλον, συγκεκριμένα από άλλες υποδομές στις οποίες στηρίζεται μια υποδομή για να διασφαλίσει την απρόσκοπτη λειτουργία της. Οι σύγχρονες κρίσιμες υποδομές συχνά εξαρτώνται από άλλες υποδομές προκειμένου να παρέχουν τις υπηρεσίες τους ορθώς και δίχως διακοπές. Αυτή η ανάγκη έχει οδηγήσει στην δημιουργία πολύπλοκων δικτύων από αλληλο-εξαρτώμενες υποδομές. Αυτοί οι γράφοι αλληλο-εξαρτήσεων κρύβουν πληροφορία σχετικά με το τι θα μπορούσε να συμβεί, αν μια αστοχία έβγαζε μια εκ των υποδομών εκτός λειτουργίας. Με άλλα λόγια, αυτοί οι γράφοι κρίσιμων υποδομών είναι τόσο ασφαλείς όσο το πιο κρίσιμο μονοπάτι αλληλοεξαρτήσεων που έχουν και είναι τόσο εκτεθειμένοι όσο ο πιο επικίνδυνος κόμβος-υποδομή τους. Επίσης (και όσων αφορά ένα χαμηλότερο επίπεδο ανάλυσης της ασφάλειας υποδομών), ελάχιστη πρόοδος έχει σημειωθεί και στην προστασία των υποδομών από το ανθρώπινο λάθος, όταν υπαλληλοι χειρίζονται λογισμικό που ελέγχει μηχανήματα στα οποία βασίζονται οι κρίσιμες υποδομές, ιδιαίτερα όταν αυτές οι λειτουργίες ελέγχονται απομακρυσμένα. Παρόλο που αποτελεί κοινή γνώση το γεγονός πως το λογισμικό συχνά περιέχει λογικά σφάλματα στην υλοποιημένη επιχειρησιακή του λογική, σφάλματα τα οποία εισάγονται κατά την ανάπτυξή του, ωστόσο ελάχιστος χρόνος έρευνας έχει αφιερωθεί για την εύρεση ενός τρόπου εντοπισμού αυτών των λαθών και διασφάλισης της απρόσκοπτης λειτουργίας του λογισμικού, ιδιαίτερα λογισμικού που είναι υπεύθυνο σε μια κρίσιμη υποδομή για πληθώρα υπηρεσιών. Τα λογικά σφάλματα μέσα σε τόσο σημαντικό λογισμικό μπορεί να οδηγήσουν σε σημαντικότατες αστοχίες, ακόμα και να εκκινήσουν μια αλυσιδωτή αντίδραση αστοχιών μεταξύ κρίσιμων υποδομών που διασυνδέονται.Έχοντας αυτά υπόψη, η διαδικασία θωράκισης των κρίσιμων υποδομών από κινδύνους και αστοχίες που ακόμα δεν έχουν διερευνηθεί καταλλήλως, διαφαίνεται πως είναι διμερής: Κατ' αρχάς, θα πρέπει κάθε υποδομή να προστατευθεί όχι ως μια αυτοτελής οντότητα, αλλά ταυτόχρονα και ως μέρος μιας αλυσίδας συνδεδεμένων κρίσιμων υποδομών. Οι υπεύθυνοι ασφάλειας πρέπει να είναι σε θέση να εντοπίσουν τις πιθανές επιδράσεις αλυσιδωτών αστοχιών μεταξύ αλληλο-εξαρτημένων κρίσιμων υποδομών και να αναλύσουν τις επιπτώσεις τους και την πιθανότητα εμφάνισης τους, ακριβώς όπως επιχειρείται να αναλυθεί μια κρίσιμη υποδομή κατά μόνας (DHS, 2013). Την ίδια στιγμή, ασφαλής κρίσιμη υποδομή θεωρείται κάθε υποδομή που προστατεύει τα πληροφοριακά της συστήματα και σε επίπεδο λογισμικού, με άλλα λόγια η προστασία το οικοσυστήματος προγραμμάτων που ελέγχουν μια κρίσιμη υποδομή μέσω μηχανισμών για τον έλεγχο, την προστασία και την διαχείριση λογισμικού από ευπάθειες που ίσως να μην έχουν εντοπιστεί.Η παρούσα διπλωματική προσεγγίζει το θέμα της ασφάλειας των κρίσιμων υποδομών μέσω της ανάπτυξης πρακτικών λύσεων για την αντιμετώπιση και των δύο προαναφερθέντων κατηγοριών, σε όλα τα επίπεδα ανάλυσης. Η παρούσα δουλειά διαφοροποιείται από την πεπατημένη βιβλιογραφία ασφάλειας που αφορά την προστασία των κρίσιμων υποδομών με τους εξής τρόπους:a) Αναπτύσσει μια συνδυαστική πολυ-μεθοδολογία ικανή να εντοπίζει και να αξιολογεί διαδοχικές αστοχίες μεταξύ αλληλο-εξαρτώμενων κρίσιμων υποδομών,b) Αναπτύσσει αλγορίθμους και στρατηγικές που μπορούν να εφαρμοστούν πρακτικά προκειμένου να μετριάσουν το ρίσκο πιθανών διαδοχικών αστοχιών ανάμεσα σε αλληλο-εξαρτώμενες υποδομές,c) Αναπτύσσει μια μεθοδολογία για τον αυτόματο εντοπισμό λογικών λαθών, συνθηκών ανταγωνισμού και ευπαθειών που προέρχονται από λανθασμένη υλοποίηση επιχειρησιακής λογικής μέσα στο λογισμικό και ενδεχομένως να μπορούν να οδηγήσουν σε σοβαρότατες αστοχίες λογισμικού. Συγκεκριμένα, σε λογισμικό που μπορεί να χειρίζεται μηχανήματα κρίσιμων υποδομών απομακρυσμένα. Απ’ όσο γνωρίζουμε, πρόκειται για την πρώτη υλοποιημένη μέθοδο που είναι ικανή να εντοπίζει λογικά σφάλματα που μπορούν να οδηγήσουν σε αστοχίες υλικού λόγω λανθασμένης υλοποίησης της λειτουργικότητας. Και να μπορεί να το κάνει αυτό σε διαφορετικά είδη λογισμικού. Παρόλο που ο πρωτεύων στόχος ήταν να χρησιμοποιηθεί η παρούσα μεθοδολογία για την προστασία λογισμικού στις κρίσιμες υποδομές, η μέθοδος αποδείχτηκε ότι μπορεί να χρησιμοποιηθεί σε μια πολύ ευρύτερη βάση και σε μια πληθώρα εφαρμογών.Προκειμένου να ανεβάσουμε ακόμα περισσότερο τον πήχη, η παρούσα διατριβή παρουσιάζει επίσης δύο νέα εργαλεία, το PLATO και το CIDA που πρόκειται για υλοποιήσεις των προαναφερθέντων προτεινόμενων μεθόδων για την προστασία των υποδομών ζωτικής σημασίας. Τα εργαλεία αυτά εκτελούν αυτοματοποιημένη ανάλυση και δεν απαιτούν σημαντική τεχνογνωσία από τους χρήστες τους. Συγκεκριμένα, το PLATO είναι ένα εργαλείο που μπορεί να ανιχνεύσει αυτόματα ορισμένους τύπους λογικών σφαλμάτων λογισμικού. Μεταξύ άλλων πειραμάτων, χρησιμοποιήθηκε για να ανιχνεύσει λογικά σφάλματα σε εφαρμογές ικανές να ελέγχουν εξ αποστάσεως μηχανήματα σε κρίσιμες υποδομές. Επιπλέον, προτείνεται ένα πανοπτικό μοντέλο πρόβλεψης ικανό να εντοπίζει εν δυνάμει επικίνδυνες αλυσίδες αλληλο-εξαρτώμενων κρίσιμων υποδομών, αλλά και να προβλέπει την εξέλιξη των αστοχιών μέσα σε αυτές εν παρόδω χρόνω. Το μοντέλο αυτό συμπληρώνεται με μία μεθοδολογία ανάλυσης γράφων ώστε να είναι σε θέση να εντοπίσει επικίνδυνες κρίσιμες υποδομές μέσα σε ένα δίκτυο αλληλο-εξαρτώμενων υποδομών, οι οποίες ενδεχομένως να επηρεάζουν σημαντικά τη συνολική σταθερότητα του συστήματος. Αυτό το πολυ-μοντέλο υλοποιήθηκε μέσα σε ένα εργαλείο με το όνομα CIDA, ένα εργαλείο που μπορεί να μοντελοποιήσει την καταλυτική δράση των αστοχιών μεταξύ των υποδομών, να αναλύσει την εξέλιξη των αστοχιών και τις επιπτώσεις αυτών και, τέλος, να εντοπίσει κρίσιμες υποδομές που είναι σε θέση, σε περίπτωση κατάρρευσής τους, να προκαλέσουν μαζική καταστροφή σε πολλές διασυνδεδεμένες υποδομές ταυτόχρονα.Τα κεφάλαια της παρούσας διατριβής συνοψίζονται ως εξής:Το Κεφάλαιο 1 περιλαμβάνει την αφορμή της έρευνας, το σκοπό και τη μέθοδο εργασίας μας καθώς και τη συνοπτική περιγραφή της ερευνητικής συνεισφοράς στο γνωστικό πεδίο.Στο Κεφάλαιο 2 παρουσιάζεται το υπόβαθρο της διατριβής. Παρέχεται ο ορισμός των κρίσιμων υποδομών, του λογισμικού, των ευπαθειών και των αστοχιών που υιοθετείται στα πλαίσια της διατριβής. Έπειτα, παρατίθενται οι διαδικασίες ανάλυσης του κινδύνου στις κρίσιμες υποδομές, τα μεθοδολογίες ανάλυσης ασφάλειας των κρίσιμων υποδομών όσο και του λογισμικού αυτών. Το κεφάλαιο, επίσης, αναφέρει τις προκλήσεις που εισάγουν οι κρίσιμες υποδομές στη διασφάλιση της ασφάλειας των πολιτών ενός έθνους.Στο Κεφάλαιο 3 μελετάται ο αυτόματος εντοπισμός λογικών λαθών. Συγκεκριμένα, προτείνεται μια μέθοδος, η οποία υλοποιείται και σε ένα εργαλείο με το όνομα PLATO, η οποία μπορεί να εντοπίσει διάφορα είδη λογικών λαθών σε διάφορα είδη εφαρμογών, από απλές εφαρμογές μέχρι εφαρμογές ικανές να ελέγχουν απομακρυσμένα μηχανήματα κρίσιμων υποδομών. Εξετάζονται τρόποι ανάλυσης της λογικής του λογισμικού υπό την μορφή μαθηματικών κατηγορημάτων και η χρήση αυτών για εντοπισμό λαθών που αλλιώς περνούν απαρατήρητα από τεχνικές αναλύσεις και μελέτες πηγαίου κώδικα. Στο κεφάλαιο μελετάται επίσης ο τρόπος εντοπισμός και η αξιολόγηση τέτοιων πιθανών σφαλμάτων προκειμένου να προβλεφθούν πιθανά σφάλματα που μπορούν να οδηγήσουν σε σοβαρές αστοχίες λογισμικού και υλικού.Το Κεφάλαιο 4 περιλαμβάνει μεθοδολογίες ανάλυσης αλληλο-εξαρτήσεων μεταξύ κρίσιμων υποδομών προκειμένου να προτείνει αποδοτικές τεχνικές μείωσης του ρίσκου και του κινδύνου εμφάνισης αστοχιών στις κρίσιμες υποδομές. Εξερευνά τις συσχετίσεις και τις συνδέσεις μεταξύ μονοπατιών που δημιουργούνται από αλληλο-εξαρτώμενες υποδομές, κάνοντας χρήση της θεωρίας γράφων. Παρουσιάζεται πώς οι μετρικές θεωρίας γράφων μπορούν να εφαρμοστούν για τον εντοπισμό και την αξιολόγηση εναλλακτικών στρατηγικών απομείωσης ρίσκου μεταξύ των υποδομών. Τα ερευνητικά πειράματα που παρουσιάζονται βασίζονται πάνω σε τυχαίους γράφους αλληλο-εξαρτώμενων υποδομών που προσομοιώνουν υπάρχουσες κρίσιμες υποδομές και διασυνδέσεις αυτών, όπως αυτά δημοσιεύτηκαν σε πρόσφατες μελέτες. Τέλος, χρησιμοποιώντας τα αποτελέσματα των προαναφερθέντων πειραμάτων, προτείνεται ένας αλγόριθμος ιεράρχησης της σημαντικότητας κρίσιμων υποδομών μέσα σε ένα γράφο αλληλο-εξαρτημένων υποδομών προκειμένου να εξεταστούν συγκεκριμένα μέτρα προστασίας για μεγιστοποίηση της μείωσης του κινδύνου σε όλο το σύστημα εξαρτημένων υποδομών.Στο Κεφάλαιο 5, μελετάται και επεκτείνεται μια μέθοδος ανάλυσης αλληλο-εξαρτήσεων κρίσιμων υποδομών, προκειμένου να επιτευχθεί μια δυναμική αξιολόγηση διαδοχικών αστοχιών μεταξύ υποδομών εν παρόδω χρόνω. Προτείνεται η χρήση διαφορετικών μαθηματικών μοντέλων ανάπτυξης προκειμένου να αποδοθούν επαρκώς τα φαινόμενα αργής, γραμμικής και εκθετικής εξέλιξης των αστοχιών στις κρίσιμες υποδομές, αλλά αντί να γίνεται χρήση απλών, στατικών προβολών του κινδύνου, προτείνεται η «αντικειμενική» προσέγγιση της ασάφειας των επιπτώσεων στις αστοχίες μέσω ενός εξελιγμένου μοντέλου ασαφούς λογικής το οποίο λαμβάνει υπόψη του και τις γειτονικές εξαρτήσεις υποδομών και πιθανές αστοχίες αυτών. Τέλος, παρουσιάζεται η υλοποίηση της ανωτέρω μεθοδολογίας στο εργαλείο CIDA και παρουσιάζονται τα αποτελέσματα από την χρήση του εργαλείου σε ένα αληθινό σενάριο καταστροφής το οποίο συνέβη στην Καλιφόρνια. Το κεφάλαιο κλείνει με την παρουσίαση των επιδόσεων του εργαλείου στην πρόβλεψη των αστοχιών και των επιπτώσεων αυτής.Η διατριβή ολοκληρώνεται στο Κεφάλαιο 6 με τη σύνοψη και προτάσεις για μελλοντική έρευνα.