טביעת אצבעות דיגיטלית

חשבתם שאתם יכולים להתהולל עם מצב פרטיות בדפדפנים שונים ולא יעלו עליכם? אז חשבתם
סימלי הגנת הפרטיות של הדפדפנים השונים

כולנו מכירים את הרגע הזה, שבו אתה מתגנב למחשב באמצע הלילה כדי להכנס לאתרי מצוות ומעשים טובים. כיוון שאתה לא מעוניין שכל הבית ידע מה אתה מעולל, אתה מפעיל את הכרום ולוחץ על Ctrl+Shift+N כדי להפעיל את מצב הפרטיות, או לוחץ על Ctrl+Shift+P אם אתה עם פיירפוקס. או מסובב את המנואלה ומקריב עז אם אתה משתמש באקספלורר (או כל צירוף מקשים אחר שמפעיל את ה private mode). מעכשיו, כך אתה בטוח, איש לא יוכל לגלות שחיפשת אלמנות טובות לב בכל מיני אתרי מצוות מעשים טובים.

סימלי הגנת הפרטיות של הדפדפנים השונים

בנימה קצת פחות משועשעת – לא מעט אנשים מפעילים את מצב 'הפרטיות' או מצב 'הפורנו' בלשון העם כדי לקבל אשליה של פרטיות כאשר הם עושים מגוון פעולות. הפעולות האלו יכולות להיות לא חוקיות, לא מוסריות או סתם פרטיות. הרבה אנשים חושבים שאם הם נכנסים לאתר כלשהו עם מצב הפרטיות מופעל, אותו אתר לא יכול לזהות אותם לעולם.

זה כל כך לא נכון שזה מדהים, ראשית אני אבצע הדגמה ואז אני אסביר.

הנה דוגמה ממש פשוטה שמראה איך אני יכול לזהות בקלות שמדובר באותו משתמש גם אם הוא משתמש במצב פרטיות. הכנסו עם הדפדפן שלכם אל: http://valve.github.io/fingerprintjs2/ פתחו את אותו הקישור באותו דפדפן במצב פרטיות ותוכלו לראות שהמספרים זהים לחלוטין (בדקתי את זה עם כרום ופיירפוקס בלבד, אני לא סגור שזה עובד באקספלורר).

דוגמה לטביעת אצבעות דיגיטלית
פיירפוקס במצב פרטיות ופיירפוקס במצב רגיל מקבלים את אותה תוצאה.

דוגמה יותר רבת עוצמה אך טיפה יותר מורכבת היא האתר הזה: http://fingerprint.pet-portal.eu הכנסו אליו עם הדפדפן הרגיל ולחצו על Start the fingerprint test! הוא יבקש מכם את השם שלכם, אל תכתבו דבר. אחרי שהבדיקה תרוץ, תוכלו לראות את המזהה הייחודי שלכם. במקרה שלי: f2ea33486b738dabd716a2f82eb0d9de
פתחו דפדפן אחר או את מצב הפרטיות של הדפדפן שלכם והכנסו שוב לאתר, הריצו שוב את הבדיקה – תגלו בדיוק אותו מזהה. אותו מזהה יחזור על עצמו ברוב המקרים בכל דפדפן ודפדפן בלי שום קשר למצב פרטיות מופעל או לא מופעל.

מתכנת יכול לקחת את המזהה היחודי הזה, להצמיד אותו לכתובת IP ולפרטים נוספים שהוא יכול לקבל מכם (למשל מספר חשבון הפייסבוק שלכם) וכך לדעת בדיוק מי אתם ומה אתם עושים בכל האתרים בשליטתו. תשתמשו או לא תשתמשו במצב פרטיות.

אז איך זה עובד?

