صدای بیصدای AliExpress برای ردیابی کاربرها
خلاصهٔ کاملتر
به گزارش The Register، یه توسعهدهنده به اسم Matt Callaghan میگه سایت AliExpress داره با یه ترفند صوتی کاربرهاش رو انگشتنگاری (fingerprinting، یعنی ساختن یه شناسه یکتا از مشخصات مرورگر و دستگاه) میکنه. ماجرا از اونجا لو رفت که هدفون بلوتوثی multipoint خودش هر بار با باز شدن صفحه AliExpress، پخش صدای گوشی رو قطع میکرد. بستن تب مشکل رو حل میکرد، ولی هیچ ویدیو یا موزیکی هم روی صفحه پیدا نمیشد.
Callaghan تو کد سایت دو تا اسکریپت صوتی بهشدت obfuscate شده (یعنی عمداً ناخوانا شده) پیدا کرد که یه گراف WebAudio میسازن: یه اسیلاتور با موج ارهای (sawtooth) صدا تولید میکنه، یه analyzer نتیجه رو بعد از عبور از موتور صوتی مرورگر اندازه میگیره و یه اسکریپت دادههای فرکانسی رو میخونه. مقدار gain صفره، پس کاربر چیزی نمیشنوه، ولی از نگاه مرورگر پردازش صوتی زنده در جریانه. برخلاف یه ویدیوی autoplay، اینجا اصلاً media elementی وجود نداره که دکمه mute تب جلوش رو بگیره.
به گفته این توسعهدهنده، همون کد دنبال ابعاد صفحه، حافظه دستگاه، پلاگینهای مرورگر، رندر WebGL و رویدادهای ماوس هم میگرده، بعد دادهها رو رمز میکنه و برای سرویسهای تلهمتری میفرسته. جمعش یه اثر انگشت نسبتاً کامل از مرورگر و دستگاهه. The Register از علیبابا نظر خواسته و جوابی منتشر نشده.
Firefox جواب داده که از نسخه 118 (سپتامبر 2023) این نوع انگشتنگاری رو بیاثر کرده. Tom Ritter از تیم امنیت فایرفاکس توضیح داده روششون جلوگیری از اجرای اسکریپت نیست، بلکه شبیه کردن همه کاربرها به همدیگهست: 99.24 درصد کاربرها تو سه سطل مشترک میافتن (پردازندههای x86/x64 بدون دستور FMA، و x64 با FMA)، و برای 0.76 درصد بقیه اسکریپت اصلاً اجرا نمیشه.
ولی یه استثنا هست: به گفته Ritter، 48 کاربر تو کل دنیا تو هیچکدوم از این دستهها نیفتادن و بین 23 سطل خیلی کوچیک پخش شدن، یعنی همونها کاملاً یکتا و قابل ردیابی موندن. Brave هم میگه شیش ساله داده تصادفی به خروجی مرورگر تزریق میکنه و اسکریپتهای AliExpress رو مستقیم بلاک کرده. Safari با تزریق خطا به بافر صوتی جلوش رو میگیره، ولی Chrome دفاع جدیای در برابر fingerprinting نداره.
نکات کلیدی:
- روش ادعایی: یه گراف WebAudio با اسیلاتور sawtooth و gain صفر که صداش شنیده نمیشه ولی خروجی موتور صوتی مرورگر رو اندازه میگیره.
- چون media element وجود نداره، mute کردن تب یا ویندوز جلوش رو نمیگیره؛ همین باعث قطع شدن صدای هدفون بلوتوثی multipoint شد.
- کنار صدا، ابعاد صفحه، حافظه دستگاه، پلاگینها، رندر WebGL و رویدادهای ماوس هم جمع و رمز میشه.
- Firefox از نسخه 118 با گروهبندی کاربرها این روش رو خنثی کرده: 99.24 درصد تو سه سطل، و فقط 48 کاربر تو دنیا یکتا موندن.
- Brave اسکریپتها رو بهصورت پیشفرض بلاک میکنه، Safari خطا به بافر صوتی تزریق میکنه، و Chrome محافظت جدی نداره.




