Τρια Κιλά Κώδικα - The Serious Blog

Η σοβαρή πλευρά της αστείας πλευράς της Πληροφορικής

Μικρός οδηγός για το πώς να μην είστε τελείως ηλίθιοι με τα passwords σας


Όλα όσα θα γράψω παρακάτω *υποτίθεται* ότι είναι ήδη γνωστά. Επίσης *υποτίθεται* ότι ένα 90% αυτών που θα τα διαβάσουν πρέπει να με κοροϊδέψουν ξεδιάντροπα και μετά να με περιφέρουν ως μασκότ στα social media γιατί απλά λέω πράγματα που όλοι, μα όλοι, ξέρουν.

Έλα όμως που υποψιάζομαι ότι τα πράγματα δεν έχουν ακριβώς έτσι.

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


ΕΠΙΠΕΔΟ 1: Το πρόβατο

Ας ξεκινήσουμε με την πιό απλή ερώτηση που μπορώ να σκεφτώ: Θυμάστε τα passwords σας;

Αν η απάντησή σας είναι “τα θυμάμαι όλα” τότε συγχαρητήρια. Είτε χρησιμοποιείτε πολύ λίγες υπηρεσίες που απαιτούν τη χρήση password οπότε δεν καταλαβαίνω (και πιθανώς ούτε εσείς) πώς και γιατί βρεθήκατε να διαβάζετε αυτό, είτε οι ικανότητες απομνημόνευσής σας είναι τέτοιες που θα έπρεπε να τις εκμεταλλευτείτε για να βγάζετε εκατομμύρια, οπότε δεν καταλαβαίνω και πάλι πώς και γιατί βρεθήκατε να διαβάζετε αυτό, είτε (το πιθανότερο) ΧΡΗΣΙΜΟΠΟΙΕΙΤΕ ΤΟ ΙΔΙΟ PASSWORD ΠΑΝΤΟΥ ΚΑΙ ΠΑΝΤΑ. Bonus points αν είναι κάτι σαν “letmein”, “123456”, “god”, “sakis”. Συγχαρητήρια, ανήκετε όπως και να έχει στους χρήστες με το χαμηλότερο επίπεδο ασφάλειας που μπορεί να υπάρξει.



Χρειάζεται να αναφερθώ στο ΓΙΑΤΙ δεν πρέπει να χρησιμοποιείτε το ίδιο password παντού και πάντα;  Ειλικρινά, πιό ασφαλές είναι να αφήνετε τα κλειδιά του σπιτιού σας πάνω στο χαλάκι της εξώπορτας (όχι από κάτω, ΠΑΝΩ) έχοντας κρεμάσει ταμπέλα “ΕΧΩ ΛΕΦΤΑ ΠΑΝΩ ΣΤΟ ΤΡΑΠΕΖΙ, ΛΕΙΠΩ, ΔΕΝ ΕΧΩ ΣΥΝΑΓΕΡΜΟ”, με ένα βελάκι να δείχνει στα κλειδιά. Και μετά να βγείτε με ντουντούκα στο δρόμο και να το ανακοινώσετε σε όλο το δημοτικό σας διαμέρισμα. Την καταλάβατε την αλληγορία; Αν όχι, σταματήστε να διαβάζετε αμέσως, κλείστε τον υπολογιστή σας και δωρίστε τον σε κάποιον που να ξέρει πώς να τον χρησιμοποιήσει.

Ας πούμε λοιπόν ότι είστε αρκετά προνοητικοί ώστε να μην κάνετε αυτό το παιδαριώδες λάθος και έχετε πραγματικά διαφορετικά passwords για κάθε υπηρεσία που χρησιμοποιείτε. Προφανώς θα πρέπει κάπου να τα αποθηκεύετε για να μπορείτε να τα βρίσκετε όταν θέλετε να τα χρησιμοποιήσετε. Και εδώ είναι που συναντάμε το επόμενο level χρηστών


ΕΠΙΠΕΔΟ 2: Το αδαές θύμα

Έχω ακούσει δεκάδες μαγικές ιστοριές για ανθρώπους που χρησιμοποιούν post-its κολλημένα πάνω στην οθόνη του υπολογιστή, σημειωματάρια στο συρτάρι, ψεύτικες καταχωρήσεις επαφών στο κινητό (για pins ή αριθμητικά passwords) ή, σε πιό προχώ καταστάσεις, αρχεία κειμένου ή spreadsheets στο φορητό τους (!).

Και αισθάνονται ασφαλείς.

