Jump to content
Sign in to follow this  
Dimitris Moutzouris-Ligeros

About STUXNET worm - Τα πράγματα σε μια σειρά

Recommended Posts

Επειδή συμβαίνει να έχω απασχοληθεί για χρόνια σαν διαχειριστής δικτύου και ασφάλειας σε βιομηχανικό δίκτυο τύπου SCADA (η άλλη ονομασία τους είναι DCS – Distributed Control Systems) τυχαίνει να έχω γνώση και άποψη για τέτοιες περιπτώσεις οπότε και την καταθέτω.

Αφού αφήσουμε για το τέλος το αν ο stuxnet υπάρχει ή όχι και τι είναι πραγματικά, ας ασχοληθούμε με το τεχνικό μέρος.

Τα συστήματα αυτά διαχειρίζονται βιομηχανικό εξοπλισμό, συνήθως μέσω PLCs. Κοστίζουν εκατομμύρια, διαχειρίζονται βιομηχανικές εγκαταστάσεις δισεκατομμυρίων, είναι πολύ εξειδικευμένα προγράμματα που η προσαρμογή τους στις συνθήκες και τις ιδιαιτερότητες λειτουργίας του κάθε εργοστασίου απαιτεί πραγματικά χιλιάδες εργατοώρες.

Σαν λειτουργικό σύστημα είναι κάποιο proprietary Unix της κάθε εταιρίας-κατασκευαστή και φυσικά οι εφαρμογές είναι κλειδωμένες. Δίνονται μόνο κάποια χρήσιμα utilities για τις απαιτούμενες τροποποιήσεις των λειτουργικών στοιχείων της βιομηχανικής εγκατάστασης. Για παραμετροποιήσεις λειτουργίας δηλαδή. Πχ την αλλαγή του flow rate μιας αντλίας, του alarm μιας πίεσης, θερμοκρασίας, Ι/Ο κλπ.

Ο κώδικας του λειτουργικού και των εφαρμογών όπως καταλαβαίνετε είναι στα χέρια εντελώς εξειδικευμένων προγραμματιστών της εταιρίας-κατασκευαστή. Έχω δει, λόγω αυτής της ιδιαιτερότητας προγραμματιστές αστέρια μεν, τρίτης ηλικίας δε. Εξειδίκευση.

Όμως το καημένο το Unix που είναι της δεκαετίας του ΄70 - όπου παρεπιπτόντως τότε αναπτύχθηκαν και αυτά τα συστήματα - όσο άριστο και ισχυρό κι αν είναι στο να διαχειριστεί ένα σύστημα εργοστασίου (για τα Windows αμφιβάλλω αν μπορούν), άλλο τόσο χάλια και ανίσχυρο είναι στο θέμα των γραφικών. Επιπλέον, παλιότερα τέτοια συστήματα πουλιόντουσαν και με proprietary hardware (στο κομμάτι των υπολογιστών, γιατί σε άλλο κομμάτι είναι proprietary ακόμα) γεγονός που δυσαρεστούσε οικονομικά τους πελάτες και φρέναρε τις πωλήσεις τους. Πουλούσαν για παράδειγμα μια οθόνη για 10.000 $ το ΄80-΄90!

Tα συστήματα αυτά είναι σε χαμηλό επίπεδο ελεγχόμενα με διπλά κλειδιά και άλλα ... φουτουριστικά συστήματα διπλο-τριπλο κελιδώματος, σαν αυτά που βλέπουμε στις ταινίες με τους διηπειρωτικούς πυραύλους. Αλλά πάντα σε χαμηλό επίπεδο. Στη χρήση των utilities δηλαδή.

Τι έγινε λοιπόν στα τέλη της δεκαετίας του 90; Καλά το καταλάβατε. Μπήκαν σφήνα τα Windows με τα NT 4.0 τότε! Καινούργια πράγματα. Domains, Servers, Clients, Multi-Users, όλα σε απλά PC.

Οι εταιρίες-κατασκευαστές λοιπόν (σαν τη Siemens, τις AEG, ABB, Honeywell, Yokogawa, Fisher-Rosemount, Foxboro και δυο-τρεις άλλες, γιατί μην φανταστείτε ότι είναι και πάνω από καμμιά δεκαριά παγκοσμίως) «μετέφεραν» το Unix κομμάτι σε μια κάρτα κοινού PC, έφτιαξαν applications που «παρεμβάλλονται» ανάμεσα στις εφαρμογές της κάρτας και τα Windows και τελικά οι χρήστες έχουν μπροστά τους για οπτικό έλεγχο σχεδιαγράμματα μονάδων, για χειρισμό virtual όργανα, ωραιότατα γραφικά, touch screens, ποντίκια κα.

