You are currently viewing Η κυβερνοασφάλεια στον απόηχο του Apache Log4j

Η κυβερνοασφάλεια στον απόηχο του Apache Log4j

AΠΟ ΤΟΝ ΘΕΟΔΩΡΗ ΘΕΟΔΩΡΟΠΟΥΛΟ 

Στις 9 Δεκεμβρίου 2021 ένας ερευνητής του κινέζικου κολοσσού Alibaba, ενημέρωσε την κοινότητα ανοιχτου λογισμικού του Apache Software Foundation (ASF) για την ύπαρξη ενός κενού ασφαλείας στο λογισμικό Log4J. Το λογισμικό που αναπτύσσεται από τον συγκεκριμένο οργανισμό από το 2001, παρέχει εξειδικευμένες λειτουργίες καταγραφής τεχνικών λεπτομερειών και γεγονότων  (logs) για εφαρμογές Java και κατά την αναφορά του ερευνητή επέτρεπε την εκτέλεση τυχαίου κώδικα σε συστήματα που το τρέχουν.

Η δυνατότητα του log4j να αναγνωρίζει και να εκτελεί εντολές σε logs που καλείται να καταγράψει, είναι αυτή που προκάλεσε στο κενό ασφαλείας, καθώς μερικές από αυτές τις εντολές, μπορούν να οδηγήσουν στο «κατέβασμα» και  «τρέξιμο» τυχαίου κώδικα στο μηχάνημα που loggaρει με το log4j.  

Η ομάδα ασφαλείας του ASF απέδωσε στο ζήτημα τον μέγιστο βαθμό 10/10 στην κλίμακα κινδύνου που διατηρεί και η οποία υπολογίζεται με βάση πολλά κριτήρια που καθορίζονται από τον Αμερικάνικο ινστιτούτο Προτύπων και Τεχνολογιών. Για να καταχωρηθεί με το παραπάνω «σκόρ» το κενό ασφαλείας στην σχετική λίστα που διατηρεί ο Αμερικάνικος Οργανισμός Κυβερνο-ασφάλειας σταθμίστηκαν παράγοντες όπως; oι ιδιότητες του δικτύου και του λειτουργικού συστήματος που απαιτούνται για να εκμεταλλευτεί κάποιο κακόβουλο λογισμικό το κενό, η ευκολία με την οποία κάποιος μπορεί να εκμεταλλευτεί το κενό, η ύπαρξη κώδικα που αποδεικνύει τα παραπάνω.

Ένας παραπάνω λόγος που καθιστά τα παραπάνω αξιοσημείωτα, είναι ότι το log4j είναι πολύ δημοφιλές και χρησιμοποιείται πολύ από εφαρμογές που τρέχουν Java. Σχετικές αναλύσεις αναφέρουν ότι το κενο επηρεάζει περίπου 17.000 «βιβλιοθήκες» της Java, νούμερο που αντιστοιχεί περίπου στο 4% του συνόλου των βιβλιοθηκών που βρίσκονται στο κεντρικό και ποιο διαδεδομένο αποθετήριο της Java που ονομάζεται Maven. Αν και είναι δύσκολο να μιλήσει κανείς με νούμερα σε αυτή την περίπτωση, σχετικές αναφορές στο διαδίκτυο κάνουν λόγο για ψηλά ποσοστά εταιρικών υποδομών με αυτό το κενό, που εκτίθενται στο δημόσιο διαδίκτυο και πολύ υψηλότερα ποσοστά υποδομών που έχουν το κενό αλλά δεν εκτίθενται αυτό δημόσια.

Το παραπάνω κενό ασφαλείας υπήρχε από το 2013! στο log4j, ενώ το 2016 είχε αναφερθεί σε συνέδριο κυβερνοασφάλειας το γενικότερο πρόβλημα δυναμικής εκτέλεσης τυχαίου κώδικα που αποτελεί και μέρος του προβλήματος του log4j.  Σύμφωνα με αναφορές του διαδικτύου σχετικές κυβερνοεπιθέσεις  φαίνεται να υπήρχαν και 10 μέρες πριν την δημοσίευσή του προβλήματος. Σίγουρα γεννά απορίες το γεγονός ότι το κενό πέρασε σχεδόν απαρατήρητο για τόσα χρόνια. Εννοείται πως μετά την δημοσίευση του ακολούθησε καταιγισμός κυβερνοεπιθέσεων, με τις σχετικές αναφορές να σημειώνουν εκατοντάδες επιθέσεις ανά λεπτό στα μεγάλα εταιρικά δίκτυα.

