Τετάρτη 27 Ιουνίου 2018

Πώς να παραμείνεις ανώνυμος στο διαδίκτυο





(Update/Disclaimer 2022):
Ακόμα και ένα open source software μπορεί κάλλιστα να κατεβάσει modules που στέλνουν τακτικά ραπόρτο για το ποια sites επισκέφθηκες, τι έκανες, ή πληροφορίες ακόμα και για τα serial numbers των πυρήνων του επεξεργαστή σου για να προσδιοριστείς μοναδικά. Η πιθανότητα είναι απελπιστικά μικρή, αλλά ό,τι μέτρο ασφαλείας και να λάβεις, θα επινοηθούν τρόποι να παρακαμφθεί.

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

Το παρακάτω είναι για δημοσιογράφους που θέλουν να κάνουν μια μεγάλη αποκάλυψη ανώνυμα, και θέλουν να τη κάνουν μια και έξω. 

Δεν είναι για παιδάκια που θέλουν να μπαίνουν κάθε μέρα darknet.

 Και σίγουρα δεν είναι για άτομα που θέλουν να πουλήσουν/αγοράσουν ναρκωτικά/παιδική πορνογραφία/όπλα σε αυτό. Αυτα θα εντοπιστούν αργά ή γρήγορα από το bitcoin transaction (ευτυχώς για όλους).

Δεν θα έμπαινα στο κόπο να το τονίσω τόσο ξεκάθαρα, αλλά δεδομένης της επισκεψιμότητας που έχει το θεώρησα πρέπον.


Εισαγωγή

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

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

Αντί να περιοριστούμε σε αόριστες γενικολογίες ("χρήση tor", "απόρριψη cookies" κ.α.) θα υπεισέλθουμε σε ελαφρώς πιο "τεχνικά" ζητήματα, μεταξύ άλλων στο τι να προσέχουμε σε δίκτυα ανωνυμίας, στο ρόλο του λειτουργικού συστήματος, και τις προσφάτως αναπτυχθείσες τεχνικές browser-fingerprinting με τις μεθόδους αποτροπής αυτού.

Προειδοποιούμε εκ των προτέρων τον αναγνώστη ότι υπάρχει το ενδεχόμενο οι επιτιθέμενοι να είναι ένα βήμα πιο μπροστά από εκείνον που θέλει να παραμείνει ανώνυμος. Σημειώνουμε επίσης ότι το παρόν άρθρο περιγράφει τις τεχνικές όπως έχουν τον Ιούνιο του 2018.

Η ανωνυμία, οι εγκληματίες, και ο "ορθολογισμός"

"Γιατί να θέλω να παραμείνω ανώνυμος στο διαδίκτυο; Δεν έχω τίποτα να κρύψω. Μόνο σε εγκληματίες και ανώμαλους μπορεί να χρησιμεύσει η ανωνυμία"

Να κάτι που ακούμε συχνά-πυκνά από εκείνους που τάσσονται υπέρ της μαζικής παρακολούθησης κάθε μας κίνησης στο διαδίκτυο. Πώς θα έφτανε στα αυτιά σας όμως η αντίστοιχη φράση για την ελευθερία του λόγου;

"Γιατί να θέλω την ελευθερία του λόγου; Δεν έχω τίποτα να πω. Μόνο σε υβριστές και συκοφάντες μπορεί να χρησιμεύσει η ελευθερία αυτή"

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

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

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

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

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

Τελειώνοντας με τα περί ανωνυμίας, θα αναφέρουμε ονομαστικά ορισμένες κατηγορίες που τη χρειάζονται, χωρίς να πρόκειται περί παιδεραστών ή εμπόρων ναρκωτικών:
  • Ανεξάρτητοι δημοσιογράφοι
  • Άθεοι του Ιράν και της Σαουδικής Αραβίας
  • Μη-κομμουνιστές Κίνας και Βόρειας Κορέας
  • Αντικαθεστωτικοί σε Τουρκία, Ρωσία, και άλλες ημιδικτατορικές χώρες 
  • Άτομα που μάχονται ενάντια στα καρτελ ναρκωτικών στη Λατινική Αμερική

Παραμένοντας ανώνυμος!

1. Χρήση Tor ή συναφούς δικτύου (με μεγάλη προσοχή)

Είναι παγκοίνως γνωστό ότι μια IP διεύθυνση είναι πολύ εύκολο να "κρυφτεί" με τη χρήση ενός proxy server. Στην ουσία, μια συσκευή συνδεδεμένη στο internet συνδέεται σε ένα σύστημα με διαφορετική IP, και οι κατοπινές επισκέψεις σε ιστοσελίδες φαίνεται να έγιναν από το δεύτερο σύστημα. Να σημειωθεί πως αυτό δεν ισχύει αν ενεργοποιηθούν cookies στη δική μας συσκευή.

Ωστόσο, ακόμα και στη περίπτωση που έχουμε πλήρως απενεργοποιημένα τα cookies (ή που φροντίζει κάπως ο proxy για τη μη-ενεργοποίησή τους), είναι πολύ εύκολο για τις αρχές να βρουν ποιος έκανε τι μέσω του εκάστοτε proxy server: οι συνδέσεις σε proxy καταγράφονται σε logs, και ακόμα και αν η εκάστοτε ιστοσελίδα "ξεγελαστεί", δεν ισχύει το ίδιο με τις αρχές εφόσον βγει ένταλμα έρευνας. Το εν λόγω πρόβλημα λύνεται με τη χρήση του δικτύου Tor, στο οποίο μπορείτε να συνδεθείτε κατεβάζοντας τον ομώνυμο browser από τη σχετική ιστοσελίδα.

Οφείλουμε να γράψουμε κάποια βασικά πράγματα για τη λειτουργία του, καθώς και για τα πιθανά κενά ασφαλείας που μπορεί να έχει.


Αντί ο χρήστης να συνδέεται άμεσα με την εκάστοτε ιστοσελίδα, συνδέεται πρώτα σε έναν κόμβο του δικτύου tor που θεωρείται ως κόμβος εισόδου (entry node). Το σύστημα του χρήστη έτσι "βλέπει" τον κόμβο εισόδου αντί του καθ'αυτού site. Ο κόμβος εισόδου έπειτα συνδέεται σε έναν ενδιάμεσο κόμβο του δικτύου, και ο προαναφερθείς αγνοεί τη διεύθυνση ή οποιαδήποτε πληροφορία για τον χρήστη. Θεωρεί ότι λαμβάνει αιτήσεις για δεδομένα από τον κόμβο εισόδου αντί του χρήστη, και τα αποστέλλει όλα στον πρώτο. Έπειτα, αν ο ενδιάμεσος κόμβος δεν συνδέεται σε άλλον ενδιάμεσο κόμβο δημιουργώντας έτσι μεγαλύτερη "αλυσίδα", συνδέεται στον κόμβο εξόδου (exit node), και ο τελευταίος συνδέεται στην ιστοσελίδα. Έτσι, η ιστοσελίδα "βλέπει" μόνο το exit node και όχι το χρήστη που συνδέθηκε σε αυτή.

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

Η ιδιαιτερότητα αυτού του δικτού έγκειται στο ότι τα nodes δεν διατηρούν ιστορικό και είναι αδύνατον να εντοπιστεί ποιος κόμβος συνδέθηκε σε ποιον και τελικά σε ποια ιστοσελίδα. Οι αρχές έτσι θα έβρισκαν μέσω των logs την IP του exit node, χωρίς να μπορούν να βρουν τα ενδιάμεσα και το αρχικό. Συν τοις άλλοις, τα δεδομένα κρυπτογραφούνται εκ νέου σε κάθε κόμβο, και ακόμα και αν κάποιος μπορέσει να τα υποκλέψει είναι αδύνατον να τα διαβάσει και να δει σε ποιον προορίζονταν.

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


