Σημαντική τρύπα ασφαλείας σε εργοστασιακά συστήματα ελέγχου (ICS)

Μια τρύπα ασφαλείας που εντοπίστηκε στο λογισμικό CoDeSys, που χρησιμοποιείται σε εργοστασιακά περιβάλλοντα, επιτρέπει σε τρίτους την εκτέλεση κώδικα σε αυτά.

Το πρόβλημα ασφαλείας μάλλον δεν ενδιαφέρει και τόσο τον μέσο χρήστη, μέχρι, βέβαια, να αγοράσει ένα αυτοκίνητο όπου τα καθίσματα βρίσκονται στη θέση των τροχών, ή μια καφετιέρα που να αρνείται να λειτουργήσει αν δεν ανοίξει η πόρτα του ψυγείου! Αστειευόμαστε, φυσικά, αλλά τα συστήματα που τρέχουν το CoDeSys, όπου εντοπίστηκε το πρόβλημα, χρησιμοποιούνται από περισσότερους από 200 κατασκευαστές.

Πρόκειται για σχεδιαστικό σφάλμα στον runtime κώδικα του CoDeSys, που τρέχει σε συσκευές Programmable Logic Controllers (PLCs). Αυτές, για παράδειγμα, ελέγχουν και αυτοματοποιούν ηλεκτρικές και μηχανικές εργασίες σε εργοστάσια παραγωγής ρεύματος, διύλυσης πετρελαίου και αερίου, εργοστάσια αλλά και στρατιωτικές εγκαταστάσεις.

Συγκεκριμένα, το runtime του CoDeSys κάνει το λάθος να “ανοίγει” μια υπηρεσία που “ακούει για συνδέσεις” μέσω TCP, δίχως, όμως, να ελέγχει τα στοιχεία όποιου δοκιμάσει να συνδεθεί. Έτσι, ο οποιοσδήποτε μπορεί να “συνδεθεί” σε μια γραμμή εντολών του συστήματος και… να σπείρει τον πανικό.

Όπως ανέφερε ο ερευνητής ασφαλείας Ruben Santamarta της IOActive, μια τέτοια επίθεση όχι μόνο επιτρέπει στον κακόβουλο χρήστη να ελέγξει το ίδιο το PLC όπου τρέχει το CoDeSys, αλλά και “να το στρέψει κατά άλλων συσκευών στο ίδιο δίκτυο”.

Ody's thoughts

Και εδώ για κάποιο λόγο μου ήρθε στο μυαλό η σκηνή-στο-φουτουριστικό-εργοστάσιο-αυτοκινήτων από το Minority Report :-)

Ο support manager της 3S-Smart Software, κατασκευάστριας του CoDeSys, δήλωσε πως γνωρίζουν το πρόβλημα και ένα patch βρίσκεται υπό ανάπτυξη για διάθεση στο πολύ κοντινό μέλλον.

...γνωστός και ως Οδυσσέας Κουράφαλος, αρχικός υπεύθυνος για το unregistered. Συντάκτης, γραφίστας, "μαλτιμηντιάς", φανατικός της science fiction και των αστείων γατιών στου ιντερνέτ. "Δηλώνω graphics whore" (παίζω Ms. Pac-Man στο MAME με 2xSAL και το πρώτο Max Payne με FXAA antialiasing). Load "unreg*",8,1.
  • ThanassisMessie

    Kai praktika ola ta systimata tha meinoun me anoixtes tis portes…. Den prokeitai na anavathmisei KANENAS  viomixanos ta PLC toy, toylaxiston stin ellada, ektos an tou tyxei kanenas psagmenos texnikos.

  • ducklord

    Σωστό, αλλά μου δίνει ελπίδες το ότι μιλάμε για software update. ΑΝ κανείς έχει επαφή με τις εταιρείες από όπου αγόρασε τον εξοπλισμό του, και όχι τη λογική “το πήρα και θα δουλεύει τζιτζί μέχρι να κάψω το εργοστάσιο” ( :-P ).

  • ThanassisMessie

    Στον ιδεατό κόσμο που όλοι κάνουν τα updates καθημερινά ισχύει. Αλλά πρακτικά στη βιομηχανία ισχύει το “If it ain’t broken, don’t try to fix it”. Επίσης, όλοι οι βιομήχανοι δεν έχουν σχέσεις με αυτόν που τους προγραμμάτισε το PLC, γιατί 99% το πήραν έτοιμο από κάποια εταιρία η οποία ξέρει τι κάνει. Στη βιομηχανία υπάρχει πρακτικά ο τεχνικός/μηχανολόγος/βαριά βαριά ηλεκτρολόγος μηχανικός υπεύθυνος ασφαλείας ο οποίος όταν χαλάσει κάτι θα πάρει τηλέφωνο την εταιρία που τους εγκατέστησε το PLC. Αν δεν έχει κλείσει. Αν δεν έχει χαλάσει τπτ, τότε δεν τρέχει κάστανο.

    Τώρα πάμε στην περίπτωση που η εταιρία που εγκαθιστά/προγραμματίζει τα PLC δουλεύει και έχει κάποιον ο οποίος έχει πάρει το mail της codesys και έχει κάνει update. Πρέπει να πάρει τηλ όλους τους υπεύθυνους ασφαλείας και να πάει στο site και να επαναπρογραμματίσει το PLC επί τόπου. Επίσης βάζουμε και τη γκρίνια του αφεντικού γιατί θα σταματήσει η γραμμή παραγωγής όσο γίνονται οι διεργασίες.

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