设备指纹是什么?
本文的设备指纹,是指用于识别设备的唯一特征。
常用于用户身份识别、WEB安全防护等领域。
设备指纹是怎么伪造的?
设备指纹是可以被伪造和篡改的,比如通过浏览器插件,常可以实现这一点,如:Canvas Fingerprint Defender。
伪造或篡改的原理,是通过拦截JS某些函数,对函数返回结果做修改,使本该返回固定数据的函数,返回成不固定的数据,因为设备指纹的获取是通过JS取信息实现的,只要数据变的不固定,将可能影响指纹的正确获得,这样就实现了设备指纹的伪造。
例如:Canvas是设备指纹是最常用的指纹维度,而给浏览器安装Canvas Fingerprint Defender后,它会有如下行为:
-
var inject = function {
-
const toBlob = HTMLCanvasElement.prototype.toBlob;
-
const toDataURL = HTMLCanvasElement.prototype.toDataURL;
-
const getImageData = CanvasRe