رفتن به محتوای اصلی
کوهستان
توضیح کوهستانحریم خصوصی دیجیتالتوضیح و تحلیل· 6 دقیقه مطالعه· در فناوری

مکانیسم‌های اثرانگشت‌گیری مرورگر: چگونه APIهای Canvas، WebGL و Audio یک هویت دیجیتال منحصربه‌فرد می‌سازند؟

ردیابی مدرن وب دیگر به کوکی‌ها وابسته نیست. در عوض، اسکریپت‌ها از ویژگی‌های منحصربه‌فرد رندر سخت‌افزاری دستگاه شما استفاده می‌کنند تا یک شناسه دائمی و نامرئی ایجاد کنند.

به قلم غزل بختیاری

به‌طور خلاصه

  1. اثرانگشت‌گیری مرورگر، کاربران را با اندازه‌گیری تفاوت‌های میکروسکوپی در نحوه رندر گرافیک و صدا توسط سخت‌افزارشان شناسایی می‌کند.
  2. پاک کردن کوکی‌ها، استفاده از حالت ناشناس یا اجرای VPN در برابر اثرانگشت‌گیری در سطح سخت‌افزار محافظت نمی‌کند.
  3. اثرانگشت‌گیری Canvas مرورگر را مجبور می‌کند تا متن پنهان را ترسیم کند و ضد پله‌پله‌سازی منحصربه‌فرد اعمال شده توسط GPU را اندازه‌گیری کند.

ماندگارترین افسانه در حوزه حریم خصوصی دیجیتال، این باور است که «حالت ناشناس» (Incognito Mode) شما را نامرئی می‌کند. بیش از یک دهه است که به کاربران آموزش داده شده تا کوکی‌های خود را پاک کنند، ردیاب‌های شخص ثالث را مسدود کنند و فرض کنند که سوابقشان پاک شده است.

بازاریابی VPNهای مصرف‌کننده به شدت بر پنهان‌سازی آدرس IP به عنوان سپر نهایی تأکید می‌کند. اما ردیابی مدرن نه نیازی به باقی گذاشتن فایلی روی رایانه شما دارد و نه به آدرس IP شما اهمیت می‌دهد. در عوض، از مرورگر شما می‌خواهد که یک تصویر بکشد.[3]

این تکنیک به عنوان اثرانگشت‌گیری مرورگر (Browser Fingerprinting) شناخته می‌شود. به جای ذخیره یک شناسه وضعیتی مانند کوکی، یک وب‌سایت مجموعه‌ای از وظایف ریاضی و رندرینگ را در پس‌زمینه اجرا می‌کند. از آنجا که هر رایانه ترکیبی کمی متفاوت از سخت‌افزار، درایورهای گرافیکی، سیستم عامل و فونت‌های نصب شده دارد، خروجی این وظایف در سطح میکروسکوپی متفاوت است. با اندازه‌گیری این تفاوت‌های جزئی، یک ردیاب می‌تواند یک هش منحصربه‌فرد تولید کند که یک دستگاه خاص را با دقت خیره‌کننده‌ای شناسایی می‌کند.[2]

این قابلیت کاملاً متکی بر APIهای استاندارد وب است که برای تعاملی و غنی‌سازی اینترنت طراحی شده‌اند. APIهای HTML۵ Canvas، WebGL و Web Audio API برای فعال کردن بازی‌های مبتنی بر مرورگر، بصری‌سازی پیچیده داده‌ها و رسانه‌های پویا ساخته شدند. با این حال، همان مکانیسم‌های دقیقی که این APIها را قدرتمند می‌سازند، آن‌ها را برای ماشینی که آن‌ها را اجرا می‌کند، بسیار خاص و منحصر به فرد نیز می‌سازند.[1][2]

گسترده‌ترین تکنیک مورد استفاده، اثرانگشت‌گیری Canvas است. هنگامی که از صفحه‌ای که از این روش استفاده می‌کند بازدید می‌کنید، یک اسکریپت پنهان به مرورگر شما دستور می‌دهد تا یک رشته متنی و اشکال پیچیده و خاص را روی یک عنصر نامرئی HTML۵ Canvas ترسیم کند. این اسکریپت معمولاً ترکیبی از رنگ‌ها، هندسه‌های همپوشان و فونت‌های استاندارد سیستم را به کار می‌برد.[1]

