Παύλος Εφραιμίδης Δύο παραδείγματα Ασφ Υπολ Συστ 1
Στη διάρκεια του εξαμήνου θα εξετάσουμε ζητήματα ασφάλειας υπολογιστικών συστημάτων και εφαρμογές κρυπτογραφίας Στο σημερινό μάθημα θα συζητήσουμε δύο παραδείγματα/ζητήματα: Μία περίπτωση παραβίασης Ασφάλειας Υπολογιστικών Συστημάτων: Το σκουλήκι (worm) του διαδικτύου Ένα παράδειγμα Εφαρμογής Κρυπτογραφίας: Το πρόβλημα των εκατομμυριούχων (the millionaire s problem) 2
το σκουλήκι του διαδικτύου (the internet worm) 3
Η πρώτη παραβίαση μεγάλου εύρους στην ασφάλεια υπολογιστών στο Διαδίκτυο Αν και οι μέθοδοι/ιδέες που χρησιμοποιήθηκαν στο σκουλήκι έχουν μελετηθεί πλέον και έχουν αντιμετωπιστεί παραμένει ένα ενδιαφέρον και διδακτικό παράδειγμα για την ασφάλεια υπολογιστικών συστημάτων 4
Ξεκίνησε το βράδυ της 2 ης Νοεμβρίου 1988 Ένα πτυχιούχος του Cornell, ο Robert Tappan Morris, απελευθέρωσε ένα πρόγραμμα σκουλήκι (worm) στο Διαδίκτυο Το σκουλήκι μπλόκαρε χιλιάδες λάδ υπολογιστές σε πανεπιστήμια, εταιρείες και κυβερνητικά εργαστήρια σε όλα τον πλανήτη 5
Ένα σκουλήκι (worm) είναι ένα πρόγραμμα το οποίο μπορεί και παράγει αντίγραφα του εαυτού του Τα σκουλήκια μπορούν και διαδίδονται μόνα τους από υπολογιστή σε υπολογιστή χρησιμοποιώντας τις δικτυακές συνδέσεις (πχ. διαδίκτυο) χωρίς να μεσολαβεί απαραίτητα κάποιος χρήστης Σε αντίθεση με τους ιούς (viruses) τα σκουλήκια δεν μολύνουν κάποιο υπάρχον πρόγραμμα 6
Κάποιο στιγμή του 1988 ο Morris ανακάλυψε 2 σοβαρά σφάλματα στο Berkeley Unix Ανέπτυξε ένα σκουλήκι το οποίο αξιοποιούσε τα σφάλματα που είχε ανακαλύψει διαδιδόταν από υπολογιστή σε υπολογιστή έκρυβε τα ίχνη του προσπάθησε να ενσωματώσει μηχανισμό ελέγχου του πληθυσμού των σκουληκιών 7
Το σκουλήκι αποτελούνταν από 2 προγράμματα Ένα πρόγραμμα εκκίνησης (bootstrap) Το κυρίως πρόγραμμα 8
Έχοντας μολύνει ένα υπολογιστεί, το κυρίως πρόγραμμα χρησιμοποιούσε 3 μεθόδους για τη μόλυνση άλλων υπολογιστών: Εκτέλεση απομακρυσμένου κελύφους (remote shell) rsh Προκαλώντας υπερχείλιση (buffer overflow) στην εφαρμογή «finger» Εκμεταλλευόμενο μια αδυναμία του προγράμματος sendmail που αποτελούσε μέρος του συστήματος αλληλογραφίας (email). 9
Μόλις το σκουλήκι εγκαθίστατο σε έναν υπολογιστή προσπαθούσε να βρει κωδικούς πρόσβασης Με ποιον τρόπο; Δοκιμάζοντας συνηθισμένους κωδικούς πρόσβασης στους τοπικούς λογαριασμούς 10
Κάθε φορά που το σκουλήκι αποκτούσε πρόσβαση σε έναν υπολογιστή προσπαθούσε να διαπιστώσει εάν ήδη υπάρχουν εκεί ενεργά στιγμιότυπα του σκουληκιού Εάν δεν υπήρχαν, συνέχιζε κανονικά τη λειτουργία του. Εάν υπήρχαν, τότε με πιθανότητα 6/7 τερμάτιζε το συγκεκριμένο στιγμιότυπο τη λειτουργία του. Με πιθανότητα 1/7 όμως συνέχιζε!! Εξαιτίας αυτής της πολιτικής έχασε τον έλεγχο του πληθυσμού των σκουληκιών!! Οι υπολογιστές γέμισαν σκουλήκια! 11
Οι υπολογιστές που μολύνθηκαν, γρήγορα έπαψαν να λειτουργούν σωστά εξαιτίας του υπερπληθυσμού σκουληκιών που είχαν εγκατασταθεί σε αυτούς Χιλιάδες υπολογιστές τέθηκαν εκτός λειτουργίας 12
το πρόβλημα των εκατομμυριούχων (the millionaire s problem) 13
Δύο εκατομμυριούχοι η Alice και ο Bob, η αν θέλετε, η Αλίκη και ο Μπάμπης, έχουν την εξής απορία: Ποιος από τους δύο έχει τα περισσότερα χρήματα; Θέλουν να μάθουν την απάντηση χωρίς όμως να αποκαλύψουν ο καθένας το μέγεθος της περιουσίας του στον άλλο Γίνεται αυτό; 14
Έστω ότι η περιουσία τους μετριέται σε εκατομμύρια ευρώ και ότι είναι στο διάστημα 12 1,2, έως 10 εκατομμύρια ευρώ 15
Έστω ότι η Αλίκη έχει περιουσία I=5 εκατ και ο Μπάμπης J=6 εκατ Έστω το δημόσιο κλειδί της Αλίκης (79,3337) και το ιδιωτικό της κλειδί (1019, 3337). Βήμα Αλίκη Μπάμπης Επιλέγει αριθμό N-bit, έστω x=1234 1 (N=14) Υπολογίζει C=1234^79 mod 3337 = 901 (RSA κρυπτογράφηση του x) 2 Ο Μπάμπης στέλνει το C-J+1 στην Αλίκη Ασφ Υπολ Συστ Δύο παραδείγματα 16
Βήμα Αλίκη Μπάμπης 3 Η Αλίκη παράγει τους αριθμούς Y1, Y2,..., Y10 ως εξής: 1: 896^1019 mod 3337 = 1059... 10: 905^1019 mod 3337 = 1311 Η Αλίκη παράγει έναν πρώτο 4 αριθμό p (έστω p=107) μεγέθους N/2 bit και με βάση αυτόν παίρνει τα υπόλοιπα των 10 αριθμών του βήματος 3: 1: 1059 mod p = 96... 10: 1311 mod p = 27 Ασφ Υπολ Συστ Δύο παραδείγματα 17
Βήμα Αλίκη Μπάμπης Το κρίσιμο βήμα: 5 H Αλίκη στέλνει στον Μπάμπη τον αριθμό p και 10 αριθμούς Τους πρώτους I αριθμούς τους στέλνει όπως υπολογίστηκαν στο βήμα 4. Τους υπόλοιπους τους στέλνει αυξημένους κατά 1. Ο Μπάμπης λαμβάνει τον p και εξετάζει 6 τον J-ιοστό αριθμό Z J από τους αριθμούς: Υπολογίζει G=1234 mod p = 57 Εάν το G και ο Z J ; είναι ίδιοι τότε η Αλίκη έχει περιουσία μεγαλύτερη η ίση του Μπάμπη, διαφορετικά ο Μπάμπης έχει μεγαλύτερη μγ περιουσία Ασφ Υπολ Συστ Δύο παραδείγματα 18
Βήμα Αλίκη Μπάμπης Ο Μπάμπης ανακοινώνει το αποτέλεσμα 7 στην Αλίκη Μια αδυναμία του πρωτοκόλλου είναι ότι ο Μπάμπης είναι αυτός που βρίσκει το αποτέλεσμα και επομένως εάν θέλει μπορεί να μην το αποκαλύψει στην Αλίκη Ασφ Υπολ Συστ Δύο παραδείγματα 19
Σύγχρονα Λειτουργικά Συστήματα,, Tanenbaum Morris_Worm στη wikipedia: http://en.wikipedia.org/wiki/morris_wor m AC A.C. Yao, protocols for Secure Computations, Proc. of 21 st IEEE Symposium on FOCS, 1982 Το παράδειγμα επίλυσης του millionaire s problem είναι από http://www.proproco.co.uk/million.html 20