کوکیها را مسدود کردید، اما همچنان ردیابی میشوید — مروری بر انگشتنگاری مرورگر

بنر رضایت کوکی پس از اجرای GDPR در سال ۲۰۱۸ به الگوی تعریفکننده رابط کاربری وب مدرن تبدیل شد. روی «رد همه» کلیک کنید، احساس رضایت کنید و ادامه دهید. آنچه بیشتر کاربران نمیدانند این است که صنعت تبلیغات و تحلیل داده نیز قبلاً به جلو حرکت کرده بود — به سمت انگشتنگاری، تکنیک ردیابی که از کوکی استفاده نمیکند، چیزی روی دستگاه شما ذخیره نمیکند و طبق اکثر چارچوبهای قانونی فعلی نیازی به رضایت ندارد.
انگشتنگاری مرورگر دقیقاً چیست
هر مرورگر اطلاعات عظیمی درباره خود و دستگاهی که روی آن اجرا میشود فاش میکند — نه از طریق هیچ آسیبپذیری امنیتی، بلکه از طریق عملکرد عادی استانداردهای وب. مرورگر شما رشته user agent (نام مرورگر، نسخه، سیستمعامل)، فونتهای نصبشده روی سیستم، وضوح صفحه و عمق رنگ، منطقه زمانی، پلاگینها و افزونههای نصبشده، نحوه رندر کردن عملیات گرافیکی خاص توسط GPU (canvas fingerprinting)، نحوه پردازش امواج صوتی خاص توسط سختافزار صوتی (audio fingerprinting) و دهها ویژگی دیگر را گزارش میکند.
هیچ ویژگی واحدی شما را بهطور منحصربهفرد شناسایی نمیکند. اما وقتی ترکیب میشوند، یک اثر انگشت (fingerprint) ایجاد میکنند که در بخش بزرگی از موارد از نظر آماری منحصربهفرد است. تحقیقات پروژه Panopticlick بنیاد Electronic Frontier Foundation نشان داد که ترکیب مرورگر، سیستمعامل، وضوح صفحه، منطقه زمانی و پلاگینهای نصبشده، ۸۳/۶٪ از مرورگرها را بهطور منحصربهفرد قابل شناسایی میکند. سیستمهای انگشتنگاری مدرن از ۵۰ تا ۱۰۰+ ویژگی استفاده میکنند و نرخ منحصربهفردی بهمراتب بالاتری به دست میآورند.
Canvas و WebGL: قدرتمندترین سیگنالها
انگشتنگاری Canvas از این واقعیت بهره میبرد که ترکیبهای مختلف GPU، درایور، سیستمعامل و رندر فونت هنگام کشیدن شکل یا متن یکسان، خروجی پیکسلی کمی متفاوت تولید میکنند. یک اسکریپت انگشتنگاری، متن و اشکال نامرئی را روی یک عنصر canvas HTML5 رسم میکند، مقادیر پیکسل را میخواند و نتیجه را هش (hash) میکند. این هش در طول جلسات ثابت است — با پاک کردن کوکیها، استفاده از مرور خصوصی یا راهاندازی مجدد مرورگر تغییر نمیکند — و به دلیل تفاوت در خطوط لوله رندر GPU در سطح سختافزار و درایور، بسیار منحصربهفرد است.
انگشتنگاری WebGL این کار را به رندر سهبعدی گسترش میدهد: اسکریپتها رشته renderer خاص GPU را (مثلاً "ANGLE (Intel, Intel(R) UHD Graphics 620 Direct3D11 vs_5_0 ps_5_0)") میپرسند، صحنههای WebGL را رندر میکنند و framebuffer حاصل را بازمیخوانند. ترکیب فروشنده GPU، مدل، نسخه درایور و خروجی رندر، اثر انگشت را محدودتر میکند.
چرا قانونی است (فعلاً)
GDPR و CCPA هر دو «دادههای شخصی» را بهعنوان اطلاعاتی تعریف میکنند که میتواند یک شخص حقیقی را شناسایی کند. اثر انگشتها مستقیماً یک شخص را شناسایی نمیکنند — آنها یک ترکیب دستگاه/مرورگر را شناسایی میکنند. سؤال قانونی این است که آیا یک اثر انگشت، همراه با دادههای دیگر، میتواند به یک شخص حقیقی مرتبط شود که آن را تحت محدوده GDPR قرار میدهد. گروه کاری ماده ۲۹ (اکنون هیئت حفاظت از دادههای اروپا) اعلام کرده است که انگشتنگاری احتمالاً پردازش دادههای شخصی تحت GDPR محسوب میشود. اما اجرا محدود بوده است — نهادهای نظارتی بیشتر مشغول تخلفات آشکارتر بودهاند و انگشتنگاری از نظر فنی برای ممیزی در دادرسیهای اجرایی پیچیده است.
ریسک قانونی نوظهور تحت ماده ۲۵ GDPR (حفاظت از دادهها با طراحی) و تحت اجراهای ملی است که شروع به تلقی انگشتنگاری بهعنوان نیازمند رضایت کردهاند. CNIL فرانسه در سال ۲۰۲۰ بهصراحت حکم داد که انگشتنگاری نیاز به رضایت دارد. مقامات حفاظت از دادههای آلمان نیز مواضع مشابهی گرفتهاند. اما پیادهسازی و اجرا از فناوری عقبتر است.
چه چیزی واقعاً انگشتنگاری را کاهش میدهد
اینجا جایی است که تصویر از «هیچ چیز کار نمیکند» دقیقتر است. چندین رویکرد تأثیر واقعی دارند:
مرورگر Tor بهطور عمدی اثر انگشت را نرمال میکند — باعث میشود مرورگر هر کاربر Tor همان ویژگیها را گزارش دهد و منحصربهفردی را از بین ببرد. هزینه آن قابل توجه است: عملکرد JavaScript کاهش مییابد، بسیاری از سایتها خراب میشوند و تجربه مرور بهطور محسوسی افت میکند. اما این تنها رویکردی است که به طور جامع به انگشتنگاری در سطح پروتکل میپردازد.
حفاظت از انگشتنگاری فایرفاکس (که در حالت سختگیرانه از طریق Enhanced Tracking Protection فعال میشود) از تصادفیسازی (randomization) اثر انگشت استفاده میکند — نویز کنترلشده را به Canvas، WebGL و سایر APIهای با آنتروپی بالا تزریق میکند و اثر انگشت را در طول جلسات ناپایدار میسازد. این کار شما را غیرقابل ردیابی نمیکند اما پایداریای را که برای ردیابی بین جلسات لازم است، از بین میبرد.
مرورگر Brave از رویکرد تصادفیسازی مشابهی استفاده میکند، با گام اضافه مسدود کردن اسکریپتهای انگشتنگاری شناختهشده. تحقیقات مستقل نشان داده است که حفاظت از انگشتنگاری Brave در میان مرورگرهای اصلی یکی از مؤثرترینها است.
مسدود کردن JavaScript انگشتنگاری Canvas و WebGL را از بین میبرد اما اساساً هر وبسایت مدرنی را خراب میکند.
موقعیت واقعبینانه برای اکثر کاربران: یک مرورگر اصلی با حفاظت از انگشتنگاری فعال (حالت سختگیرانه فایرفاکس یا Brave) به طور قابل توجهی اثربخشی انگشتنگاری را بدون نیاز به اصطکاک سطح Tor کاهش میدهد. شما را از دید ردیابهای مصمم پنهان نمیکند، اما هزینه همبستگی بین جلسات را به اندازهای افزایش میدهد که برای ردیابی در سطح تبلیغات مهم باشد.