Γνωστές μέθοδοι εντοπισμού χρηστών στο Tor

Μια μέθοδος εντοπισμού χρηστών στο tor είναι η παρακολούθηση των συνδέσεων προς αυτό και σύγκριση της ώρας σύνδεσης, του όγκου δεδομένων, και των patterns μετάδοσής τους κατά την επικοινωνία ενός υπόπτου στο δίκτυο tor με το entry node, και τα αντίστοιχα του exit node με την ιστοσελίδα (traffic analysis). Υπάρχει μάλιστα η δυνατότητα τα δεδομένα να "πειράζονται" ώστε να εντοπίζεται σε ποιον αντιστοιχούν παρά τη κρυπτογράφηση.


Η γενική ιδέα είναι απλουστευμένα η εξής: αν ένας χρήστης λαμβάνει ένα αρχείο μεγέθους 15.4Mbytes χωρισμένο σε 513 πακέτα, και την ίδια περίπου ώρα υπάρχει κόμβος που μεταδίδει ένα τέτοιο αρχείο, υπάρχει μεγάλη βεβαιότητα πως ο χρήστης είναι συνδεδεμένος με τον συγκεκριμένο κόμβο. Ειδικά στη περίπτωση που εισαχθεί ένα "pattern" -φερ'ειπείν, τα πακέτα να μεταδίδονται το ένα μετά το άλλο με συγκεκριμένες μεταβολές στο ρυθμό μετάδοσης-, η βεβαιότητα είναι ακόμα μεγαλύτερη. Ένας επίδοξος χακερ μπορεί να έχει τον έλεγχο αρκετών κόμβων στο δίκτυο και να παρακολουθεί στοχευμένα τη κίνηση. Οι κόμβοι εν προκειμένω θα θεωρούντο "bad relays".

Το πρόβλημα των bad relays είναι υπαρκτό, και παρόλο που έχουν αναπτυχθεί στρατηγικές εντοπισμού τους, είναι κάτι το μάλλον συχνό να εντοπίζονται με καθυστέρηση. Μια από τις άμυνες του δικτύου tor στις επιθέσεις traffic analysis, είναι η προσθήκη θορύβου (βλ. πακέτα άνευ πραγματικών δεδομένων) στο δίκτυο, οπότε καθώς οι κόμβοι στέλνουν "άσχετα" πακέτα ο ένας στον άλλον είναι πιο δύσκολο να γίνει traffic analysis με αποτελέσματα. Μια άμυνα των χρηστών ποντάρει στο ότι ακόμα και αν ένας επιτιθέμενος ελέγχει μερικά nodes, δεν ελέγχει το σύνολο του δικτύου, και αν αλλάζει τακτικά το κύκλωμα τα τυχόν bad relays θα παρακολουθούν τις κινήσεις του μόνο προσωρινά.

Μια άλλη μέθοδος των αρχών χρησιμοποιήθηκε το 2011 στην επιχείριση torpedo, οδηγώντας στη σύλληψη αρκετών ατόμων. Συγκεκριμένα, αφότου οι αρχές απέκτησαν τον έλεγχο κάποιων ιστοσελίδων, φρόντισαν να "κατεβαίνει" στους επισκέπτες ένα script που έκανε ping σε κάποιον server του FBI με χρήση της κανονικής IP. Οι αρχές "επισκέφθηκαν" κάθε σπίτι με IP που εντοπίστηκε. Εν προκειμένω, η επίθεση έγινε μέσω του adobe flash, αλλά η ίδια μέθοδος μπορεί να χρησιμοποιηθεί μέσω άλλων εργαλείων.

Το 2013 το πασίγνωστο site Freedom Hosting, που φιλοξενούσε μεταξύ άλλων και πορνογραφία ανηλίκων, έκλεισε μαζί με πολλές άλλες ιστοσελίδες του δικτύου tor, όταν οι αρχές αξιοποίησαν ένα κενό ασφαλείας στον firefox κάνοντας μέσω javascript τους υπολογιστές πολλών χρηστών του tor, να αποστέλλουν την IP και τη MAC διεύθυνσή τους στους servers του FBI.

Ο κοινός παρονομαστής αυτών των επιθέσεων ήταν ότι στηρίχθηκαν στο flash και στο javascript, τα οποία είναι εξ'ορισμού απενεργοποιημένα αν το tor χρησιμοποιείται με τις κατάλληλες ρυθμίσεις ασφαλείας.


Ο tor browser παρέχει τη δυνατότητα απενεργοποίησης όλων όσων μπορούν να θέσουν σε κίνδυνο την ανωνυμία του χρήστη, με τη χρήση του high security level -έστω και αν κάτι τέτοιο δυσχεραίνει το σερφάρισμα, μιας και μεγάλα κομμάτια πολλών ιστοσελίδων στηρίζονται στο javascript και στο flash.

Κατά καιρούς έχουν αποκαλυφθεί διάφορα κενά ασφαλείας στο tor -με πρόσφατο παράδειγμα το Tormoil-, αλλά και μέθοδοι εντοπισμού χρηστών τελείως άσχετες με το καθ'αυτό tor -με αποκορύφωμα τα evercookies, για τα οποία θα μιλήσουμε παρακάτω.

Μια άλλη... "κουφή" μέθοδος ταυτοποίησης χρηστών γίνεται μέσω των patterns της χρήσης του ποντικιού από μέρους τους! Συγκεκριμένα, ο τρόπος με τον οποίο κάνουμε scroll down και μετακινούμε το βελάκι στην οθόνη είναι ιδιαίτερος και διαφέρει από άνθρωπο σε άνθρωπο. Συνιστάται λοιπόν και να χρησιμοποιείτε... διαφορετικά το ποντίκι σας όταν είστε στο Tor (εφόσον δεν απενεργοποιείτε το javascript)!

Παρόλα αυτά το tor παραμένει ένα ισχυρό εργαλείο για όποιον θέλει να καλύψει τα διαδικτυακά του ίχνη, και οι ταυτοποιήσεις χρηστών παραμένουν μάλλον οι εξαιρέσεις, ακόμα και μετά από ενδελεχέστατες έρευνες. Το "παρτυ" ανεξέλεγκτης παρανομίας στο δίκτυο tor αποτελεί τη πλέον τρανταχτή απόδειξη περί αυτού. Είναι επίσης χαρακτηριστικό ότι οι επονομαζόμενοι "whistleblowers", που δημοσιεύουν απόρρητα έγγραφα μυστικών υπηρεσιών, κάνουν εκτενή χρήση του Tor.

Σε κάθε περίπτωση όμως, πρέπει να είμαστε ιδιαίτερα προσεκτικοί με αυτό. Για τους λόγους που αναφέρθηκαν παραπάνω, συνιστάται η χρήση του με high security level, που σημαίνει  μεταξύ άλλων και απενεργοποιημένο το javascript όπως και κάθε είδους plug-in. Στο tor είναι πολύ σημαντική και η τακτική αλλαγή του κυκλώματος. Για λόγους που θα αναλυθούν παρακάτω επίσης, συνιστάται να τρέχει σε σύστημα με linux (συγκεκριμένες διανομές), BSD, ή qubes OS, και κατά προτίμηση μέσω εικονικής μηχανής. Γενικά, για μεγαλύτερη ασφάλεια συνιστάται η χρήση tor παράλληλα με τα άλλα μέτρα που αναφέρονται στη παρούσα ανάρτηση.

Ως εναλλακτική του δικτύου Tor αναφέρεται ενδεικτικά το Freenet.


