באג של Safari API דולף נתוני גלישה שיכולים לחשוף את זהות המשתמש

באג פנימהספאריבאופן שבו הוא מטפל ב-API של IndexedDB הוא עשוי להדליף מידע על הרגלי הגלישה של המשתמש, בעיה שיכולה לשמש כדי לחשוף את זהותו של המשתמש.

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

אפוסט בבלוגמאת שירות טביעת האצבע של הדפדפן FingerprintJS מציינת שיש בעיה בדרך שבה אפל הטמיעה את IndexedDB API בספארי 15. לדברי החוקרים, הבאג יכול לאפשר לכל אתר אינטרנט לעקוב אחר פעילות האינטרנט של הדפדפן, ואולי לקבוע את זהותו.

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

במקרה של Safari 15 עבורmacOS,iOS, וiPadOS, נמצא כי IndexedDB מפר את מדיניות אותו המקור. החוקרים טוענים כי בכל פעם שאתר מקיים אינטראקציה עם מסד הנתונים שלו, מסד נתונים ריק חדש המשתמש באותו שם נוצר "בכל שאר המסגרות, הכרטיסיות והחלונות הפעילים באותה סשן של דפדפן".

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

הבעיה מחמירה מכיוון שחלק מהאתרים משתמשים בשמות מסדי נתונים הכוללים מזהים ייחודיים ספציפיים למשתמש. עבור אתרים שיכולים לחלוק את אותם אישורי אימות, כגון Gmail ו-YouTube, שם מסד הנתונים יכול לכלול את אותו זיהוי משתמש מאומת של Google.

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

בבדיקה, נמצא כי מסדי נתונים מאונדקסים עם מזהים ייחודיים אוניברסליים נוצרו על ידי רשתות מודעות. עם זאת, תכונות מניעת המעקב של Safari מנעו את דליפות שמות מסדי הנתונים הללו בצורה זו.

השימוש בחלון פרטי אינו מגן על המשתמשים מפני התופעות, עם זאת, הפעלות גלישה מוגבלות ללשונית בודדת, מה שמגביל את השפעתה.

הדגמה חיה מראה כיצד דליפת ספארי יכולה לאסוף מידע גלישה של משתמש.

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

רשימת הדפדפנים המושפעים מורכבת מ-Safari 15 ב-macOS, ולמעשה כל הדפדפנים ב-iOS 15 ו-iPadOS 15, בשל הדרישה שכולם ישתמשו ב-WebKit.

מגן על עצמך

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

חלופה נוספת ב-macOS היא להשתמש בדפדפן אחר כאמצעי זמני. אפשרות זו אינה זמינה למשתמשי iOS ו-iPadOS.

בסופו של דבר, מודים החוקרים, "ההגנה האמיתית היחידה היא לעדכן את הדפדפן או מערכת ההפעלה שלך ברגע שהבעיה תיפתר על ידי אפל". דוח באג נשלח למנהלי WebKit כדי לנסות ולתקן אותו בהקדם האפשרי.