数字指纹识别是一种用于根据用户独特的设备和浏览器特征来识别不同网站上的用户的技术。这些特征 - 指纹参数,可以包括各种软件、硬件(CPU、RAM、GPU、媒体设备 - 摄像头、麦克风、扬声器)、位置、时区、IP、屏幕尺寸/分辨率、浏览器/操作系统语言、网络、互联网提供商-相关和其他属性。
这些参数的组合创建了一个唯一的标识符 - 指纹,可用于跟踪用户的在线活动。指纹在在线安全中发挥着至关重要的作用,使服务能够识别和验证唯一用户。它们还使用户有可能欺骗此类系统以保持在线匿名。然而,如果您可以操纵您的指纹,您就可以运行数十个、数百个或更多不同的帐户来假装它们是唯一的、真实的用户。虽然这听起来很酷,但它具有严重的影响,因为它可以创建一支机器人大军,在整个互联网上传播垃圾邮件和假货,从而可能导致欺诈行为。
注意:显然,我不会在这里讨论如何做“坏”事;一定要时刻保持警惕,远离“阴暗面”,避免做出违法行为。本文介绍的是其背后的技术,因此请明智地使用这些信息。
这是该领域的第一篇(也许不是最后一篇)文章,因此它更像是一个概述。内容提供了该主题的介绍。有数十种工具和方法可以检测、收集和欺骗指纹,并且有许多不同的参数和技术可以揭示或隐藏您的真实身份或您欺骗指纹的事实(意味着您不是真实的用户) )。
让我们考虑其中的一些示例,一些是明显的、简单的或众所周知的参数的示例,一些是罕见的、鲜为人知且难以欺骗的参数。
数字指纹操作是一项艰巨的任务,需要采取主动的方法来避免检测。有很多策略和工具可以隐藏您的身份(指纹)或假装您是其他人。
选择注重隐私的浏览器,例如具有增强隐私设置的 Brave、Ghostery、Tor、Octo Browser 或 Vivaldi,可以从根本上防御常见的指纹识别技术。这些浏览器优先考虑用户隐私,并包含旨在隐藏您真实指纹的功能,使跟踪您的活动变得更加困难。例如,Tor 浏览器基于匿名原则,通过 Tor 网络路由互联网流量。这种战略路由通过一系列志愿者操作的服务器进行反弹连接来掩盖用户的身份,从而增强整体在线匿名性。
以隐私为中心的浏览器扩展,包括 AdBlock、uBlock Origin、Privacy Badger 或 CanvasBlocker,可以主动防御跟踪脚本、cookie 和指纹识别尝试。这些工具在后台运行,保护和维护用户的匿名性。
VPN 或代理服务的使用通过屏蔽用户的真实 IP(位置、时区、语言等)和加密互联网流量来增加额外的保护层。这不仅用于更改您的指纹,还用于提供更加匿名的在线状态和更高的安全级别。
隐私:担心个人隐私和日益增长的数字监控的个人经常会伪造指纹,以保护自己免受无情的在线跟踪。
地理限制:事实证明,欺骗指纹对于规避地理限制非常有用,允许用户访问仅限于特定区域的内容。 VPN 和代理服务在这里发挥着至关重要的作用,它们不仅隐藏用户的身份,而且还提供对不同地理位置的服务器的访问。
广告:避免有针对性的广告和在线分析是个人操纵其数字指纹的一个令人信服的动机。某些工具可以阻止第 3 方跟踪脚本和 cookie,从而中断分析过程。
数字领域、机器人检测和保护系统的战略需求:网络抓取、多账户、电子商务、赏金和空投、奖金狩猎、社交网络机器人和联属营销通常是中型企业的收入来源或基础。参与这些活动的数字机构、个人和影响者可能需要指纹欺骗才能通过复杂的机器人检测系统。避免检测对于某些服务至关重要,确保合法活动不会被错误地标记或限制(尽管通常情况下,此类活动和帐户并不真正合法,而是假装合法)。一些最流行的工具有 Multilogin、X-Browser、Octo Browser、AdsPower、Incogniton、Scrapy、Surfsky、Web Scraper.io、ScrappingBee 等。
JavaScript:网站(显然)使用 JS 来收集有关用户的详细信息以构建全面的数字肖像。这涉及探测屏幕分辨率、设备方向、鼠标移动、击键动态等。复杂的指纹识别脚本枚举了广泛的浏览器和硬件属性。
Cookie 和本地存储:存储在本地存储中的持久 Cookie 和数据可跨会话和平台跟踪用户。技术包括利用浏览器 cookie 和存储用于用户跟踪的唯一标识符。根据您的目的,您需要知道何时需要具有唯一指纹的“空”浏览器,或者何时需要欺骗服务以显示您拥有特定的 cookie 和相同的指纹。
第三方脚本:包含用于分析和广告的第三方脚本嵌入了隐形跟踪器,通常用于根据收集的指纹调整特定用户的系统行为。您可以使用上述工具和方法有选择地阻止或欺骗此类脚本以获得所需的行为。
在线检查器: Panopticlick (EFF)、Pixelscan、deviceinfo.me 和 BrowserLeaks 显示浏览器的指纹参数,例如用户代理、画布指纹、字体等。这些检查器可以深入了解您的数字指纹在不同浏览中的唯一性和稳定性会议。
浏览器开发人员工具:它们允许用户检查网络请求、cookie 和其他指纹参数,从而加深对其数字印记以及网站如何检测机器人和唯一合法用户并收集指纹的了解。检查浏览器中的网络和应用程序选项卡可以实时查看浏览器、网站和服务器之间交换的数据。
以下是一些示例,说明如何在浏览器中获取有关用户指纹的一些信息。
navigator.geolocation.getCurrentPosition(function(position) { var userLocation = position.coords; });
navigator.mediaDevices.enumerateDevices() .then(function(devices) { var microphones = devices.filter(device => device.kind === 'audioinput'); });
navigator.mediaDevices.enumerateDevices() .then(function(devices) { var cameras = devices.filter(device => device.kind === 'videoinput'); });
navigator.mediaDevices.enumerateDevices() .then(function(devices) { var speakers = devices.filter(device => device.kind === 'audiooutput'); });
var audioContext = new (window.AudioContext || window.webkitAudioContext)(); var oscillator = audioContext.createOscillator(); var analyser = audioContext.createAnalyser(); oscillator.connect(analyser); analyser.connect(audioContext.destination);
var canvas = document.createElement('canvas'); var gl = canvas.getContext('webgl') || canvas.getContext('experimental-webgl'); var renderer = gl.getParameter(gl.RENDERER); console.log(renderer);
var fonts = []; var fontList = document.fonts.forEach(function(font) { fonts.push(font.family); }); console.log(fonts);
var canvas = document.createElement('canvas'); var context = canvas.getContext('2d'); var dataURL = canvas.toDataURL(); var canvasHash = MurmurHash3(dataURL); console.log(canvasHash);
function getCPUInfo() { return navigator.hardwareConcurrency || 0; } function getDeviceMemory() { return navigator.deviceMemory || 0; } var cpuInfo = getCPUInfo(); var deviceMemory = getDeviceMemory(); console.log(`CPU Cores: ${cpuInfo}`); console.log(`Device Memory (GB): ${deviceMemory}`);
此类系统的几个示例:
它们在增强机器人检测能力方面发挥着关键作用。通过将服务器战略性地部署在全球各地,他们可以利用地理洞察和实时威胁情报来有效识别和减少机器人流量。该平台的 WAF 和机器人管理器有助于全面防御自动化“用户”。
在这场正在进行的猫鼠游戏中,机器人检测系统不断发展,利用先进技术领先于指纹欺骗技术。安全提供商、企业和更广泛的在线社区之间的合作对于防御自动威胁策略仍然至关重要,但在某种程度上,也被用来侵犯用户的隐私、匿名和在线体验,带来侵入性广告和复杂的用户跟踪工具只对企业有利,对用户不利。然而,隐私保护、指纹隐藏和欺骗以及广告和跟踪器拦截工具也在不断发展,以逃避最复杂的用户跟踪系统。
例子:
Google 不需要对具有清晰、一致指纹的新用户进行额外验证。如果用户的指纹经常变化或与已知机器人使用的指纹相似(或谷歌已经知道),谷歌可能会要求提供手机号码或要求处理验证码。
由于交易的敏感性,金融网站通常会执行更严格的验证措施。他们可能要求用户提供额外的个人信息,通过安全通道验证其身份,或通过更复杂的验证码挑战。
隐藏指纹可以增强隐私、安全性和在线匿名性,但欺骗指纹使其显示为独特的合法用户可以提供更大的优势。通过融入人群并避免检测反检测工具的系统的怀疑,您可以保持信誉和信任。这种方法使您能够享受被视为独特、合法用户的好处,最大限度地减少面临额外保护措施或障碍的机会。显然,它有助于防止泄露您的真实数据和身份。
也发布在这里。