2. Χρήση ασφαλούς λειτουργικού συστήματος 

Είναι γνωστό ότι στα "εμπορικά" λειτουργικά συστήματα (ήτοι, Windows και MacOS) παρακολουθούνται τα πάντα. Είναι χαρακτηριστικό ότι στα Windows 10 δυνητικά καταγράφονται ακόμα και αυτά που πληκτρολογείς, σαν να υπάρχει ενσωματωμένος keylogger. Βέβαια, ακόμα και στη περίπτωση που δεν αποστέλλεται το σύνολο των δεδομένων αυτών στη microsoft (αυτό εξάλλου θα δημιουργούσε έναν τεράστιο φόρτο δεδομένων προς επεξεργασία το μεγαλύτερο μέρος του οποίου θα ήταν εντελώς άχρηστο), και ακόμα και στη περίπτωση που κάποιος τροποποιεί τις σχετικές ρυθμίσεις, το γεγονός δεν αλλάζει: υπάρχει η τεχνική δυνατότητα να δουν δεδομένα σου.

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

Κανένας δεν σου μπορεί να σου εγγυηθεί ότι τα Windows δεν "λογοδοτούν" για το αν χρησιμοποιείς Tor ή άλλα δίκτυα ανωνυμίας, όπως κανένας δεν μπορεί να σου εγγυηθεί για το τι πληροφορίες μπορεί να αποστέλλουν στη microsoft χωρίς να το ξέρεις. Ο κώδικας των Windows, καθώς και του MacOS, πέρα από... ελαφρά μυστικός είναι και πολύ σύνθετος -που σημαίνει ότι ακόμα και αν τον βλέπαμε θα ήταν υπερβολικά δύσκολο να βρούμε τυχόν σημεία του που αφορούν στην υποκλοπή δεδομένων.

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

α) Linux (γενικά)



Το linux είναι βασισμένο στο ΛΣ unix, και άρχισε να αναπτύσσεται στις αρχές της δεκαετίας του 1990. Έκτοτε έχουν βγει πάμπολλες εκδοχές του, με γνωστότερες τις Ubuntu, Debian, Slackware, Fedora, Mint, και Arch. Βασικό χαρακτηρισικό του, η δυνατότητα προσαρμογής του στις ανάγκες του χρήστη -εφόσον έχει τις γνώσεις-, καθώς και ότι είναι open source -που σημαίνει ότι κάθε αλλαγή στο κώδικά του ελέγχεται από πολλούς ειδικούς, καθώς και από κάθε ενδιαφερόμενο με τις κατάλληλες γνώσεις.

Οι ιοι για linux είναι πρακτικά ανύπαρκτοι, και το ότι ο κώδικάς τους ειναι προσβάσιμος σε όλους δεν αφήνει μεγάλα περιθώρια για σκόπιμη ενσωμάτωση backdoors και τρωτών σημείων σε αυτόν.


β) OpenBSD

Θεωρείται ως το ασφαλέστερο λειτουργικό σύστημα που έχει υπάρξει μέχρι στιγμής (αν και, όπως θα δούμε παρακάτω, ίσως το Qubes OS να διεκδικεί τη πρώτη θέση). Βασισμένο στο unix-based Berkeley Software Distribution, το OpenBSD είναι ένα από τα πιο δύστροπα λειτουργικά συστήματα που μπορεί να χρησιμοποιήσει κάποιος. Είναι χαρακτηριστικό ότι ακόμα και το GUI του πρέπει να εγκατασταθεί χειροκίνητα. Έχοντας χρησιμοποιήσει το OpenBSD, μπορώ να πω ότι είναι παντελώς ακατάλληλο για άτομα που δεν χαρακτηρίζονται από τεράστια υπομονή με τους υπολογιστές.

Είναι πάραυτα η καλύτερη επιλογή που έχει κάποιος αν θέλει βέβαιη ασφάλεια, καθώς στα εικοσιτρία χρόνια που μετράει στον κόσμο της πληροφορικής, έχουν εντοπιστεί συνολικά δυο backdoors που έχουν προ πολλού διορθωθεί, ενώ ο κώδικάς του είναι υπό διαρκές auditing από πεπειραμένες ομάδες προγραμματιστών που αναζητούν κενά στην ασφάλειά του. Ακόμα και ειδικοί που θεωρούν τα BSD αναξιόπιστα ελλείψει μεγάλου αριθμού προγραμματιστών που ασχολούνται με αυτά, αναγνωρίζουν πως το OpenBSD είναι ένα δυνατό και ασφαλές ΛΣ.

Καλό είναι να διατηρούμε κάποια επιφύλαξη ακόμα και για το OpenBSD, καθώς, ως ανεφέρθη, είναι σχετικά λίγοι εκείνοι που ασχολούνται εκτενώς με αυτό, και αν δουλευαν περισσότεροι είναι πολύ πιθανό ότι θα είχαν βρεθεί και άλλα κενά ασφαλείας. Αξιοσημείωτες και οι κατηγορίες ότι το FBI πλήρωσε άτομα που δούλευαν σε αυτό για να δημιουργήσουν σκόπιμα backdoors στο cryptographic framework του -αν και δεν αποδείχθηκε ποτέ πως έγινε κάτι τέτοιο και πλησιάζει δεκαετία από τότε που διατυπώθηκαν.

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


γ) Qubes OS
(Update/Disclaimer 2022):
Αν και μέχρι στιγμής δεν έχει αποκαλυφθεί κάτι, ίσως να είναι σοφό να μείνετε μακριά από τέτοια λειτουργικά, αφού αυτά είναι που προσπαθεί μετά μανίας να "χακάρει" η NSA και υπάρχει πάντα η πιθανότητα κάποιο από αυτά να αποδειχθεί honeypot. 

Ένα ακόμα unix-based ΛΣ, που, αν και δεν θεωρείται (ακόμα) ως το ασφαλέστερο επειδή έχει δοκιμαστεί μόλις το 1/5 των χρόνων που το OpenBSD κρατάει αυτή τη θέση, διεκδικεί σίγουρα τον τίτλο του πιο παρανοϊκού ΛΣ που έχει αναπτυχθεί μέχρι στιγμής. Το Qubes OS χρησιμοποιεί μια τελείως διαφορετική προσέγγιση από τα άλλα ΛΣ που στοχεύουν στην ασφάλεια, θεωρώντας πως ο χρήστης είναι ήδη... θύμα hacking!

