Συχνά αναφέρουμε ότι στο GNU/Linux πρακτικά δεν υπάρχει κίνδυνος από ιούς. Αυτήν είναι η σύντομη απάντηση σε κάποιον που μας ρωτάει αν θα πρέπει να εγκαταστησει κάποιο λογισμικό προστασίας στο Ubuntu του. Υπάρχει όμως και μία εκτενέστερη απάντηση την οποία θα ήθελα να αναπτυξω.
Καταρχην να ξεκαθαρίσουμε ότι όταν μιλάμε για ασφάλεια πρέπει να έχουμε στο νου ότι κανένα σύστημα δεν είναι ούτε και θα είναι άτρωτο, θα πρέπει λοιπόν όταν αναφερόμαστε στον όρο ασφάλεια να αναφερόμαστε σε συγκεκριμένους κινδύνους κι όχι σε ασφάλεια "εφ όλης της ύλης".
Προσωπικά διακρίνω δυο κύριες κατηγορίες κινδύνων σε ένα λειτουργικό σύστημα:
1. Στοχευμένη επίθεση: Κάποιος cracker μας έχει βάλει στο μάτι (π.χ. θελει κάτι που έχουμε στο δίσκο μας) κι ασχολειται με τον υπολογιστη μας ψάχνωντας τρόπο να επιτύχει τον στόχο του.
2. Γενικό κακόβουλο λογισμικο. Κακόβουλο λογισμικό το οποίο είναι σχεδιασμένο να τρέχει σε όσο το δυνατόν περισσότερους υπολογιστές και να διαδίδεται αυτόματα απο υπολογιστη σε υπολογιστη. Θα το διακρίνω σε 2 περαιτέρω κατηγοριες:
α. Λογισμικό το οποίο κάνει μία συγκερκιμένη δουλεία (π.χ. συλλεγει κι αποστέλει πληροφοριες) και το οποίο προσπαθει να μεινει όσο το δυνατόν απαρατήρητο.
β. Λογισμικό το οποίο η μονη δουλεια που κανει είναι να κανει πολυ φασαρία γύρω απο την ύπαρξη του (χωρις να έχει βρεί ακόμα το νόημα της ζωής του). Τέτοιο λογισμικό προσπαθεί συνήθως να κανει τον βίο του χρήστη αβίωτο ή να κανει ζημια στο σύστημα.
Για την κατηγορία 1, όλα τα σύγχρονα συστήματα διατρέχουν λίγο πολύ τους ίδιους κινδύνους. Πιστεύω ότι το Linux ειναι λιγο πιο ασφαλές σε σχέση με τα windows γιατι:
- Σε μία default εγκατασταση τρέχουνε λιγότερα services που μπορούν να προσπελαστουν μέσω του δικτύου απότι σε μια εγκατασταση windows.
- Τα vulnerabilities που θα θελήσει να εκμεταλευτει ένας cracker διορθώνονται πιο άμεσα από την στιγμή που εντοπίζονται.
- Το μη γραφικό κομμάτι του Linux ειναι αρκετά τεσταρισμένο σε τέτοιο είδους επιθέσεων/vulnerabilities λόγω της ευρείας χρησης του σε διακομιστές. Ο cracker θα ψάξει να βρει κάποιο δρόμο κυρίως μέσα απο το γραφικό κομμάτι ή τις ιδιαιτερότητες της διανομής μας.
Για την κατηγορία 2 παρατηρούμε πρακτικά παντελή έλλειψη περιστατικών στο GNU/Linux. Οι λόγοι για αυτήν την έλλειψη δεν είναι μονο τεχνικοί. Από τεχνικής απόψεως είναι δυνατόν να γίνει το GNU/Linux όπως και κάθε σύστημα στοχος τέτοιου είδους κακόβουλου λογισμικου. Θα ήθελα λοιπόν να απαριθμήσω τους λόγους για τους οποίους πιστεύω ότι δεν παρατηρουμε αυτό το φαινόμενο στο GNU/Linux:
- Ελάχιστη διάδωση πειρατικού λογισμικού.
- Μικρότερο ποσοστό χρησης του Linux.
- Ξεκάθαρος διαχωρισμός super user / normal user ενώ στα windows ο διαχωρισμός αυτός εξαρτάται από την ρύθμιση του UAC.
- Πιο συνειδητοποιημένο προφίλ των χρηστών GNU/Linux. Π.χ. πάντοτε αποτρέπουμε εναν νεο χρήστη από το να απενεργοποιησει τον κωδικό superuser. Αντιθέτως υπάρχουν πολλοί χρήστες windows που απενεργοποιούν το UAC.
- Έλλειψη κινήτρου ανάπτυξης κακόβουλου λογισμικου της κατηγορίας 2β. Οι χρήστες GNU/Linux δεν θα πάνε να αγοράσουν π.χ. το Kaspersky για να προστατευτουν. Θα ζητήσουν από την διανομή τους να τους προστατέψει λύνοντας το ουσιαστικό προβλημα ασφάλειας κι όχι βάζοντας χωροφύλακες.
- Έλλειψη σε usb sticks λειτουργίας αντίστοιχης του autorun.inf στα windows.
- Οι διανομές GNU/Linux δεν ειναι τόσο επιρεπείς σε λογικές του στυλ "ο πελάτης (χρηστης) έχει πάντα δίκιο" οπότε αν αυτος θέλει να μην μπαινει η ασφάλεια στα ποδια του εμείς θα κατεβάσουμε το επίπεδο της ασφάλειας. Στο GNU/Linux αν ο χρηστης πρέπει να κανει συμβιβασμους για την ασφάλεια του θα μάθει να τους κάνει.
- Πολυμορφία των διανομών GNU/Linux που κυκλοφορούν.
Κάτι άλλο που θα πρέπει να έχουμε στον νου είναι ότι δεν μπορει να υπάρχει ασφάλεια χωρίς να ενοχλείται κατα κάποιον τρόπο ο χρήστης απο τα μέτρα ασφάλειας. Ειτε κάποιος κωδικός θα είναι απαραίτητος είτε κάποια επιβεβαίωση για διάφορες ενέργειες του χρήστη.
Τέλος το θέμα της ασφάλειας ενός συστήματος σήμερα πιστευω ότι ειναι περισσότερο θέμα ρυθμίσεων παρά θέμα υποδομών κι εργαλείων. Όλα τα σύγχρονα λειτουργικα συστηματα έχουν τις υποδομές για να γινουν αποδεκτά ασφαλή.
Προστασία απο κινδύνους κι αντιμετώπιση σε GNU/Linux:
- Για την περίπτωση 1 μπορούμε να ρυθμισουμε το προεγκατεστημένο firewall σύμφωνα με τις αναγκες μας, μπορουμε να χρησιμοποιούμε κρυπτογραφημένα συστηματα αρχείων και να αποφεύγουμε την εγκατάσταση περιττών services. Καλό είναι να αλλάζουμε συχνά τους κωδικούς μας.
- Για την περίπτωση 2 το βασικό για εναν απλό χρήστη είναι να μην εγκαθιστά λογισμικό εκτός των επισημων αποθετηρίων κι αυτό ειναι που προωθούμε οι περισσότεροι σε αυτο εδώ το φόρουμ.
- Εάν έχουμε την τύχη να είμαστε οι πρωτοι που θα εντοπίσουμε κακόβουλο λογισμικό στο Ubuntu μας, κανουμε ενα σχετικό bug report στο Launchpad. Το πιθανοτερο θα είναι μέσα σε λίγες ώρες να συγκεντρώσουμε το ενδιαφέρον χιλιαδων μελών που θα θέλουν να μελετήσουν και να λύσουν το πρόβλημα. Προσωπικά δεν θα προσπαθούσα να εξοντόσω το λογισμικό γιατι σίγουρα θα έχει τεχνικο ενδιαφέρον και θα βοηθησει στην επίλυση του προβλήματος. Η οριστική επίλυση του προβληματος θα γίνει με κάποιο update το οποίο είτε θα διορθωνει κάποιο vulnerability είτε θα αλλάζει κάποια ρύθμιση/στρατηγική του συστήματός μας που επιτρέπει στο κακόβουλο λογισμικό να διεισδήσει. Η λύση του προβλήματος ΔΕΝ θα έχει την μορφή κάποιου Antivirus.
Κάποια σενάρια:
1. Επίθεση μέσω Firefox εγκατάσταση κάποιου κακόβουλου λογισμικου στο home το οποίο θα προσπαθει να κανει phishing το password του χρήστη είτε να το υποκλεψει με άλλον τρόπο, είτε να το μαντέψει.
Τρόποι επίλυσης: Διόρθωση σχετικής vulnerability του Fireforx, Sandboxing του Firefox π.χ. με το AppArmor ή το SElinux
2. Επίθεση μέσω mail. Αποσυμπιέζουμε κάποιο αρχειο που λαβαμε μεσω mail και το οποίο περιέχει έναν desktop launcher. Οι desktop launchers ειναι αρχεία που έχουν την δυνατότητα να εκτελούν κώδικα και να φαίνονται στο γραφικό περιβάλλον ως αρχεία με διαφορετική εμφανιση.
Τρόποι επίλυσης: Περαιτερω αυστηροποίηση της λογικής των desktop launcher.
Γενικά οποιοδηποτε υπαρκτό σενάριο έχει και μία λυση εντός του συστήματος και χωρίς την ανάγκη ενός χωροφύλακα που θα καταναλώνει πόρους συνεχώς. Γιαυτο υποστηρίζω την άποψη ΜΗΝ βαζετε Antivirus σε Linux ούτε τωρα ούτε στο μέλλον.
Τέλος το ερωτημα για μένα δεν ειναι το εαν, γιατι και κατα πόσο είναι ασφαλές το GNU/Linux αλλα γιατί δεν είναι ιδιαίτερα ασφαλείς οι διάφορες εκδόσεις των windows. Εντάξει τα XP δεν είχαν ιδιαίτερες υποδομές για να είναι ασφαλή, αλλά τα Vista και τα 7 θα μπορουσαν να γίνουν αποδεκτά ασφαλή χωρίς να απαιτουν από τον χρήστη να προσλάβει χωροφύλακες. Ο λογος για τον οποίο δεν είναι, ειναι ότι δίνουν και τα κίνητρα και κάποιες στοιχειώδεις δυνατότητες για την δημιουργία κι εξάπλωση κακόβουλου λογισμικού όντας εγκλωβισμένα στο δικό τους μοντέλο ανάπτυξης και χρήσης.
Υ.Γ. Για όσους αναφέρουν το παραδειγμα του unrealircd ως αντιπροσωπευτικό δείγμα ΕΛΛΑΚ ας διαβάσουν το σχολιό μου εδώ:
viewtopic.php?f=4&t=12684





