تکنولوژی 1 سال قبل
مبتدی
4 دقیقهدر علوم کامپیوتر به هر فرایند ایجاد شناسه منحصربهفرد برای انواع دادههای دیجیتالی، اثر انگشت (fingerprinting) گفته میشود. در این میان به طور خاص، اثر انگشت مرورگر یا اثر انگشت دستگاه (browser or device fingerprinting) فرایندی است که طی آن از تکنیکهای خاصی برای شناسایی هر کاربر یا دستگاه استفاده میشود. نام دیگر این فرایند، ردیابی دستگاهها یا اشخاص است.
این ردیابی بر اساس جمعآوری اطلاعات تلفنهای هوشمند، رایانه و سایر دستگاهها پایهریزی شده است. بهطوری که حتی ممکن است کاربران با تغییر آدرس IP و مرورگر نیز شناسایی شوند.
سالهاست که خدمات تجزیهوتحلیل و آنالیز وب برای بررسی ترافیک قانونی وب و کشف تقلبهای احتمالی، اطلاعات دستگاهها و مرورگر را جمعآوری میکنند. امروزه با رویکردها و امکانات پیشرفته امکان جمعآوری پارامترهای خاصتری نیز فراهم شده و این مسئله تقلب را بسیار سختتر از گذشته میکند و اطلاعات جامعتری و دقیقتری جمعآوری میشود.
در روشهای گذشته اثر انگشت عمدتاً بر رایانهها متمرکز بود اما در روشهای مدرن هر نوع دستگاهی قابلشناسایی است.
سرفصلهای این آموزش
اگر به طور دقیق اثر انگشت دستگاه را بررسی کنیم، این اثر انگشت شامل مجموعهای از دادههاست. ترکیب این دادهها به شکل یک تابع هش درآمده و ارسال میشود. در مرحله بعد ممکن است خروجی یا همان مقدار هش بهعنوان یک شناسه منحصربهفرد برای هر دستگاه یا کاربر باشد.
اطلاعات جمعآوریشده اغلب نه در خود دستگاه بلکه در یک پایگاه داده ذخیره میشوند. با وجود اینکه بخشی از داده تا حدودی عمومی است اما ترکیب چندین مجموعه داده میتواند به اطلاعات منحصربهفردی ختم شود.
شناسایی اثر انگشت دستگاه ممکن است به دو روش غیرفعال و فعال انجام شود. بااینوجود هدف هر دو روش جمعآوری اطلاعات دستگاه است. حتی اگر هزاران کامپیوتر از یک سیستمعامل استفاده کنند، باز هم منحصربهفرد بوده و تفاوتهای مخصوص به خود را دارند. این تفاوتها میتواند شامل نرمافزار، سختافزار، مرورگر، پلاگینها، زبان، منطقه زمانی و تنظیمات کلی استفادهشده در هر کامپیوتر باشد.
روشهای غیرفعال بدون پرسوجو یا کسب اجازه از کاربر و از راه دور (Remote System)، اطلاعات را به روش نامحسوس و نامشخصی گردآوری میکنند. در واقع این روش دادهها را بر اساس آنچه هر دستگاه ارسال کرده، جمعآوری میکنند. بنابراین از اثر انگشت منفعل یا غیرفعال، بیشتر اطلاعات جمعآوریشده اطلاعات کلی یک دستگاه مانند نوع سیستمعامل آن هستند.
در سویی دیگر، اثر انگشت فعال متکی به ارتباط فعال و تنگاتنگ با شبکه است به همین خاطر باعث شناسایی کاربر در بخش Client-side میشود. بهعنوانمثال برخی از وبسایتها کد جاوا اسکریپت JavaScript را بهعنوان راهی برای جمعآوری اطلاعات در مورد دستگاهها و مرورگرهای کاربر اجرا میکنند. این اطلاعات ممکن است شامل اندازه پنجره، قلمها یا فونتها، پلاگین ها ، تنظیمات زبان ، منطقه زمانی و حتی جزئیات مربوط به سختافزار کاربران باشد.
روشهای شناسایی اثر انگشت دستگاه یا بهعبارتدیگر پیدا کردن ردی که شما و دستگاه مورد استفاده شما در جاهای مختلف از خود به جای میگذارد، یکی از راههایی است که تبلیغکنندگان با استفاده از آن رفتار مصرفکننده را در مرورگرهای مختلف رصد کرده و نیازها و علاقهمندیهای او را بهتر درک کنند.
علاوه بر این به کمک شناسایی اثر انگشت دستگاه، بانک میتواند اعتبار درخواستهای بانکی را ارزیابی کند. به این صورت که آیا این درخواست از دستگاه قابلاعتماد و مرتبط با مشتری صادرشده و یا خیر و درصورتیکه این دستگاه قبلاً در فعالیتهای مجرمانی شرکت داشته، آن را شناسایی کرده و دسترسی را محدود کند.
اثر انگشت دستگاه به وبسایتها کمک کرده تا از ثبت چندین حساب با یک دستگاه جلوگیری کنند یا یک موتور جستجو میتواند با علامتگذاری دستگاههای غیرعادی، رفتار مشکوک را شناسایی کند. اثر انگشت دستگاه میتواند در هنگام احراز هویت و جلوگیری از سرقت آن یا استفاده از کارتهای اعتباری تقلبی نیز کاربرد داشته باشد.
بااینوجود این روشها حریم خصوصی کاربر را تهدید کرده و بسته به نوع پیادهسازی آنها، نمیتوان از ماهیت اطلاعات جمعآوریشده، مطمئن بود. به ویژه در اثر انگشت منفعل اطلاعات جمعآوریشده تقریباً غیرقابلشناسایی برای کاربر است.
در اثر انگشت فعال، جمعآوری دادهها به زبانهای اسکریپت مانند جاوا اسکریپت متکی است. دستگاههای تلفن همراه و کاربرانی که نرمافزار یا افزونههای حریم خصوصی را بر روی دستگاههای خود نصب میکنند، احتمالاً برای اسکریپتها محدودیت دسترسی ایجاد خواهند کرد و کار شناسایی را دشوار میکنند. این محدودکنندهها شامل استفاده از برنامههای افزودنی مرورگر که ردیابها و تبلیغات را مسدود کرده، نیز میشود.
گاهی کاربر با استفاده از یک سری برنامهها، شناسایی خود را سادهتر میکند. بهعنوانمثال اگر شما از نرمافزارها و افزونههای غیرمعمول با تنظیمات خاصی استفاده کرده و یا از سرویسهای وی پی ان استفاده میکنید، برخلاف تصور دستگاه شما را حتی بیشتر از قبل متمایز و قابلشناسایی میشود.
همچنین، اثر انگشت ممکن است به خاطر تغییرات زیادی که کاربر به طور مداوم ایجاد میکند، محدود شود. کاربرانی که به طور مداوم تنظیمات خود را تغییر میدهند یا از چندین سیستمعامل مجازی استفاده میکنند، میتوانند دقت جمعآوری اطلاعات را پایین بیاورند.
علاوه بر این استفاده از مرورگرهای مختلف میتواند باعث ایجاد ناسازگاری در روند جمعآوری اطلاعات شود، اما برای جلوگیری از چنین محدودیتهایی میتوان از شگردهای مدرن اثر انگشت بین مرورگری استفاده کرد.
روشهای مختلفی برای پیادهسازی و استفاده از روش اثر انگشت دستگاه وجود دارد، هرچند ممکن است هر روش نتیجه و اثر متفاوتی برای شناسایی حتی یک منبع مشخص داشته باشد.
اثر انگشت دستگاه میتواند به تنهایی یا در ترکیب با روشهای دیگر به ابزاری مؤثر برای ردیابی رفتار و شناسایی کاربران تبدیل شود. به همین ترتیب، این تکنیک قدرتمند میتواند برای مقاصد خیر و یا شر مورد استفاده قرار بگیرد. به همین خاطر آگاهی از مکانیسمهای اساسی این روش، هرچند کلی و ابتدایی، مطمئنا نقطه عطفی برای کمک به امنیت و حریم خصوصی کاربران محسوب میشود.