نکته حیاتی اینجاست که استاندارد وب دقیقاً دیکته نمی‌کند که یک پیکسل هنگام رندر کردن یک منحنی یا لبه فونت چگونه باید رنگ‌آمیزی شود. این وظیفه به سیستم عامل و واحد پردازش گرافیکی (GPU) دستگاه واگذار می‌شود. یک دستگاه ویندوزی با کارت گرافیک Nvidia، ضد پله‌پله‌سازی (anti-aliasing یا صاف کردن لبه‌های دندانه‌دار) را متفاوت از یک مک‌بوک با تراشه Apple Silicon اعمال می‌کند. حتی دو لپ‌تاپ کاملاً یکسان نیز ممکن است متن را متفاوت رندر کنند اگر یکی از آن‌ها درایور گرافیکی کمی قدیمی‌تر داشته باشد.[1]

هنگامی که تصویر پنهان ترسیم شد، اسکریپت تابعی به نام `toDataURL()` را فراخوانی می‌کند. این فرمان، پیکسل به پیکسل Canvas را می‌خواند و کل تصویر را به یک رشته کدگذاری شده Base۶۴ تبدیل می‌کند. به دلیل تفاوت‌های ظریف رندرینگ، این رشته برای پشته سخت‌افزاری و نرم‌افزاری خاص کاربر منحصربه‌فرد است. سپس ردیاب این رشته را به یک شناسه کوتاه و دائمی هش می‌کند.

در حالی که Canvas بر رندرینگ دوبعدی تمرکز دارد، اثرانگشت‌گیری WebGL خط لوله گرافیک سه‌بعدی را هدف قرار می‌دهد. WebGL به مرورگرها اجازه می‌دهد تا گرافیک سه‌بعدی تعاملی را بدون نیاز به افزونه‌ها رندر کنند. یک اسکریپت اثرانگشت‌گیری از مرورگر می‌خواهد که یک صحنه سه‌بعدی پیچیده – شامل نورپردازی، سایه‌ها و بافت‌ها – را روی یک Canvas پنهان رندر کند.

WebGL حتی از API دوبعدی Canvas نیز به سخت‌افزار نزدیک‌تر است. این API به شدت به دقت ریاضی ممیز شناور (floating-point) خاص پردازنده گرافیکی دستگاه متکی است. پردازنده‌های گرافیکی مختلف، محاسبات پیچیده را با تغییرات میکروسکوپی در خطاهای گرد کردن (rounding errors) مدیریت می‌کنند. با استخراج پیکسل‌های رندر شده صحنه سه‌بعدی، ردیاب‌ها می‌توانند به طور مؤثری مدل دقیق و نسخه درایور کارت گرافیک کاربر را شناسایی کنند.[3]

تصاویر تنها مسیر نیستند. Web Audio API که برای پردازش و سنتز صدا در برنامه‌های وب طراحی شده، منبع غنی دیگری از آنتروپی را فراهم می‌کند. اثرانگشت‌گیری صوتی نیازی به میکروفون کاربر ندارد؛ در عوض، نحوه پردازش ریاضی صدا توسط پشته صوتی دستگاه را آزمایش می‌کند.

یک اسکریپت اثرانگشت‌گیری صوتی یک نوسان‌ساز با فرکانس پایین – یک موج سینوسی پایه – تولید می‌کند. سپس این موج را از طریق مجموعه‌ای از کمپرسورها و فیلترهای دینامیک که توسط AudioContext API ارائه شده‌اند، عبور می‌دهد. در نهایت، داده‌های شکل موج صوتی حاصل را قبل از اینکه به بلندگوها برسد، می‌خواند.

خطوط لوله رندر بصری، آنتروپی شناسایی بسیار بیشتری نسبت به پشته‌های پردازش صوتی فراهم می‌کنند.

درست مانند رندرینگ گرافیکی، پردازش صوتی نیز به سیستم عامل زیرین و معماری سخت‌افزاری متکی است. خروجی دقیق ریاضی موج سینوسی فشرده شده بین یک گوشی اندروید، یک آیفون و یک دسکتاپ ویندوز کمی متفاوت خواهد بود. این امر یک نقطه داده کاملاً مجزا و بسیار پایدار فراهم می‌کند که ردیاب‌ها از آن برای تأیید اثرانگشت‌های بصری استفاده می‌کنند.[2]