Η δυνατότητα εκτέλεσης τυχαίου κώδικα απετέλεσε πρόσφορο έδαφος για την ανάπτυξη λογής λογής επιθέσεων. Μερικά διαδεδομένα παραδείγματα είναι η απόπειρα εγκατάστασης ransomware, κακόβουλου λογισμικού για την εξόρυξη κρυπτονομισμάτων, η δημιουργία συνδέσεων απομακρυσμένου τερματικού, η διαρροή ευαίσθητης πληροφορίας όπως κωδικοί χρήστη κλπ. Κυκλοφορούν επίσης στο διαδίκτυο ενδεικτικά παραδείγματα με πιο ευφάνταστες επιθέσεις, υλοποιημένες από ερευνητές κυρίως, όπως η «μετάλλαξη» ενός εξυπηρετητή του δημοφιλούς παιχνιδιού Μinecraft (Java edition) σε εξυπηρετητή για το παιχνίδι Doom!

Η αντίδραση της κοινότητας ανάπτυξης λογισμικού μετά την δημοσίευση και αρχική αντιμετώπιση του κενού ήταν καθολική και οδήγησε, στην ανίχνευση περαιτέρω σχετικών κενών ασφάλειας  και εκδόσεων του λογισμικού log4j που καταργούν το κενό ασφαλείας και στην γενικευμένη έκδοση οδηγιών για την παράκαμψή του. Είναι ενδεικτικό ότι στον ιστότοπο όπου αναρτάται το ιστορικό των κενών ασφαλείας του log4j από το ASF, έπεται μια αναφορά κενού ασφαλείας που αναφέρει παραλείψεις της λύσης που δόθηκε στο αρχικό πρόβλημα και δυο ακόμα αναφορές σχετικών κενών ασφαλείας με μικρότερο «σκορ». Η ανίχνευση των αναφορών έγινε σε ορισμένες περιπτώσεις ταυτόχρονα από προγραμματιστές κολοσσών (Google, Akamai, Github), μικρότερων εταιρειών και από ανεξάρτητους ερευνητές και προγραμματιστές.  Η αντιμετώπιση του προβλήματος στην ρίζα του, προέκυψε από την ομάδα ανάπτυξης του log4j, που κατά τα επίσημα στοιχεία του apache software foundation αριθμεί 11 άτομα!

Είναι εντυπωσιακό το πώς μια βιβλιοθήκη για log-aarisma (καταγραφή γεγονότων) οδήγησε σε μια από τις μεγάλες κρίσεις κυβερνο-ασφαλείας τα τελευταία χρόνια. Το γεγονός ότι ζημιά αυτής της έκτασης, ουσιαστικά προήλθε μόνο από ένα έργο ανοικτού κώδικα που η διαχείριση του βρισκόταν στα χέρια εθελοντών, είναι άκρως ενδεικτικό του τρόπου που λειτουργεί το διαδίκτυο. Περιπτώσεις σαν αυτή που περιγράψαμε, μας φέρνουν μπροστά σε σκέψεις σχετικά με το πόσο εκτεθειμένοι είμαστε σε ζητήματα ασφαλείας στο διαδίκτυο, ανά πάσα στιγμή. Στον απόηχο των γεγονότων, ειδικοί και εμπειρογνώμονες θα ζητήσουν να ενισχυθεί το κανονιστικό πλαίσιο που διέπει τη λειτουργία του διαδικτύου, ωστόσο, η συζήτηση αυτή θα είναι πολύ δύσκολη ειδικά αν αναλογιστεί κανείς ότι η υποδομή που σε πολύ μεγάλο βαθμό έχει καθορίσει αυτό που είναι σήμερα το διαδίκτυο, βασίζεται σε συνεργατικά και εθελοντικά σχήματα. Δυστυχώς, η υπόθεση του Log4j θα παραμείνει ως σημαντικό ζήτημα σε όλο το 2022 και θα δημιουργήσει επιτακτική ανάγκη για τους οργανισμούς και τις επιχειρήσεις να βασιστούν στην τεχνογνωσία των ειδικών ώστε να αποφύγουν μελλοντική ζημιά.