לפעמים כל מה שצריך כדי לחשוף מנגנון מעקב מתוחכם הוא זוג אוזניות שמפסיק לעבוד. מפתח תוכנה המכונה "laserphile" נתקל לאחרונה בתקלה משונה: בכל פעם שפתח את אתר עליאקספרס (AliExpress) במחשב, המוזיקה שהתנגנה מהטלפון שלו דרך אוזניות הבלוטות' נעצרה. ברגע שסגר את הלשונית - המוזיקה חזרה.
האוזניות שבהן השתמש תומכות ב-Multipoint, כלומר הן יכולות להיות מחוברות במקביל למחשב ולטלפון. אלא שמשהו באתר של ענקית הקניות הסינית, שבבעלות עליבאבא, הפעיל את מערכת האודיו במחשב - גם כששום סרטון, מוזיקה או תוכן קולי אחר לא התנגנו באתר.
השתקת הלשונית, הדפדפן ואפילו הצלילים במערכת ההפעלה לא פתרה את הבעיה. זה כבר היה חשוד מספיק כדי לגרום למפתח לחפור בקוד שפועל מאחורי האתר - ושם הוא מצא את ההסבר.
לפי הבדיקה שלו, AliExpress השתמשה ב-WebAudio API, כלי שמאפשר לאתרים ליצור ולעבד אודיו בתוך הדפדפן, כדי להפעיל ברקע אות שמע בעוצמה אפסית. כלומר, האתר יצר צליל שהמשתמש כלל לא יכול לשמוע - ואז מדד את התוצאה שהתקבלה לאחר שהמחשב עיבד אותו.
חשוב להבהיר: האתר לא הקליט את המשתמש ולא האזין דרך המיקרופון. מה שעניין אותו היה האופן שבו המחשב עצמו מגיב לאות שנוצר.
כאן נכנסת לתמונה שיטת מעקב המכונה Fingerprinting, או "טביעת אצבע" דיגיטלית. הרעיון הוא לזהות מכשיר לא באמצעות קובץ שנשמר עליו, כמו עוגייה, אלא באמצעות אוסף של מאפיינים שלו. במקרה של אודיו, הבדלים קטנים בגרסת הדפדפן, מערכת ההפעלה, ספריות האודיו והחומרה יכולים לגרום למחשבים שונים לעבד את אותו אות בצורה מעט שונה.
אפשר לחשוב על זה כמו מבחן שבו נותנים למחשבים שונים לבצע בדיוק את אותה משימה ואז משווים את התוצאות. ההבדלים זעירים, ולעיתים אינם מספיקים לבדם כדי לזהות מחשב מסוים, אבל הם מספקים עוד חתיכה בפאזל.
וזה בדיוק מה שמצא laserphile. האודיו לא פעל לבדו: הסקריפטים באתר בדקו גם Canvas ו-WebGL - מנגנוני גרפיקה שגם התוצאות שהם מייצרים עשויות להשתנות מעט בין מחשבים - לצד מפרטי חומרה, ממדי מסך, WebRTC, נתוני רשת, תנועות עכבר ומגע וסימנים שעשויים להעיד על שימוש בכלי אוטומציה.
כל נתון כזה בפני עצמו מספר מעט מאוד. מיליוני אנשים יכולים להשתמש באותה רזולוציית מסך או באותו דפדפן. אבל כשמחברים יחד את מערכת ההפעלה, החומרה, הגרפיקה, האודיו, הרשת ודפוסי השימוש, מתקבל פרופיל הרבה יותר מפורט של המכשיר.
לדברי המפתח, זו גם הסיבה שטביעת האצבע המבוססת על אודיו חשובה: היא אינה בהכרח מזהה ייחודי בפני עצמה, אבל היא הופכת שימושית הרבה יותר כשהיא מצטרפת לכל שאר המאפיינים שנאספים. לפי הבדיקה שלו, הנתונים שנאספו נשלחו לשרתי הטלמטריה של עליבאבא.
באופן אירוני, אותו מנגנון הוא ככל הנראה גם מה שהסגיר את עצמו. מכיוון שהאתר הפעיל את מערכת האודיו של המחשב ברקע, אוזניות ה-Multipoint זיהו פעילות מהמחשב והפסיקו את השמע שהגיע מהטלפון. פעולה שנועדה להיות בלתי מורגשת הפכה לתקלה שקשה להתעלם ממנה.
לעלי אקספרס ועליבאבא יכולות להיות סיבות שונות להשתמש במנגנוני זיהוי כאלה. פלטפורמת מסחר ענקית נדרשת להתמודד עם חשבונות מזויפים, הונאות וניצול לרעה של קופונים, ומידע על התנהגות משתמשים יכול לשמש גם לצורכי שיווק.
עליאקספרס, לפי הבדיקה שלו, השתמשה ב-WebAudio API של הדפדפן כדי להפעיל ברקע אותות קוליים בעוצמה אפסית. המשתמש לא אמור לשמוע דבר - וחשוב מכך, האתר גם לא מקליט אותו. במקום זאת, הוא מודד כיצד המחשב מעבד את האות שנוצר.
הסיבה פשוטה יחסית: הבדלים קטנים בין גרסאות דפדפן, מערכות הפעלה, ספריות אודיו ורכיבי חומרה יכולים לגרום לאותו אות בדיוק לעבור עיבוד מעט שונה. את ההבדלים האלה אפשר למדוד ולהפוך לחלק מ"טביעת אצבע" של המכשיר.
טביעת אצבע דיגיטלית, או Fingerprinting, מאפשרת לאתרים לנסות לזהות משתמשים ומכשירים גם ללא הסתמכות על Cookies. במקרה הזה, מנגנון האודיו היה גם זה שהחזיק את ערוץ הקול של המחשב פעיל - וגרם במקרה לתקלה באוזניות שחשפה את כל הסיפור.
אלא שהאודיו הוא רק חלק מהתמונה. בבדיקת הקוד מצא laserphile כי הסקריפטים אוספים ומודדים גם נתונים נוספים, בהם Canvas ו-WebGL, מפרטי חומרה, ממדי מסך, WebRTC, מידע על הרשת, תנועות עכבר ומגע ואינדיקציות שעשויות להעיד על שימוש בכלי אוטומציה. השילוב בין כל אלה מאפשר לבנות פרופיל מפורט יותר של המכשיר, שנשלח לשרתי הטלמטריה של עליבאבא.
לדברי המפתח, טביעת האצבע שמתקבלת מעיבוד האודיו לבדה לא בהכרח מספיקה כדי לזהות באופן ייחודי מחשב מסוים. הכוח שלה מגיע כשהיא מצטרפת לשורה ארוכה של מאפיינים אחרים - מהכרטיס הגרפי והדפדפן ועד תזמונים ואופן האינטראקציה של המשתמש עם האתר.
לעלי אקספרס ועליבאבא יכולות להיות סיבות שונות להשתמש במנגנוני זיהוי כאלה. פלטפורמת מסחר ענקית נדרשת להתמודד עם חשבונות מזויפים, הונאות וניצול לרעה של קופונים, בעוד שמאגרי מידע על התנהגות משתמשים יכולים לשמש גם לצורכי שיווק.
אבל במקרה הזה, מה שמשך את תשומת הלב לא היה חלון קופץ, בקשת הרשאה או הודעת פרטיות. זו הייתה פשוט מוזיקה שהפסיקה להתנגן - תקלה קטנה באוזניות בלוטות' שהפכה לחלון הצצה לאחת הדרכים שבהן אתר יכול לנסות לזהות את המחשב שמאחורי המסך.