Βέβαια, και αυτές οι επιπρόσθετες εφαρμογές είναι proprietary.

Όμως τα PC-άκια δεν είναι! Ούτε και τα Windows! Και μάλιστα, επειδή όλο αυτό το ανακάτωμα Unix, Windows, εφαρμογές για τα μεν μέσω των δε και αντιστρόφως, θέλει πολύ καλό τεστάρισμα, όλοι αυτοί οι κατασκευαστές μένουν πίσω στο θέμα της ασφάλειας.

Ούτε λίγο, ούτε πολύ για να κάνουν approve σε κάτι που αφορά τα Windows και εφαρμογές σε Windows περνάνε τρία, πέντε ίσως και περισσότερα χρόνια!

Για παράδειγμα, μεγάλη κατασκευάστρια τέτοιου εξοπλισμού μόλις ενέκρινε τα windows 2003 Server, χωρίς Service Pack 1 και ενώ στα 2000 δεν έκανε approve όλα τα service packs. Όσο για τα ενδιάμεσα patches, αφήστε καλύτερα!

Άλλη έχει εγκρίνει το Norton Antivirus 2003, το MacAfee 2005 και φυσικά τα Kaspersky, F-Secure, Eset, Panda κλπ είναι το ίδιο εξωτικά όσο και τα αληθινά panda.

Άλλη δεν έχει κάνει approve το Acrobat Reader! Το MS-Office; Office-XP approved!

Το hardware των PCs πάλι έχει άλλου είδους τρύπες. Τις usb θύρες για παράδειγμα που φυσικά με τέτοιους περιορισμούς στο πατσάρισμα και τις ελάχιστες εγκεκριμένες εφαρμογές είναι δύσκολο μέχρι ακατόρθωτο να προστατεύσεις υπό ΚΣ.

Γι αυτό τέτοια συστήματα κρατιούνται δια ροπάλου όσο γίνεται πιο απομονωμένα από το Internet. Συνήθως με χρονικούς περιορισμούς. Ανοίγει πχ μια σύνδεση κάποιου server μόνο για update του antivirus, ή για να στείλουν στοιχεία στον έξω κόσμο, επικοινωνούν με τα εταιρικά δίκτυα μονόδρομα μέσω firewalls, έχουν servers σε DMZ κοκ.

Γι αυτό και οι χρήστες αυτών των συστημάτων έχουν μπροστά τους και ένα ακόμα PC σε περιβάλλον εταιρικού δικτύου για να «βλέπουν» internet, e-mail, ERP, Word, Excel κλπ.

 

Γιατί έγινε αυτή η εκτενής εισαγωγή; Για να σκιαγραφιθεί το πλαίσιο λειτουργίας τους. Και ακολουθεί ο προβληματισμός σχετικά με χτυπήματα ιών και άλλων κακόβουλων τρυποκάρυδων.

 

Κατ΄ αρχήν με το internet επικοινωνούν. Κι ας λένε όλοι πως όχι. Μπορεί άμεσα μεν (με χρονικό περιορισμό), μπορεί έμμεσα (με την επαφή τους με τα εταιρικά δίκτυα που έτσι κι αλλιώς είναι στο internet συνεχώς), με κάποιο τρόπο επικοινωνούν. Firewalls και άλλους τέτοιους εχθρούς, ε όσο να ΄ναι, υπομονή να ΄χεις και όλο και κάτι μπορείς να κάνεις για να τους πάρεις με το μέρος σου. Πόσο μάλλον αν η βιομηχανική μονάδα λέγεται πυρηνικός σταθμός του Ιράν σήμερα, διυλιστήριο της Λιβύης παλιότερα ή κάτι άλλο.

Από την άλλη, είναι αλήθεια ότι για να χτυπήσεις σήμερα ένα PC είναι εύκολο. Εργαλεία υπάρχουν, νόμιμα και παράνομα. Στο internet βρίσκεις, ειδικά για hacking και porn, τα πάντα. Ξεφύγαμε και από τα σοφιστικέ hardware keyloggers για παράδειγμα. Αρκεί ένα U3-type usb-άκι, ένα wi-fi usb-άκι και άλλα ωραία καλούδια που μπορείς να τα ακουμπήσεις σε μια πορτούλα usb, σε μια πρίζα RG-45 και να κάνεις ένα τέτοιο σύστημα γης-μαδιάμ.