Εκτός, φυσικά, αν χάσουν το σημειωματάριο, πάρει το post-it ο αέρας, τους κλέψουν ή τους χακάρουν τον υπολογιστή ή το πονηρό, μοχθηρό και κακόβουλο έτερόν τους ήμισυ βρεί το pin τους και ρίξει παρανόμως κλεφτές ματιές στο κινητό τους . Παρεμπιπτόντως, ΠΟΤΕ ΜΑ ΠΟΤΕ δεν πρόκειται να αλλάξουν password παρά μόνο αν τους αναγκάσει με το ζόρι κάποια υπηρεσία. Αντε τώρα να σβήνεις με γομολάστιχα στο τεφτέρι. 



Οι χρήστες αυτού του επιπέδου ονομάζονται και εναλλακτικά Μαςπωςσυνεβηαυτόδες. Πάντα ανυποψίαστοι, πάντα καλοπροαίρετοι, ώσπου το επόμενο statement της κάρτας τους να τους αποσταλεί βιβλιοδετημένο για ευκολία ή να ανακαλύψουν ότι το email τους ξέμεινε από χώρο γιατί τα “απεσταλμένα” είναι τιγκαρισμένα με μερικά εκατομμύρια μηνύματα προώθησης εξωτικών κρεμών για την ακμή των έφηβων ουρακοτάγκων.

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


ΕΠΙΠΕΔΟ 3: Ο δήθεν προχώ 

Μαντέψτε τι κάνουν οι φωστήρες αυτού του επιπέδου για να κρατάνε κάπου τα passwords τους: Excelάκι, “προστατευμένο” με κωδικό πρόσβασης, και βουρ στο dropbox / google drive / onedrive για να “παίρνει και backup”. Οκ, δεν λέω, είναι μια σαφής βελτίωση από τα post-it, αλλά εγκληματικά επικίνδυνη. Ισως γιατί ο κωδικός πρόσβασης στο spreadsheet σπάει σχετικά εύκολα και το να πετάτε τα passwords σας πρακτικά χωρίς προστασία στο cloud δεν είναι και η πλέον ασφαλής λύση.

Είναι οι ίδιοι τύποι που επιτρέπουν στον web browser τους να θυμάται τα passwords για οτιδήποτε (ακόμα και για το e-banking τους) και που φυσικά χρησιμοποιούν Filezilla για FTP (ω ναι, το ισοδύναμο του Excel για τα passwords, αλλά να μην επεκταθούμε παραπάνω).



Οπως και στο προηγούμενο επίπεδο, έτσι και εδώ οι “δήθεν προχώ” κάποια στιγμή αντιλαμβάνονται τι κάνουν λάθος - συνήθως όμως όταν είναι πολύ αργά και τα μισά περιουσιακά τους στοιχεία ανήκουν σε αμφιβόλου φήμης τράπεζες εξωτικών χωρών, το προφιλ τους έχει κατταγελθεί και διαγραφεί από όλα τα social media και εκρεμμούν και δυο-τρεις αγωγές για απόπειρα πώλησης παράνομων ουσιών. Οκ, ας πούμε λοιπόν ότι είστε αρκετά έξυπνοι για να προλάβετε όλο αυτό πριν σας συμβεί και να περάσετε στο επόμενο (και ελαφρώς πιό decent) επίπεδο.


ΕΠΙΠΕΔΟ 4: Ο πονηρεμένος

Εεεεεδώ είμαστε. Τα πράγματα πλέον αρχίζουν να γίνονται σοβαρότερα. Και όταν λέω “σοβαρότερα”, εννοώ ότι ο “πονηρεμένος” χρήστης αρχίζει να αντιλαμβάνεται ότι δεν μπορεί να χρησιμοποιεί μπακαλίστικες μεθόδους για τόσο σοβαρά πράγματα και αποφασίζει να χρησιμοποιήσει επιτέλους ένα password manager. Φυσικά, το κάνει ψιλολάθος, αλλά οκ, ποιός είναι τέλειος;

Ο χρήστης επιπέδου 4 λοιπόν έχει εντρυφήσει στα πλεονεκτήματα cloud-based υπηρεσιών διαχείρισης passwords όπως για παράδειγμα το Dashlane ή το LastPass και έχει δημιουργήσει ένα λογαριασμό εκεί ώστε να αποθηκεύει με ασφάλεια τα passwords του, καθώς και να έχει πρόσβαση σε αυτά από οποιαδήποτε συσκευή. 

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

Τελος, οι περισσότεροι password managers υποστηρίζουν λειτουργία αυτόματης συμπλήρωσης username/password και κατ’επέκταση αυτόματου login στα sites που επισκέπτεστε, για να μην παιδεύεστε.