Με αυτή τη παραδοχή ως σημείο εκκίνησης, είναι χτισμένο ούτως ώστε να "σώζει τα άσωτα" σε περίπτωση που αυτή ισχύει, χωρίζοντας το σύστημα σε "κύβους" (εξού και το όνομα) πλήρως διαχωρισμένους ο ένας από τον άλλον. Οι "κύβοι" αυτοί είναι στην ουσία εικονικές μηχανές (virtual machines ή απλά VMs): έκαστο χρησιμοποιεί δικό της χώρο στη RAM, πλήρως διαχωρισμένο από τους άλλους, καθώς και συγκεκριμένο κομμάτι της CPU και της cache. Άλλος "κύβος" είναι τα αρχεία του χρήστη, άλλος "κύβος" ο browser (εξ'ορισμού tor), άλλος "κύβος" τα προγράμματα, κ.ο.κ.

Το σκεπτικό είναι πως ακόμα και αν κάποιος χακάρει ένα τμήμα του συστήματος θα του είναι παντελώς αδύνατον να εισχωρήσει και στα υπόλοιπα -έτσι, στη περίπτωση που κάποιος "χακάρει" το τμήμα που συνδέεται στο internet, του είναι αδύνατον να αποκτήσει πρόσβαση στα αρχεία, γιατί ο "κύβος" του internet δεν συνδέεται με κανένα τρόπο σε εκείνον των αρχείων. Στο εν λόγω ΛΣ είναι ανέφικτο ακόμα και το copy paste από τον έναν κύβο στον άλλον χωρίς ειδικές εντολές. Σε τέτοια δομή συστήματος, η υποκλοπή δεδομένων και τα evercookies είναι μάλλον αδύνατα.

Αν και κατά καιρούς έχει αποδειχθεί ότι τα VMs ίσως να μην είναι σε όλες τις περιπτώσεις τόσο διαχωρισμένα το ένα από το άλλο (βλ. Venom vulnerability), γενικά μιλώντας είναι όντως διαχωρισμένα, και η δομή του Qubes OS δεν φαίνεται να αφήνει πολλά περιθώρια για backdoors. Μόνο μεγάλο μειονέκτημα, ότι δεν τρέχει σε όλα τα συστήματα λόγω συγκεκριμένων απαιτήσεων στο hardware.

δ) whonix
(Update/Disclaimer 2022):
Αν και μέχρι στιγμής δεν έχει αποκαλυφθεί κάτι, ίσως να είναι σοφό να μείνετε μακριά από τέτοια λειτουργικά, αφού αυτά είναι που προσπαθεί μετά μανίας να "χακάρει" η NSA και υπάρχει πάντα η πιθανότητα κάποιο από αυτά να αποδειχθεί honeypot. 

Μια διανομή του linux που χρησιμοποιείται για ασφάλεια και ανωνυμία, και η οποία χρησιμοποιεί μια προσέγγιση που θυμίζει το Qubes OS: χρησιμοποιεί δυο VMs, το ένα εκ των οποίων συνδέεται (μέσω tor) στο διαδίκτυο και το άλλο θεωρείται ως "workstation" -το τμήμα του συστήματος στο οποίο δουλεύει ο χρήστης offline.

Οι δημιουργοί του διατείνονται πως ακόμα και ένα malware με root privilages είναι αδύνατον να αποκαλύψει τη πραγματική IP του χρήστη, καθώς οι ίδιες οι εφαρμογές το αγνοούν -κάτι που καθιστά το εν λόγω ΛΣ ιδιαίτερα ελκυστικό σε όσους θέλουν να διατηρήσουν την ανωνυμία τους.

ε) Tails
(Update/Disclaimer 2022):
Αν και μέχρι στιγμής δεν έχει αποκαλυφθεί κάτι, ίσως να είναι σοφό να μείνετε μακριά από τέτοια λειτουργικά, αφού αυτά είναι που προσπαθεί μετά μανίας να "χακάρει" η NSA και υπάρχει πάντα η πιθανότητα κάποιο από αυτά να αποδειχθεί honeypot. 

Το Tails είναι μια live (δηλ. τρέχει από usb ή cd-rom άνευ εγκατάστασης) διανομή του linux, χαρακτηριζόμενη από την εκτενή χρήση του Tor, καθώς και από το ότι δεν αφήνει ίχνη στο σύστημα στο οποίο χρησιμοποιείται. Έτσι, μετά το shutdown όλα τα σχετικά δεδομένα χάνονται.



3. Αποτροπή browser fingerprinting 

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

Ο αριθμός των συσκευών, ωστόσο, είναι ήδη πολύ μεγαλύτερος από τις δυνατές IP -τουλάχιστον προς το παρόν που χρησιμοποιείται ακόμα κυρίως το IPv4 (το IPv6 καλύπτει έναν αστρονομικό αριθμό διευθύνσεων)-, οπότε και έχουμε καταφύγει προ πολλού στο να δίνουμε μοναδική IP διεύθυνση σε συγκεκριμένες συσκευές (modems, routers, κ.α.), και να συνδεόμαστε στο διαδίκτυο μέσω αυτών (τεχνική NAT). Άρα, μια IP διεύθυνση δεν μπορεί να χρησιμοποιηθεί ως μοναδικό αναγνωριστικό, αφού μπορεί μέσω αυτής να συνδέονται εκατοντάδες συσκευές στο διαδίκτυο.

Η IP διεύθυνση δεν είναι μοναδικό αναγνωριστικό μιας συσκευής.

Ακόμα και με το IPv6 όμως, ουδείς εγγυάται ότι αυτή η τεχνική θα εκλείψει, όπως δεν εγγυάται κάποιος ότι δεν θα χρησιμοποιείται το Tor. Έτσι, ακόμα και με επαρκή αριθμό διαθέσιμων IP, οι αρχές δεν θα τις αντιμετώπιζαν ως αξιόπιστα αναγνωριστικά.

Η μη-πρακτικότητα της χρήσης της MAC διεύθυνσης -που και σήμερα είναι εξ'ορισμού μοναδική- για άλλους λόγους πέρα από δρομολόγηση πακέτων σε εσωτερικά δίκτυα, κατέστησε απαραίτητη την ανάπτυξη άλλων μεθόδων για μοναδική αναγνώριση συσκευών σε δίκτυα. Σε πρώτη μοίρα η χρήση των cookies. Στη πορεία όμως διαπιστώθηκε ότι υπάρχει μεγάλη πληθώρα στοιχείων που μπορεί να είναι, αν όχι μοναδικά, σίγουρα πολύ ιδιαίτερα σε κάθε συσκευή, και η ταυτόχρονη αξιοποίησή τους θα μπορούσε να τη προσδιορίσει μοναδικά.

Υπάρχουν πολλές συσκευές με Windows, και πολλές συσκευές με Google chrome, αλλά πόσες που να έχουν και τα δυο; Από αυτές, πόσες θα χρησιμοποιούν ως γλώσσα τα Ελληνικά; Από τις τελευταίες, πόσες άραγε θα χρησιμοποιούν ένα συγκεκριμένο σετ φόντων και πόσες θα έχουν ένα συγκεκριμένο plug-in στον browser; Είναι ξεκάθαρο ότι ελαχιστοποιώντας τη πιθανότητα να χαρακτηρίζεται μια συσκευή από ένα σύνολο ιδιοτήτων, μπορούμε να τη προσδιορίζουμε από αυτά σχεδόν μοναδικά ή μοναδικά.

Εδώ υπεισέρχονται οι μέθοδοι browser (ή device γενικώς) fingerprinting, που χρησιμοποιούν τέτοιου είδους στοιχεία για κάθε συσκευή ώστε να δημιουργούν ένα μοναδικό αναγνωριστικό -ένα "δαχτυλικό αποτύπωμα"- για καθεμια ώστε να είναι ξεκάθαρο ποιος είναι πίσω από κάθε διαδικτυακή κίνηση. Ο χρήστης έτσι παρακολουθείται στενότερα για να του εμφανίζονται οι κατάλληλες εξατομικευμένες διαφημίσεις, ή και για να συλλέξουν οι αρχές στοιχεία γύρω από εκείνον.

Ο χρήστης μπορεί να δει ορισμένα από τα στοιχεία που μπορούν να χρησιμοποιηθούν για fingerprinting στη συσκευή του στο amiunique, όπου διατίθεται λίστα με τα συλλεχθέντα δεδομένα για αυτό το  σκοπό. Παραθέτουμε αυτούσιο το πίνακα (μερικών εκ) των στοιχείων που μπορούν να συλλεχθούν, όπως υπάρχει στην εξαιρετική αυτή έρευνα των Yinzhi Cao, Song Li, και Erik Wijmans.

