אז איך TOR עובד?

איך דפדפן Tor עובד על מנת להפוך את הבקשות שלנו לאנונימיות?
לחיצה על אייקון הבצל מראות את נקודת הכניסה, האמצע והיציאה. אם אני נכנס ל-whatsmyip אני רואה את כתובת ה-IP של נקודת היציאה בלבד

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

אז כשאני פותח דפדפן Tor (שעליו הסברתי במאמר הקודם) ונכנס לאתר – מה קורה מאחורי הקלעים? בדיוק בשביל זה אנחנו צריכים להבין מה זו כתובת IP. למי שלא יודע, מדובר במספר נומרי ייחודי שמוצמד לכל מכשיר השתמש ברשת האינטרנט לתקשורת. למשל, אם אני גולש באמצעות הטלפון שלי, יש לו כתובת IP שבאמצעותה הוא מזדהה כלפי הרשת. אם אני פותח את הטלפון שלי ומתחבר לאתר (למשל אינטרנט ישראל), אז הוא שולח בקשה אל השרת שעליו נמצא האתר ומבקש ממנו את דף ה-HTML. השרת יודע מה כתובת ה-IP של מי שניגש אליו. בנוסף, ספק האינטרנט יודע לאיזה IP ניגשתי.

גלישה רגילה - המשתמש מתחבר לשרת דרך הספק
גלישה רגילה – המשתמש מתחבר לשרת דרך הספק

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

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

דרך מקובלת להסוות את כתובת ה-IP היא באמצעות VPN – שרת ש'מחליף' את ספק האינטרנט ומשנה את כתובת ה-IP. השרת יכול לראות את כתובת ה-IP של ספקית ה-VPN ולא את כתובת ה-IP של הספק שלנו.

גלישה עם VPN - המשתמש מתחבר דרך ה-VPN שעומד בינו לבין היעד
גלישה עם VPN – המשתמש מתחבר דרך ה-VPN שעומד בינו לבין היעד

מה הבעיה עם זה? בעוד שמדובר בפרקטיקה מקובלת להסוואת המיקום שלנו משירותים שלא מוכנים למכור לישראלים (כמו נטפליקס בעבר וספוטיפיי בהווה), זה לא ממש כלי טוב. כיוון שכמו שניתן להגיש תביעה כנגד הספקית שתחשוף את בעלי ה-IP, ניתן להגיש תביעה כנגד ספקית ה-VPN. ספקית ה-VPN יודעת בדרך כלל מי משתמש בשירותים שלה כיוון שחלק גדול ממשתמשי ה-VPN הם לקוחות משלמים. אלו שלא? יש ברישומי ספק ה-VPN את כתובת ה-IP של המשתמשים. רוב שירותי ה-VPN מצהירים בגלוי שאינם שומרים את כתובת ה-IP של המשתמשים. אך כפי שהוכח במקרה של ספקית ה-VPN ששמה הוא hidemyass, זה לא נכון – היא חשפה בפני רשויות החוק בבריטניה כתובת IP של גולש שעשה שימוש בשירiתיה. בנוסף, כפי שמגזין wired חשף, יש בעיות אבטחה אצל חלק מספקיות ה-VPN והלוגים שלהם חשופים לרשת.

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

אז איך Tor מסווה את כתובת ה-IP שלנו? באמצעות שיטת שלוש הקליפות. כל בקשה לרשת האינטרנט עוברת דרך שלוש נקודות: נקודת הכניסה, נקודת מעבר ונקודת היציאה. הבקשות נעטפות כך שכל נקודה יודעת מי מאחוריה ומי לפניה, אבל לא יכולה לדעת מה תוכן הבקשה.

כלומר, ברגע שאני משגר בקשה ב-Tor, היא נשלחת לנקודת כניסה, נקודת הכניסה משגרת אותה לנקודת מעבר. נקודת המעבר משגרת אותה לנקודת היציאה ורק אז, או אז, נקודת היציאה משגרת אותה אל השרת. השרת מחזיר את התשובה אל נקודת היציאה, נקודת היציאה מחזירה אותה אל נקודת המעבר ונקודת המעבר מחזירה אותה אל נקודת הכניסה ורק בסוף נקודת הכניסה מחזירה את הבקשה אל המשתמש.

גלישה ב-TOR - שלוש שכבות: נקודת כניסה, אמצע ויציאה העומדות בין הגולש לבין היעד
גלישה ב-TOR – שלוש שכבות: נקודת כניסה, אמצע ויציאה העומדות בין הגולש לבין היעד

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

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