Το λάθος που κάνουν οι περισσότεροι χρήστες επιπέδου 4 είναι το ότι χρησιμοποιούν τον password manager σε φάση “always logged in” σε όλες τις συσκευές τους. Με απλά λόγια, κάποιος που θα αποκτήσει πρόσβαση, για παράδειγμα, στο φορητό τους υπολογιστή έχει “στο πιάτο” και όλα τους τα passwords, οπότε γυρνάμε σε ασφάλεια επιπέδου “τεφτέρι”. Και όταν λέω “πρόσβαση” εννοώ αυτή που αποκτάει κανείς είτε αποκτώντας μη εξουσιοδοτημένη απομακρυσμένη πρόσβαση στον υπολογιστή σου είτε βουτώντας το φορητό σου και κρακάροντας το login σου με brute force τρόπο. Δύσκολο; Όχι και τόσο, μπορεί να συμβεί και στις καλύτερες οικογένειες.

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


ΕΠΙΠΕΔΟ 5 - Ο συνειδητοποιημένος

Ο χρήστης αυτού του επιπέδου γνωρίζει ότι ασφαλής υπολογιστής είναι αυτός που είναι σβηστός και θαμμένος 5 μέτρα κάτω από τη γή, και επίσης ξέρει καλά ότι ακόμα και αυτό δεν είναι 100% σίγουρο. Αρα κοιτάει να κάνει ο,τι καλύτερο μπορεί για να κάνει τη δική του ζωή εύκολη και παράλληλα τη ζωή όποιων έχουν όρεξη να βάλουν χέρι στα δεδομένα του τόσο δύσκολη όσο να μην τους συμφέρει να προσπαθήσουν. Τι κάνει για αυτό;

Το πρώτο, και απλούστερο πράγμα που μπορεί να κάνει είναι να επιλέξει 2-factor authentication (2FA) σε όσες υπηρεσίες το υποστηρίζουν. Το 2FA απαιτεί δύο πράγματα: Κάτι που ξέρεις (το password σου) και κάτι που έχεις (συνήθως το κινητό σου, ή κάποιο ειδικό USB key). Ο συνδυασμός αυτών των δύο σου εξασφαλίζει πρόσβαση σε μια υπηρεσία. Ολοι οι μεγάλοι cloud-based email providers υποστηρίζουν 2FA, καθώς επίσης και αρκετές άλλες υπηρεσίες (π.χ. LinkedIn). Βάζοντας το password, η υπηρεσία είτε σου στέλνει με SMS κάποιο κωδικό στο κινητό σου και σου ζητάει να τον καταχωρήσεις πριν προχωρήσεις, είτε με τη βοηθεια κάποιας εφαρμογής παραγωγής κωδικών “δεμένης” με το λογαριασμό σου (authenticator) κάνεις το ίδιο πράγμα. 



O πολύ ψαγμένος χρήστης θα εφαρμόσει 2FA πρώτα-πρώτα στον ίδιο τον password manager του (που καλά θα κάνει να το υποστηρίζει). Το LastPass, π.χ., υποστηρίζει 2FA μέσω Google ή Microsoft authenticator app στο κινητό ή/και μέσω UbiKey. Ομοίως και άλλες τέτοιες υπηρεσίες.

Το δεύτερο πράγμα που θα κάνει είναι να επιχειρήσει να περιορίσει, κατά το δυνατόν, τις πιθανότητες να του κλέψει passwords κάποιος που θα αποκτήσει φυσική πρόσβαση σε συσκευή που βρίσκεται εγκατεστημένος ο password manager. Αυτό μπορεί να γίνει απαιτώντας κάθε φορά να γίνεται login στον password manager, η/και (σε ορισμένους password managers) μέσω ρύθμισης όπου μετά από συγκεκριμένο χρονικό διάστημα χωρίς δραστηριότητα από το χρήστη να απαιτείται εκ νέου login. Τελος, για την περίπτωση κλοπής κάποιας φορητής συσκευής, κρυπτογράφηση του σκληρού δίσκου.

Ακούγονται υπερβολικά όλα αυτά; Μπορεί, αλλά στην πραγματικότητα δεν είναι. Ακούστε το δικό μου σενάριο:


ΕΠΙΠΕΔΟ 6 - Ο παρανοϊκός (ή, αλλιώς, εγώ και λοιπές εξωγήινες μορφές ζωής)

Κρυπτογράφηση δίσκου

