Το διαδίκτυο λειτουργεί με ελεύθερο λογισμικό ανοικτού κώδικα. Ποιός όμως πληρώνει για να το συντηρεί;
Εργαλεία ανοικτού κώδικα όπως το Log4J διατηρούν το διαδίκτυο σε λειτουργία. Το αποτέλεσμα είναι η εξουθένωση για τις ομάδες ανάπτυξης καθώς και κίνδυνοι για την εθνική ασφάλεια κρατών όταν κάτι πάει στραβά.
Αυτή τη στιγμή, ο Volkan Yazici εργάζεται 22 ώρες την ημέρα χωρίς να αμείβεται.
Ο Yazici είναι μέλος της ομάδας ανάπτυξης του Log4J, ενός εργαλείου ανοιχτού κώδικα που χρησιμοποιείται ευρέως για την καταγραφή της δραστηριότητας μέσα σε διάφορους τύπους λογισμικού. Βοηθά στη λειτουργία τεράστιων τμημάτων του διαδικτύου, συμπεριλαμβανομένων εφαρμογών που κυμαίνονται από το iCloud έως το Twitter, και ο ίδιος και οι συνάδελφοί του προσπαθούν τώρα απεγνωσμένα να αντιμετωπίσουν μια τεράστια ευπάθεια που έχει θέσει σε κίνδυνο δισεκατομμύρια διακομιστές.
Η ευπάθεια στο Log4J είναι εξαιρετικά εύκολο να αξιοποιηθεί. Αφού στείλουν μια κακόβουλη συμβολοσειρά χαρακτήρων σε ένα ευάλωτο μηχάνημα, οι χάκερ μπορούν να εκτελέσουν όποιον κώδικα θέλουν. Μερικές από τις πρώτες επιθέσεις ήταν παιδιά που επικόλλησαν τον κακόβουλο κώδικα σε διακομιστές Minecraft. Οι χάκερ, συμπεριλαμβανομένων ορισμένων που συνδέονται με την Κίνα και το Ιράν, επιδιώκουν τώρα να εκμεταλλευτούν την ευπάθεια σε οποιοδήποτε μηχάνημα μπορούν να βρουν που εκτελεί τον ελαττωματικό κώδικα.
Και δεν υπάρχει σαφές τέλος στον ορίζοντα. Το ζήτημα Log4J ισοδυναμεί με μια μακροπρόθεσμη κρίση ασφαλείας που αναμένεται να διαρκέσει μήνες ή και χρόνια. Η Jen Easterly, διευθύντρια της αμερικανικής Υπηρεσίας Κυβερνοασφάλειας και Ασφάλειας Υποδομών, δήλωσε ότι πρόκειται για "ένα από τα σοβαρότερα ελαττώματα" που έχει δει ποτέ.
Για κάτι τόσο σημαντικό, θα περίμενε κανείς ότι οι μεγαλύτερες εταιρείες τεχνολογίας και οι κυβερνήσεις του κόσμου θα είχαν αναθέσει σε εκατοντάδες υψηλά αμειβόμενους εμπειρογνώμονες να επιδιορθώσουν γρήγορα το ελάττωμα.
Η αλήθεια είναι διαφορετική: Το Log4J, το οποίο αποτελεί εδώ και καιρό ένα κρίσιμο κομμάτι της βασικής υποδομής του διαδικτύου, ιδρύθηκε ως εθελοντικό έργο και εξακολουθεί να λειτουργεί σε μεγάλο βαθμό δωρεάν, παρόλο που πολλές εταιρείες εκατομμυρίων και δισεκατομμυρίων δολαρίων βασίζονται σε αυτό και επωφελούνται από αυτό κάθε μέρα. Ο Yazici και η ομάδα του προσπαθούν να το διορθώσουν σχεδόν δωρεάν.
Αυτή η περίεργη κατάσταση είναι ρουτίνα στον κόσμο του λογισμικού ανοικτού κώδικα, των προγραμμάτων που επιτρέπουν σε οποιονδήποτε να επιθεωρεί, να τροποποιεί και να χρησιμοποιεί τον κώδικά τους. Πρόκειται για μια ιδέα δεκαετιών που έχει γίνει κρίσιμη για τη λειτουργία του διαδικτύου. Όταν πηγαίνει σωστά, ο ανοικτός κώδικας είναι ένας θρίαμβος της συνεργασίας. Όταν όμως κάτι πηγαίνει στραβά, είναι ένας τεράστιος κίνδυνος.
"Ο ανοιχτός κώδικας διαχειρίζεται το διαδίκτυο και, κατ' επέκταση, την οικονομία", λέει ο Filippo Valsorda, ένας προγραμματιστής που εργάζεται σε έργα ανοιχτού κώδικα στην Google. Και όμως, εξηγεί, "είναι εξαιρετικά σύνηθες ακόμη και για έργα βασικής υποδομής να υπάρχει μια μικρή ομάδα συντηρητών ή ακόμη και ένας μόνο συντηρητής που δεν πληρώνεται για να εργάζεται στο συγκεκριμένο έργο".
Καμία αναγνώριση για τους προγραμματιστές
"Η ομάδα εργάζεται νυχθημερόν", είπε ο Yazici σε μήνυμα ηλεκτρονικού ταχυδρομείου. "Επιτέλους, η δική μου βάρδια, από τις 6 π.μ. έως τις 4 π.μ. (όχι, δεν υπάρχει τυπογραφικό λάθος στην ώρα) μόλις τελείωσε".
Εν μέσω των εξουθενωτικών ωρών εργασίας, ο Yazici βρήκε χρόνο να κουνήσει το δάχτυλο τους επικριτές, γράφοντας στο Twitter ότι "Οι συντηρητές του Log4j εργάζονται άγρυπνα για μέτρα μετριασμού: διορθώσεις, έγγραφα, CVE, απαντήσεις σε ερωτήματα κ.λπ. Ωστόσο, τίποτα δεν εμποδίζει τους ανθρώπους να μας κατακρίνουν, για δουλειά για την οποία δεν πληρωνόμαστε, και για ένα χαρακτηριστικό που η ύπαρξή του δεν αρέσει σε όλους μας, αλλά έπρεπε να διατηρήσουμε λόγω ανησυχιών για την προς τα πίσω συμβατότητα".
Πριν η ευπάθεια του Log4J κάνει αυτό το σκοτεινό αλλά πανταχού παρόν λογισμικό να γίνει πρωτοσέλιδο, ο επικεφαλής του έργου Ralph Goers είχε συνολικά τρεις μικρούς χορηγούς που υποστήριζαν το έργο του. Ο Goers, ο οποίος εργάζεται στο Log4J παράλληλα με μια δουλειά πλήρους απασχόλησης, είναι υπεύθυνος για τη διόρθωση του ελαττωματικού κώδικα και την κατάσβεση της πυρκαγιάς που προκαλεί ζημιές εκατομμυρίων δολαρίων. Είναι ένας τεράστιος φόρτος εργασίας για μια ενασχόληση ελεύθερου χρόνου.
Η υποχρηματοδότηση του λογισμικού ανοικτού κώδικα είναι "συστημικός κίνδυνος για τις Ηνωμένες Πολιτείες, για τις κρίσιμες υποδομές, για τις τράπεζες, για τα χρηματοοικονομικά", λέει ο Chris Wysopal, επικεφαλής τεχνολογίας στην εταιρεία ασφάλειας Veracode. "Το οικοσύστημα ανοικτού κώδικα είναι εκεί πάνω σε σημασία για τις κρίσιμες υποδομές μαζί με το Linux, τα Windows και τα θεμελιώδη πρωτόκολλα του διαδικτύου. Αυτοί είναι οι κορυφαίοι συστημικοί κίνδυνοι για το διαδίκτυο".
Πώς φτάσαμε σε αυτό το σημείο;
Η απάντηση έρχεται με τη μορφή μιας άλλης ερώτησης: Γιατί οι εταιρείες τεχνολογίας να πληρώσουν για κάτι που παίρνουν δωρεάν; Αλλά η τεράστια σημασία του λογισμικού ανοικτού κώδικα σημαίνει ότι το status quo θεωρείται όλο και περισσότερο αβάσιμο.
"Ο εθελοντισμός δεν είναι βιώσιμος για τις κρίσιμες υποδομές, επειδή οι εθελοντές έχουν το δικαίωμα να εργάζονται μόνο στα διασκεδαστικά ή ενδιαφέροντα μέρη της "δουλειάς"", λέει ο Valsorda. "Ένα έργο ανοιχτού κώδικα χρειάζεται επίσης προσεκτικούς τεχνικούς ελέγχους, μηχανισμούς ελέγχου εκδόσεων, διαχείριση προβλημάτων, αξιολογήσεις ασφαλείας, αναθεώρηση κώδικα των συνεισφορών - και ένας συντηρητής μπορεί να βρίσκει κάποιες ή καμία από αυτές τις πτυχές από μόνες τους παρακινητικές".
Καθώς η πίεση και οι επικριτές συσσωρεύονται στην ομάδα του Log4J, παλιά ερωτήματα περί δικαιοσύνης τίθενται σχετικά με τον κόσμο του ανοιχτού κώδικα.
"Η δικαιοσύνη είναι ένα πρόβλημα", λέει ο Ceki Gülcü, ο οποίος ίδρυσε τη Log4 . "Υπάρχει αυτή η περίεργη ανισορροπία, όπου κερδίζεις από κάτι αλλά δεν δίνεις τίποτα πίσω".
Το κοινό αγνοεί επίσης σχεδόν πλήρως τον τεράστιο ρόλο -και τον κίνδυνο- του λογισμικού ανοικτού κώδικα που βασίζεται στην ελεύθερη εργασία και λειτουργεί στο διαδίκτυο. Το OpenSSL τροφοδοτεί την κρυπτογράφηση, για παράδειγμα, και το Linux βρίσκεται πίσω από τα πιο ευρέως χρησιμοποιούμενα λειτουργικά συστήματα στον πλανήτη, συμπεριλαμβανομένου του Android.
Ο Gülcü επισημαίνει τα προβλήματα πρόσληψης και διατήρησης προσωπικού σε έργα ανοικτού κώδικα. Δεν είναι εύκολο να προσελκύσεις και να διατηρήσεις ταλέντα ακόμη και σε μεγάλα έργα, όταν οι αμοιβές κυμαίνονται από ένα κλάσμα των αμοιβών που μπορεί να καταβάλει μια εταιρεία μέχρι το μηδέν. Και αυτό μπορεί να έχει αντίκτυπο στην εθνική ασφάλεια.
Το 2018, ο προγραμματιστής πίσω από ένα δημοφιλές έργο ανοικτού κώδικα που ονομάζεται ua-parser-js παραιτήθηκε, μη θέλοντας να εργαστεί πλέον δωρεάν. Το λογισμικό χρησιμοποιείται από μεγάλες εταιρείες τεχνολογίας, όπως η Google, η Amazon και το Facebook. Το άτομο που πήρε τον έλεγχο του ua-parser-js στη συνέχεια υπέκλεψε το λογισμικό και πρόσθεσε κακόβουλο κώδικα στο έργο για να κλέψει κρυπτονομίσματα. Το υπουργείο Εσωτερικής Ασφάλειας των ΗΠΑ εξέδωσε τελικά προειδοποίηση προς τους χρήστες για τον χάκερ. Παρά τις πολλές χιλιάδες προγραμματιστών που χρησιμοποιούσαν το λογισμικό, το εν λόγω έργο είχε συγκεντρώσει μόλις 41,61 δολάρια σε κεφάλαια (ναι, σαράντα ένα δολάρια και εξήντα ένα σεντς). Ο αρχικός προγραμματιστής, ο οποίος είχε παραδώσει ελεύθερα τον έλεγχο στον ανώνυμο διάδοχο, χαρακτήρισε την κατάσταση "τρελή".
Ωστόσο, η πραγματικότητα είναι πως κορυφαίοι προγραμματιστές λογισμικού αφιερώνουν πάντα χρόνια δωρεάν εργασίας και δεν παίρνουν τίποτα σε αντάλλαγμα. Ο Gülcü, για παράδειγμα, μετέτρεψε την δωρεάν εργασία του στο Log4J σε πολλαπλές προσοδοφόρες θέσεις εργασίας ανάπτυξης λογισμικού στον χρηματοπιστωτικό κλάδο.
Είναι στην πραγματικότητα αρκετά τυπικό για την εργασία ανοιχτού κώδικα να βοηθάει στη δημιουργία ενός χαρτοφυλακίου έργων που στη συνέχεια οδηγεί σε αμειβόμενες θέσεις εργασίας. Κατά κάποιο τρόπο ο θεσμός αυτός μοιάζει με την απλήρωτη πρακτική άσκηση σε άλλες βιομηχανίες - ένα σύστημα που θεωρείται όλο και περισσότερο ανήθικο, εκμεταλλευτικό και αδικαιολόγητα επωφελές για τους ανθρώπους που έχουν την πολυτέλεια να αναλαμβάνουν εργασία χωρίς αμοιβή εις βάρος εκείνων που δεν μπορούν. Με αυτόν τον τρόπο, η υποχρηματοδότηση της εργασίας ανοικτού κώδικα μπορεί να διαιωνίσει περισσότερα από απλώς κάποια, σοβαρά ή μη, τεχνικά ζητήματα.
Πώς μπορεί να διορθωθεί το status quo;
Τα προβλήματα αυτής της κατάστασης αρχίζουν επιτέλους να αναγνωρίζονται.
"Οι εταιρείες τεχνολογίας, οι επιχειρήσεις, οποιοσδήποτε γράφει λογισμικό εξαρτάται από τον ανοιχτό κώδικα", λέει ο Wysopal. "Τώρα υπάρχει αναγνώριση στα υψηλότερα επίπεδα της κυβέρνησης ότι αυτό αποτελεί μεγάλο κίνδυνο".
Ο Easterly και άλλοι εμπειρογνώμονες λένε ότι οι εταιρείες τεχνολογίας πρέπει να βελτιώσουν τη διαφάνεια. Η υιοθέτηση ενός νομοσχεδίου για το λογισμικό, όπως προβλέπεται από εκτελεστική εντολή του Προέδρου Joe Biden για την κυβερνοασφάλεια το 2021, θα βοηθούσε τόσο τους προγραμματιστές όσο και τους χρήστες να κατανοήσουν καλύτερα τι είναι πραγματικά ευάλωτο σε πειρατεία όταν ανακαλύπτονται σφάλματα λογισμικού.
Ο Valsorda, ο οποίος έχει καταφέρει να μετατρέψει το δικό του έργο ανοιχτού κώδικα σε μια καριέρα υψηλού προφίλ, λέει ότι η επισημοποίηση και ο επαγγελματισμός της σχέσης μεταξύ των προγραμματιστών και των μεγάλων εταιρειών που χρησιμοποιούν το έργο τους θα μπορούσε να βοηθήσει. Υποστηρίζει τη μετατροπή της εργασίας ανοικτού κώδικα από χόμπι σε επαγγελματική σταδιοδρομία, ώστε οι κρίσιμες υποδομές να μην εξαρτώνται από τον ελεύθερο χρόνο ενός προγραμματιστή που έχει ήδη μια δουλειά πλήρους απασχόλησης. Και υποστηρίζει ότι οι εταιρείες θα πρέπει να αναπτύξουν συστήματα για να αποδίδουν στους ανθρώπους που συντηρούν έργα ανοικτού κώδικα τη δίκαιη αγοραία αξία τους.
Ορισμένες εταιρείες έχουν ήδη αναγνωρίσει την ανάγκη αυτή. Η Google δεσμεύτηκε πρόσφατα να διαθέσει 100 εκατομμύρια δολάρια για την υποστήριξη της ανάπτυξης ανοικτού κώδικα και την αποκατάσταση ευπαθειών.
Ο Wysopal λέει ότι πρέπει να γίνουν περισσότερα για να βελτιώσουμε την βιωσιμότητα των έργων ανοικτού κώδικα - η τελευταία ενημέρωση έγινε πριν από μια εβδομάδα ή πριν από δύο χρόνια; - και στη συνέχεια να υποστηρίξουμε συστηματικά τα καλά έργα και παράλληλα να εξαλείψουμε αυτά που δεν μπορούν να διασφαλιστούν ως προς την ασφάλεια και την βιωσιμότητά τους. Ένα άλλο έργο της Google, το Open Source Technology Improvement Fund, στοχεύει στον έλεγχο και τη βελτίωση κρίσιμων έργων ανοικτού κώδικα.
Οι επιπτώσεις από τις ευπάθειες του Log4J είναι ένα τέλειο παράδειγμα ενός ευρύτερου προβλήματος, ωστόσο. Τα ελαττώματα βρίσκονται στον σχεδιασμό του λογισμικού και, επομένως, για να βρεθούν, απαιτείται κάποιος που κατανοεί πραγματικά τον σχεδιασμό. Τα τρέχοντα μοντέλα "bug bounty", τα οποία πληρώνουν τρίτους για να ελέγξουν αυτοί το λογισμικό και να βρουν ελαττώματα, δεν βοηθούν αρκετά εδώ, καθώς οι ξένοι προς το έργο προγραμματιστές απλά δεν έχουν το οικονομικό κίνητρο να αναπτύξουν αυτού του είδους τη βαθιά κατανόηση.
"Πρόκειται για την απόλυτη αποτυχία της αγοράς", λέει ο Wysopal. "Παίρνουμε το καλό μέρος του κοινόχρηστου κώδικα και βάζουμε κάποιον άλλον να αναλάβει την ευθύνη για το κακό μέρος. Πρέπει να υπάρξει μεγαλύτερη χρηματοδότηση για την συντήρηση των έργων ανοικτού κώδικα".
0 Post a Comment:
Δημοσίευση σχολίου