יש רק אדם אחד שחשוף לכל הנקודות וזה הגולש. בדפדפן ה-Tor שלכם אפשר לראות את הנקודות בקלות. יש את אייקון הבצל ליד שורת הכתובת. לחיצה עליו תראה לכם את נקודת הכניסה, האמצע והיציאה. אם תכנסו לאתר whatsmyip שמראה לכם את ה-IP שלכם, תוכלו לראות את כתובת ה-IP של נקודת היציאה בלבד.

לחיצה על אייקון הבצל מראות את נקודת הכניסה, האמצע והיציאה. אם אני נכנס ל-whatsmyip אני רואה את כתובת ה-IP של נקודת היציאה בלבד
לחיצה על אייקון הבצל מראות את נקודת הכניסה, האמצע והיציאה. אם אני נכנס ל-whatsmyip אני רואה את כתובת ה-IP של נקודת היציאה בלבד

אז האם יש לנו את הפתרון המושלם לפרטיות? לא בדיוק. ספק האינטרנט שלכם יכול לדעת את נקודת הכניסה – כלומר שהשתמשתם ב-Tor. למה זה משנה? תשאלו את אלדו קים. סטודנט מבריק מהרווארד שחשש מאוד שלא הספיק ללמוד מספיק לבחינת הכניסה שלו. החשש שלו היה עד כדי כך גדול, שהוא שלח איום על פצצה בכיתת המבחן כדי לדחות אותו. כיוון שמר קים הוא סטודנט בהרווארד, הוא ידע לעשות זאת עם Tor. מה הבעיה? שהוא השתמש ברשת של הרווארד כדי לעשות זאת. החוקרים של ה-FBI ביקשו ממנהל הרשת של הרווארד את כל הכתובות של משתמשי Tor. כיוון שמדובר ברשת של הרווארד, היו בודדים כאלו. הם חקרו את כולם וחיש קל גילו את האשם – זה שהיה לו מה להרוויח מביטול הבחינה. (אגב, לכל הדואגים: הוא נחלץ מזה בתשלום קנס גבוה, התנצלות פומבית ואפס ימי ישיבה בכלא. הוא גם חזר להרוארד לאחר מכן).

זו הסיבה שאם אני גולש ב-Tor כדאי לי לעשות את זה מרשת שבה יש הרבה משתמשי Tor. הרשת של העבודה? של האוניברסיטה? לא רעיון טוב. כיוון שכמות משתמשי ה-Tor שם קטנה. זו גם הסיבה שכדאי שכמה שיותר אנשים יגלשו ב-Tor. כיוון שככל שיותר אנשים משתמשים ב-Tor. אפילו באופן ספורדי, אז כך יהיה קשה יותר לרשות זו או אחרת לבודד את אלו שמשתמשים ב-Tor לנקודת הכניסה שלהם. הרשת בבית של ספק גדול? רעיון טוב יותר, כי בספק כמו ׳בזק בינלאומי׳ למשל, יש הרבה משתמשים שסביר להניח שרבים מהם משתמשים ב-Tor.

בנוסף, אם יש ישות כלשהי (הרפטלינאים, ה-NSA, אנשי הכימטריילס או תאגידי התרופות) שיכולה לראות את כל הרשת בו זמנית, מן הסתם היא תוכל לעקוב אחר כל התנועה ולדעת לאן אתם גולשים. Tor זה לא וודו, זה בסופו של דבר תהליך פשוט שקל להבינו.

גם המאמר הזה מבוסס על ההרצאה המרתקת של אנשי קריפטו-פרטי בישראל – יובל אדם ונעם רותם. בבלוג b48 יש הסבר בשפה הרבה יותר פשוטה על איך VPN ואיך Tor עובדת. מומלץ להכנס לשם ולקרוא.

במאמר הבא נדבר על איך אתרי onion עובדים וגם נכנס לחלק מהם.

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

תמונת תצוגה של מנעול על מחשב
פתרונות ומאמרים על פיתוח אינטרנט

הגנה מפני XSS עם Trusted Types

תכונה ב-CSP שמאפשרת מניעה כמעט הרמטית להתקפות XSS שכל מפתח ווב צריך להכיר וכדאי שיכיר.

ספריות ומודולים

מציאת PII באמצעות למידת מכונה

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

פיתוח ב-JavaScript

Axios interceptors

תכנון נכון של קריאות AJAX באפליקציה ריאקטית וניהול השגיאות או ההצלחות עם פיצ׳ר נחמד של axios

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