Γιατί είναι ανοικτή πηγή Σημαντικό;

Τι είναι το open source?

Το λογισμικό ανοιχτού κώδικα είναι λογισμικό του οποίου ο πηγαίος κώδικας έχει δημοσιοποιηθεί από τον κάτοχο πνευματικών δικαιωμάτων του. Κάτω από μια αληθινή άδεια ανοιχτού κώδικα, το λογισμικό αναπτύσσεται συνεργατικά και άλλοι προγραμματιστές μπορούν να εξετάσουν, να τροποποιήσουν ή να χρησιμοποιήσουν τον κώδικα για δικούς τους σκοπούς. Αυτό το "αμιγές" μοντέλο ανοιχτής πηγής συχνά αναφέρεται ως FOSS (λογισμικό ελεύθερου και ανοιχτού κώδικα).


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

Τι είναι κλειστή πηγή?

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

Λοιπόν, ποιο είναι το πρόβλημα?

Όπως λέω, όλα αυτά είναι αρκετά κατανοητά, αλλά όταν πρόκειται για την ασφάλεια, παρουσιάζει ένα σημαντικό πρόβλημα. Εάν κανείς δεν μπορεί να δει τις λεπτομέρειες του τι κάνει ένα πρόγραμμα, πώς μπορούμε να γνωρίζουμε ότι δεν κάνει κάτι κακόβουλο; Βασικά δεν μπορούμε, έτσι απλά πρέπει να εμπιστευόμαστε την εμπλεκόμενη εταιρεία, κάτι που εμείς οι παρανοϊκοί τύποι ασφαλείας είναι απελπισμένοι να κάνουμε (με καλό λόγο).

Γιατί η ανοικτή πηγή είναι η καλύτερη λύση?

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

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

Δεν είναι τέλεια λύση ...

Δυστυχώς, υπάρχει ένας περιορισμένος αριθμός ατόμων με τις δεξιότητες και τον χρόνο για τον έλεγχο λογισμικού ανοικτού κώδικα (συνήθως δωρεάν), πράγμα που σημαίνει ότι η μεγάλη πλειοψηφία των προγραμμάτων ανοιχτού κώδικα δεν έχουν ελεγχθεί.

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

Αλλά…

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

Πάντα να επαληθεύετε προγράμματα ανοιχτού κώδικα

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

Αυτό μπορεί να ακούγεται σαν φαντασίωση whacko παρανοϊκή συνωμοσία φαντασίας, αλλά τον Φεβρουάριο του 2016 ο ιστότοπος μιας από τις πιο δημοφιλείς εκδόσεις του λειτουργικού συστήματος open source Linux Linux Mint είχε καταστρατηγηθεί και μια κατεστραμμένη έκδοση του λειτουργικού συστήματος διατέθηκε στους downloaders,

"Οι χάκερ έκαναν ένα τροποποιημένο ISO Mint Linux, με ένα backdoor σε αυτό, και κατάφεραν να χάσουν την ιστοσελίδα μας για να το δείξουν."

Οι μολυσμένες εικόνες ISO του Linux εγκατέστησαν το πλήρες λειτουργικό σύστημα με το τσουνάμι, το backdoor chat (IRC), το οποίο έδωσε στους επιτιθέμενους πρόσβαση στο σύστημα των χρηστών μέσω των διακομιστών IRC. Έτσι η απειλή είναι πολύ πραγματική.

Σε αυτή την περίπτωση, οι παραλήπτες που έκαναν ενοχλητικό έλεγχο στο MD5 hash του αρχείου (δείτε εδώ για να το πράξουν) θα έχουν εντοπίσει την εξαπάτηση, αλλά οι έλεγχοι των κατακερματισμών δεν αποτελούν αξιόπιστη προστασία, διότι εάν ένας ιστότοπος μπορεί να πειραματιστεί κατά πρώτο λόγο είναι ασήμαντο για να αντικαταστήσει το δημοσιευμένο άθροισμα ελέγχου με ένα ψεύτικο που επαληθεύει το περιλαμβανόμενο αρχείο.

Είναι πολύ καλύτερο για τους προγραμματιστές να υπογράψουν ψηφιακά το λογισμικό τους, έτσι ώστε οι χρήστες να μπορούν να επαληθεύσουν την προέλευση ενός αρχείου (οι προγραμματιστές του νομισματοκοπείου ήταν πολύ χαλαροί σε αυτό το θέμα, καθώς το λογισμικό τους δεν υπογράφηκε ψηφιακά και ακόμη και η λειτουργία κατακερματισμού MD5 που χρησιμοποιήθηκε είναι γνωστή να σπάσει!)

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

Θα πρέπει επίσης να σημειώσω ότι, ιδανικά, όλο το λογισμικό θα πρέπει να υπογράφεται ψηφιακά και να επαληθεύεται, αλλά επειδή ο κώδικας ανοιχτού κώδικα μπορεί να τροποποιηθεί ελεύθερα από οποιονδήποτε, είναι ευκολότερο να παραβιάζεται παρά ο κλειστός πηγαίος κώδικας. Επομένως, είναι ιδιαίτερα σημαντικό να επαληθεύονται τα προγράμματα ανοικτής πηγής.

Ανοικτή πηγή: Συμπέρασμα

Η ανοιχτή πηγή δεν είναι μια τέλεια λύση, αλλά παρέχει την καλύτερη (και μόνο!) Εγγύηση ότι το λογισμικό μπορεί να είναι αξιόπιστο. Η εναλλακτική λύση είναι η κλειστή πηγή, η οποία δεν παρέχει καμιά εγγύηση (εκτός από την τυφλή πίστη στην εταιρεία, η οποία είναι μια πίστη οι εταιρείες τεχνολογίας δεν αξίζουν).

Brayan Jackson Administrator
Sorry! The Author has not filled his profile.
follow me