באופן עקרוני, הדרך שבה הסיפור הזה עובד היא פשוטה. כפי שכל מתכנת יודע, הדפדפן שופך לא מעט מידע על דרך הפעולה שלו. המידע הזה בדרך כלל חיוני למתכנתים ולמעצבים שרוצים להעניק למשתמש אתרים טובים יותר. למשל סוג הדפדפן והפיצ'רים שבהם הוא תומך, הפלטפורמה שעליו הוא רץ והרזולוציה של המסך. חלק מהמשתמשים יתרעמו על כך – למה בדיוק הדפדפן הארור תורם למתכנת את המידע הזה? אבל המידע הזה חיוני אם המתכנת רוצה להתאים את האתר לטלפונים סלולריים או למכשירים עם מסך גדול במיוחד (כמו טלוויזיה). מידע על פונטים, למשל, חיוני אם אני רוצה להציג פונטים מסוימים בפני המשתמש. מידע על צבעים גם הוא חשוב אם אני רוצה להציג אתרים מותאמים למסכי רטינה בעלי רזולוציה גבוהה. הדפדפן גם מוסר מידע על תוספים שונים ומשונים המותקנים בו ועל הגרסאות שלהם. כל המידע הזה נמסר באופן עקרוני מתוך מטרה טובה – אם יש לי אתר שיכול להציג פלאש, אני כמתכנת צריך לדעת אם למשתמש יש פלאש ומה הגרסה שלו. בלי המידע הזה רוב האתרים היו מאוד בעייתיים לצפיה על ידי משתמשים שונים והימים שבהם כולנו גלשנו עם 586, אינטרנט אקספלורר 5.5 ומסך ברזולוציה של 1270X768 חלפו מן העולם (אלא אם כן אתה עובד בממשלה אבל זה סיפור אחר).
העניין הוא שהמידע הזה שונה במקצת אצל כל משתמש. אפילו משתמשים עם מחשבים זהים באותו ארגון שיש להם את אותו IP. כי משה, המתכנת שיושב בקיוב לידי, הוא אדם מסודר שתמיד מעדכן את תוסף ה-JAVA שלו ואני, פוחח רציני, לעולם לא מעדכן אותו. הגרסאות של תוסף ה-JAVA יהיו שונות אצלי ואצלו.

אני לעולם לא מעדכן את תוסף ה-JAVA שלי
אני לעולם לא מעדכן את תוסף ה-JAVA שלי

יש גם פונטים שונים שמותקנים אצלי ומותקנים אצלו, שינויים קלים ברזולוציה וכו' וכו'. השינויים האלו נאספים על ידי סקריפט ה-JavaScript בדרכים שונות ואז מומרים ל-hash שזו מילה מורכבת מאוד למספר מזהה ייחודי לכם. וזהו, יש לי זיהוי שלכם ללא קשר ל-IP.
באתר של panoptclick אפשר לראות כמה מידע נאסף עליכם. זה קצת טכני אבל הראש שלכם יעוף.
אני יכול לעשות זיהוי כזה לדפדפן (כפי שהראיתי בדוגמה הראשונה) או זיהוי כזה למחשב בלי שום קשר לדפדפן (בקישור השני). אם אתם מתכנתים שרוצים להשתמש בזה (MUHAHA), כדאי שתציצו בפרויקט הזה ב-GitHub. באופן עקרוני, מדובר בסופר ספריה שאוספת את כל המידע הזה. אם אתם ממש בעניין אפשר כמובן להמשיך ולפתח את זה ולהוסיף את ever cookie כדי לחזק את הזיהוי.

אז מה עושים?

קודם כל חשוב להיות מודעים. ואתם כבר מודעים. חשוב לזכור שתמיד אפשר להתנהג באופן הכי מהוגן ברשת או פשוט להחליט, כמוני, שלא אכפת לכם שידעו שאתם גולשים באתרי מצוות ומעשים טובים ומתנהגים כמו טרולים הכי גרועים שיש בטוקבקים.
יש שני פתרונות – פתרון אחד הוא לא לאפשר ל-JavaScript לרוץ בדפדפן שלכם. היום זה שקול ללעבור לגור במדבר עם כובע אלומיניום על הראש כי רוב האתרים נשענים על JavaScript והם לא יעבדו בכלל.
פתרון שני הוא לגלוש עם פיירפוקס ותוסף FireGloves. התוסף מערבל ומבלבל את הנתונים האלו בכל כניסה מחודשת לדף.

פוסטים נוספים שכדאי לקרוא

תמונה מצוירת של רובוט שמנקה HTML
יסודות בתכנות

סניטציה – למה זה חשוב

הסבר על טכניקה פשוטה וידועה מאד שאנו מפעילים על מידע לפני שאנחנו מציגים אותו ב-HTML באפליקציה או באתר.

גלילה לראש העמוד