דליפות WebRTC
בדיקת דליפת WebRTC: מה שיחה בדפדפן חושפת על כתובת ה-IP שלך
חלק מהמדריך: האם שיחות דרך האינטרנט מאובטחות? על מה שיחה מהדפדפן מגינה ומה היא חושפת
בקצרה
בדיקת דליפת WebRTC (WebRTC leak test) מציגה כל כתובת IP שהדפדפן מוסר לדף אינטרנט דרך WebRTC, כדי לזהות כתובת שהייתה אמורה להישאר מוסתרת, בדרך כלל הכתובת של ספק האינטרנט בזמן שה-VPN פועל [1]. שיחה מהדפדפן למספר טלפון חושפת את ה-IP שלך לשירות השיחות, לא למי שמתקשרים אליו, והוא רואה רק זיהוי מתקשר [2]. הבדיקה היא אחת מבדיקות הפרטיות והבטיחות שאני ממליץ לעשות לפני שמתקשרים מהדפדפן.
עובדות עיקריות
- לפי כללי ה-WebRTC של ה-IETF, VPN עם מנהור מפוצל (split tunneling) עלול לאפשר ל-WebRTC לגלות את הכתובת הציבורית של ספק האינטרנט שלך לצד הכתובת של ה-VPN [1]. נבדק ב-.
- בבדיקה מקומית שעשיתי ב-Chrome 156, דף בלי הרשאת מיקרופון ראה את המחשב שלי רק כשם .local אקראי; אחרי שאישרתי את המיקרופון, הוא קיבל את הכתובת המקומית האמיתית שלי [3][1]. נבדק ב-.
- Messenger מציין ששיחות אחד על אחד משתפות את כתובת ה-IP שלך עם המכשיר של הצד השני [4]; ההגדרה של WhatsApp להגנה על כתובת ה-IP בשיחות מעבירה במקום זאת את השיחות דרך השרתים של WhatsApp [5]. נבדק ב-.
מהי דליפת WebRTC?
לפני שיחת WebRTC, הדפדפן אוסף נתיבי רשת אפשריים, שנקראים ICE candidates, ומוסר אותם לדף האינטרנט כדי שיעביר אותם לצד השני. כל אחד מהם כולל כתובת IP, או שם .local אקראי במקום כתובת מקומית מוסתרת. אתר רגיל רואה רק את הכתובת הציבורית שממנה הגיעה הבקשה שלך; דרך WebRTC דף יכול ללמוד יותר [1]. דליפה היא כל כתובת ברשימה הזו שלא התכוונת לשתף.
איך שאר השיחה עוברת ברשת מוסבר במדריך על WebRTC, SIP ורשת הטלפון; לעניין הדליפות, רק רשימת ה-candidates חשובה. MDN מציין שהכתובות שבה תמיד חשופות לדף [6].
| סוג ה-candidate | הכתובת שהוא מציג | סיכון לפרטיות |
|---|---|---|
| host | הכתובת של המכשיר שלך ברשת המקומית, או שם אקראי שמסתיים ב-.local אם הדפדפן מסתיר אותה [7][3] | נמוך יותר מכתובת ציבורית, אבל ה-IETF מגדיר כתובות IPv4 פרטיות כמקור משמעותי למדי לטביעת אצבע דיגיטלית (fingerprinting) [1] |
| srflx (server reflexive) | הכתובת הציבורית שהנתב או ה-VPN שלך מציגים לשרת STUN [7] | גבוה, אם זו הכתובת של ספק האינטרנט בזמן שה-VPN פועל [1] |
| relay | כתובת בשרת TURN שמעביר את המדיה [7] | נמוך: הצד השני רואה את הכתובת של שרת הממסר, לא את שלך [6]; המפעיל של שרת הממסר עדיין רואה אותך |
ה-IETF מגדיר את מקרה ה-VPN כמשמעותי ביותר, כי יש אנשים שמשתמשים ב-VPN כדי להישאר אנונימיים [1]. שני המקרים האחרים הם הכתובת הפרטית שלך ושרת proxy שבדיקות החיבור של WebRTC עוקפות, מה שחושף את הכתובת הציבורית האמיתית שלך [1].
האם שיחה בדפדפן חושפת את כתובת ה-IP שלך?
לשירות השיחות, כן: כל אתר רואה את הכתובת הציבורית שלך [1], ושיחה מוסיפה חיבור מדיה לשרתים של השירות. למי שמתקשרים אליו בטלפון נייח או נייד, לא: השיחה יוצאת מהאינטרנט בשער (gateway) של הספק [8], ורשת הטלפון מעבירה מספר מתקשר, לא כתובת IP [2]. שיחות מאפליקציה לאפליקציה יכולות לחבר שני מכשירים ישירות.
| סוג השיחה | השירות | מי שמתקשרים אליו |
|---|---|---|
| מהדפדפן למספר טלפון (Google Voice, TwinPhone, Yolla) | כן: הוא מנהל את חיבור המדיה | לא: הוא רואה זיהוי מתקשר [2] |
| חייגנים חינמיים בדפדפן (Call2Friends, Globfone) | כן: Call2Friends מגביל שיחות חינם לפי כתובת IP, ומדיניות הפרטיות של Globfone מונה כתובות IP בין הנתונים הטכניים והלוגים שהוא מעבד [9][10] | לא: הוא רואה זיהוי מתקשר |
| Messenger, שיחה אחד על אחד | כן | כן: Meta מציינת שה-IP שלך משותף עם המכשיר השני [4] |
| כן | ייתכן, אלא אם ההגדרה להגנה על כתובת ה-IP בשיחות מופעלת; שיחות קבוצתיות תמיד עוברות דרך שרת ממסר [5] | |
| Telegram | כן | ייתכן: בהודעה של Telegram מ-2017 נכתב ששיחות עוברות ישירות בין המכשירים (peer-to-peer) בכל פעם שאפשר [11] |
בשיחות למספרים אמיתיים, השאלה היא מה השירות לומד ושומר; מה רואה במקום זה הצד השני מוסבר במאמר על המספר שמופיע כשמתקשרים מהדפדפן.
איך מריצים בדיקת דליפת WebRTC
דף לבדיקת דליפות עושה את מה שחייגן עושה לפני שיחה: הוא פותח חיבור WebRTC, שואל שרת STUN איזו כתובת ציבורית הוא רואה, ומציג כל candidate לצד הכתובת שהדף רואה ב-HTTP רגיל. מריצים את הבדיקה בכל דפדפן שמתקשרים ממנו, קודם כשה-VPN כבוי ואחר כך כשהוא פועל.
- VPN כבוי: פותחים דף לבדיקת דליפות, כמו WebRTC Leak Test של BrowserLeaks. הערך "Your Remote IP" בראש הדף והערך "Public IP Address" תחת "Your WebRTC IP" צריכים להיות זהים.
- VPN פועל: טוענים את הדף מחדש. עכשיו "Your Remote IP" צריך להציג את הכתובת של ה-VPN.
- אם החלק של WebRTC עדיין מציג את הכתובת של ספק האינטרנט, WebRTC עוקף את המנהרה [1].
- רשומה מקומית שמסתיימת ב-.local פירושה שהכתובת מוסתרת [3]; כתובת גלויה שמתחילה ב-192.168. או ב-10. אינה מוסתרת.
- אם הדף מציע בדיקת מיקרופון, מאשרים ובודקים שוב: חייגן צריך גישה למיקרופון, וההרשאה הזו יכולה לחשוף כתובות נוספות [1]. בסיום מסירים את ההרשאה בהגדרות האתר [12].
מה השתנה ב-Chrome אחרי שאישרתי את המיקרופון
ב- טענתי דף בדיקה מקומי ב-Chrome 156 על Mac, בלי שרת STUN, כך ששום כתובת לא נשלחה לשרת חיצוני. בלי הרשאת מיקרופון, הדף ראה candidate אחד מסוג host, עם שם שהוא מחרוזת אקראית שמסתיימת ב-.local [3]. אחרי שאישרתי את המיקרופון, הדף קיבל את כתובת ה-IPv4 המקומית האמיתית שלי.
זה תואם את התקן, שמתיר את רשימת הכתובות המלאה רק בהסכמה, למשל הרשאת מיקרופון [1]; WebKit, המנוע של Safari, תיאר את אותו כלל ב-2017 [13]. כלומר, חייגן שאישרת יכול לראות את הכתובת המקומית שלך: סיכון קטן יותר מחשיפת הכתובת הציבורית [1].
הגדרות דפדפן שמגבילות דליפות WebRTC
Brave מתעד למשתמשים הגדרה לטיפול בכתובות IP ב-WebRTC. Google מתעדת את הבקרות של Chrome לתוספים ולמנהלי מערכת, ו-Microsoft מתעדת את הבקרה של Edge כמדיניות למנהלי מערכת. Firefox מסתיר כתובות מקומיות כברירת מחדל ומשאיר מתג כיבוי ב-about:config. כלל אחד תקף בכל מקום: כיבוי WebRTC עוצר גם את החייגנים בדפדפן, כי WebRTC הוא מה שמעביר את השיחה [14].
| דפדפן | בקרה | מה היא משנה | ההשפעה על שיחות בדפדפן |
|---|---|---|---|
| Brave | WebRTC IP handling policy בהגדרות הפרטיות, לפי הוויקי של Brave (נערך לאחרונה ב-2018) [15] | האפשרות Default Public Interface Only לא חושפת כתובות מקומיות [15] | המדיה עשויה לעבור לשרת ממסר [1] |
| Chrome | תוספים יכולים לקבוע מדיניות WebRTC IP handling [16]; מנהלי מערכת יכולים לקבוע את המדיניות WebRtcIPHandling [17] | בהתאם לערך, מפסיק להשתמש בכתובות פרטיות או שולח מדיה רק דרך proxy [17] | ערכים של proxy בלבד עלולים להעביר את האודיו ל-TCP, ולפי ה-IETF זה פוגע באיכות [1] |
| Edge | מדיניות למנהלי מערכת WebRtcLocalhostIpHandling [18] | שניים מהערכים שלה מפסיקים לחשוף את כתובת ה-IP המקומית [18] | כמו ב-Chrome |
| Firefox | כתובות מקומיות מוסתרות כברירת מחדל [19]; media.peerconnection.enabled ב-about:config [20] | שינוי ההעדפה הזו ל-false מכבה את WebRTC | החייגנים בדפדפן מפסיקים לעבוד |
| Safari | כלל מובנה | דפים בלי גישה למיקרופון או למצלמה לא מקבלים כתובות host, כפי ש-WebKit תיאר זאת ב-2017 [13] | אין |
מה VPN משנה בשיחות מהדפדפן
VPN ששולח את כל התעבורה דרך המנהרה שלו, כולל WebRTC, מציג לשירות השיחות את הכתובת של ה-VPN במקום את שלך. VPN עם מנהור מפוצל עלול לאפשר ל-WebRTC למצוא גם את הכתובת של ספק האינטרנט שלך [1], ולכן כדאי להריץ את בדיקת הדליפות כשה-VPN פועל. ל-VPN יש גם תופעות לוואי בשיחות.
- חלק מהשירותים מגבילים שימוש ב-VPN: בתנאים של TextNow כתוב שהוא רשאי להגביל או לצמצם את השימוש בהם [21].
- חלק מהחייגנים החינמיים מקצים שיחות חינם לפי כתובת IP, כמו Call2Friends [9], כך שעם VPN המכסה הזו עשויה להתחלק עם משתמשים אחרים שיוצאים לאינטרנט מאותה כתובת.
- אילוץ המדיה לעבור דרך proxy שלא יכול להעביר UDP מעביר את האודיו ל-TCP, ולפי ה-IETF זה פוגע באיכות המדיה [1].
- השירות עדיין רואה את החשבון ואת רישומי השיחות שלך; Google, למשל, עשויה לתעד את המספרים, השעה ומשך השיחות [22].
איך לשמור על כתובת ה-IP שלך פרטית בשיחות
מתאימים את הפתרון לסוג השיחה. בשיחות למספרי טלפון, מי שמתקשרים אליו לא מקבל את ה-IP שלך, ולכן כדאי לבחור שירות שאפשר לסמוך עליו עם הכתובת הזו ולבדוק את ה-VPN. בשיחות מאפליקציה לאפליקציה, המכשיר השני עשוי להתחבר ישירות לשלך, ולכן כדאי להפעיל את הגדרת הממסר של האפליקציה, אם יש כזו.
- שיחות בדפדפן: מריצים את בדיקת הדליפות כשה-VPN פועל; ב-Brave בוחרים Default Public Interface Only [15].
- מיקרופון: בחייגנים שמשתמשים בהם פעם אחת, מאשרים עם "Allow this time" (אישור לפעם הזו בלבד) [12]; בבדיקה שלי ב-Chrome, דף שהחזיק בהרשאה הזו יכול היה לראות את הכתובת המקומית.
- WhatsApp: מפעילים את ההגדרה להגנה על כתובת ה-IP בשיחות. דף העזרה מתייחס ל-Android, ל-iOS ול-Mac, לא לגרסת הווב, ומזהיר ששיחות שעוברות דרך ממסר עלולות לאבד מעט מהאיכות [5].
שאלות נפוצות
מהי בדיקת דליפת WebRTC?
מי שמתקשרים אליו מהדפדפן יכול לראות את כתובת ה-IP שלי?
האם VPN עוצר דליפות WebRTC?
VPN שמנתב את כל התעבורה, כולל WebRTC, דרך המנהרה שלו, כן. VPN עם מנהור מפוצל אולי לא, כי WebRTC יכול לגלות את הכתובת הציבורית של ספק האינטרנט שלך לצד הכתובת של ה-VPN [1]. הדרך היחידה לדעת היא בדיקת דליפות כשה-VPN מחובר, בכל דפדפן שמשתמשים בו, ושוב אחרי עדכונים.
האם דליפה של כתובת IP מקומית מסוכנת?
פחות מדליפה של כתובת ציבורית. כתובת פרטית כמו 192.168.1.20 לא אומרת איפה נמצאים, אבל ה-IETF מגדיר כתובות IPv4 פרטיות כמקור משמעותי למדי לטביעת אצבע דיגיטלית, שיכול לקשר בין גלישה רגילה לגלישה פרטית באותו מכשיר [1]. Firefox מסתיר כתובות מקומיות כברירת מחדל [19], Safari מסתיר אותן מדפים בלי גישה למיקרופון או למצלמה [13], וכך גם Chrome בבדיקה שלי.
האם גלישה בסתר או גלישה פרטית עוצרות דליפות WebRTC?
לא. ה-IETF מציין שכתובת פרטית שנחשפת דרך WebRTC יכולה לשמש מזהה שמגלה לאתר שחלון רגיל וחלון גלישה פרטית נמצאים באותו מכשיר [1], כך שמצב פרטי לבדו לא מסתיר אותה. כדאי להשתמש בהגדרות הדפדפן שלמעלה, ואז להריץ בדיקת דליפות גם בחלון פרטי.
האם תוספים נגד דליפות WebRTC עובדים?
חלקית. ב-Chrome, תוסף יכול לקבוע את מדיניות ה-WebRTC IP handling של הדפדפן, ש-Google מתארת כאיזון בין ביצועי המדיה לבין כמות המידע על כתובות מקומיות שנחשף [16]. בהתאם לערך, זה מסתיר כתובות מקומיות או מאלץ את המדיה לעבור דרך proxy, מה שעלול להעביר את האודיו ל-TCP ולפגוע באיכות [1]. אחרי התקנת תוסף כזה כדאי להריץ בדיקת דליפות כדי לוודא שהשינוי נכנס לתוקף.
איך מכבים את WebRTC ב-Firefox?
מקלידים about:config בשורת הכתובת, מחפשים את media.peerconnection.enabled ומשנים את הערך ל-false. קוד המקור של Mozilla מתאר את ההעדפה הזו כמתג של RTCPeerConnection, וכיבוי שלה גם מסיר מדפים את הגישה ל-API של המיקרופון [20]. מאותו רגע כל החייגנים בדפדפן מפסיקים לעבוד, ולכן לרוב המשתמשים שמתקשרים מהדפדפן עדיף להישאר עם ברירת המחדל של Firefox, שכבר מסתירה כתובות מקומיות [19].
איך עוצרים דליפות WebRTC ב-Chrome?
דרך תוסף או מדיניות, כי Google מתעדת את בקרות הכתובות של WebRTC ב-Chrome לשני אלה. תוסף יכול לקבוע את מדיניות הטיפול בכתובות IP של WebRTC [16], ומנהלי מערכת יכולים לקבוע את WebRtcIPHandling, שהערך default_public_interface_only שלו מונע מ-WebRTC להשתמש בכתובות פרטיות [17]. בבדיקה שלי ב-Chrome, עמוד בלי הרשאת מיקרופון כבר ראה רק שם .local אקראי [3]. מאחורי VPN, הפתרון האמיתי הוא מנהרה שמעבירה את כל התעבורה [1]. כל דבר שחוסם את WebRTC לגמרי עוצר גם שיחות מהדפדפן [14].
אתר יכול לראות את כתובת ה-IP שלי דרך WebRTC בלי לשאול?
את הכתובת הציבורית, כן, אבל אתרים רואים אותה ממילא: Safari, למשל, נותן לעמודים בלי גישה למיקרופון רק כתובות שאתר יכול היה לאסוף בכל מקרה [13]. הבעיה היא פרוקסי בדפדפן. אם מותרת גישה ישירה לאינטרנט, בדיקות ה-STUN של WebRTC יכולות לעקוף את הפרוקסי ולחשוף את הכתובת הציבורית האמיתית שלכם [1]. כתובות מקומיות מוגנות טוב יותר: התקן קושר את הרשימה המלאה להסכמה כמו הרשאת מיקרופון [1], ובבדיקה שלי ב-Chrome עמוד בלי ההרשאה הזו ראה רק שם .local אקראי [3].
לשאול בינה מלאכותית על המחקר הזה
כל כפתור פותח את העוזר בכרטיסייה חדשה ומבקש ממנו לסכם את העמוד הזה עם קישור אליו כמקור.
מקורות
- RFC 8828: WebRTC IP Address Handling Requirements · IETF (RFC Editor) · נבדק ב-1 בנובמבר 2026
- 47 CFR 64.1601 -- Delivery requirements and privacy restrictions | eCFR · US Code of Federal Regulations (eCFR) · נבדק ב-1 בנובמבר 2026
- Using Multicast DNS to protect privacy when exposing ICE candidates (draft-ietf-mmusic-mdns-ice-candidates) · IETF (Internet-Draft, work in progress) · נבדק ב-1 בנובמבר 2026
- Voice call someone or a group on Messenger - Messenger Help Center (Computer) · נבדק ב-1 בנובמבר 2026
- How to protect your IP address on WhatsApp calls | WhatsApp Help Center · WhatsApp · נבדק ב-1 בנובמבר 2026
- RTCIceCandidate: address property - Web APIs | MDN · MDN Web Docs (Mozilla) · נבדק ב-1 בנובמבר 2026
- RTCIceCandidate: type property - Web APIs | MDN · MDN Web Docs (Mozilla) · נבדק ב-1 בנובמבר 2026
- Make calls | Sonetel help · נבדק ב-1 בנובמבר 2026
- Free call | Call2Friends - Online call · נבדק ב-1 בנובמבר 2026
- Privacy Policy | Globfone · נבדק ב-1 בנובמבר 2026
- Voice Calls: Secure, Crystal-Clear, AI-Powered | Telegram Blog (30 March 2017) · Telegram · נבדק ב-1 בנובמבר 2026
- Use your camera and microphone in Chrome - Computer - Google Chrome Help · Google · נבדק ב-1 בנובמבר 2026
- A Closer Look Into WebRTC | WebKit (3 July 2017) · WebKit (Apple) · נבדק ב-1 בנובמבר 2026
- WebRTC API - Web APIs | MDN · MDN Web Docs (Mozilla) · נבדק ב-1 בנובמבר 2026
- WebRTC Custom Settings · brave/brave-browser Wiki · Brave Software (official GitHub wiki) · נבדק ב-1 בנובמבר 2026
- chrome.privacy | API | Chrome for Developers · Google (Chrome for Developers) · נבדק ב-1 בנובמבר 2026
- Chrome Enterprise policy list: WebRtcIPHandling (WebRTC IP handling) · Google (Chrome Enterprise) · נבדק ב-1 בנובמבר 2026
- Microsoft Edge Browser Policy Documentation WebRtcLocalhostIpHandling | Microsoft Learn · Microsoft · נבדק ב-1 בנובמבר 2026
- Firefox source: modules/libpref/init/all.js (mozilla-firefox/firefox) · Mozilla (official Firefox source repository) · נבדק ב-1 בנובמבר 2026
- Firefox source: modules/libpref/init/StaticPrefList.yaml (mozilla-firefox/firefox) · Mozilla (official Firefox source repository) · נבדק ב-1 בנובמבר 2026
- Terms of Use – TextNow · נבדק ב-1 בנובמבר 2026
- Privacy Policy – Privacy & Terms – Google · Google · נבדק ב-1 בנובמבר 2026
- Call From Your Browser Without a SIM Card - TwinPhone · נבדק ב-1 בנובמבר 2026