شناسایی از طریق تجزیه و تحلیل کنترل کننده های پروتکل خارجی در مرورگر

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

این بررسی بر اساس تجزیه و تحلیل اتصال کنترل کننده ها به 32 برنامه محبوب انجام می شود. به عنوان مثال، با تعیین وجود کنترل کننده های URL scheme telegram://، slack:// و skype:// در مرورگر، می توان نتیجه گرفت که سیستم دارای برنامه های تلگرام، اسلک و اسکایپ است و از این اطلاعات به عنوان علامت استفاده کنید. هنگام تولید یک شناسه سیستم از آنجایی که لیست کنترل کننده ها برای همه مرورگرهای سیستم یکسان است، شناسه هنگام تغییر مرورگر تغییر نمی کند و می تواند در کروم، فایرفاکس، سافاری، بریو، مرورگر Yandex، Edge و حتی مرورگر Tor استفاده شود.

این روش به شما امکان می دهد شناسه های 32 بیتی تولید کنید. به صورت جداگانه امکان دستیابی به دقت زیاد را نمی دهد، اما به عنوان یک ویژگی اضافی در ترکیب با سایر پارامترها منطقی است. یک نقطه ضعف قابل توجه این روش، مشاهده تلاش شناسایی برای کاربر است - هنگام ایجاد یک شناسه در صفحه نمایشی پیشنهادی، یک پنجره کوچک اما به وضوح قابل توجه در گوشه پایین سمت راست باز می شود که در آن کنترل کننده ها برای مدت طولانی پیمایش می کنند. این نقطه ضعف در مرورگر Tor ظاهر نمی شود، که در آن شناسه را می توان بدون توجه محاسبه کرد.

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

در Chrome 90 برای لینوکس، این روش کار نمی‌کند و مرورگر یک گفتگوی تأیید عملکرد استاندارد را برای همه تلاش‌ها برای بررسی کنترل‌کننده نمایش می‌دهد (در Chrome برای Windows و macOS این روش کار می‌کند). در فایرفاکس 88 برای لینوکس، هم در حالت عادی و هم در حالت ناشناس، اسکریپت وجود برنامه های اضافی نصب شده را از لیست تشخیص داد و دقت شناسایی 99.87٪ برآورد شد (35 مطابقت مشابه از 26 هزار آزمایش انجام شده). در مرورگر Tor که روی همان سیستم اجرا می شود، شناسه ای تولید شد که با آزمایش در فایرفاکس مطابقت داشت.

جالب اینجاست که محافظت اضافی در مرورگر Tor یک شوخی بی رحمانه بود و به فرصتی برای انجام شناسایی بدون توجه کاربر تبدیل شد. با توجه به غیرفعال کردن گفتگوهای تأیید برای استفاده از کنترل کننده های خارجی در مرورگر Tor، مشخص شد که درخواست های تأیید را می توان در یک iframe باز کرد و نه در یک پنجره بازشو (برای جدا کردن وجود و عدم حضور کنترل کننده ها، قوانین یکسان دسترسی به صفحات دارای خطا را مسدود کنید و اجازه دسترسی به حدود: صفحات خالی را بدهید). به دلیل محافظت در برابر سیل، بررسی در مرورگر Tor به طور قابل توجهی بیشتر طول می کشد (10 ثانیه در هر برنامه).

منبع: opennet.ru

اضافه کردن نظر