17Aug

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

Εισάγετε τον κωδικό σας

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

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

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

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

κρυπτογραφική λειτουργία κατακερματισμού

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

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

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

Bad Password Practices

plaintext-password-database

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

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

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

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

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

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

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

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

, τι πρέπει να κάνω;

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

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

παράγουν-τυχαία-κωδικό πρόσβασης

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

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

ΣΧΕΤΙΚΑ ΑΡΘΡΑ
Γιατί πρέπει να χρησιμοποιήσετε έναν διαχειριστή κωδικών πρόσβασης και πώς να ξεκινήσετε
Τι είναι ο έλεγχος ταυτότητας δύο παραγόντων και γιατί το χρειάζομαι;

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

: Marc Falardeau στο Flickr, Wikimedia Commons