Τίτλος Securing critical infrastructures at software and interdependency levels
Δημιουργός Stergiopoulos, George
Συντελεστής Mavridis, Ioannis
Katsaros, Panagiotis
Athens University of Economics and Business, Department of Informatics
Gritzalis, Dimitris
Τύπος Text
Φυσική περιγραφή 147p.
Γλώσσα en
Περίληψη A Critical infrastructure is the backbone of a nation's economy, security and health. It is those infrastructures that provide power and water to homes, support the transportation and communication systems people rely on. The criteria for determining what might be a critical infrastructure, and which infrastructures thus qualify, have expanded over time (DHS, 2013). A Critical infrastructure is defined as those assets, systems and networks, whether physical or virtual, so vital to a country that their incapacitation or destruction would have a debilitating effect on security, national economic security, national public health or safety, or any combination thereof (DHS, 2013). At the very least, a growing list of infrastructures in need of protection will require the federal government to prioritize its efforts and try to minimize the impact on the nation’s critical infrastructures of any future failure of any kind (e.g. terrorist attack or systems failure) while taking into account what those impacts might be and the likelihood of their occurring (Motef et al., 2003). Considering all the above, it is made obvious that critical infrastructures, along with their services and systems must be protected against all types of failures; both human-made and natural phenomena. Critical infrastructures provide services needed for a nation to function properly and support its citizens, such as the health care system, transportations, communications etc. Even more, failures in these infrastructures can be triggered by attackers in order to maim a nation and/or to increase revenues (e.g. theft, information leakage etc). Up until now, research has focused in securing critical infrastructures by utilizing Risk Assessment methodologies based on ISOs (like the ISO 27001), security audits and penetration tests on its information systems. However, little progress has been made in securing infrastructures from failures in other, interconnected infrastructures on which they depend to work efficiently. Modern infrastructures are often depended on other infrastructures to function properly. This necessity has led to the development of complex networks of interdepended infrastructures. These dependency graphs of hide information about what will happen if a failure occurs; in other words, they are as safe as their most critical path of interdependencies and as exposed as their most dangerous node. In addition (and in a lower granularity level) high level software applications nowadays are capable of controlling important machinery in critical infrastructures from a distance. Even though it is common knowledge that software applications are known to manifest flaws in their business logic implementation (either due to user or programming errors), yet little to no effort has been made in finding a way to secure the software assets that handle important machinery inside critical infrastructures from user error. Logical flaws might lead to a serious critical infrastructure failure and even initiate cascading effects between interconnected infrastructures. In this context, the process of analyzing the security of a critical infrastructure appears to be twofold: First and foremost, we must not only secure each infrastructure alone, but must also be in a position to pinpoint potential cascading effects amongst depended critical infrastructures and analyze what their impacts would be along with the likelihood of their occurring, same as proposed for a single critical infrastructure in (DHS, 2013). At the same time, since software has taken all the burden of controlling most parts of a CI, securing a critical infrastructure means securing their information systems at a software level; i.e. to secure the application ecosystem used to control a critical infrastructure by offering mechanisms that protect critical infrastructures from software vulnerabilities yet to be dealt with. This work approaches security in critical infrastructures by developing possible, practical solutions for both aforementioned granularity levels of infrastructure protection. This work differentiates from the mainstream security literature concerning the protection of critical infrastructures, by (a) developing a combined multi-methodology able to pinpoint and assess cascading failures amongst critical infrastructures, (b) by developing algorithms and strategies that can be implemented for the detection of infrastructures that affect many other CI and successful risk mitigation in interconnected infrastructures and (c) by developing a method for the automatic detection of logical errors, race conditions and vulnerabilities in high-level software used in CIs; specifically, in software able to remotely control machinery in critical infrastructures. To the best of our knowledge, this is the first method able to detect logical errors in diverse situations and diverse types of software. Although our initial target was to use the aforementioned method in software handling machinery, the method can be used in a wider basis to detect business logic errors in all types of software. To raise the bar, this dissertation also presents two novel tools, PLATO and CIDA that are manifestations of the proposed methods for securing a critical infrastructures in both analyzed granularity levels. These tools perform automated analysis and do not require significant technical expertise from users. Specifically, PLATO is a tool able to automatically detect some types of logical errors in software. It, amongst other experiments, it was used to detect logical errors in high-level capable of controlling infrastructure machinery remotely. Furthermore, a macroscopic prediction model that identifies potential dangerous dependency chains between critical infrastructures and the evolution of hazards over the course of time is proposed, coupled with a graph theory analysis model able to pinpoint dangerous standalone Critical infrastructures that greatly affect the overall stability of a graph of interconnected critical infrastructures. These methods were implemented in CIDA, a tool that can model cascading effect between infrastructures, analyze the evolution of hazards and, finally, pinpoint dangerous Cis able to cause massive damage in multiple interconnected infrastructures; if a failure were to manifest on them. As a case study, this work utilizes known real-world cascading failure scenarios and software applications to test both developed tools. On the one hand, it explores whether – and under which circumstances – logical errors that affect execution and cause failures can be detected in source code (the PLATO too). On the other, it analyzes real-world cascading effect scenarios like the California Blackout Scenario to test whether the interdependency analysis methodologies can efficiently detect cascading failures and dangerous Cis. This work provides evidence suggesting that more work is required for the protection of critical infrastructures, while they use high-level software to control machinery and, at the same time, are depended on other infrastructures also prone to failures. This thesis interpolates material from three journal papers by the author and from various conference papers (Stergiopoulos, 2012) (Stergiopoulos, 2013) (Stergiopoulos, 2014) (Stergiopoulos, 2015). Chapter 3’s research core is based on (Vigna, 2011) and some of the aforementioned publications coauthored with Ass. Prof. Panagiotis Katsaros and Prof. Dimitris Gritzalis, respectively. Some material from each of these papers has also been incorporated into this introductory Chapter. Meanwhile, Chapters 4 and 5 use material from (Kotzanikolaou, 2010) (Kotzanikolaou, 2011) (Kotzanikolaou, 2012) (Kotzanikolaou, 2013) along with two of the aforementioned journals (Stergiopoulos, 2015) (Stergiopoulos, 2015), coauthored with Ass. Prof. Panagiotis Kotzanikolaou and Prof. Dimitris Gritzalis.
Μια Κρίσιμη Υποδομή αποτελεί την ραχοκοκαλιά της οικονομίας, της ασφάλειας και του βιωτικού επίπεδου ενός έθνους. Είναι το είδος της υποδομής το οποίο παρέχει ενέργεια και νερό στα σπίτια, υποστηρίζει τις μεταφορές και τα συστήματα επικοινωνίας στα οποία στηρίζεται η κοινωνία. Τα κριτήρια που προσδιορίζουν πότε μια υποδομή θεωρείται χρήσιμη, έχουν διευρυνθεί εν παρόδω χρόνω (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 με τη σύνοψη και προτάσεις για μελλοντική έρευνα.
Λέξη κλειδί Risk mitigation strategies
Critical infrastructure
Ημερομηνία 05-09-2015
Άδεια χρήσης https://creativecommons.org/licenses/by/4.0/