Η εντροπία μιας ιδιότητας εν προκειμένω αφορά στη βεβαιότητα με την οποία μπορεί να προσδιοριστεί μοναδικά ένα σύστημα μέσω αυτής. Ο αριθμός των συσκευών που μπορεί να χαρακτηρίζονται από ένα συγκεκριμένο χαρακτηριστικό είναι το δυο υψωμένο στη τιμή της εντροπίας του χαρακτηριστικού -φερ'ειπείν, για εντροπία 10 οι πιθανές συσκευές που μπορεί να έχουν ίδιο χαρακτηριστικό είναι μια στις 2^10=1024. Αν λάβουμε υπόψιν ένα μεγάλο (ή έστω σεβαστό) σύνολο τέτοιων χαρακτηριστικών μπορούμε να καταστήσουμε εξαιρετικά απίθανο να υπάρχουν έστω και δυο συστήματα με ίδιο fingerprint.

Οι έννοιες single-browser και cross-browser αφορούν σε έναν μεμονωμένο browser ενός συστήματος και ένα σύνολο browsers ενός συστήματος αντίστοιχα. Είναι κάτι σχετικό με τη συγκεκριμένη έρευνα, που λίγο μας απασχολεί εδώ. Ο όρος "stability" (σταθερότητα) δεν χρήζει επεξηγήσεως.

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

α) User agent: προσδιορίζει μεταξύ άλλων το λειτουργικό σύστημα και την εκδοχή του browser που χρησιμοποιούμε. Μπορείτε να δείτε ενδεικτικά τι εντοπίζεται με τη χρήση του whatsmyua.Ένα παράδειγμα user agent όπως φαίνεται στον browser είναι το εξής:

Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.87 Safari/537.36

από το οποίο φαίνεται ότι ο χρήστης έχει Windows 10 (Windows NT 10.0) των 64bits, καθώς και ότι χρησιμοποιεί Chrome/67.


Μια τροποποίηση του user-agent θα έκανε την ιστοσελίδα να θεωρεί ότι έχει να κάνει με ένα τελείως διαφορετικό σύστημα και browser. Έτσι, αν κάποιος χρησιμοποιεί π.χ. Firefox σε openBSD μπορεί να "ξεγελάσει" τις ιστοσελίδες στις οποίες μπαίνει, αλλά και τυχόν χακερς, ότι χρησιμοποιεί π.χ. Chrome σε Windows 8. Το user-agent μπορεί, θεωρητικά, να χρησιμοποιηθεί από κάποιον που θέλει να αποστείλει κακόβουλο λογισμικό ή και script (βλ. επιθέσεις κατά χρηστών tor) ώστε να ελέγχει τις διαδικτυακές κινήσεις τρίτου -θα μεριμνούσε τοιουτοτρόπως για την αποστολή του κατάλληλου ιου ή script με βάση το ΛΣ και τον browser. Επειδή δεν τρέχουν όλα τα λογισμικά και scripts σε όλα τα ΛΣ και τους browsers, μια τροποποίηση του user-agent θα απέτρεπε διαφόρων ειδών επιθέσεις στην ανωνυμία -τουλάχιστον τις πιο "ερασιτεχνικές" (θεωρητικά πάντα, ο επίδοξος χακερ θα απέστελλε κάτι που δεν λειτουργεί στο δικό μας σύστημα).

Η τροποποίηση του user agent στον firefox γίνεται ως εξής:


Στη μπάρα διευθύνσεων γράφουμε about:config και αφότου το ανοίξουμε, ψάχνουμε τα σχετικά με useragent. Με δεξί κλικ προσθέτουμε ένα String που ονομάζουμε general.useragent.override, και η τιμή του είναι το επιθυμητό user agent. Για Chrome 60 (δημοφιλέστερος browser το 2018) σε Windows 10 (δημοφιλέστερο ΛΣ υπολογιστών το 2018), το user agent έχει ως εξής:

Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.113 Safari/537.36

Μεγάλη πληθώρα user agents μπορεί να βρεθεί σε αυτή την ιστοσελίδα.

β) Screen resolution and color depth: όπως φαίνεται και από το όνομα, η ανάλυση της οθόνης και το βάθος του χρώματος μπορεί να χρησιμοποιηθεί στη ταυτοποίηση μιας συσκευής. Εξυπακούεται ότι σε κάθε σύστημα είναι κάθε άλλο παρα μοναδική, και αν λάβουμε υπόψιν τοις μετρητοίς την εντροπία 7.41 τότε μια στις 170 συσκευές έχει ακριβώς ίδια ανάλυση και βάθος χρωμάτων.

Σύμφωνα με την έρευνα, το zoom σε έναν browser αλλάζει την τιμή της ανάλυσης της οθόνης, οπότε μπορεί να ληφθεί υπόψιν η αναλογία πλάτους και ύψους που μένει σταθερή, όπως και οι τιμές availHeight, availWidth, availLeft, availTop, and screenOrientation. Με απενεργοποίηση του javascript δεν επιστρέφεται καμία από αυτές, και έτσι ο προσδιορισμός της πληροφορίας αυτής αποτρέπεται.

γ)List of fonts: Είναι εξαιρετικά σπάνιο, αν έχουν εγκατασταθεί εξεζητημένα φόντα σε ένα σύστημα, να υπάρχουν πολλά άλλα με ακριβώς ίδια λίστα φόντων. Ως εκ τούτου, είναι συνετό να αφήνουμε τα φόντα ενός συστήματος ως έχουν κατά την εγκατάσταση. Επιπρόσθετα, μπορούμε να... απενεργοποιήσουμε το flash -μιας και μέσω αυτού επιστρέφεται η λίστα των φόντων.

Να σημειωθεί πως σε paper κάποιου συμπατριώτη μας με όνομα Νικηφοράκης, που μπορείτε να βρείτε και εδώ,  αναφέρεται ένα side-channel attack για το προσδιορισμό της λίστας των φόντων σε περίπτωση που το flash είναι απενεργοποιημένο -συγκεκριμένα με ένα script που δημιουργεί ένα string σε συγκεκριμένο φόντο και αποπειράται να το εμφανίσει με χρήση των αντίστοιχων του υπολογιστή, για να συγκρίνει κατόπιν τα μεγέθη τους. Παρακάμπτεται με μια απενεργοποίηση του javascript.

δ)List of plugins: Κάτι με το οποίο οφείλουμε να είμαστε ιδιαίτερα προσεκτικοί, και δη αν χρησιμοποιούμε τέτοια εκτενώς. Ο γράφων χρησιμοποιεί μονάχα τρία επιπρόσθετα plugins, και όμως το similarity ratio όπως εμφανίζεται στο amiunique είναι μόλις 0.49%, και είναι απολύτως αυτονόητο πως όσο περισσότερα χρησιμοποιεί κάποιος, τόσο πιο απίθανο να βρεθεί άλλος χρήστης με ακριβώς ίδια λίστα. Και εδώ αρκεί μια απενεργοποίηση του javascript.

ε) Γλώσσες συστήματος και περιεχομένου:  Η γλώσσα του ΛΣ, και τα εγκατεστημένα writing scripts ενός συστήματος (π.χ. Ελληνικά). Καλό είναι να χρησιμοποιούμε μόνο Αγγλικά. Εναλλακτικά, μπορούμε να ακολουθήσουμε τη τακτική του μεγάλου θρυλικού χάκερ, και να εγκαταστήσουμε... Καμποτζιανά! (έτσι θα ψάχνουν να μας βρουν στη Καμπότζη ;) ). Μπορούμε επίσης να έχουμε καλού-κακού απενεργοποιημένο το flash και το javascript.

Πέραν αυτών όμως, είναι και οι γλώσσες του περιεχομένου που εμφανίζουμε με σειρά από τη περισσότερο στη λιγότερο χρησιμοποιούμενη. Το content language του γράφοντος έχει ως εξής:

"el,el-GR;q=0.9,en;q=0.8,sv;q=0.7,de;q=0.6,it;q=0.5"

που μοιράζεται με λιγότερο από το 0.1% των χρηστών! Οπότε και καθίσταται εμφανές ότι, τουλάχιστον στο σύστημα που χρησιμοποιούμε για ανωνυμία, πρέπει να βλέπουμε μόνο σελίδες στα Αγγλικά (και τα... Καμποτζιανά). Εδώ μας προδίδει ο HTTP Header, τον οποίο θεωρητικά έχουμε τη δυνατότητα να τροποποιήσουμε με plug-in, αλλά είναι πιο συνετό να λάβουμε υπόψιν μέτρα σε επίπεδο συστήματος (βλ. VM από το οποίο μπαίνουμε μόνο σε συγκεκριμένες ιστοσελίδες με συγκεκριμένες γλώσσες). 
.

στ) Canvas fingerprinting: Κάτι που θέτει σε μεγάλο κίνδυνο την ανωνυμία μας, μιας και τα στοιχεία που συνάγονται μέσω αυτού είναι σχεδόν μοναδικά (βλ. ποσοστό πάνω από το 99% των χρηστών έχει μοναδικό canvas fingerprint).

Το Canvas είναι ένα στοιχείο του HTML5 που επιτρέπει τη δημιουργία και την αναπαράσταση αντικειμένων στη κάρτα γραφικών του συστήματος. Η βασική ιδέα πίσω από το canvas fingerprint είναι να προτρέπεται το σύστημα να δημιουργεί κάποιο αντικείμενο όπως ζητείται από το site, και να επιστρέφεται το message digest του. Επειδή όμως κάθε κάρτα γραφικών είναι ελαφρώς διαφορετική από τις άλλες σε επίπεδο κυκλώματος -με τον ίδιο τρόπο που κάθε όπλο είναι ελαφρώς διαφορετικό από τα άλλα ώστε να μπορεί να ταυτοποιηθεί μοναδικά μετά τη χρήση του-, οι τιμές που επιστρέφονται είναι στη συντριπτική πλειοψηφία των φορών διαφορετικές σε κάθε σύστημα.

Αν εκτός από το canvas fingerprint ληφθούν υπόψιν και τα άλλα στοιχεία ταυτοποίησης ενός συστήματος, είναι εξαιρετικά απίθανο να υπάρχουν άλλα με ίδιες προδιαγραφές. Ευτυχώς για την ανωνυμία μας, υπάρχουν μέτρα ασφαλείας που μπορούμε να λάβουμε. Μεταξύ αυτών (σωστά μαντέψατε), η χρήση tor browser, όστις μας προειδοποιεί αν μια ιστοσελίδα χρησιμοποιεί HTML5 και canvas elements και επιστρέφει μια κενή εικόνα. Μια άλλη μέθοδος, η χρήση κάποιου Canvas Defender, που τροποποιεί το fingerprint. Συνιστάται να χρησιμοποιείται μόνο περιστασιακά, γιατί η χρήση του και μόνο μπορεί να αποτελέσει στοιχείο ταυτοποίησης.


Η πλειοψηφία της συλλογής των προαναφερθέντων προλαμβάνεται με τρια βασικά μέτρα:
απενεργοποίηση flash, απενεργοποίηση javascript, χρήση Tor browser με torbutton, οπότε και "εξομαλύνονται" πολλά από αυτά στο μέσο όρο των χρηστών.

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


4. Προσοχή στα (ever)cookies!

-Αποδέχεστε τα cookies;

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

Θεωρητικά (και συνήθως και πρακτικά), τα cookies διαγράφονται από τη συσκευή μας όποτε το θελήσουμε. Αν και η διαγραφή τους δεν εγγυάται ότι δεν θα υπάρξει συσχέτιση του νέου cookie με τα προηγούμενα (π.χ. με τη χρήση ενός e-mail ως αναγνωριστικού), είναι πάραυτα εφικτή και γίνεται σε δευτερόλεπτα.

Υπάρχει, ωστόσο, μια παραλλαγή του cookie που κινείται στα όρια της νομιμότητας -τα επονομαζόμενα evercookies. Σε αντιδιαστολή με τα τυπικά cookies, τα evercookies δεν αποθηκεύονται σε ένα, αλλά σε πολλά σημεία του συστήματος ώστε να καταστεί σχεδόν αδύνατος ο άμεσος εντοπισμός όλων. Και όχι μόνο δεν διαγράφονται αλλά "αντιστέκονται" σε κάθε απόπειρα διαγραφής τους δημιουργώντας εκ νέου τα τυχόν διαγραφέντα, αν όχι και ακόμα περισσότερα σε άλλα σημεία.

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

     - Standard HTTP Cookies
     - HTTP Strict Transport Security (HSTS) Pinning
     - Local Shared Objects (Flash Cookies)
     - Silverlight Isolated Storage
     - Storing cookies in RGB values of auto-generated, force-cached
        PNGs using HTML5 Canvas tag to read pixels (cookies) back out
     - Storing cookies in Web History
     - Storing cookies in HTTP ETags
     - Storing cookies in Web cache
     - window.name caching
     - Internet Explorer userData storage
     - HTML5 Session Storage
     - HTML5 Local Storage
     - HTML5 Global Storage
     - HTML5 Database Storage via SQLite
     - HTML5 IndexedDB
     - Java JNLP PersistenceService
     - Java CVE-2013-0422 exploit (applet sandbox escaping)

Το evercookie είναι ο εφιάλτης κάθε χρήστη που θέλει να διατηρήσει την ανωνυμία του, καθώς άπαξ και κατέβει στο σύστημά του θα παραμείνει σε αυτό (τουλάχιστον) μέχρι το επόμενο φορματ. Έτσι, ακόμα και αν ο χρήστης νομίζει ότι το διέγραψε, οι ιστοσελίδες θα εξακολουθούν να ξέρουν ποιος είναι. Το χειρότερο όμως, είναι ότι μπορούν να χρησιμοποιηθούν και για εντοπισμό χρηστών μέσω του tor!


Αν και στη καθημερινή χρήση του υπολογιστή μας μπορούμε (και συχνά πρέπει) να χρησιμοποιούμε cookies, πρέπει να λαμβάνουμε αυξημένα μέτρα ασφαλείας στα δίκτυα ανωνυμίας για να αποκλείσουμε το ενδεχόμενο των τυχόν evercookies και της αναγνώρισής μας μέσω αυτών. Ο πιο σίγουρος τρόπος γι'αυτό είναι η χρήση VM όταν σερφάρουμε με tor, ώστε ακόμα και αν με κάποιο τρόπο μας εμφυτεύσουν evercookies να μείνουν παγιδευμένα σε αυτό, ενώ αν τα evercookies προέρχονται από το κυρίως διαδίκτυο να αφήνουν το VM ανεπηρέαστο. Το VM που θα χρησιμοποιούμε με tor, εν προκειμένω, σε καμία περίπτωση δεν θα χρησιμοποιείται για κανονικό σερφαρισμα. Η παραπάνω ιδέα θα αναπτυχθεί καλύτερα σε επόμενο υποκεφάλαιο.


5. Εκτενής χρήση εικονικών μηχανών

Η εικονική μηχανή (Virtual Machine ή απλώς VM) είναι στην ουσία ένας υπολογιστής μέσα σε υπολογιστή. Είναι κάτι το απίστευτα εύκολο να αναθέσουμε ένα κομμάτι της υπολογιστικής μας ισχύος σε έναν εικονικό υπολογιστή, που μπορεί να τρέχει και τελείως διαφορετικό ΛΣ.