Που και πως θα το κάνεις ή μάλλον πως θα το καταφέρεις; Α-Π-Λ-Α.

Όπως θα καταλάβατε τέτοια συστήματα στο επίπεδο του Unix πολύ-πολύ δύσκολα χτυπιούνται. Θέλει υποδομές σε περιβάλλον του συγκεκριμένου proprietary Unix, θέλει προγραμματιστές όχι ταλέντα, αλλά γνώστες του συγκεκριμένου project.

Θέλει χρήμα και contacts επιπέδου ΗΠΑ, Ρωσίας, Κίνας, Ισραήλ κλπ και χάκερ-κράκερ-προγραμματιστές που να ξέρουν, να θέλουν και να μπορούν να χτυπήσουν ένα τέτοιο proprietary σύστημα. Ελληνιστί super-duper.

Αλλά τότε πως χτυπούν; Μα φυσικά μέσα από τις τεράστιες τρύπες που έχουν τα αρχαία, με την έννοια του un-patched, Windows και οι windows εφαρμογές.

Διότι αν για παράδειγμα γίνει delete το C:\Windows\System32 folder τι θα γίνει; Θα κρασάρει το PC και θα βρεθεί χωρίς έλεγχο το εργοστάσιο, είτε είναι πυρηνικός σταθμός, είτε λιπασματοβιομηχανία, είτε διυλιστήριο. Ή ακόμα έχετε δει πως το Team Viewer κάνει σκόνη τα εμπόδια; Ajax ο άσπρος σίφουνας. Χωρίς setup. Σκεφτείτε με λίγο scripting τι γίνεται. Αποκτάει κανείς τον πλήρη έλεγχο του εργοστασίου.

Θα μου πείτε, από ένα μόνο τέτοιο PC ελέγχεται μια τέτοια μονάδα; Όχι βέβαια! Από 10, 20, 100. Και λοιπόν; Αν καταφέρετε να «ακουμπήσετε» σε ένα θα είναι δύσκολο να επέμβετε και στα άλλα; Remotely; Automatically; Τι λέτε;

Παρένθεση. Τα συστήματα αυτά είναι σε χαμηλό επίπεδο (Unix) ελεγχόμενα με διπλά κλειδιά και άλλα ... φουτουριστικά συστήματα, σαν αυτά που βλέπουμε στις ταινίες με τους διηπειρωτικούς πυραύλους. Αλλά σε χαμηλό επίπεδο. Στα Windows είπαμε, δεν.

 

Τώρα, αν αναλύσουμε τα στοιχεία από τα ειδησιογραφικά πρακτορεία, τις ανακοινώσεις της Siemens, των εταιριών anti-virus και αυτές του Ιράν τι βλέπουμε;

Ότι ο stuxnet μόλυνε από τον Ιούνιο συστήματα με Windows που έλεγχαν SCADA της Siemens στη Λευκορωσία, στις ΗΠΑ και στην Ινδονησία και αλλού και τέλος χτύπησε και στο Ιράν. Αλλά τότε πως μέχρι σήμερα χτυπήθηκαν τόσα απομονωμένα μεταξύ τους και (όσο γίνεται) από το internet συστήματα; Πως ανακάλυψε η Siemens τον stuxnet; Σιγά μην η ίδια είχε τα προσόντα για να αναλύσει τα 600 kb του κώδικα του. Μέχρι και σήμερα ούτε η Symantec δεν ολοκλήρωσε! Και τι έκανε ένα τρίμηνο; Και ας μην ξεχνάμε ότι δεν υπάρχουν antivirus για malware του proprietary συστήματος (σ΄αυτές τις περιπτώσεις η λύση είναι μία, format).

 

Ποιο είναι το συμπέρασμα;

 

Ακατόρθωτο να χτυπηθεί ένα τέτοιο σύστημα δεν είναι. Η υπόθεση μπορεί να είναι βουνό αλλά και τα βουνά περνιούνται. Είτε με πολύπλοκες μεθόδους που απαιτούν βιομηχανική κατασκοπεία, χρήμα και κρατικό support είτε με απλές μεθόδους και απροσεξία των θυμάτων, ένα τέτοιο χτύπημα μπορεί να γίνει.

Δεν είναι κανένα τρομερό worm που όλα τα κόβει, όλα τα μαχαιρώνει. Δουλεύει σε Windows συστήματα με συγκεκριμένες εφαρμογές SCADA της Siemens, άρα χρησιμοποιώντας κάποιες συγκεκριμένες πόρτες και τίποτα άλλο.