این سیگنال‌ها به صورت جداگانه قدرتمند هستند، اما به ندرت به تنهایی استفاده می‌شوند. ردیاب‌ها اثرانگشت‌های Canvas، WebGL و Audio را با سیگنال‌های غیرفعال سنتی ترکیب می‌کنند: رشته عامل کاربر (user agent string)، وضوح صفحه، عمق رنگ، منطقه زمانی و لیست زبان‌های پشتیبانی شده. در نظریه اطلاعات، منحصربه‌فرد بودن این نقاط داده ترکیبی با «آنتروپی» اندازه‌گیری می‌شود.[2]

هنگامی که آنتروپی کافی جمع‌آوری شود، عملاً تضمین می‌شود که اثرانگشت حاصل در میان میلیون‌ها کاربر منحصربه‌فرد باشد. از آنجا که این شناسه هر بار که صفحه بارگذاری می‌شود به صورت لحظه‌ای تولید می‌گردد، کوکی‌ای برای حذف وجود ندارد. اگر کاربر داده‌های مرورگر خود را پاک کند، روتر خود را مجدداً راه‌اندازی کند تا آدرس IP جدیدی بگیرد و به سایت بازگردد، محاسبات رندر سخت‌افزاری یکسان باقی می‌ماند. ردیاب فوراً او را شناسایی می‌کند.[2][3]

API صوتی وب (Web Audio API) می‌تواند دستگاه‌ها را بر اساس نحوه پردازش ریاضی امواج صوتی توسط سخت‌افزارشان شناسایی کند.

دفاع در برابر اثرانگشت‌گیری یک چالش مهندسی بزرگ ایجاد می‌کند. فروشندگان مرورگر نمی‌توانند به سادگی Canvas، WebGL یا AudioContext را غیرفعال کنند، زیرا این کار میلیون‌ها وب‌سایت قانونی، برنامه‌های وب و بازی‌های مرورگر را از کار می‌اندازد. این APIها برای تجربه وب مدرن حیاتی هستند.[3]

در حال حاضر، دو فلسفه دفاعی اصلی وجود دارد. اولین مورد یکنواختی است که توسط مرورگر Tor پیشگام شده است. Tor تلاش می‌کند با محدود کردن دسترسی به API، استانداردسازی اندازه‌های پنجره و مسدود کردن فونت‌های خاص، همه کاربران را دقیقاً شبیه به هم نشان دهد. اگر همه اثرانگشت یکسانی داشته باشند، آنتروپی به صفر می‌رسد و ردیابی غیرممکن می‌شود.[2]

رویکرد دوم تصادفی‌سازی است که توسط مرورگرهای متمرکز بر حریم خصوصی مانند Brave استفاده می‌شود. Brave به جای مسدود کردن APIها، به طور زیرکانه‌ای نویز رمزنگاری تصادفی را به خروجی درخواست‌های Canvas، WebGL و AudioContext تزریق می‌کند. هر بار که یک ردیاب از مرورگر می‌خواهد تصویر پنهان را ترسیم کند یا موج صوتی را پردازش کند، مرورگر نتیجه‌ای کمی متفاوت و تصادفی برمی‌گرداند و اثرانگشت را برای ردیابی طولانی‌مدت بی‌فایده می‌کند.[2][3]

با ترکیب سیگنال‌های سخت‌افزاری متعدد، ردیاب‌ها شناسه‌ای تولید می‌کنند که پس از حذف کوکی‌ها و مرور خصوصی نیز باقی می‌ماند.

با وجود این دفاعیات، مسابقه تسلیحاتی ادامه دارد. در حالی که مرورگرها تزریق نویز را پیاده‌سازی می‌کنند، شرکت‌های ردیابی مدل‌های یادگیری ماشینی را توسعه می‌دهند تا نویز را فیلتر کرده و امضای سخت‌افزاری زیربنایی را پیدا کنند. درک این اکوسیستم حیاتی است: حریم خصوصی دیجیتال واقعی نیازمند دفاعیات ساختاری در سطح مرورگر است، نه صرفاً پاک کردن حافظه پنهان (Cache).[2][3]

اصطلاحات کلیدی