Ένας υπολογιστής με MacOS τρέχει έναν εικονικό υπολογιστή με Windows 10.
Πρακτικά, είναι ένας δεύτερος υπολογιστής μέσα στον πρώτο

Το κυρίως λειτουργικό σύστημα του μηχανήματός μας (host OS) τρέχει ένα πρόγραμμα (virtual machine) μέσω του οποίου αποδεσμεύονται κάποιοι πόροι του συστήματος (π.χ. ram, πυρήνες του επεξεργαστή, κ.α.) και χρησιμοποιούνται σαν ένας δεύτερος, ξεχωριστός υπολογιστής. Είναι η λογική πάνω στην οποία χτίστηκε το Qubes OS, που θεωρείται ως ένα από τα ασφαλέστερα λειτουργικά συστήματα.

Το πλεονέκτημα των VMs είναι ότι αν ο εικονικός υπολογιστής κολλήσει ιο ή αποκτήσει evercookies, αυτά περιορίζονται στο εικονικό μηχάνημα: ο ιος (ή το evercookie) δεν έχει κανένα τρόπο να ξέρει πως η μηχανή που κόλλησε είναι εικονική. Ακόμα και στη περίπτωση που έχει εκ των προτέρων αυτή τη γνώση, δεν υπάρχει τίποτα που να μπορεί να κάνει για να επηρεάσει το κυρίως σύστημα. Θεωρητικά τουλάχιστον.

Ένα χαρακτηριστικό "παραθυράκι" για το δεύτερο σκέλος της προηγούμενης παραγράφου, το venom vulnerability, το οποίο ναι μεν δεν επηρέαζε όλα τα σχετικά προγράμματα και έχει προ πολλού διορθωθεί -αλλά είναι χαρακτηριστικό παράδειγμα για το τι είδους προβλήματα μπορεί να προκύψουν.

Υπάρχει επίσης η πιθανότητα Virtual Machine Escape αν το VM έχει κάποιο κοινό φάκελο με το host OS, καθώς και μέσω της κάρτας δικτύου αν δεν υπάρχει ασφάλεια σε επίπεδο δικτύου.  Τι μπορούμε να κάνουμε για να αποτρέψουμε κάτι τέτοιο; Να είμαστε πολύ προσεκτικοί με το τι κατεβάζουμε, να χρησιμοποιούμε διαφορετικό host OS από εκείνο του VM, να διαγράφουμε τα VMs μας και να δημιουργούμε άλλα (με διαφορετικές προδιαγραφές για αποφυγή fingerprinting), και να είμαστε ενήμεροι για τυχόν νέα bugs.

Υπόψιν ότι είναι εξαιρετικά απίθανο ο επιτιθέμενος να καταλαβαίνει ότι έχει να κάνει με VM -εφόσον δεν προκύπτει κάτι τέτοιο από τα στοιχεία του browser-fingerprint τουλάχιστον-, οπότε μπορούμε να ποντάρουμε στο ότι η εκτενής χρήση VMs είναι ένα αρκετά καλό μέτρο προστασίας από ιους, evercookies, και fingerprinting.

Όπως πιθανότατα μαντεύετε, είναι πιο σοφό το host OS να είναι κάποιο από τα ασφαλή λειτουργικά συστήματα, μιας και ουδείς μας εγγυάται ότι τα άλλα δεν παρακολουθούν τι κάνουμε σε τυχόν VMs . Ακόμα και με μη-ασφαλή λειτουργικά συστήματα όμως, τέτοιου είδους παρακολούθηση θα ήταν μάλλον μη-πρακτική -χωρίς αυτό να σημαίνει ότι πρέπει να τρέχουμε το VM από το οποίο θέλουμε να είμαστε ανώνυμοι σε τέτοιο.

Συνιστάται η χρήση tor μέσω VM με ασφαλές ΛΣ, με τρέχει μέσω ασφαλούς host OS.


6. Προσοχή με τη google, τα social media, και τα smartphones! 

Θεωρείται κοινός τόπος ότι η google όχι μόνο καταγράφει τα πάντα, αλλά κρατάει και τα εκάστοτε δεδομένα επ'αόριστον. Στο βαθμό του εφικτού, μπορείτε να χρησιμοποιείτε μηχανές αναζήτησης και υπηρεσίες που μεριμνούν για την ανωνυμία. Ένα χαρακτηριστικό παράδειγμα, η μηχανή αναζήτησης duckduckgo, που επιστρέφει τα ίδια αποτελέσματα με το google χωρίς όμως να κρατάει τα στοιχεία των χρηστών. Συνιστάται να γίνονται μέσω αυτής όλες οι έρευνες που μπορούν να προδώσουν ευαίσθητα προσωπικά δεδομένα (π.χ. ιατρικές παθήσεις, σεξουαλικό προσανατολισμό, κ.α.), καθώς και κάθε έρευνα που μπορεί να μας βάλει "στο μάτι" των αρχών.

Περιττεύει να αναφερθεί ότι πρέπει να είμαστε ιδιαίτερα προσεκτικοί με τα social media, τόσο σε αυτά που ποστάρουμε και στα likes που κάνουμε, όσο και στα μηνύματα. Είναι συνετό να αποφεύγουμε κάθε αναφορά σε οτιδήποτε κάναμε ανώνυμα στο διαδίκτυο στα chats των μέσων κοινωνικής δικτύωσης -και επ'ουδενί δεν τα χρησιμοποιούμε από το VM μέσω του οποίου μπαίνουμε tor (εφόσον επιλέγουμε τέτοιο μέτρο ασφαλείας). Αντίστοιχα για τις υπηρεσίες της google.

Αφήνοντας τη πιο παρανοϊκή συμβουλή για το τέλος, αναφέρουμε πως επειδή υπάρχει η τεχνική δυνατότητα παρακολούθησης συνομιλιών μέσω των smartphones, φροντίζουμε να μην υπάρχει κανένα τέτοιο τριγύρω αν έχουμε ουσιώδη πράγματα να κρύψουμε -π.χ. στη περίπτωση δημοσιογράφων που πρόκειται να αποκαλύψουν ανωνύμως κάτι μεγάλο. Κάτι τέτοιο είναι ακραιφνώς παρανοϊκό, αλλά και σοφό. Όσοι έχουν την οικονομική δυνατότητα, να προτιμήσουν ένα GSMK Cryptophone.


Χτίζοντας μια μηχανή ανωνυμίας

Λαμβάνοντας υπόψιν όλα τα παραπάνω, ιδού μερικά πιθανά βήματα προς μια μηχανή ανωνυμίας.

1. Φροντίζουμε να βασιστούμε σε κάποιο υψηλών προδιαγραφών laptop. Η φορητότητα συνεπάγεται ότι θα μπορούμε να συνδεθούμε σε τυχόν δημόσια δίκτυα -φερ'ειπείν, στο wifi μιας καφετέριας-, λαμβάνοντας βέβαια τα μέτρα ασφαλείας που αυτό θα συνεπαγόταν. Συνεπάγεται επίσης ότι μπορούμε να το ξεφορτωθούμε ή να το αφήσουμε σε χώρο τρίτου με μεγαλύτερη ευκολία αν έχουμε βάσιμες υποψίες ότι θα γίνει έρευνα -π.χ., στη περίπτωση που ένας δημοσιογράφος αποκαλύπτει περισσότερα από όσα του επιτρέπεται ή έχει απόρρητα αρχεία.