Τώρα το αν οι Αμερικάνοι το φουσκώνουν μιας και την καταβρίσκουν με τις θεωρίες συνωμοσίας, το αν τα ΜΜΕ τους κατευθύνονται και κατευθύνουν (βλέπε χημικά όπλα του Ιράκ που δεν υπήρχαν τελικά, άσχετο αν ο Σαντάμ ήταν κλώνος του Αδόλφου), το αν πράγματι υπάρχει ο stuxnet, το αν είναι όντως τόσο ισχυρός και διαφορετικός (η Symantec λέει ότι δεν έχει αναλύσει ακόμα όλο τον κώδικα του κι αν τέλος αναρωτηθούμε αν το Ιράν λέει ψέματα για να ρίξει λάσπη στους εχθρούς του, ή οι εχθροί του λένε χλιαρά ψέματα για να διαψεύσουν μεν αλλά να αφήνουν και την υποψία κινδύνου-δύναμης (μέσω μπλόφας) για τους άλλους κι αν στο κάτω-κάτω όντως χτύπησε ή όχι και τελικά γιατί το έβγαλαν οι μεν στη φόρα και γιατί το συντηρούν οι άλλοι, είναι άλλου αγιοταλάχ κοράνιο (κατά του άλλου παππά ευαγγέλιο). Και βέβαια κάτι βρωμάει πολύ.

Τώρα από ποια μεριά έρχεται η μυρωδιά υποθέτω πως κάποια στιγμή θα δείξει.

 

 

Share this post


Link to post
Share on other sites

μπραβο!

Το βαρος πεφτει κυριως στο ποιος εγραψε το worm, γιατι περα του οτι ειναι καλογραμμενος εκμεταλλευεται 3 0day.

 

να το πρωτο conflict Εστια - Αθηνα.


 

ΝΚ

Share this post


Link to post
Share on other sites

μπραβο!

Το βαρος πεφτει κυριως στο ποιος εγραψε το worm, γιατι περα του οτι ειναι καλογραμμενος εκμεταλλευεται 3 0day.

 

να το πρωτο conflict Εστια - Αθηνα.


 

ΝΚ

Αν τα πει καλά θα τον βάλουμε να τα ξαναπεί σε autoexec event !

Share this post


Link to post
Share on other sites

Καλά τα λες αλλά όσοι δεν είχαν Internet κόλλησαν απο USB Flash keys και μπορώ να πω με σιγουριά ότι το ποσοστό των υπαιτίων είναι: 50% Αυτοί που το συντηρούν/κατασκεύαζουν και 50% Οι χρήστες (οι οποίοι δεν είναι σαν το Yoda από το Star Wars αλλά απλοί χρήστες).

Μου έχουν τύχει διάφορα περιστατικά (όχι με το Stuxnet) και τα παραπάνω στοιχεία απορρέουν απο αυτά.

Για να δούμε τι θα δούμε λοιπόν...

Share this post


Link to post
Share on other sites

Συμφωνούμε. Έχει κάτι boot στικάκια σήμερα (τα U3) που αρκούν κάτι δευτερόλεπτα να ακουμπήσουν σε μια πόρτα και κάνουν παππάδες.

Τώρα το τι πραγματικά έγινε, όπως λέω δτο τέλος θα δείξει.

Άλλωστε το νόημα του άρθρου δεν ήταν η έρευνα του να βρει ή να υποδείξει τον υπαίτιο αλλά το πως μπορεί να γίνει σ΄αυτά τα συστήματα.

Αν θα είσαι στο event να γνωριστούμε.

Share this post


Link to post
Share on other sites

Μην ξεχνάς ότι ένα απο τα 0 day flaws που χρησιμοποιεί (το Stuxnet) επιτρέπει την εκτέλεση .LNK αρχείων από αποσπώμενα μέσα ΧΩΡΙΣ να τα εκτελέσεις κάν! Και αυτό είναι ανατριχιαστικό....

Share this post


Link to post
Share on other sites

Σήμερα άκουσα μια ομιλία του Mikko Hypponen, του Research Manager της F-Secure που βρισκόταν στην Ελλάδα και μίλησα στο διάλλειμα μαζί του. Είπε πως ο stuxnet είχε τέσσερα 0 days και ότι υπάρχουν ενδείξεις "συνεργασίας" του με τον conficker. Είδομεν ...

Share this post


Link to post
Share on other sites

Τα πράγματα στην τελευταία τους σειρά.

Τι έκανε λοιπόν στην πράξη ο περίφημος stuxnet; Λοιπόν, από ότι άκουσα από έναν αυστραλό που μίλησε στην ημερίδα της IDC προχτές, επενέβη σε μια συγκεκριμένη ρύθμιση του συστήματος του πυρηνικού εργοστασίου στο Ιράν ως εξής: Ανέβαζε και κατέβαζε σαν τρελλές τις στροφές στα φυγοκεντρικά εμπλουτισμού του ουρανίου. Με όρια λειτουργίας 200-1500 στροφές πήγαινε από 2 (ναι δύο) στροφές στις 2500 συνέχεια. Ούτε στην F1 δεν παίζουν έτσι οι στροφές της μηχανής. Αποτελέσματα 2. α) καταστράφηκαν οι μηχανισμοί φυγοκέντρησης. Δεν άντεξαν από το ανέβα-κατέβα. β) καταστράφηκε το ουράνιο. Τώρα πιος κέρδισε και ποιος μπορεί να είναι πίσω από αυτό, είναι τόσο μα τόσο δύσκολο να το βρούμε! Ε, δεν συμφωνείτε;