Χρησιμοποιώ συνήθως δύο υπολογιστές, και ο ένας είναι φορητός. Και οι δύο έχουν κρυπτογραφημένο με Bitlocker όλο το δίσκο του λειτουργικού συστήματος (Windows, αλλά προφανώς υπάρχουν τέτοιες λύσεις σε όλα τα λειτουργικά). Αρα πάει ο κίνδυνος “στον κλέψαμε - μπήκαμε”. 

Συνδυασμός cloud και local password managers με 2FA και σωστές ρυθμίσεις

Για την αποθήκευση των λιγότερο σημαντικών passwords (όπου λιγότερο σημαντικά σημαίνει αυτά που δεν χάλασε και ο κόσμος να τα βρει κάποιος χωρίς αυτό να σημαίνει οτι πάω γυρεύοντας) χρησιμοποιώ LastPass. Φυσικά με 2FA και ρύθμιση auto logout μετά από κάποιο μικρό χρονικό διάστημα χωρίς δραστηριότητα. Το LastPass είναι ρυθμισμένο να μην “θυμάται” το login, οπότε κάθε φορά που ανοίγω τον υπολογιστή πρέπει να κάνω μία φορά login στο LastPass. Μικρό το κόστος σε σχέση με την ασφάλεια.

Θα μπορούσα να χρησιμοποιώ το LastPass και για άλλα passwords, αλλά επειδή ανήκω στην κατηγορία “παρανοϊκός”, για τα πιό “ευαίσθητα” passwords χρησιμοποιώ Keepass (πολύ αστείο όνομα, παρεμπιπτόντως). Το Keepass είναι και αυτό password manager, μόνο που τα δεδομένα αποθηκεύονται στον τοπικό σκληρό δίσκο και όχι στο cloud. Φυσικά δεν θα περιμένατε ότι αυτό θα το έκανα έτσι απλά, χωρίς διαστροφή - η database του Keepass βρίσκεται σε EFS-encrypted folder (θυμηθείτε, σε δίσκο ήδη κρυπτογραφημένο με Bitlocker) και για το ξεκλείδωμά της απαιτεί master password και ένα certificate το οποίο βρίσκεται αποθηκευμένο σε USB key. Α, και το αρχειό της database βρίσκεται σε διαφορετική θέση και έχει διαφορετικό extension από τις default ρυθμίσεις. Αν, παρ’ελπίδα, κάποιος καταφέρει να το βρει και να το κλεψει, καλή τύχη στο να βρει και τα υπόλοιπα.



Χρήση FTP, Remote Desktop και λοιπών “ευαίσθητων” συνδέσεων

Για να το κάνω ακόμα πιό παρανοϊκό το πράγμα, για FTP μέχρι πρότινος χρησιμοποιούσα το WinSCP με master password (οπου τα credentials αποθηκεύονται κρυπτογραφημένα στη registry). Ομως, επειδή δουλεύω και αρκετά remote desktops και άλλα πράγματα που θεωρώ “ευαίσθητα” και χρειάζονται credentials, αποφάσισα να χρησιμοποιήσω το Remote Desktop Manager σε συνδυασμό με το Keepass και το WinSCP για τα FTP. Ετσι, αν θέλω να κάνω σύνδεση σε κάποιο FTP, το ανοίγω (αποθηκευμένο) μέσα από το Remote Desktop Manager το οποίο “τραβάει” τα credentials από το Keepass και σηκώνει (embedded) το μηχανισμό του WinSCP. Φυσικά, το ίδιο (χωρίς το WinSCP) κάνει και για remote desktop connections ή ακόμα και για κάποια sites.

Συγχρονισμός με πολλαπλές συσκευές και auto-logout

Το Keepass είναι και αυτό ρυθμισμένο για auto-logout μετά από αδράνεια κάποιου χρονικού διαστήματος και ο συγχρονισμός μεταξύ υπολογιστών γίνεται με το BitTorrentSync (και όχι με cloud υπηρεσίες τύπου Dropbox που κατά καιρούς έχουν εμφανίσει ευπάθειες ασφάλειας).

Άλλα πρόσθετα ασφάλειας

Να συμπληρώσω ότι οι υπολογιστές είναι αρματωμένοι με ESET Smart Security, MalwareBytes Anti-Malware, MalwareBytes Anti-Exploit (αγορασμένα, ε; οχι τα free) και ό,τι άλλο σχετικό μπορεί να εξασφαλίσει ότι δεν θα ψωνίσω καποιο keylogger ή unauthorized remote access μαραφέτι. Επίσης ενεργοποιημένα είναι τα ESET Anti-Theft και Prey, για την απίθανη περίπτωση που κάποιος προσπεράσει το Bitlocker με κάποιο μαγικό τρόπο.