2. Το όποιο μηχάνημα είναι συνετότερο να τρέχει κάποια διανομή του linux. Το OpenBSD και το Qubes OS που ανεφέρθησαν ως ασφαλέστερα λειτουργικά συστήματα, είναι ιδιαίτερα δύστροπα και με περιορισμένη γκάμα διαθέσιμων εφαρμογών, και είναι καταλληλότερα για τα VMs. Αυτό δεν ισχύει για τις διανομές του linux -π.χ. Fedora ή Debian. Η χρήση δύσκολων κωδικών και η κρυπτογράφηση του σκληρού δίσκου εξυπακούονται. Όσον αφορά στους πρώτους, συνιστάται ο συνδυασμός ενός συμβατικού κωδικού με... στίχο από κάποιο τραγούδι (και όμως!) για (σημαντικά) μεγαλύτερο μήκος.

3. Το εκάστοτε ΛΣ πρέπει να χρησιμοποιείται μονάχα ως host OS. Με βάση τα όσα ήδη αναλύθηκαν, η σύνδεση στο διαδίκτυο πρέπει να γίνεται μονάχα από VMs για τον αποκλεισμό ιών και evercookies. Το host OS είναι καλό να μη συνδέεται ποτέ στο διαδίκτυο μέσω browser (για αποκλεισμό ιών, fingerprinting, και evercookies), και αν θέλουμε να κατεβάσουμε τυχόν αρχεία να προστίθενται μέσω (ελεγμένου) usb.

4. Η απλή σύνδεση στο internet να γίνεται μέσω διαφορετικού VM από εκείνο που χρησιμοποιούμε για σύνδεση στο tor. Σκοπός αυτού είναι για άλλη μια φορά ο αποκλεισμός ιών, fingerprinting, και evercookies, άτινα καθίστανται τοιουτοτρόπως παντελώς άχρηστα για ταυτοποίηση χρήστη σε δίκτυο ανωνυμίας. Είναι, επίσης, συνετό να διαγράφουμε τακτικά τα VMs και να χρησιμοποιούμε άλλα στη θέση τους, με άλλες ρυθμίσεις και προδιαγραφές για αποφυγή fingerprinting. Όλα τους να χρησιμοποιούν ασφαλή ΛΣ.

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

6. Λαμβάνουμε όλα τα δυνατά μέτρα αποτροπής browser-fingerprint όπως αναλύθηκαν στο άρθρο. Συνιστάται κάθε VM να έχει διαφορετικές προδιαγραφές, ώστε ακόμα και αν τα τυχόν μέτρα παρακαμφθούν να μην καταλήξουν να αντιμετωπίζονται ως μια μηχανή. Επιβάλλεται επίσης να μην μπορεί ευύκολα να καταστεί εμφανές ότι πρόκειται περί VM, ακόμα και αν δεν λαμβάνονται μέσα ασφαλείας -έτσι π.χ. φροντίζουμε η μνήμη να είναι κάποια ακέραια δύναμη του δυο, ούτως ώστε αν κάποιος επιτιθέμενος δει τέτοια στοιχεία για το σύστημά μας να μη μπει σε υποψίες από τα 3786 MBs μνήμης RAM ώστε να εφαρμόσει τεχνικές VM escape.

7. Συνιστάται η αλλαγή της MAC που βλέπει το ΛΣ του εκάστοτε VM, γιατί οι επιθέσεις σε δίκτυα ανωνυμίας ενίοτε αποσκοπούν στην αποκάλυψη και της MAC εκτός από την IP, όπως έγινε και με το FreedomHosting. Η διαδικασία αλλαγής υπάρχει εδώ και εδώ. Δεν είναι ξεκάθαρο κατά πόσο θα ξεγελούσε όλους τους επιτιθέμενους, αλλά κάθε μέτρο χρησιμεύει.

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

9. Υπενθυμίζεται ότι οι web browsers που αναπτύχθηκαν από μεγάλες εταιρείες ενδέχεται να καταγράφουν περισσότερα από άλλους. Συνιστάται Tor browser για το ανώνυμο σερφάρισμα, και οποιοσδήποτε που δεν αναπτύχθηκε από μεγάλη εταιρεία για το κανονικό -το οποίο όμως είναι καλό να αποφεύγουμε στο συγκεκριμένο σύστημα..

10. Είναι επιτακτική η ανάγκη του να γίνονται αυτές οι ρυθμίσεις πριν τη πρώτη σύνδεση της συσκευής στο διαδίκτυο -κάτι που επιτυγχάνεται πολύ εύκολα αν όταν γίνονται οι ρυθμίσεις το μηχάνημα δεν συνδέεται πουθενά. Η αγορά του μηχανήματος είναι συνετότερο να γίνει με μετρητά και χωρίς να εμφανίζεται κάπου το όνομα του αγοραστή, ώστε αν υπάρχουν system fingerprints που αγνοούμε να μην μπορούν να αντιστοιχιστούν σε συγκεκριμένο πρόσωπο. Συνιστάται επίσης να γίνονται τακτικά restarts σε περίπτωση πολύωρης χρήσης ώστε να αποτραπεί τυχόν cold boot attack από απρόσμενη επίσκεψη των αρχών.


Σύνδεσμοι

Tor network and vulnerabilities
[1]https://www.torproject.org/
[2]https://en.wikipedia.org/wiki/Tor_(anonymity_network)
[3]https://thehackernews.com/2017/11/tor-browser-real-ip.html
[4]https://motherboard.vice.com/en_us/article/kb7kza/the-fbi-used-a-non-public-vulnerability-to-hack-suspects-on-tor
[5]https://www.theguardian.com/world/2013/oct/04/tor-attacks-nsa-users-online-anonymity
[6]https://en.wikipedia.org/wiki/Operation_Torpedo
[7]https://wccftech.com/research-discovers-rogue-tor-nodes/
[8]https://threatpost.com/tor-browser-users-urged-to-patch-critical-tormoil-vulnerability/128769/
[9]https://news.softpedia.com/news/tor-users-can-be-tracked-based-on-their-mouse-movements-501602.shtml

Browser fingerprinting
[1]http://yinzhicao.org/TrackingFree/crossbrowsertracking_NDSS17.pdf
[2]https://panopticlick.eff.org/static/browser-uniqueness.pdf
[3]https://amiunique.org/fp
[4]https://panopticlick.eff.org/
[5]https://www.eff.org/deeplinks/2010/01/primer-information-theory-and-privacy
[6]https://www.w3.org/wiki/images/7/7d/Is_preventing_browser_fingerprinting_a_lost_cause.pdf
[7]https://wiki.mozilla.org/Fingerprinting
[8]https://allegro.tech/2015/03/browser-fingerprints.html
[9]http://consideredharmful.info/papers/Paper%20-%20Hot%20Topics%20in%20Computer%20Security%20-%20Cookieless%20Monster.pdf

Evercookies 

Virtual machines and virtual machine escapes
[1]https://en.wikipedia.org/wiki/Virtual_machine
[2]https://en.wikipedia.org/wiki/Virtual_machine_escape
[3]https://www.techrepublic.com/article/10-new-vm-escape-vulnerabilities-discovered-in-virtualbox/
[4]https://www.reddit.com/r/techsupport/comments/5hzgh9/can_viruses_escape_virtual_machines/
[5]https://docs.microsoft.com/en-us/security-updates/SecurityBulletins/2015/ms15-068
[6]https://www.reddit.com/r/techsupport/comments/80i735/can_my_virtualbox_os_spread_viruses_to_my_host_os/
[7]https://securingtomorrow.mcafee.com/mcafee-labs/analyzing-patch-of-a-virtual-machine-escape-on-vmware/
[8]https://www.techopedia.com/definition/13706/virtual-machine-escape


-------------------------------------------------


©George Malandrakis
All rights reserved