اثر انگشت مرورگر چیست و چرا با VPN هم قابل ردیابی هستید؟

وقتی صحبت از حفظ حریم خصوصی در اینترنت میشود، بیشتر کاربران تصور میکنند با استفاده از VPN، حذف منظم کوکیها، فعال کردن حالت ناشناس (Incognito) یا نصب افزونههای مسدودکننده تبلیغات و ردیابها، تا حد زیادی از دید وبسایتها پنهان میمانند.
اما واقعیت پیچیدهتر از این است.
مرورگرهای امروزی برای نمایش وبسایتهای مدرن، اجرای بازیهای تحت وب، پردازش محتوای سهبعدی و اجرای بسیاری از قابلیتهای گرافیکی، ناچارند اطلاعاتی از سختافزار دستگاه را در اختیار صفحات وب قرار دهند. همین اطلاعات، اگرچه در ظاهر بیاهمیت به نظر میرسند، میتوانند در کنار دهها ویژگی دیگر به ابزاری قدرتمند برای شناسایی کاربران تبدیل شوند؛ روشی که با نام Browser Fingerprinting یا «اثر انگشت مرورگر» شناخته میشود.
یکی از مهمترین منابع این اطلاعات، کارت گرافیک (GPU) دستگاه است؛ قطعهای که برخلاف تصور بسیاری از کاربران، میتواند اطلاعات ارزشمندی درباره سیستم در اختیار وبسایتها قرار دهد. نکته مهمتر اینکه این نوع ردیابی معمولاً بدون استفاده از کوکیها انجام میشود و بسیاری از ابزارهای رایج حفظ حریم خصوصی نیز قادر به جلوگیری کامل از آن نیستند.
وقتی یک آزمایش ساده، همهچیز را تغییر داد
مدتی پیش، برای بررسی میزان اطلاعاتی که مرورگر در اختیار وبسایتها قرار میدهد، آزمایشی روی یکی از سرویسهای بررسی Browser Fingerprinting انجام شد.
در نگاه اول، همهچیز ایدهآل به نظر میرسید. افزونههای مسدودکننده ردیابها فعال بودند، کوکیها بهطور منظم حذف میشدند و تمام ترافیک اینترنت نیز از طریق یک VPN عبور میکرد. بنابراین انتظار میرفت نتیجه آزمایش نشان دهد بخش قابل توجهی از اطلاعات قابل شناسایی پنهان شده است.
اما نتیجه کاملاً متفاوت بود.
گزارش سایت نشان میداد مرورگر، حتی پیش از آنکه بحثی درباره کوکیها یا ورود کاربر به حسابهای مختلف مطرح باشد، اطلاعات متعددی را در اختیار صفحه قرار داده است؛ از جمله نام سازنده کارت گرافیک، رشته شناسایی Renderer، مشخصات موتور گرافیکی، قابلیتهای پشتیبانیشده در WebGL، دقت محاسبات اعشاری در شیدرها و دهها ویژگی فنی دیگر.
این اطلاعات بهتنهایی هویت یک کاربر را مشخص نمیکنند، اما در کنار سایر ویژگیهای مرورگر میتوانند نمایهای نسبتاً منحصربهفرد از دستگاه ایجاد کنند.
همین آزمایش ساده نشان داد که روشهای سنتی حفظ حریم خصوصی، مانند تغییر IP یا حذف کوکیها، تنها بخشی از مسئله را پوشش میدهند و دنیای Browser Fingerprinting بسیار پیچیدهتر از چیزی است که اغلب کاربران تصور میکنند.
کارت گرافیک شما بیش از آنچه تصور میکنید اطلاعات فاش میکند
کارت گرافیک رایانه یا تلفن همراه شما شماره سریال یا شناسه اختصاصی خود را برای وبسایتها ارسال نمیکند، اما این به معنای ناشناس بودن آن نیست.
هر GPU مجموعهای از ویژگیهای سختافزاری و نرمافزاری دارد که نحوه پردازش و رندر تصاویر را تعیین میکنند. این ویژگیها شامل قابلیتهای پردازشی، محدودیتهای سختافزاری، نحوه اجرای دستورات گرافیکی، نسخه درایورها و بسیاری از جزئیات دیگر است.
وبسایتهای امروزی برای ارائه قابلیتهایی مانند بازیهای تحت وب، مدلهای سهبعدی، ابزارهای طراحی، نقشههای تعاملی، جلوههای بصری و حتی برخی سرویسهای مبتنی بر هوش مصنوعی، به این توان پردازشی نیاز دارند. مرورگر نیز برای فراهم کردن این قابلیتها از رابطهایی مانند WebGL استفاده میکند.
WebGL یک استاندارد مبتنی بر جاوااسکریپت است که امکان استفاده از توان پردازشی GPU را بدون نیاز به نصب افزونه یا نرمافزار جانبی فراهم میکند. به لطف این فناوری، صفحات وب میتوانند گرافیک سهبعدی را مستقیماً داخل مرورگر رندر کنند.
اما همین دسترسی که تجربه کاربری مدرن وب را ممکن کرده، از دید کارشناسان امنیت و حریم خصوصی یک چالش جدی نیز محسوب میشود؛ زیرا بخشی از اطلاعات مربوط به سختافزار گرافیکی ناگزیر در اختیار صفحات وب قرار میگیرد.
وبسایتها دقیقاً چه اطلاعاتی از GPU دریافت میکنند؟
مرورگرها عمداً اطلاعات حساسی مانند شماره سریال یا شناسه یکتای کارت گرافیک را در اختیار وبسایتها قرار نمیدهند، اما WebGL همچنان امکان دسترسی به مجموعه گستردهای از ویژگیهای فنی GPU را فراهم میکند.
برای مثال، یک اسکریپت جاوااسکریپت میتواند اطلاعاتی مانند موارد زیر را استخراج کند:
- نام سازنده کارت گرافیک (Vendor)
- رشته شناسایی پردازشگر گرافیکی (Renderer)
- نسخه و قابلیتهای پشتیبانیشده در WebGL
- حداکثر اندازه بافتهای گرافیکی (Maximum Texture Size)
- پشتیبانی از Anti-Aliasing
- دقت پردازش شیدرها
- برخی ویژگیهای مربوط به محاسبات اعشاری
- محدودیتهای سختافزاری و قابلیتهای رندر
اما ماجرا به همینجا ختم نمیشود.
وبسایتها میتوانند با استفاده از Canvas و WebGL، صحنههای گرافیکی مشخصی را بهصورت نامرئی داخل مرورگر رسم کنند و سپس خروجی نهایی را تحلیل کنند.
در نگاه اول شاید تصور شود اگر دو دستگاه از یک مدل کارت گرافیک استفاده کنند، خروجی آنها نیز کاملاً یکسان خواهد بود. اما در عمل عوامل متعددی بر نتیجه نهایی تأثیر میگذارند؛ از جمله نسخه درایور، سیستمعامل، معماری GPU، موتور گرافیکی مرورگر، تنظیمات پردازش تصویر و حتی نحوه پیادهسازی استانداردهای گرافیکی توسط سازندگان مختلف.
در نتیجه، ممکن است دو دستگاه ظاهراً مشابه، خروجیهایی با تفاوتهای بسیار جزئی تولید کنند؛ تفاوتهایی که معمولاً برای چشم انسان قابل مشاهده نیستند، اما الگوریتمهای Browser Fingerprinting قادر به تشخیص و تحلیل آنها هستند.
به همین دلیل، بسیاری از سامانههای اثر انگشت مرورگر تنها به اطلاعات اعلامشده توسط WebGL اکتفا نمیکنند، بلکه رفتار واقعی سختافزار را نیز هنگام رندر صحنههای گرافیکی مورد بررسی قرار میدهند.
یک ویژگی بهتنهایی خطرناک نیست؛ ترکیب اطلاعات است که شما را متمایز میکند
نکته مهم اینجاست که هیچیک از اطلاعاتی که WebGL یا مرورگر در اختیار صفحات وب قرار میدهند، بهتنهایی برای شناسایی یک کاربر کافی نیستند.
برای مثال، میلیونها نفر ممکن است از یک مدل کارت گرافیک، یک نسخه از مرورگر یا حتی یک سیستمعامل مشابه استفاده کنند. بنابراین دانستن نام GPU یا نسخه WebGL بهتنهایی ارزش چندانی برای ردیابی ندارد.
قدرت واقعی Browser Fingerprinting زمانی آشکار میشود که دهها ویژگی مختلف در کنار یکدیگر قرار بگیرند.
اطلاعاتی مانند مدل کارت گرافیک، رشته Renderer، قابلیتهای WebGL، ویژگیهای Canvas، نسخه مرورگر، سیستمعامل، وضوح نمایشگر، زبان مرورگر، منطقه زمانی، فونتهای نصبشده، نحوه پردازش صدا، ویژگیهای سختافزاری و دهها پارامتر دیگر، در کنار هم نمایهای نسبتاً منحصربهفرد از دستگاه ایجاد میکنند.
هرچه تعداد این ویژگیها بیشتر باشد، احتمال شباهت کامل دو دستگاه به یکدیگر کمتر میشود و همین موضوع، شناسایی یا ردیابی کاربران را آسانتر میکند.
به همین دلیل، کارت گرافیک امروزه صرفاً یک قطعه سختافزاری برای پردازش تصاویر نیست؛ بلکه به یکی از اجزای مهم «اثر انگشت دیجیتال» مرورگر تبدیل شده است.
WebGPU؛ فناوری جدیدی که میتواند مسیر تازهای برای اثر انگشت مرورگر باز کند
اگر تصور میکنید بحث ردیابی سختافزاری تنها به WebGL محدود میشود، باید بدانید استاندارد جدیدتری به نام WebGPU نیز بهسرعت در حال گسترش است؛ فناوریای که نسبت به WebGL دسترسیهای پیشرفتهتر و کارایی بسیار بالاتری در اختیار برنامههای تحت وب قرار میدهد.
WebGPU نسل جدید رابطهای گرافیکی مرورگر محسوب میشود و برای اجرای برنامههای سنگین، بازیهای سهبعدی، نرمافزارهای طراحی، پردازشهای موازی (Parallel Computing) و حتی اجرای برخی مدلهای هوش مصنوعی در مرورگر توسعه یافته است.
برخلاف تصور برخی کاربران، WebGPU قرار نیست بهطور کامل جایگزین WebGL شود. این دو فناوری در کنار یکدیگر فعالیت میکنند و هرکدام برای نوع خاصی از پردازشهای گرافیکی طراحی شدهاند. در حالی که WebGL همچنان برای بسیاری از برنامههای گرافیکی رایج کاربرد دارد، WebGPU امکانات گستردهتری در اختیار توسعهدهندگان قرار میدهد و عملکردی نزدیکتر به رابطهای گرافیکی سطح پایین مانند Vulkan، Metal و Direct3D ارائه میکند.
همین قابلیتهای پیشرفته باعث شده WebGPU یکی از مهمترین تحولهای سالهای اخیر در فناوری وب باشد؛ اما از سوی دیگر، کارشناسان امنیت و حریم خصوصی معتقدند این فناوری میتواند فرصتهای تازهای برای توسعه روشهای Browser Fingerprinting ایجاد کند.
WebGPU چه اطلاعاتی در اختیار وبسایتها قرار میدهد؟
برای اینکه یک برنامه تحت وب بتواند از توان پردازشی GPU استفاده کند، مرورگر ناچار است بخشی از قابلیتهای سختافزار را در اختیار آن قرار دهد. در غیر این صورت، برنامه نمیتواند تشخیص دهد چه ویژگیهایی در دسترس هستند یا چگونه باید پردازشهای گرافیکی خود را مدیریت کند.
به همین دلیل، WebGPU امکان دسترسی به مجموعهای از اطلاعات و محدودیتهای فنی مربوط به پردازنده گرافیکی را فراهم میکند.
بسته به مرورگر، سیستمعامل و نحوه پیادهسازی این استاندارد، یک وبسایت ممکن است بتواند اطلاعاتی مانند موارد زیر را دریافت یا استنباط کند:
- سازنده پردازنده گرافیکی (GPU Vendor)
- اطلاعات مربوط به آداپتور گرافیکی (GPU Adapter)
- برخی ویژگیهای معماری یا قابلیتهای سختافزار
- مجموعه قابلیتهای پشتیبانیشده (Supported Features)
- محدودیتها و سقف تواناییهای سختافزاری (Limits)
- قابلیتهای پردازشی مرتبط با Compute Shaderها
- اطلاعات مربوط به حافظه و بافرهای گرافیکی
نکته مهم این است که WebGPU معمولاً شماره سریال یا شناسه یکتای کارت گرافیک را در اختیار صفحات وب قرار نمیدهد، اما مجموعه همین ویژگیها میتوانند تصویری نسبتاً دقیق از سختافزار دستگاه ارائه کنند.
چرا محدودیتهای سختافزاری اهمیت دارند؟
در نگاه اول، اطلاعاتی مانند حداکثر اندازه یک بافت گرافیکی یا ظرفیت بافرهای حافظه ممکن است بیاهمیت به نظر برسند، اما از دید الگوریتمهای Browser Fingerprinting همین جزئیات ارزش زیادی دارند.
برای مثال، WebGPU میتواند اطلاعاتی درباره مواردی مانند اینها ارائه دهد:
- حداکثر ابعاد Textureهای دوبعدی و سهبعدی
- بیشترین تعداد Textureهایی که همزمان قابل استفاده هستند
- حداکثر اندازه Bufferهای گرافیکی
- محدودیت تعداد Workgroupها در پردازشهای موازی
- تعداد Threadهای قابل اجرا در هر Workgroup
- اندازه حافظه اشتراکی قابل استفاده توسط پردازنده گرافیکی
- مجموعه قابلیتهای اختیاری پشتیبانیشده توسط GPU
این مقادیر برای همه دستگاهها یکسان نیستند.
تفاوت در مدل کارت گرافیک، معماری پردازنده گرافیکی، نسخه درایور، سیستمعامل، مرورگر و حتی نحوه پیادهسازی WebGPU باعث میشود هر دستگاه ترکیب متفاوتی از این ویژگیها را گزارش کند.
در نتیجه، اگرچه هیچکدام از این اطلاعات بهتنهایی هویت یک کاربر را مشخص نمیکنند، اما کنار هم قرار گرفتن آنها میتواند دقت اثر انگشت مرورگر را افزایش دهد.
آیا WebGPU بهتنهایی کاربران را شناسایی میکند؟
پاسخ کوتاه این سؤال خیر است.
در حال حاضر هیچ مدرکی وجود ندارد که نشان دهد WebGPU بهتنهایی قادر است یک دستگاه را بهطور منحصربهفرد شناسایی کند. اما کارشناسان امنیت نیز چنین ادعایی ندارند.
آنچه باعث نگرانی شده، این است که اطلاعات WebGPU میتوانند به قطعه دیگری از پازل Browser Fingerprinting تبدیل شوند.
فرض کنید یک وبسایت پیش از این اطلاعاتی مانند نسخه مرورگر، سیستمعامل، وضوح نمایشگر، فونتهای نصبشده، منطقه زمانی، خروجی Canvas و دادههای WebGL را جمعآوری کرده است. اگر مجموعه ویژگیها و محدودیتهای WebGPU نیز به این اطلاعات اضافه شوند، احتمال یکتا بودن نمایه دستگاه افزایش پیدا میکند.
به بیان دیگر، WebGPU لزوماً یک روش جدید برای شناسایی کاربران نیست، بلکه میتواند دقت روشهای موجود را بیشتر کند.
حتی استاندارد WebGPU هم این خطر را پذیرفته است
نکته جالب اینجاست که نگرانی درباره سوءاستفاده از WebGPU صرفاً محدود به پژوهشگران امنیتی نیست.
کنسرسیوم W3C که مسئول تدوین استاندارد WebGPU است، در بخش ملاحظات امنیتی و حریم خصوصی این استاندارد بهصراحت اعلام میکند که اطلاعات مربوط به قابلیتهای سختافزار میتوانند برای Browser Fingerprinting مورد استفاده قرار گیرند.
به همین دلیل، در طراحی این استاندارد تأکید شده است که مرورگرها نباید لزوماً تمام ویژگیهای واقعی سختافزار را با بالاترین دقت در اختیار صفحات وب قرار دهند.
برای کاهش احتمال ردیابی، توسعهدهندگان مرورگرها میتوانند راهکارهایی مانند موارد زیر را به کار بگیرند:
- گرد کردن برخی مقادیر فنی (Rounding)
- گروهبندی قابلیتهای مشابه
- محدود کردن دقت اطلاعات گزارششده
- حذف برخی ویژگیهای کمکاربرد
- ارائه مقادیر استانداردشده به جای اطلاعات کاملاً واقعی
هدف این اقدامات آن است که دستگاههای مختلف، تا حد امکان اطلاعات مشابهی ارائه دهند و ساخت یک اثر انگشت منحصربهفرد دشوارتر شود.
اما مشکل اصلی همچنان پابرجاست
با وجود تمام این محدودیتها، یک واقعیت تغییر نمیکند.
WebGPU برای انجام وظیفه خود ناچار است بخشی از قابلیتهای سختافزار را در اختیار برنامههای تحت وب قرار دهد. اگر مرورگر هیچ اطلاعاتی ارائه نکند، بسیاری از برنامههای گرافیکی، موتورهای بازی، ابزارهای طراحی و حتی برخی مدلهای هوش مصنوعی قادر به تشخیص تواناییهای دستگاه نخواهند بود و عملکرد آنها با مشکل مواجه میشود.
در نتیجه، توسعهدهندگان مرورگرها همواره با یک چالش اساسی روبهرو هستند؛ از یک سو باید اطلاعات کافی برای اجرای صحیح برنامههای وب فراهم شود و از سوی دیگر، نباید آنقدر جزئیات در اختیار صفحات قرار گیرد که امکان ساخت اثر انگشت دقیق کاربران افزایش یابد.
به همین دلیل، بسیاری از کارشناسان معتقدند رقابت میان توسعهدهندگان مرورگر و طراحان روشهای جدید Browser Fingerprinting در سالهای آینده نیز ادامه خواهد داشت؛ زیرا هرچه قابلیتهای وب پیشرفتهتر میشوند، حفظ تعادل میان کارایی و حریم خصوصی نیز دشوارتر خواهد شد.
چرا VPN تقریباً هیچ کمکی به جلوگیری از Browser Fingerprinting نمیکند؟
وقتی صحبت از ردیابی کاربران در اینترنت میشود، اولین راهکاری که به ذهن بسیاری از افراد میرسد استفاده از VPN است. این تصور تا حدی قابل درک است؛ زیرا VPN یکی از مؤثرترین ابزارها برای پنهان کردن آدرس IP و رمزنگاری ارتباط اینترنتی محسوب میشود.
اما Browser Fingerprinting اساساً مشکل دیگری را هدف قرار میدهد.
وظیفه اصلی VPN این است که ارتباط شما با اینترنت را از طریق یک سرور واسطه عبور دهد تا وبسایت مقصد به جای آدرس IP واقعی، آدرس IP سرور VPN را مشاهده کند. علاوه بر این، VPN ارتباط میان دستگاه شما و سرور خود را رمزنگاری میکند تا افراد یا شبکههای واسط نتوانند بهراحتی ترافیک اینترنت را مشاهده یا دستکاری کنند.
با این حال، اطلاعاتی که برای ساخت اثر انگشت مرورگر استفاده میشوند، از مسیر شبکه به دست نمیآیند.
این اطلاعات مستقیماً توسط خود مرورگر و از طریق رابطهایی مانند JavaScript، WebGL، Canvas، Web Audio و در مرورگرهای جدید WebGPU در اختیار صفحات وب قرار میگیرند.
به بیان ساده، وبسایت برای دسترسی به این اطلاعات نیازی به دانستن IP واقعی شما ندارد؛ زیرا مرورگر هنگام بارگذاری صفحه، بخشی از ویژگیهای نرمافزاری و سختافزاری دستگاه را در اختیار کدهای در حال اجرا قرار میدهد.
بنابراین، حتی اگر امروز از یک سرور VPN در کشوری دیگر استفاده کنید و فردا به سروری در نقطهای کاملاً متفاوت متصل شوید، بخش زیادی از ویژگیهای مرورگر و سختافزار شما بدون تغییر باقی خواهند ماند.
به همین دلیل، VPN اگرچه ابزار ارزشمندی برای افزایش حریم خصوصی است، اما نمیتواند مانع ساخت Browser Fingerprinting شود. این دو فناوری اساساً دو مسئله متفاوت را هدف قرار میدهند؛ یکی هویت شبکه را پنهان میکند و دیگری از ویژگیهای خود دستگاه برای شناسایی استفاده میکند.
حالت ناشناس مرورگر (Incognito) هم راهحل این مشکل نیست
یکی دیگر از باورهای رایج این است که استفاده از حالت Incognito یا Private Browsing باعث ناشناس ماندن کاربر در اینترنت میشود.
در واقع، هدف این قابلیت چیز دیگری است.
حالت ناشناس برای جلوگیری از ذخیره شدن دادههای مرور روی همان دستگاه طراحی شده است، نه برای پنهان کردن مشخصات مرورگر از وبسایتها.
وقتی از Incognito استفاده میکنید، مرورگر معمولاً پس از بسته شدن پنجره، اطلاعاتی مانند موارد زیر را ذخیره نمیکند:
- تاریخچه مرور صفحات
- کوکیها و دادههای نشست
- اطلاعات ورود ذخیرهشده در همان نشست
- دادههای محلی وبسایتها (Local Storage و دادههای مشابه)
این ویژگی باعث میشود افراد دیگری که بعداً از همان رایانه استفاده میکنند، به سوابق مرور شما دسترسی نداشته باشند.
اما از دید وبسایت مقصد، تغییر چندانی رخ نمیدهد.
همان مرورگر، همان سیستمعامل، همان کارت گرافیک، همان فونتها و همان مشخصات سختافزاری همچنان در دسترس هستند. خروجی WebGL، Canvas یا WebGPU نیز معمولاً تفاوتی با حالت عادی ندارد.
در نتیجه، اگر سایتی از تکنیکهای Browser Fingerprinting استفاده کند، حالت Incognito بهتنهایی مانع جمعآوری این اطلاعات نخواهد شد.
به همین دلیل است که تقریباً تمام مرورگرهای بزرگ نیز در توضیح قابلیت Private Browsing تأکید میکنند که این حالت برای جلوگیری از ردیابی توسط وبسایتها طراحی نشده است.
حذف کوکیها؛ مفید، اما نه برای مقابله با Fingerprinting
سالهاست که کوکیها یکی از مهمترین ابزارهای ردیابی کاربران در اینترنت محسوب میشوند. به همین دلیل، بسیاری از کاربران تصور میکنند با حذف منظم کوکیها میتوانند تقریباً ناشناس بمانند.
این تصور تا حدی درست است، اما تنها درباره ردیابی مبتنی بر کوکیها.
Browser Fingerprinting رویکرد متفاوتی دارد.
در این روش، وبسایت به جای ذخیره یک شناسه روی دستگاه کاربر، هنگام هر بار باز شدن صفحه، اطلاعات مرورگر و سختافزار را دوباره بررسی میکند و از همان دادهها برای ساخت یک نمایه استفاده میکند.
به همین دلیل، حتی اگر تمام کوکیها، حافظه کش و دادههای مرورگر را حذف کنید، در مراجعه بعدی همان اطلاعات مربوط به GPU، Canvas، فونتها، وضوح نمایشگر، منطقه زمانی، زبان مرورگر و دهها ویژگی دیگر دوباره قابل استخراج خواهند بود.
به بیان دیگر، حذف کوکیها ممکن است برخی روشهای سنتی ردیابی را مختل کند، اما تأثیر محدودی بر Browser Fingerprinting دارد؛ زیرا این روش وابسته به ذخیرهسازی اطلاعات روی دستگاه نیست.
آیا افزونههای مسدودکننده تبلیغات و ردیابها میتوانند این مشکل را حل کنند؟
افزونههای مسدودکننده تبلیغات (Ad Blocker) و ردیابها (Tracker Blocker) یکی از مهمترین ابزارهای حفظ حریم خصوصی در مرورگرهای امروزی هستند و در بسیاری از موارد نیز عملکرد بسیار خوبی دارند.
این افزونهها معمولاً با مسدود کردن دامنههای شناختهشده تبلیغاتی، جلوگیری از بارگذاری اسکریپتهای ردیابی و محدود کردن درخواستهای شخص ثالث، میزان جمعآوری اطلاعات کاربران را کاهش میدهند.
با این حال، Browser Fingerprinting همیشه از اسکریپتهای شناختهشده یا سرویسهای تبلیغاتی استفاده نمیکند.
بسیاری از قابلیتهای موردنیاز برای اثر انگشت مرورگر میتوانند در قالب کدهای کاملاً عادی جاوااسکریپت اجرا شوند؛ کدهایی که ممکن است بخشی از سامانههای امنیتی، ابزارهای تحلیل رفتار کاربران، سیستمهای جلوگیری از تقلب یا حتی خود وبسایت باشند.
از دید مرورگر، چنین کدهایی تفاوتی با سایر اسکریپتهای مجاز صفحه ندارند.
به همین دلیل، افزونههای مسدودکننده همیشه نمیتوانند تشخیص دهند که یک اسکریپت صرفاً برای اجرای قابلیتهای وب نوشته شده یا هدف آن جمعآوری اطلاعات برای ساخت Browser Fingerprinting است.
از سوی دیگر، بسیاری از اطلاعات مربوط به Canvas، WebGL یا WebGPU از طریق APIهای استاندارد مرورگر در دسترس قرار میگیرند. اگر مرورگر این APIها را بهطور کامل مسدود کند، ممکن است بازیهای تحت وب، ابزارهای طراحی، نرمافزارهای سهبعدی و بسیاری از سرویسهای مدرن دیگر بهدرستی کار نکنند.
در نتیجه، بیشتر افزونههای حفظ حریم خصوصی تنها میتوانند بخشی از مسیر جمعآوری اطلاعات را محدود کنند و معمولاً قادر نیستند Browser Fingerprinting را بهطور کامل متوقف کنند.
چرا مقابله با Browser Fingerprinting تا این اندازه دشوار است؟
دلیل اصلی این موضوع به نحوه طراحی وب مدرن بازمیگردد.
فناوریهایی مانند JavaScript، Canvas، WebGL، WebGPU، Web Audio و دهها API دیگر برای اجرای قابلیتهای واقعی وب توسعه یافتهاند، نه برای ردیابی کاربران.
همین APIها به مرورگر اجازه میدهند بازیهای سهبعدی اجرا کند، مدلهای هوش مصنوعی را پردازش کند، نقشههای تعاملی نمایش دهد، تصاویر را ویرایش کند یا محتوای چندرسانهای پیشرفته ارائه دهد.
اما همان اطلاعاتی که برای اجرای این قابلیتها ضروری هستند، میتوانند در صورت استفاده نادرست به ابزاری برای شناسایی کاربران نیز تبدیل شوند.
به همین دلیل، توسعهدهندگان مرورگرها همواره با یک چالش اساسی روبهرو هستند؛ اگر دسترسی به این APIها را بیش از حد محدود کنند، بسیاری از وبسایتهای مدرن از کار خواهند افتاد و اگر آنها را بدون محدودیت در اختیار صفحات قرار دهند، امکان ساخت اثر انگشت دقیقتر از کاربران افزایش پیدا میکند.
همین تعارض باعث شده Browser Fingerprinting به یکی از پیچیدهترین چالشهای حریم خصوصی در وب تبدیل شود؛ چالشی که برخلاف بسیاری از روشهای سنتی ردیابی، با حذف کوکیها، استفاده از VPN یا باز کردن یک پنجره Incognito از بین نمیرود.
مرورگرهای متمرکز بر حریم خصوصی چگونه با Browser Fingerprinting مقابله میکنند؟
با گسترش روشهای Browser Fingerprinting، توسعهدهندگان مرورگرها نیز تلاش کردهاند راهکارهایی برای کاهش این تهدید ارائه دهند. با این حال، هنوز هیچ مرورگری نتوانسته است بدون ایجاد محدودیت برای عملکرد وب، اثر انگشت مرورگر را بهطور کامل از بین ببرد.
دلیل این موضوع روشن است. وبسایتهای امروزی برای اجرای بسیاری از قابلیتهای خود به اطلاعاتی درباره مرورگر و سختافزار دستگاه نیاز دارند. اگر مرورگر تمام این اطلاعات را پنهان کند، بخش قابل توجهی از سرویسهای مدرن وب، از بازیهای سهبعدی گرفته تا نرمافزارهای طراحی و ابزارهای مبتنی بر هوش مصنوعی، با مشکل مواجه خواهند شد.
به همین دلیل، هر مرورگر رویکرد متفاوتی برای ایجاد تعادل میان حفظ حریم خصوصی و سازگاری با وب انتخاب کرده است.
Tor Browser؛ بیشترین سطح ناشناس بودن، با پذیرش برخی محدودیتها
اگر هدف اصلی شما ناشناس ماندن در اینترنت باشد، Tor Browser همچنان یکی از بهترین گزینههای موجود محسوب میشود.
فلسفه اصلی Tor ساده است؛ هرچه کاربران بیشتری از یک مرورگر با تنظیمات تقریباً یکسان استفاده کنند، ساخت یک اثر انگشت منحصربهفرد دشوارتر خواهد شد.
به همین دلیل، Tor Browser تلاش میکند همه کاربران تا حد امکان اطلاعات مشابهی در اختیار وبسایتها قرار دهند. اندازه پنجره مرورگر، بسیاری از ویژگیهای قابل گزارش، رفتار برخی APIها و حتی نحوه اجرای تعدادی از قابلیتهای مرورگر به شکلی طراحی شدهاند که تفاوت میان کاربران را کاهش دهند.
در کنار این موضوع، ترافیک اینترنت نیز از طریق شبکه Tor و چندین گره رمزنگاریشده عبور میکند تا ردیابی مبتنی بر آدرس IP نیز دشوارتر شود.
البته این سطح از حفاظت بدون هزینه نیست.
به دلیل عبور ترافیک از چندین گره، سرعت مرور اینترنت معمولاً کمتر از مرورگرهای عادی است. همچنین برخی وبسایتها به دلایل امنیتی یا سیاستهای داخلی، دسترسی کاربران شبکه Tor را محدود میکنند یا برای آنها آزمونهای امنیتی بیشتری نمایش میدهند.
بنابراین، Tor Browser بهترین انتخاب برای کاربرانی است که حریم خصوصی را بر سرعت و راحتی استفاده ترجیح میدهند، اما لزوماً مناسبترین گزینه برای استفاده روزمره همه کاربران نیست.
Brave؛ کاهش قابلیت ردیابی به جای پنهان کردن کامل اطلاعات
مرورگر Brave رویکرد متفاوتی را دنبال میکند.
این مرورگر بهجای آنکه همه اطلاعات را مخفی کند، تلاش میکند قابلیت اعتماد الگوریتمهای Browser Fingerprinting را کاهش دهد.
مهمترین فناوری Brave در این زمینه Farbling نام دارد.
در این روش، مرورگر خروجی برخی APIهایی را که معمولاً برای Fingerprinting استفاده میشوند، مانند Canvas، Web Audio و برخی ویژگیهای گرافیکی، بهصورت کنترلشده تغییر میدهد.
هدف این نیست که اطلاعات کاملاً تصادفی تولید شوند، بلکه دادهها به شکلی تغییر میکنند که وبسایت نتواند با اطمینان کامل از آنها برای ساخت یک اثر انگشت پایدار استفاده کند.
یکی از ویژگیهای مهم Farbling این است که تغییرات ایجادشده برای هر وبسایت و هر نشست مرور (Session) متفاوت هستند. در نتیجه، یک وبسایت در طول همان نشست مقادیر ثابتی مشاهده میکند، اما در مراجعهای دیگر یا در دامنهای متفاوت، خروجیها تغییر خواهند کرد.
این رویکرد باعث میشود ثبات اثر انگشت مرورگر کاهش یابد و ردیابی بلندمدت کاربران دشوارتر شود.
با این حال، این روش نیز محدودیتهای خود را دارد.
پژوهشی که در ACM Web Conference 2025 منتشر شد نشان داد برخی روشهای مبتنی بر تصادفیسازی را میتوان تا حدی با انجام اندازهگیریهای مکرر و تحلیل آماری دور زد.
برای مثال، اگر یک وبسایت بتواند خروجی یک API را بارها اندازهگیری کند، ممکن است با استفاده از میانگینگیری یا سایر روشهای آماری، بخشی از نویز اضافهشده را حذف کند و به مقدار واقعی نزدیکتر شود.
البته این یافته به معنای ناکارآمد بودن Farbling نیست. هدف Brave هرگز حذف کامل Browser Fingerprinting نبوده است، بلکه تلاش میکند پایداری و قابلیت اطمینان اثر انگشت مرورگر را کاهش دهد و هزینه اجرای چنین حملاتی را برای وبسایتها افزایش دهد.
Firefox؛ ایجاد تعادل میان حریم خصوصی و سازگاری با وب
مرورگر Firefox طی سالهای اخیر سرمایهگذاری قابل توجهی روی مقابله با Browser Fingerprinting انجام داده است.
مهمترین ابزار موزیلا در این زمینه، قابلیت Enhanced Tracking Protection (ETP) است که در حالت Strict میتواند بسیاری از ردیابهای شناختهشده را مسدود کند و دسترسی برخی اسکریپتها به دادههای قابل استفاده برای Fingerprinting را محدود سازد.
علاوه بر این، Firefox از قابلیتی به نام Resist Fingerprinting نیز بهره میبرد. این ویژگی که در نسخه Tor Browser نیز استفاده میشود، تلاش میکند تفاوت میان کاربران را کاهش دهد؛ برای مثال با استانداردسازی برخی اطلاعات قابل گزارش یا محدود کردن دسترسی به ویژگیهایی که معمولاً برای ساخت اثر انگشت مرورگر استفاده میشوند.
با این حال، باید توجه داشت که همه این قابلیتها بهصورت پیشفرض با حداکثر قدرت فعال نیستند.
برخی از آنها تنها در شرایط خاص، مانند استفاده از حالت Private Browsing یا تنظیمات سختگیرانهتر حفظ حریم خصوصی، فعال میشوند. همچنین قابلیت Resist Fingerprinting همچنان بیشتر بهعنوان یک تنظیم پیشرفته شناخته میشود و ممکن است در برخی وبسایتها باعث بروز مشکلات سازگاری شود.
این رویکرد نشان میدهد موزیلا تلاش کرده است میان حفظ حریم خصوصی و تجربه کاربری متعادلتر، نقطه میانی مناسبی پیدا کند.
Safari؛ محدود کردن اطلاعات بهجای ایجاد دادههای تصادفی
مرورگر Safari نیز یکی از جدیترین پروژههای مقابله با Browser Fingerprinting را دنبال میکند، اما روش آن با Brave تفاوت دارد.
اپل بهجای تولید خروجیهای تصادفی، تلاش میکند از ابتدا میزان اطلاعاتی را که در اختیار صفحات وب قرار میگیرد کاهش دهد.
در نسخههای جدید Safari، دسترسی برخی اسکریپتها به اطلاعاتی مانند ویژگیهای Canvas، Web Audio، ابعاد دقیق نمایشگر، تعداد هستههای پردازنده و برخی APIهای دیگر محدود شده است.
علاوه بر این، فناوری Intelligent Tracking Prevention (ITP) نیز با محدود کردن ذخیرهسازی دادههای ردیابی و کاهش امکان ایجاد شناسههای پایدار، بخشی از روشهای سنتی ردیابی را دشوارتر میکند.
البته ITP مستقیماً برای مقابله با Browser Fingerprinting طراحی نشده است، اما در کنار سایر محدودیتهای Safari میتواند بخشی از اطلاعات قابل استفاده برای ردیابی را کاهش دهد.
با وجود این، Safari نیز مانند سایر مرورگرها با همان چالش همیشگی روبهرو است؛ هرچه اطلاعات بیشتری محدود شوند، احتمال ناسازگاری برخی وبسایتها نیز افزایش پیدا میکند.
آیا مرورگری وجود دارد که Browser Fingerprinting را بهطور کامل متوقف کند؟
در حال حاضر پاسخ این پرسش خیر است.
هیچ مرورگر رایجی وجود ندارد که هم تجربهای کاملاً عادی از وب ارائه دهد و هم بتواند تمام روشهای Browser Fingerprinting را خنثی کند.
Tor Browser بیشترین سطح ناشناس بودن را فراهم میکند، اما این سطح از حفاظت با کاهش سرعت، محدودیت برخی وبسایتها و تغییر در تجربه کاربری همراه است.
Brave با استفاده از Farbling تلاش میکند قابلیت اعتماد اثر انگشت مرورگر را کاهش دهد، Firefox با استانداردسازی برخی ویژگیها و محدود کردن دسترسی به دادههای حساس، تعادلی میان امنیت و سازگاری ایجاد میکند و Safari نیز از طریق کاهش اطلاعات قابل دسترس و فناوریهایی مانند ITP، بخشی از مسیر ردیابی را محدود میسازد.
با این حال، همه این راهکارها یک ویژگی مشترک دارند؛ آنها احتمال موفقیت Browser Fingerprinting را کاهش میدهند، اما نمیتوانند آن را بهطور کامل از بین ببرند.
دلیل این موضوع نیز روشن است؛ مرورگرها برای اجرای صحیح وبسایتهای مدرن ناچارند بخشی از قابلیتهای سختافزار و نرمافزار دستگاه را در اختیار صفحات قرار دهند و همین اطلاعات، هرچند با دقت کمتر یا بهشکل محدودشده، همچنان میتوانند در ساخت اثر انگشت مرورگر مورد استفاده قرار گیرند.
آیا امروز راهحل قطعی برای مقابله با Browser Fingerprinting وجود دارد؟
اگر تا اینجا مقاله را خوانده باشید، احتمالاً به این نتیجه رسیدهاید که Browser Fingerprinting با روشهای سنتی ردیابی تفاوت اساسی دارد. این فناوری بهجای تکیه بر کوکیها یا آدرس IP، از ویژگیهای خود مرورگر و سختافزار دستگاه برای ایجاد یک نمایه نسبتاً منحصربهفرد استفاده میکند.
به همین دلیل، راهکارهایی مانند استفاده از VPN، حذف کوکیها یا باز کردن پنجره Incognito، اگرچه در افزایش حریم خصوصی مفید هستند، اما بهتنهایی نمیتوانند مانع این نوع ردیابی شوند.
در حال حاضر هیچ مرورگر رایجی وجود ندارد که بتواند بدون ایجاد محدودیت در عملکرد وب، اطلاعات مربوط به GPU، Canvas، WebGL، WebGPU و سایر APIهای قابل استفاده در Browser Fingerprinting را بهطور کامل پنهان کند.
مرورگرهایی مانند Tor، Brave، Firefox و Safari هرکدام با رویکردی متفاوت تلاش میکنند احتمال موفقیت این روش را کاهش دهند، اما هیچکدام قادر نیستند تعارض اصلی را از بین ببرند؛ وبسایتهای مدرن برای اجرای صحیح بسیاری از قابلیتهای خود، ناچارند تا حدی از ویژگیهای مرورگر و سختافزار دستگاه آگاه باشند.
در نتیجه، Browser Fingerprinting را باید یکی از چالشهای حلنشده دنیای وب دانست؛ چالشی که با پیشرفت فناوریهای تحت وب، بهویژه در حوزه بازیهای آنلاین، هوش مصنوعی، پردازش گرافیکی و نرمافزارهای ابری، احتمالاً در سالهای آینده اهمیت بیشتری نیز پیدا خواهد کرد.
چگونه احتمال ردیابی را کاهش دهیم؟
اگرچه حذف کامل Browser Fingerprinting در شرایط فعلی امکانپذیر نیست، اما رعایت چند نکته میتواند احتمال موفقیت این روش را تا حدی کاهش دهد:
- برای فعالیتهای حساس، از مرورگرهایی با تمرکز بیشتر بر حریم خصوصی مانند Tor Browser یا Brave استفاده کنید.
- در صورت استفاده از Firefox، قابلیت Enhanced Tracking Protection را روی حالت Strict قرار دهید و در صورت آشنایی با تنظیمات پیشرفته، ویژگی Resist Fingerprinting را نیز بررسی کنید.
- مرورگر، سیستمعامل و درایورهای گرافیکی خود را همواره بهروز نگه دارید؛ زیرا بسیاری از اصلاحات امنیتی و حریم خصوصی از طریق همین بهروزرسانیها منتشر میشوند.
- در وبسایتهای ناشناس یا کماعتماد، اجرای جاوااسکریپت را تا حد امکان محدود کنید؛ البته توجه داشته باشید که این کار ممکن است باعث اختلال در عملکرد برخی صفحات شود.
- از نصب افزونههای غیرضروری خودداری کنید؛ زیرا هر افزونه میتواند ویژگیهای جدیدی به مرورگر اضافه کند و در برخی موارد حتی به منحصربهفردتر شدن اثر انگشت مرورگر کمک کند.
- به خاطر داشته باشید که VPN همچنان ابزار ارزشمندی برای پنهان کردن آدرس IP و محافظت از ارتباط اینترنتی است، اما نباید آن را راهکاری برای جلوگیری از Browser Fingerprinting بدانید.
در نهایت، مهمترین اصل این است که هیچ ابزار واحدی نمیتواند بهتنهایی حریم خصوصی شما را تضمین کند. امنیت و ناشناس ماندن در اینترنت، حاصل ترکیب چندین لایه حفاظتی و آگاهی از شیوههای نوین ردیابی است.
جمع بندی
طی سالهای اخیر، توجه کاربران بیشتر معطوف به مسائلی مانند کوکیها، VPN و ردیابهای تبلیغاتی بوده است؛ در حالی که Browser Fingerprinting بهآرامی به یکی از مؤثرترین روشهای شناسایی کاربران در وب تبدیل شده است.
رشد فناوریهایی مانند WebGL و WebGPU نیز این روند را پیچیدهتر کرده است. مرورگرها برای ارائه تجربهای نزدیک به نرمافزارهای بومی، ناچارند دسترسی بیشتری به قابلیتهای سختافزاری دستگاه فراهم کنند و همین موضوع باعث میشود مرز میان «قابلیت ضروری» و «اطلاعات قابل استفاده برای ردیابی» روزبهروز باریکتر شود.
از سوی دیگر، توسعهدهندگان مرورگرها نیز در موقعیت دشواری قرار دارند. محدود کردن بیش از حد APIهای وب میتواند به ناسازگاری بسیاری از سرویسهای مدرن منجر شود، در حالی که آزاد گذاشتن این قابلیتها، فرصت بیشتری برای ساخت اثر انگشت دقیق کاربران فراهم میکند.
به نظر میرسد در سالهای آینده، رقابت میان مرورگرها و طراحان روشهای جدید Fingerprinting همچنان ادامه داشته باشد و هر پیشرفت در فناوریهای وب، همزمان چالشهای تازهای برای حفظ حریم خصوصی ایجاد کند.
برای کاربران ایرانی نیز این موضوع اهمیت ویژهای دارد؛ زیرا بسیاری از افراد VPN را مترادف با ناشناس ماندن در اینترنت میدانند، در حالی که VPN تنها یکی از لایههای حفاظت از حریم خصوصی است و نمیتواند مانع شناسایی دستگاه از طریق ویژگیهای مرورگر و سختافزار شود.

