Ζώνη ώρας του προγράμματος περιήγησης έναντι τοποθεσίας IP: σύγκριση ενός σήματος κινδύνου
Η ζώνη του προγράμματος περιήγησης και η ζώνη που παράγεται από τη διεύθυνση IP μετρούν διαφορετικά πράγματα. Συγκρίνετε τι μπορεί να αποδείξει καθεμία πριν μια ασυμφωνία γίνει ετυμηγορία VPN στο μοντέλο κινδύνου σας.
Ένα πρόγραμμα περιήγησης αναφέρει Europe/London, ενώ μια βάση δεδομένων IP τοποθετεί το αίτημα στο America/New_York. Πρόκειται για ασυμφωνία ανάμεσα σε δύο παρατηρήσεις, και αξίζει να καταγραφεί. Δεν είναι απόδειξη ότι ο επισκέπτης χρησιμοποιεί VPN, και ακριβώς η αντιμετώπισή της ως απόδειξης είναι το σημείο όπου σφάλλουν οι περισσότερες υλοποιήσεις. Η σύγκριση παρακάτω κρατά τις δύο τιμές, και τους τρόπους αποτυχίας τους, χωριστά.
Δύο παρατηρήσεις με διαφορετικούς ιδιοκτήτες
Η τιμή του προγράμματος περιήγησης είναι μια ρύθμιση: η ζώνη που επέλεξε το λειτουργικό σύστημα ή ο χρήστης για τη μορφοποίηση ημερομηνιών. Η τιμή της βάσης δεδομένων είναι μια εκτίμηση συνδεδεμένη με ένα δίκτυο IP, που παράγεται από πάροχο ο οποίος αντιστοιχίζει μπλοκ διευθύνσεων σε τοποθεσίες. Καμία από τις δύο δεν είναι πιστοποιημένη δήλωση για το πού βρίσκεται ο επισκέπτης, και καμία δεν γνωρίζει ποια διαδρομή δικτύου ακολούθησε το αίτημα.
Επειδή οι ιδιοκτήτες διαφέρουν, οι δύο τιμές μπορούν να αποκλίνουν για λόγους που δεν έχουν καμία σχέση με εργαλεία ιδιωτικότητας. Ένας ταξιδιώτης που κρατά τη ζώνη του σπιτιού, ένας εταιρικός φορητός υπολογιστής καρφιτσωμένος στην ώρα των κεντρικών γραφείων, μια δορυφορική ζεύξη με περιφερειακή έξοδο ή μια παρωχημένη γραμμή στη βάση δεδομένων παράγουν όλα ασυμφωνία.
Πώς παράγεται στην πραγματικότητα κάθε τιμή
Ένα πρόγραμμα περιήγησης μπορεί να διαβάσει τη ζώνη που έχει επιλύσει με new Intl.DateTimeFormat().resolvedOptions().timeZone, το οποίο επιστρέφει ένα αναγνωριστικό IANA που προκύπτει από τις ρυθμίσεις της μορφοποίησης. Δεν ζητά άδεια τοποθεσίας και δεν συμβουλεύεται GPS. Στον διακομιστή, προσδιορίστε τη διεύθυνση του πελάτη από την αξιόπιστη διαμόρφωση μεσολαβητή σας και έπειτα αναζητήστε την σε εγκεκριμένο πάροχο. Μια κεφαλίδα προώθησης που παρέχει ο επισκέπτης δεν είναι αυτόματα αυτή η διεύθυνση.
Αποθηκεύστε τις δύο παρατηρήσεις σε χωριστά πεδία μαζί με τον χρόνο παρατήρησης και το αποτέλεσμα της αναζήτησης. Το να ονομάσετε το παράγωγο πεδίο vpnDetected όταν ο υπολογισμός είναι μόνο σύγκριση ζωνών ενσωματώνει ένα συμπέρασμα σε μια μέτρηση και κάνει δυσκολότερη τη μεταγενέστερη εξέταση.
Τι αποδεικνύουν η συμφωνία και η ασυμφωνία
| Παρατήρηση | Τι αφήνει άλυτο |
|---|---|
| Διαφορετικές αναφερόμενες ζώνες | Ταξίδι, μια διατηρημένη ρύθμιση, μια πύλη επιχείρησης, ένας μεσολαβητής ή ένα σφάλμα βάσης δεδομένων μπορούν όλα να το παράγουν. |
| Η ίδια αναφερόμενη ζώνη | Μια έξοδος VPN μπορεί να βρίσκεται στη ζώνη του χρήστη, οπότε η συμφωνία δεν αποδεικνύει άμεση σύνδεση. |
| Μια τιμή λείπει ή είναι άκυρη | Η σύγκριση δεν είναι διαθέσιμη, κάτι που δεν είναι ούτε συμφωνία ούτε ασυμφωνία. |
Η ασυμμετρία έχει μεγαλύτερη σημασία από ό,τι υποδηλώνει ο πίνακας. Μια ασυμφωνία έχει πολλές αθώες εξηγήσεις, ενώ μια συμφωνία έχει τουλάχιστον μία ένοχη, άρα καμία κατεύθυνση δεν στηρίζει κατηγορηματικό κανόνα. Οι ίδιες οι σημειώσεις ακρίβειας του παρόχου περιγράφουν περιορισμένη ακρίβεια και ελλιπή δεδομένα, και επισημαίνουν ότι μια υπηρεσία ανωνυμοποίησης μπορεί να αποκαλύψει την τοποθεσία του διακομιστή της αντί του χρήστη.
Γι' αυτό το σήμα ανήκει σε βαθμολογία κινδύνου με καταγεγραμμένη αιτία και ρητή άγνωστη κατάσταση, όχι σε μια λογική τιμή που ελέγχει την πρόσβαση.
Οι μετατοπίσεις UTC δεν είναι συντόμευση
Η σύγκριση μετατοπίσεων αντί αναγνωριστικών ζώνης δεν διορθώνει το συμπέρασμα. Δύο διαφορετικές ζώνες μπορούν να μοιράζονται μια μετατόπιση για μέρος του έτους, και η ίδια ζώνη μπορεί να αλλάξει μετατόπιση σε ένα όριο θερινής ώρας. Αν μια λειτουργία χρειάζεται πραγματικά μετατόπιση για προγραμματισμό, υπολογίστε την για τη συγκεκριμένη στιγμή αντί να αποθηκεύσετε έναν αριθμό και να τον επαναχρησιμοποιήσετε ως απόδειξη ταυτότητας.
Η σύγκριση συμβολοσειρών έχει τη δική της παγίδα: δύο γραφές της ίδιας ζώνης, ή ένα παλιό ψευδώνυμο, θα διαφέρουν ως κείμενο ενώ περιγράφουν την ίδια ρύθμιση. Επικυρώστε τα αναγνωριστικά και συγκρίνετε μέσω του χειρισμού ζωνών ώρας της πλατφόρμας αντί να αντιστοιχίζετε ακατέργαστες συμβολοσειρές.
Αποκλεισμός ή βαθμολόγηση: επιλέξτε την αντίδραση συνειδητά
Για εμφάνιση ώρας, ρωτήστε τον επισκέπτη ποια ζώνη προτιμά και σταματήστε εκεί. Για ένα σύστημα κινδύνου εφαρμογής, αντιμετωπίστε μια ασυμφωνία ως ένα αδύναμο συμφραζόμενο σήμα μαζί με στοιχεία που ταιριάζουν στο πραγματικό μοντέλο απειλής, και αφήστε μια αποτυχημένη αναζήτηση να δώσει άγνωστο αντί για σιωπηλή ανίχνευση. Ο αποκλεισμός μόνο με βάση τη σύγκριση μετατρέπει ένα κενό μέτρησης σε κατηγορία προς τον χρήστη.
Αν μια απόφαση με συνέπειες χρειάζεται ισχυρότερη διασφάλιση, χρησιμοποιήστε ένα βήμα επαλήθευσης ή ταυτοποίησης σχεδιασμένο γι' αυτό. Μια ευρετική ζώνης ώρας δεν μπορεί να παράσχει αυτή τη διασφάλιση, και ένας ανιχνευτής που μετρά τα ελλιπή στοιχεία ως επιτυχία μπορεί να φαίνεται αποτελεσματικός ενώ απαντά σε διαφορετικό ερώτημα από αυτό που θέσατε.