Γιατί η έκδοση 64-bit των Windows είναι πιο ασφαλής
Οι περισσότεροι νέοι υπολογιστές έχουν αποσταλεί με την έκδοση 64-bit των Windows - και τα Windows 7 και 8 - εδώ και χρόνια. Οι εκδόσεις bit των 64 bit των Windows δεν είναι απλά να εκμεταλλευτούν την πρόσθετη μνήμη. Είναι επίσης πιο ασφαλείς από τις εκδόσεις 32 bit.
Τα λειτουργικά συστήματα 64-bit δεν προστατεύονται από το κακόβουλο λογισμικό, αλλά έχουν περισσότερα χαρακτηριστικά ασφαλείας. Ορισμένα από αυτά ισχύουν και για εκδόσεις 64 bit άλλων λειτουργικών συστημάτων, όπως το Linux. Οι χρήστες του Linux θα αποκτήσουν πλεονεκτήματα ασφάλειας μεταβαίνοντας σε μια έκδοση 64-bit της διανομής τους στο Linux.
Τυποποίηση διάταξης διαστήματος διευθύνσεων
Το ASLR είναι ένα χαρακτηριστικό ασφαλείας που προκαλεί την τυχαία διαρρύθμιση των θέσεων δεδομένων του προγράμματος στη μνήμη. Πριν από την ASLR, οι θέσεις δεδομένων ενός προγράμματος στη μνήμη θα μπορούσαν να είναι προβλέψιμες, γεγονός που έκανε τις επιθέσεις σε ένα πρόγραμμα πολύ ευκολότερες. Με το ASLR, ο εισβολέας πρέπει να μαντέψει τη σωστή θέση στη μνήμη όταν προσπαθεί να εκμεταλλευτεί μια ευπάθεια σε ένα πρόγραμμα. Μια εσφαλμένη εικασία μπορεί να οδηγήσει στο σπάσιμο του προγράμματος, οπότε ο εισβολέας δεν θα μπορέσει να προσπαθήσει ξανά.
Αυτή η δυνατότητα ασφαλείας χρησιμοποιείται επίσης σε εκδόσεις 32 bit των Windows και άλλων λειτουργικών συστημάτων, αλλά είναι πολύ πιο ισχυρή σε εκδόσεις 64 bit των Windows. Ένα σύστημα 64-bit έχει πολύ μεγαλύτερο χώρο διεύθυνσης από ένα σύστημα 32-bit, καθιστώντας το ASLR πολύ πιο αποτελεσματικό.
Υποχρεωτική υπογραφή οδηγού
Η έκδοση 64-bit των Windows επιβάλλει την υποχρεωτική υπογραφή του προγράμματος οδήγησης. Όλος ο κωδικός του οδηγού στο σύστημα πρέπει να έχει ψηφιακή υπογραφή. Αυτό περιλαμβάνει προγράμματα οδήγησης συσκευών πυρήνα και προγράμματα οδήγησης σε κατάσταση λειτουργίας χρήστη, όπως προγράμματα οδήγησης εκτυπωτή.
Η υποχρεωτική υπογραφή του οδηγού εμποδίζει την εκτέλεση προγραμμάτων που δεν έχουν υπογραφεί από προγράμματα κακόβουλου λογισμικού στο σύστημα. Οι δημιουργοί κακόβουλων προγραμμάτων θα πρέπει να παρακάμψουν κατά κάποιον τρόπο τη διαδικασία υπογραφής μέσω ενός rootkit χρόνου εκκίνησης ή να διαχειριστούν να υπογράψουν τα μολυσμένα προγράμματα οδήγησης με ένα έγκυρο πιστοποιητικό που έχει κλαπεί από έναν νόμιμο προγραμματιστή προγράμματος οδήγησης. Αυτό καθιστά πιο δύσκολο για τους μολυσμένους οδηγούς να τρέχουν στο σύστημα.
Η υπογραφή του προγράμματος οδήγησης θα μπορούσε επίσης να εφαρμοστεί σε εκδόσεις 32 bit των Windows, αλλά δεν είναι πιθανή για συνέχιση της συμβατότητας με παλιά προγράμματα οδήγησης 32-bit που ενδεχομένως δεν έχουν υπογραφεί.
Για να απενεργοποιήσετε την υπογραφή του προγράμματος οδήγησης κατά την ανάπτυξη σε εκδόσεις 64 bit των Windows, θα πρέπει να επισυνάψετε ένα πρόγραμμα εντοπισμού σφαλμάτων πυρήνα ή να χρησιμοποιήσετε μια ειδική δυνατότητα εκκίνησης που δεν θα παραμείνει σε όλες τις επανεκκινήσεις του συστήματος.
Προστασία κώδικα πυρήνα πυρήνα
Το KPP, γνωστό και ως PatchGuard, είναι ένα χαρακτηριστικό ασφάλειας που βρίσκεται μόνο σε εκδόσεις 64 bit των Windows. Το PatchGuard εμποδίζει το λογισμικό, ακόμα και τα προγράμματα οδήγησης που εκτελούνται σε λειτουργία πυρήνα, από την επιδιόρθωση του πυρήνα των Windows. Αυτό δεν ήταν πάντα υποστηριζόμενο, αλλά είναι τεχνικά δυνατό σε εκδόσεις 32 bit των Windows. Ορισμένα προγράμματα προστασίας από ιούς 32-bit έχουν εφαρμόσει τα μέτρα προστασίας από ιούς χρησιμοποιώντας patching πυρήνα.
Το PatchGuard αποτρέπει τα προγράμματα οδήγησης συσκευών από την επιδιόρθωση του πυρήνα. Για παράδειγμα, το PatchGuard εμποδίζει τα rootkits να τροποποιήσουν τον πυρήνα των Windows για να ενσωματωθούν στο λειτουργικό σύστημα. Εάν ανιχνευθεί μια προσπάθεια για την επιδιόρθωση του πυρήνα, τα Windows θα κλείσουν αμέσως με μπλε οθόνη ή επανεκκίνηση.
Αυτή η προστασία θα μπορούσε να εφαρμοστεί στην έκδοση 32-bit των Windows, αλλά δεν ήταν - πιθανόν για συνεχιζόμενη συμβατότητα με παλαιό λογισμικό 32-bit που εξαρτάται από αυτήν την πρόσβαση.
Προστασία εκτέλεσης δεδομένων
Το DEP επιτρέπει σε ένα λειτουργικό σύστημα να επισημαίνει ορισμένες περιοχές της μνήμης ως "μη εκτελέσιμες", ρυθμίζοντας ένα "bit NX". Οι περιοχές μνήμης που υποτίθεται ότι διατηρούν δεδομένα μόνο δεν θα είναι εκτελέσιμες.
Για παράδειγμα, σε ένα σύστημα χωρίς DEP, ένας εισβολέας θα μπορούσε να χρησιμοποιήσει κάποιο είδος υπερχείλισης buffer για να γράψει τον κώδικα σε μια περιοχή της μνήμης μιας εφαρμογής. Αυτός ο κώδικας θα μπορούσε στη συνέχεια να εκτελεστεί. Με το DEP, ο εισβολέας θα μπορούσε να γράψει κώδικα σε μια περιοχή της μνήμης της εφαρμογής - αλλά αυτή η περιοχή θα χαρακτηριζόταν ως μη εκτελέσιμη και δεν θα μπορούσε να εκτελεστεί, πράγμα που θα σταματούσε την επίθεση.
Τα λειτουργικά συστήματα 64-bit έχουν DEP με βάση το υλικό. Αν και αυτό υποστηρίζεται επίσης σε εκδόσεις 32 bit των Windows, εάν διαθέτετε σύγχρονο CPU, οι προεπιλεγμένες ρυθμίσεις είναι αυστηρότερες και το DEP είναι πάντα ενεργοποιημένο για προγράμματα 64 bit ενώ είναι απενεργοποιημένο από προεπιλογή για προγράμματα 32 bit για λόγους συμβατότητας.
Το παράθυρο διαλόγου ρύθμισης παραμέτρων DEP στα Windows είναι λίγο παραπλανητικό. Όπως δηλώνει η τεκμηρίωση της Microsoft, το DEP χρησιμοποιείται πάντα για όλες τις διαδικασίες 64-bit:
"Οι ρυθμίσεις διαμόρφωσης DEP του συστήματος ισχύουν μόνο για εφαρμογές και διεργασίες 32-bit όταν εκτελούνται σε εκδόσεις 32 ή 64 bit των Windows. Σε εκδόσεις 64 bit των Windows, εάν είναι διαθέσιμη η εφαρμογή DEP με χρήση υλικού, εφαρμόζεται πάντοτε σε διεργασίες 64-bit και σε χώρους μνήμης του πυρήνα και δεν υπάρχουν ρυθμίσεις διαμόρφωσης συστήματος για να την απενεργοποιήσετε. "
WOW64
Οι εκδόσεις 64-bit των Windows εκτελούν λογισμικό Windows 32-bit, αλλά το κάνουν μέσω ενός στρώματος συμβατότητας γνωστού ως WOW64 (Windows 32-bit σε Windows 64-bit). Αυτό το στρώμα συμβατότητας επιβάλλει ορισμένους περιορισμούς σε αυτά τα προγράμματα 32-bit, τα οποία ενδέχεται να εμποδίσουν τη σωστή λειτουργία του κακόβουλου λογισμικού 32-bit. Το κακόβουλο πρόγραμμα 32-bit επίσης δεν θα μπορεί να εκτελεστεί σε λειτουργία πυρήνα - μόνο τα προγράμματα 64-bit μπορούν να το κάνουν σε ένα λειτουργικό σύστημα 64-bit - έτσι αυτό μπορεί να αποτρέψει την ορθή λειτουργία ορισμένων παλαιότερων κακόβουλων προγραμμάτων 32-bit. Για παράδειγμα, εάν διαθέτετε ένα παλιό CD ήχου με το rootkit της Sony, δεν θα είναι σε θέση να εγκατασταθεί σε μια έκδοση 64-bit των Windows.
Οι εκδόσεις 64-bit των Windows μειώνουν επίσης την υποστήριξη για παλιά προγράμματα 16 bit. Εκτός από την παρεμπόδιση των αρχαίων ιών 16-bit από την εκτέλεση, αυτό θα αναγκάσει επίσης τις εταιρείες να αναβαθμίσουν τα αρχαία 16-bit προγράμματα που θα μπορούσαν να είναι ευάλωτα και unpatched.
Δεδομένης της έκδοσης των εκτεταμένων εκδόσεων 64-bit των Windows, το νέο κακόβουλο λογισμικό θα είναι πιθανό να μπορεί να εκτελείται σε Windows 64-bit. Ωστόσο, η έλλειψη συμβατότητας μπορεί να βοηθήσει στην προστασία από το παλιό κακόβουλο λογισμικό στο φυσικό περιβάλλον.
Εάν δεν χρησιμοποιείτε τα παλιά παλιά προγράμματα 16 bit, το αρχαίο υλικό που προσφέρει μόνο προγράμματα οδήγησης 32 bit ή έναν υπολογιστή με αρκετά παλιά CPU 32 bit, θα πρέπει να χρησιμοποιείτε την έκδοση 64 bit των Windows. Εάν δεν είστε σίγουροι σε ποια έκδοση χρησιμοποιείτε, αλλά έχετε έναν σύγχρονο υπολογιστή με Windows 7 ή 8, πιθανόν να χρησιμοποιείτε την έκδοση 64-bit.
Φυσικά, κανένα από αυτά τα χαρακτηριστικά ασφαλείας δεν είναι αλάνθαστο και μια έκδοση 64-bit των Windows εξακολουθεί να είναι ευάλωτη σε κακόβουλο λογισμικό. Ωστόσο, οι εκδόσεις 64 bit των Windows είναι σίγουρα πιο ασφαλείς.
Image Credit: William Hook στο Flickr