Browser Fingerprinting
عمل شناسایی یک کاربر خاص با تجزیه و تحلیل پیکربندی سخت‌افزاری و نرم‌افزاری منحصربه‌فرد دستگاه او، به جای استفاده از کوکی ذخیره شده.
HTML5 Canvas
یک استاندارد وب که به مرورگرها اجازه می‌دهد گرافیک و متن دوبعدی را به صورت پویا با استفاده از جاوا اسکریپت ترسیم کنند.
WebGL
یک API جاوا اسکریپت برای رندر گرافیک‌های تعاملی ۲ بعدی و ۳ بعدی در هر مرورگر وب سازگار، بدون استفاده از افزونه‌ها.
Entropy
در نظریه اطلاعات، معیاری برای سنجش میزان اطلاعات منحصربه‌فرد و شناسایی‌کننده‌ای که یک نقطه داده یا سیگنال خاص فراهم می‌کند.
Anti-aliasing
یک تکنیک گرافیکی که برای صاف کردن لبه‌های دندانه‌دار در خطوط منحنی و متن استفاده می‌شود و توسط کارت‌های گرافیک مختلف به صورت متفاوتی اجرا می‌گردد.
AudioContext
یک رابط API وب که نمایانگر یک گراف پردازش صوتی است و توسط ردیاب‌ها برای اندازه‌گیری نحوه پردازش ریاضی صدا توسط دستگاه استفاده می‌شود.

پرسش‌های متداول

آیا حالت ناشناس (Incognito Mode) اثرانگشت‌گیری مرورگر را متوقف می‌کند؟

خیر. حالت ناشناس فقط از ذخیره تاریخچه و کوکی‌ها به صورت محلی پس از پایان جلسه جلوگیری می‌کند. این حالت سخت‌افزار شما را تغییر نمی‌دهد، بنابراین اثرانگشت‌های Canvas و WebGL شما یکسان باقی می‌مانند.

آیا VPN از من در برابر اثرانگشت‌گیری محافظت می‌کند؟

VPN آدرس IP شما را پنهان می‌کند، اما موتور رندر مرورگر شما را تغییر نمی‌دهد. ردیاب‌ها همچنان می‌توانند دستگاه شما را از طریق اثرانگشت‌گیری سخت‌افزاری شناسایی کنند، حتی اگر به نظر برسد موقعیت مکانی شما تغییر کرده است.

آیا می‌توانم برای جلوگیری از آن، جاوا اسکریپت را خاموش کنم؟

غیرفعال کردن کامل جاوا اسکریپت، اثرانگشت‌گیری Canvas، WebGL و Audio را متوقف می‌کند. با این حال، عملکرد تقریباً تمام وب‌سایت‌های مدرن را نیز مختل می‌کند و آن را به یک راه‌حل غیرعملی برای اکثر کاربران تبدیل می‌کند.

مرورگرهای حریم خصوصی چگونه با این موضوع مبارزه می‌کنند؟

مرورگرهایی مانند Brave نویز ریاضی تصادفی را به APIهای رندرینگ تزریق می‌کنند. هر بار که یک ردیاب درخواست اثرانگشت می‌کند، مرورگر نتیجه‌ای کمی متفاوت برمی‌گرداند و ساختن یک پروفایل پایدار را غیرممکن می‌سازد.

بررسی عمیق دیدگاه‌ها

مدافعان حریم خصوصی

استدلال می‌کنند که اثرانگشت‌گیری نقض غیرتوافقی اعتماد کاربر است که کنترل‌های حریم خصوصی تثبیت شده را دور می‌زند.

محققان حریم خصوصی و سازمان‌های حقوق دیجیتال، اثرانگشت‌گیری را نقض اساسی قرارداد اجتماعی وب می‌دانند. از آنجا که اثرانگشت‌گیری متکی بر APIهای اصلی وب است، کاربران نمی‌توانند به راحتی بدون از کار انداختن وب‌سایت‌هایی که به آن‌ها وابسته هستند، از آن انصراف دهند. مدافعان استدلال می‌کنند که این امر یک «الگوی تاریک» ایجاد می‌کند که در آن ردیابی به صورت نامرئی و دائمی اتفاق می‌افتد و ابزارهای سنتی حریم خصوصی مانند حذف کوکی و حالت‌های مرور خصوصی را کاملاً منسوخ می‌کند. آن‌ها خواستار مداخلات سختگیرانه‌تر در سطح مرورگر و چارچوب‌های نظارتی هستند که هَش‌های سخت‌افزاری را به عنوان داده‌های شخصی محافظت شده طبقه‌بندی کنند.

تیم‌های ضد کلاهبرداری و امنیت

اثرانگشت‌گیری را ابزاری ضروری و بدون اصطکاک برای شناسایی بات‌نت‌ها، جلوگیری از تصاحب حساب‌ها و متوقف کردن کلاهبرداری‌های پرداختی می‌دانند.

