Αρχική σελίδα » πως να » Γιατί θα πρέπει να ανησυχείτε κάθε φορά που διαχέεται μια βάση δεδομένων κωδικού πρόσβασης μιας υπηρεσίας

    Γιατί θα πρέπει να ανησυχείτε κάθε φορά που διαχέεται μια βάση δεδομένων κωδικού πρόσβασης μιας υπηρεσίας

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

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

    Πώς πρέπει να αποθηκεύονται οι κωδικοί πρόσβασης

    Δείτε πώς οι εταιρείες θα πρέπει να αποθηκεύουν κωδικούς πρόσβασης σε έναν ιδανικό κόσμο: Δημιουργείτε έναν λογαριασμό και παρέχετε έναν κωδικό πρόσβασης. Αντί να αποθηκεύει τον ίδιο τον κωδικό πρόσβασης, η υπηρεσία δημιουργεί ένα "hash" από τον κωδικό πρόσβασης. Αυτό είναι ένα μοναδικό αποτύπωμα που δεν μπορεί να αντιστραφεί. Για παράδειγμα, ο κωδικός πρόσβασης "κωδικός πρόσβασης" μπορεί να μετατραπεί σε κάτι που μοιάζει περισσότερο με "4jfh75to4sud7gh93247g ...". Όταν εισάγετε τον κωδικό πρόσβασής σας για να συνδεθείτε, η υπηρεσία δημιουργεί ένα hash από αυτό και ελέγχει αν η τιμή hash αντιστοιχεί στην τιμή που είναι αποθηκευμένη στη βάση δεδομένων. Σε καμία περίπτωση η υπηρεσία δεν αποθηκεύει ποτέ τον κωδικό πρόσβασης στον δίσκο.

    Για να καθορίσετε τον πραγματικό κωδικό πρόσβασής σας, ένας εισβολέας με πρόσβαση στη βάση δεδομένων θα χρειαστεί να υπολογίσει εκ των προτέρων τα hashes για κοινούς κωδικούς πρόσβασης και στη συνέχεια να ελέγξει εάν υπάρχουν στη βάση δεδομένων. Οι επιτιθέμενοι το κάνουν με πίνακες αναζήτησης - τεράστιους καταλόγους των hashes που ταιριάζουν με τους κωδικούς πρόσβασης. Τα hashes μπορούν στη συνέχεια να συγκριθούν με τη βάση δεδομένων. Για παράδειγμα, ένας εισβολέας θα γνωρίζει το hash για τον "κωδικό1" και στη συνέχεια θα δει εάν κάποιοι λογαριασμοί στη βάση δεδομένων χρησιμοποιούν αυτό το hash. Εάν είναι, ο εισβολέας γνωρίζει ότι ο κωδικός πρόσβασής του είναι "password1".

    Για να αποφευχθεί αυτό, οι υπηρεσίες θα πρέπει να "αλατίζουν" τα hashes τους. Αντί να δημιουργήσετε ένα hash από τον ίδιο τον κωδικό πρόσβασης, προσθέτουν μια τυχαία συμβολοσειρά στο μπροστινό ή το τέλος του κωδικού πρόσβασης πριν από την εκτόξευσή του. Με άλλα λόγια, ένας χρήστης θα εισάγει τον κωδικό πρόσβασης "password" και η υπηρεσία θα προσθέσει το αλάτι και το hash έναν κωδικό που μοιάζει περισσότερο με "password35s2dg." Κάθε λογαριασμός χρήστη θα πρέπει να έχει το δικό του μοναδικό αλάτι και αυτό θα εξασφάλιζε ότι κάθε λογαριασμός χρήστη θα έχουν διαφορετική τιμή κατακερματισμού για τον κωδικό πρόσβασής τους στη βάση δεδομένων. Ακόμη και αν πολλοί λογαριασμοί χρησιμοποίησαν τον κωδικό πρόσβασης "κωδικός1", θα είχαν διαφορετικές χρεώσεις λόγω των διαφορετικών τιμών αλατιού. Αυτό θα μπορούσε να νικήσει έναν εισβολέα ο οποίος προσπάθησε να προ-υπολογιστεί hashes για τους κωδικούς πρόσβασης. Αντί να είναι σε θέση να δημιουργήσουν hashes που εφαρμόζονται σε κάθε λογαριασμό χρήστη σε ολόκληρη τη βάση δεδομένων ταυτόχρονα, θα πρέπει να δημιουργούν μοναδικά hashes για κάθε λογαριασμό χρήστη και το μοναδικό αλάτι του. Αυτό θα απαιτούσε πολύ μεγαλύτερο χρόνο υπολογισμού και μνήμης.

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

    Κακές πρακτικές κωδικών πρόσβασης

    Αυτό δεν είναι το πιο δύσκολο πράγμα που πρέπει να εφαρμόσετε, αλλά πολλοί ιστότοποι εξακολουθούν να καταφέρνουν να το βάλουν με διάφορους τρόπους:

    • Αποθήκευση κωδικών πρόσβασης σε απλό κείμενο: Αντί να ασχοληθείτε με τον κατακερματισμό, μερικοί από τους χειρότερους παραβάτες μπορούν απλώς να απορρίψουν τους κωδικούς πρόσβασης σε μορφή απλού κειμένου σε μια βάση δεδομένων. Εάν μια τέτοια βάση δεδομένων παραβιάζεται, οι κωδικοί πρόσβασης σας είναι προφανώς συμβιβασμένοι. Δεν θα είχε σημασία πόσο δυνατά ήταν.
    • Hashing τους κωδικούς πρόσβασης χωρίς αλάτι τους: Ορισμένες υπηρεσίες ενδέχεται να καταργούν τους κωδικούς πρόσβασης και να εγκαταλείπουν εκεί, επιλέγοντας να μην χρησιμοποιούν αλάτια. Αυτές οι βάσεις δεδομένων κωδικών θα ήταν πολύ ευάλωτες σε πίνακες αναζήτησης. Ένας εισβολέας θα μπορούσε να δημιουργήσει τα hashes για πολλούς κωδικούς πρόσβασης και στη συνέχεια να ελέγξει αν υπήρχαν στη βάση δεδομένων - θα μπορούσαν να το κάνουν για κάθε λογαριασμό ταυτόχρονα αν δεν χρησιμοποιήθηκε άλας.
    • Επαναχρησιμοποίηση αλάτων: Ορισμένες υπηρεσίες ενδέχεται να χρησιμοποιούν αλάτι, αλλά μπορούν να επαναχρησιμοποιήσουν το ίδιο αλάτι για κάθε κωδικό πρόσβασης χρήστη. Αυτό είναι άσκοπο - εάν το ίδιο αλάτι χρησιμοποιήθηκε για κάθε χρήστη, δύο χρήστες με τον ίδιο κωδικό πρόσβασης θα είχαν το ίδιο hash.
    • Χρησιμοποιώντας σύντομα αλάτια: Εάν χρησιμοποιούνται άλατα με λίγα μόνο ψηφία, θα ήταν δυνατό να δημιουργηθούν πίνακες αναζήτησης που ενσωματώνουν κάθε πιθανό άλας. Για παράδειγμα, εάν ένα μόνο ψηφίο χρησιμοποιήθηκε ως αλάτι, ο επιτιθέμενος θα μπορούσε εύκολα να δημιουργήσει λίστες χαστουλών που ενσωματώνουν κάθε πιθανό άλας.

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

    Άλλες ανησυχίες

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

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

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

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

    Βοήθεια, τι πρέπει να κάνω?

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

    Πρώτον, μην επαναχρησιμοποιείτε κωδικούς πρόσβασης σε πολλούς ιστότοπους. Χρησιμοποιήστε έναν διαχειριστή κωδικών πρόσβασης που δημιουργεί μοναδικούς κωδικούς πρόσβασης για κάθε ιστότοπο. Εάν ένας εισβολέας καταφέρει να ανακαλύψει ότι ο κωδικός πρόσβασής σας για μια υπηρεσία είναι "43 ^ tSd% 7uho2 # 3" και χρησιμοποιείτε αυτόν τον κωδικό μόνο σε έναν συγκεκριμένο ιστότοπο, δεν έχουν μάθει τίποτα χρήσιμο. Εάν χρησιμοποιείτε τον ίδιο κωδικό πρόσβασης παντού, θα μπορούσαν να έχουν πρόσβαση στους άλλους λογαριασμούς σας. Αυτός είναι ο αριθμός των λογαριασμών πολλών ανθρώπων που γίνονται "χάκερ".

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

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

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

    Πιστωτική εικόνα: Marc Falardeau στο Flickr, Wikimedia Commons