Share this post


Link to post
Share on other sites

ναι καλά...σιγά μην τον έβρισκε κανείς...ούτε ο Russinovich δεν έπεζε να τον καταλάβει αν δεν ήξερε ότι έχει ιό...

 

εκτός και αν κάθετε κάθε μέρα και κοιτάζει όλα αυτά...

 

αυτό θα πει καλογραμμένος κώδικας...

Share this post


Link to post
Share on other sites

Εχεις δίκιο ... όλα τα sysinternals tool process explorer κτλ τα processes τα έδειχναν ...πράσινα   ... επειδή είχαν signed  certificates απο Realtek & Jmicron τα Malware Exe... ετσι γινόταν verify τα processes ....

Πηρε τα processes  πριν και μετά το malware infection και τα συγκρινε για να βρει την διαφορά στους  drivers  / processes ... αλλιως δεν είχε καμία πληροφόρηση από sysinternals tools ...

 

 

Share this post


Link to post
Share on other sites

Χα. Χα-χα. Χα-χα-χα.

Ξέρω, μπορεί να κούρασα μερικούς με τον "στούκσνετ" αλλά έχει πλάκα!
Διαβάστε παρακάτω και ρίξτε μια ματιά στο link

Iran targeted by second computer virus, says civil defence commander.

Stars virus follows Stuxnet worm discovered in computers at Iran's Bushehr nuclear reactor last year.

http://www.guardian.co.uk/world/2011/apr/25/iran-second-computer-virus

Share this post


Link to post
Share on other sites

νομιζω οτι ειναι λογικο κ αναμενομενο,

απο την στιγμη που καποιος εριξε χρηματα για ενα οπλο, επρεπε να ειναι σιγουρος οτι θα χτυπησει τον στοχο του πριν ληξει ο κυκλος ζωης του ιου. να εισαι σιγουρος θα υπαρχουν κ αλλες παραλαγες του ιδιου ιου, που εκμεταλευονται αλλα κενα ασφαλειας.

 

 

ΝΚ

Share this post


Link to post
Share on other sites

Ο Μark Russinovich στο Blog του συνέχισε την ανάλυση του Stuxnet Worm(Part 2) με Sysinternals tools :

Analyzing a Stuxnet Infection with the Sysinternals Tools, Part 2

Το Part1 Analyzing a Stuxnet Infection with the Sysinternals Tools, Part 1

Οπως αναφέρει θα υπάρξει και Part 3 .

Είναι πολύ σημαντικές οι αναλύσεις που κάνει στα παραπάνω Blog Posts για να εξηγήσει το πως λειτουργούσε το Stuxnet Worm .

Share this post


Link to post
Share on other sites

Καλές οι αναλύσεις του Mark, της Symantec και των άλλων ... CSi Teams, αλλά πάνω από τον νεκρό.

Και δεν είναι μόνο οι τρύπες και τα zero days που φταίνε για το κακό που γίνεται (όχι μόνο στη συγκεκριμένη περίπτωση αλλά παντού).
Πρώτα απ΄όλα φταίνε τα λάθη, οι ελλείψεις και το ρηλάξ στις πολιτικές ασφάλειας και στην εφαρμογή τους.
Αν δεν φοράς αλεξίσφαιρο καλά και σωστά κουμπωμένο όποιος σε πυροβολήσει θα σε σκοτώσει στα σίγουρα.
This is my opinion.

Share this post


Link to post
Share on other sites
Sign in to follow this  

×
×
  • Create New...