برای متخصصان امنیت سایبری و تیم‌های زیرساخت بانکی، اثرانگشت‌گیری مرورگر یک خط دفاعی حیاتی است. هنگامی که یک عامل مخرب پایگاه داده رمز عبور را به سرقت می‌برد و تلاش می‌کند وارد هزاران حساب شود، اغلب از اسکریپت‌های خودکار استفاده می‌کند که کوکی‌ها را پاک کرده و آدرس‌های IP را تغییر می‌دهند. اثرانگشت‌گیری به سیستم‌های امنیتی اجازه می‌دهد تا تشخیص دهند که ۱۰,۰۰۰ تلاش برای ورود به سیستم همگی از پیکربندی سخت‌افزاری دقیقاً یک ماشین مجازی سرچشمه می‌گیرند. تیم‌های امنیتی استدلال می‌کنند که بدون این سیگنال‌های سخت‌افزاری، اینترنت با افزایش فاجعه‌بار کلاهبرداری‌های خودکار و تصاحب حساب‌ها مواجه خواهد شد.

مهندسان مرورگر

بر روی ریسمان باریک فنی تمرکز می‌کنند تا بردارهای ردیابی را بدون شکستن APIهای قانونی وب که برنامه‌های مدرن را قدرت می‌بخشند، کاهش دهند.

توسعه‌دهندگان سازنده کروم، سافاری و فایرفاکس با یک معضل مهندسی پیچیده روبرو هستند. آن‌ها خطرات حریم خصوصی اثرانگشت‌گیری را تأیید می‌کنند، اما APIهایی که مورد سوءاستفاده قرار می‌گیرند—Canvas، WebGL و AudioContext—دقیقاً همان ابزارهایی هستند که برای اجرای بازی‌های ویدیویی مبتنی بر مرورگر، رندر نمودارهای مالی پیچیده و پردازش تماس‌های ویدیویی مورد نیازند. مهندسان استدلال می‌کنند که صرفاً خاموش کردن این ویژگی‌ها، اینترنت را به دوران صفحات متنی ایستا باز می‌گرداند. تمرکز آن‌ها بر توسعه سیستم‌های پیچیده «بودجه حریم خصوصی» و تکنیک‌های تزریق نویز است که داده‌های ردیاب را بدون ایجاد اختلال قابل مشاهده در تجربه وب کاربر، تخریب می‌کنند.

مدافعان حریم خصوصی 35%تیم‌های ضد کلاهبرداری و امنیت 35%مهندسان مرورگر 30%
مدافعان حریم خصوصی
استدلال می‌کنند که اثرانگشت‌گیری نقض غیرتوافقی اعتماد کاربر است که کنترل‌های حریم خصوصی تثبیت شده را دور می‌زند.
تیم‌های ضد کلاهبرداری و امنیت
اثرانگشت‌گیری را ابزاری ضروری و بدون اصطکاک برای شناسایی بات‌نت‌ها، جلوگیری از تصاحب حساب‌ها و متوقف کردن کلاهبرداری‌های پرداختی می‌دانند.
مهندسان مرورگر
بر روی ریسمان باریک فنی تمرکز می‌کنند تا بردارهای ردیابی را بدون شکستن APIهای قانونی وب که برنامه‌های مدرن را قدرت می‌بخشند، کاهش دهند.

دیدگاه‌هایی که این گزارش پوشش نداده

  • تبلیغ‌کنندگان دیجیتال
  • کاربران عادی وب

منابع

پوشش منابع

3 منبع

3 دیدگاه شناسایی‌شده

مدافعان حریم خصوصی 35%تیم‌های ضد کلاهبرداری و امنیت 35%مهندسان مرورگر 30%
  1. [1]Hovav Shacham (UCSD)مهندسان مرورگر

    Pixel Perfect: Fingerprinting Canvas in HTML5

    مطالعه در Hovav Shacham (UCSD) →
  2. [2]arXivمدافعان حریم خصوصی

    The Development and Impact of Browser Fingerprinting on Digital Privacy

    مطالعه در arXiv →
  3. [3]تیم سردبیری کوهستانمدافعان حریم خصوصی

    تحلیل تیم سردبیری کوهستان

    مطالعه در تیم سردبیری کوهستان →

نظرات

همیشه در جریان باشید

هر زاویه. هر روز.

اخبار فناوری با پوشش کامل منابع و تحلیل دیدگاه‌ها، هر روز و رایگان.