Απλές Συνταγές για να Καταστρέψετε το Internet Βασίλης Βλάχος Υποψήφιος Διδάκτορας Δ.Ε.Τ
Ατζέντα Σύντομη ιστορική αναδρομή του κακόβουλου λογισμικού Στρατηγικές εξάπλωσης κακόβουλου λογισμικού Αντίμετρα
ιστορική αναδρομή Η εποχή της αθωότητας (1965-1984) Τα «μέσα» (1984-2000) Οι επαγγελματίες (2000- )
ιστορική αναδρομή Η εποχή της αθωότητας (1965-1984) Κουνέλια (rabbits) Διαχυτικό Ζώο (Pervading Animal John Walker) Δούρειος Ίππος στο μεταγλωττιστή της C των AT & T Bell Πειράματα της Xerox στο ερευνητικό κέντρο του Palo Alto (John Shock και Jon Hepps ) Elk Cloner
ιστορική αναδρομή Elk Cloner: The program with a personality It will get on all your disks It will infiltrate your chips Yes it's Cloner! It will stick to you like glue It will modify ram too Send in the Cloner! «Είναι όπως η ιστορία με τους κροκόδειλους στους υπονόμους της Νέας Υόρκης. Όλοι ξέρουν για αυτούς αλλά κανείς δεν τους έχει δει» Peter Norton, Περιοδικό Insight
ιστορική αναδρομή Τα «μέσα» θεωρητική τεκμηρίωση της ύπαρξης ιών, Fred Cohen 1984 το σκουλήκι Morris (02/11/88) προσέβαλε 6000 υπολογιστές ο ιός Melissa από τον D.Smith (26/03/99) μόλυνε πάνω από 100.000 υπολογιστές ο ιός ILOVEYOU (04/05/00) έπληξε εκατομμύρια συστήματα
Συμβατικός τρόπος αντιμετώπισης κακόβουλου λογισμικού: 3. Εντοπισμός ύποπτου λογισμικού 4. Συλλογή ύποπτου λογισμικού 5. Ανάλυση ύποπτου λογισμικού 6. Εξαγωγή υπογραφής κακόβουλου λογισμικού 7. Έλεγχος εγκυρότητας της υπογραφής 8. Ενημέρωση προγραμμάτων προστασίας (Firewalls, Intrusion Detection Systems, Anti- Virus)
ιστορική αναδρομή Σκουλήκι: Αυτοαναπαραγώμενο λογισμικό ικανό να διαδίδεται μέσω δικτύων υπολογιστών, έχοντας συνήθως επιβλαβείς συνέπειες μετάφραση από το Concise Oxford English Dictionary
ιστορική αναδρομή Συστατικά ενός καλού δικτυακού σκουληκιού Επιλογή κενού ασφαλείας Διάδοση αδυναμίας Χρόνος κοινοποίησης Δυσκολία εκμετάλλευσης Φορτίο Καταστροφικότητα Χρονική ενεργοποίηση Στρατηγικές διάδοσης Τυχαία Ανίχνευση Τοπολογική Ανίχνευση Μεταθετική Ανίχνευση Ανίχνευση Βασισμένη σε Λίστα Στόχων Μυστικότητα
ιστορική αναδρομή Οι επαγγελματίες (2000- ) Code Red, Code Red II Nimda Slammer Blaster Witty
Κυβερνοπόλεμος Κυβερνοτρομοκρατία Κυβερνοαπάτες Κρίσιμες υποδομές κοινής ωφέλειας Οικονομικά ιδρύματα Μ.Μ.Ε Τηλεπικοινωνίες Κυβερνητικά στρατιωτικά συστήματα Εκβιασμοί Βιομηχανική κατασκοπία Προσωπικά δεδομένα Spam Οικονομικές απάτες
Τεχνικές Ανίχνευσης Στόχων Τυχαία Ανίχνευση (Random Scanning) Τοπολογική Ανίχνευση (Topological Scanning) Μεταθετική Ανίχνευση (Permutation Scanning) Ανίχνευση Βασισμένη σε Λίστα Στόχων (Hit-list Scanning)
Τυχαία Ανίχνευση Επιλογή στόχων (διευθύνσεων IP) με εντελώς (;) τυχαίο τρόπο
Τυχαία Ανίχνευση Τυχαία Σταθερή Εξάπλωση (Random Constant Spread - RCS) N: Συνολικός αριθμός συστημάτων x: Αριθμός ευπαθών συστημάτων y: Αριθμός μολυσμένων συστημάτων β: ρυθμός εξάπλωσης του κακόβουλου λογισμικού
dy dt =βχ y=βy N y S I y t = y o N y o N y o e β Nt Όλος ο πληθυσμός τελικά καθίσταται μολυσμένος Αλλά και SIS, MSEIR, MSEIRS, SEIR, SEIRS, SIR, SIRS
Λογιστική αύξηση (logistic growth) ή καμπύλη του Verhulst (1838)
Code Red v1 (13/07/01) Λόγω προβλήματος στην γεννήτρια ψευδοτυχαίων αριθμών εξαπλώθηκε περιορισμένα Code Red v2 (19/07/01) Εξαπέλυσε DDOS επίθεση κατά του δικτυακού τόπου του Λευκού Οίκου Προσέβαλε 359.000 συστήματα σε 14 ώρες Μέγιστος ρυθμός επιτυχούς προσβολής στόχων 2000 συστήματα ανά Ρυθμός ανίχνευσης νέων στόχων από κάποιο προσβεβλημένο σύστημα είναι 11 ανιχνεύσεις (probes) ανά Μη καταστροφικό φορτίο ELTRUN Ο μολυσμένος PhD Seminar πληθυσμός 15 December 2004 διπλασιάζεται κάθε 37
Saphire/Slammer (25/01/03) Τα περισσότερα ευπαθή συστήματα (90%) μολύνθηκαν τα πρώτα 10 από την εμφάνιση του worm Ο μολυσμένος πληθυσμός διπλασιάζεται κάθε 8.5 Μέγιστος ρυθμός ανιχνεύσεων (scans) 55.000.000 ανά και 4000 ανά ανά worm Τουλάχιστον 75.000 συστήματα μολύνθηκαν ακυρώνοντας πτήσεις, διακόπτοντας την λειτουργία ATM και τμημάτων του Internet. Δεν μετέφερε καταστροφικό φορτίο
Τοπολογική Ανίχνευση Επιλογή των διευθύνσεων στόχων με βάση την κλάση του πεδίου διευθύνσεων Ιδιαίτερα αποτελεσματική σε εσωτερικά δίκτυα λόγω Απουσία τοίχων προστασίας Ομογενές λογισμικό
Code Red 2 (04/08/2001) Επιλέγει στόχους με βάση τις παρακάτω πιθανότητες 3/8 επιλέγει τυχαία στόχο από το από το ίδιο πεδίο διευθύνσεων κλάσης Β του μολυσμένου υπολογιστή 1/8 επιλέγει τυχαία στόχο από το από το ίδιο πεδίο διευθύνσεων κλάσης Α του μολυσμένου υπολογιστή 1/8 μια τυχαία διεύθυνση από ολόκληρο το διαδίκτιο
Ανίχνευση Βασισμένη σε Λίστα Στόχων Κρυφές ανιχνεύσεις: διάρκειας πολλών μηνών για να μην κινηθούν υποψίες Κατανεμημένες ανιχνεύσεις: με την συμμετοχή αρκετών υπολογιστών «ζόμπι» / bots Αράχνες (spiders) / δικτυακά ερπετά (web crawlers) Παθητική παρακολούθηση: Εφαρμογές ομότιμων δικτύων (peer to peer networks) Είδη μολυσμένα συστήματα Έτοιμες έρευνες: NetCraft
Witty (19/03/04) Φέρει καταστροφικό φορτίο 1 μέρα μετά την ανακοίνωση της αδυναμίας ασφαλείας Στόχευε σε επαρκώς προστατευμένα συστήματα Ξεκίνησε με οργανωμένο τρόπο χρησιμοποιώντας κάποια λίστα στόχων (110-160 ) Το σύνολο του ευάλωτου πληθυσμού(12000 PCs) μολύνθηκε σε 45
Nimda (18/09/01) Προσβάλει εξυπηρετητές δικτύου (web servers) Εξαπλώνεται μέσω ηλεκτρονικού ταχυδρομείου Χρησιμοποιεί κοινόχρηστα δίκτυα (network shares) Τοποθετεί κακόβουλο κώδικα στις σελίδες των εξυπηρετητών που έχει προσβάλλει Χρησιμοποιεί κερκόπορτες άλλων εφαρμογών (Code Red)
Μεταθετική Ανίχνευση και Τμηματική Μεταθετική Ανίχνευση Κάθε σκουλήκι είναι υπεύθυνο για ένα συγκεκριμένο πεδίο διευθύνσεων το οποίο μειώνεται συνεχώς καθώς νέα μολύνσεις επιτυγχάνονται Διατηρεί το ρυθμό μολύνσεων ιδιαιτέρα υψηλό Μπορεί να ανιχνεύει το πέρας των διαθέσιμων στόχων Δύσκολο να ανιχνευθεί
Μεταθετική Ανίχνευση + Ανίχνευση Βασισμένη σε Λίστα Στόχων Σκουλήκι Warhol Στο μέλλον ο καθένας θα είναι διάσημος για 15 Andy Warhol, 1979
Σκουλήκι Warhol
Σκουλήκια Flash Ανίχνευση και εντοπισμός της πλειοψηφίας των ευπαθών συστημάτων στο διαδίκτυο + Κατασκευή της κατάλληλης λίστας στόχων + Τοπολογική ανίχνευση Σκουλήκια Flash
Ένα σκουλήκι τύπου Flash θα μπορούσε να μολύνει όλους τους ευπαθείς εξυπηρετητές του διαδυκτίου σε λιγότερο από 1
Λάθρα σκουλήκια Επιφέρουν ελάχιστο επιπλέον φόρτο στο Internet και ανιχνεύονται εξαιρετικά δύσκολα Ιδανικά για εφαρμογές διαμοιρασμού αρχείων σε περιβάλλον ομότιμων δικτύων Gnuman και άλλα 25 σκουλήκια για ομότιμα δίκτυα
Συμπέρασμα: O αναμενόμενος χρόνος απόκρισης καθώς και οι διαθέσιμοι πόροι σε αυτού του είδους τις επιθέσεις δεν είναι σε καμία περίπτωση επαρκείς για την αντιμετώπιση τους με συμβατικούς τρόπους
Απλές συνταγές για να καταστρέψετε το Internet και πώς να προστατευτούμε
Ασφαλείς γλώσσες προγραμματισμού εγγενώς ασφαλείς γλώσσες προγραμματισμού (Java, C#) μετατροπείς μη ασφαλών γλωσσών προγραμματισμού σε ασφαλείς (CCured, Cyclone, StackGuard) Ασφαλή περιβάλλοντα εκτέλεσης εφαρμογών αμμοπαγίδες (sandboxing) ασφαλές υλικό (Trusted Computing Platform, AMD NX, Intel XD) Πολιτικές Ασφάλειας Λεπτομερείς έλεγχος πρόσβασης (Fine-grained access controls) Υπογραφές κώδικα (Code signing)
Ποικιλομορφία σε λειτουργικά συστήματα εφαρμογές εξυπηρετητές Έλεγχος πρόσβασης στο δίκτυο περιορισμός μη ασφαλών ή μολυσμένων υπολογιστών Αντίμετρα Αντί-σκουλήκια (Code Green, Welchia)
Αντίμετρα Δικτυακά παρατηρητήρια Σκουληκότρυπες (wormholes) Μελο-παγίδες (honey-pots) Δικτυακά τηλεσκόπια Κατανεμημένη παρακολούθηση και συσχέτιση κακόβουλης δραστηριότητας DeepSight, DShield Ερευνητικές δραστηριότητες σε περιβάλλοντα ομότιμων δικτύων
Αντίμετρα και φυσικά ΕΣΕΙΣ τακτική ενημέρωση και αναβάθμιση του λογισμικού μη εκτέλεση εφαρμογών από αβέβαιες πηγές επιλογή κατάλληλων συνθηματικών και μη παραχώρηση του σε τρίτους απενεργοποίηση περιττών εφαρμογών
Απορίες & Ερωτήσεις Βασίλης Βλάχος vbill@aueb.gr