Και όχι, δεν είναι αυτό το πιό ασφαλές setup του σύμπαντος. Ομως, είναι “ένα” setup που με αφήνει να κοιμάμαι λίγο περισσότερο ήσυχος τα βράδια.


ΚΑΤΑΛΗΓΟΝΤΑΣ

Δεν σας λέω να πάτε στο επίπεδο 6 - ορισμένες φορές είναι ταλαιπωρία και, αναλόγως με τη χρήση που κάνετε, μπορεί να είναι μεγάλη υπερβολή (αν και προσωπικά θεωρώ ότι αξίζει τη φασαρία η ασφάλειά σας). Ομως, με βάση τα αυθαίρετα επίπεδα που περιέγραψα παραπάνω, είστε σχετικά ασφαλείς σε οτιδήποτε ξεπερνάει το επίπεδο 4. Χρησιμοποιήστε ένα password manager, cloud ή local, και χρησιμοποιήστε τον σωστά. Και, να σας χαρώ, ΜΗΝ στέλνετε passwords σε social media, chat applications ή email! Διαβάστε εδώ γιατί: http://seriously.triakilakodika.gr/post/passwords-by-email-is-bad-for-your-health


Σχόλια (3) -

  • sakis

    1/6/2016 1:55:32 μμ | Απάντηση

    Με αφορμή αυτό το post είπα να ξανακοιτάξω λίγο το θέμα password manager (το είχα κοιτάξει και στο παρελθόν, αλλά για τον οποιονδήποτε λόγο το παράτησα)

    Anyway.

    Χρησιμοποιώντας το keepassx έφτασα αναπόφευκτα στο πώς θα κάνω sync το αρχείο της βασης στο κινητό. To bittorrent sync φαίνεται να έχει και αυτό τα θεματάκια του (https://news.ycombinator.com/item?id=8618067) οπότε ψάχνοτας βρήκα αυτό που σκέφτομαι να δοκιμάσω: https://syncthing.net/

    Αν μη τι άλλο είναι open source οπότε μπορείς πάντα να build from source (ανάλογα πάντα με το επίπεδο της παράνοιας Smile )

  • Mr. Bean

    2/6/2016 1:48:59 μμ | Απάντηση

    Καλό άρθρο. Πάντως το KeePass + KeeFox (κάνει το KeePass να λειτουργεί όπως το LastPass) + KeeOTP (σ.σ. ενσωματωμένο generator TOTP κωδικών) είναι κάποιος καλυμμένος, δεν χρειάζεται να πάει στο 6 που ουσιαστικά είναι 2 φορές encrypt στην database του KeePass (encrypted kdbx database μέσα σε encrypted EFS μέσα σε encrypted δίσκο), η AES256 του kdbx σκέτη είναι αρκετή.

    Για το FTP απλά χρησιμοποιείς το Auto-Type του KeePass στο client της αρεσκίας σου (πχ Ask for password επιλογή στο FileZilla και όχι αποθήκευση αυτού από το FileZilla).

    Το καλό με το KeePass είναι ότι το μόνο που πρέπει να προσέχεις είναι που πληκτρολογείς τον master password ή/και που έχεις το key file της database σου, όλα τα άλλα είναι ασφαλή αφού και το kdbx να δώσεις δημόσια (μέχρι τώρα) είσαι ασφαλής.

  • Χρηστος

    31/7/2016 10:37:16 μμ | Απάντηση

    Αν το use case σου δεν απαιτει να εχεις προσβαση στους κωδικους σου απο συσκευες που δεν σου ανηκουν, νομιζω πως η χρυση τομη ειναι η εξης:

    Φτιαχνεις εναν λογαριασμο google που θα τον χρησιμοποιησεις μονο για αυτη τη δουλεια. Τον τουμπανευεις (2fa, τερατωδες pass, obfuscated ονομα). Φτιανεις ενα kdbx με key file και βαζεις το keyfile στις συσκευες σου. Κατεβαζεις το google sync plugin και τελος. Οσον αφορα τα site που ειναι mission critical (οπου mission=ζωη) να μην παραβιαστουν (πχ e-banking, paypal, κλπ), ολα εχουν 2fa, που νομιζω απο μονο του ειναι αρκετο.

    Αυτα επειδη μετα απο αυτο το σημειο, πιο ευκολο attack vector γινεται το social engineering και η εθνικη επιτρεπει αποστολη κωδικων με sms.

Loading