尧图建网站 尧图建网站 YAOTU WEB BUILD 免费咨询
ARTICLE DETAIL

资讯详情

深耕网站建设与建站编程的一线实战洞察。

当谈论设备指纹时,我们到底在说什么?

当谈论设备指纹时,我们到底在说什么? 中新网8月29日消息, “设备”该独立名词存在时, 具备极典型硬件属性。“指纹”作为独立名词存在时, 同样具备极典型硬件属性。然而, 一旦把它们结合成“设备指纹”, 便全然成为软件层面概念。近年来, 因智能风控技术愈发强大, 诸多风控系统都渐渐尝试增添此重要功能模块。2014年, 笔者刚加入同盾科技, 那时便负责设备指纹1.0版本研发, 之后, 伴随着产品经过多次迭代升级, 还有历经无数次跟客户现场的沟通交流, 笔者也渐渐积累起了一些自身的思考。而在今天, 让我们把具体的技术细节先搁置一旁, 从一个更高的角度来一起探讨设备指纹的发展情况。设备指纹诞生于网络未知在互联网刚开始发展的时候, 人们察觉到商业的边界能够被大幅度地拓宽, 我们能够跟某个完全不认识的人在一秒之内达成一笔实实在在的交易。然而, 更多的机遇也带来了更多的风险。许多在人们眼中觉得顺理成章的线下正规业务情形, 一旦转变到线上, 就会产生意料之外的风险。比方说, 以前一个卖家能够借助“观察对方神色态度”、“一手交钱一手交货”、“利用摄像头进行监控”等诸多方式相对精准地去判断一个买家是不是欺诈者。这意味着, 对于那个历经岁月一直存在的业务链条, 即关乎“什么人”于“什么时候”凭借“什么方法”去做“什么事”, 卖家针对其中每个环节都了如指掌, 再清楚不过。然而, 现今于互联网环境下, 所有的识别环节居然惨遭打破, 原本清清楚楚的那种实实在在的行为, 被拆解成了不同的, 一个个单独的请求, 而且, 这些请求分散于诸多复杂的业务模块之中, 以往在线下积累起来的经验, 根本没办法直接适用于线上环境。所以, 人们绞尽脑汁, 想出了各式各样的办法, 尝试重新去把这个业务链条给补全, 而“设备指纹”就是当前用于判定业务主体到底是“什么人”的, 一种相当重要的技术手段。设备指纹的“前世今生”早期, 在一些对安全要求极高的线上场景里, 譬如某些银行的网上银行, 常常会运用U盾这般的纯硬件技术去跟踪业务主体, 也就是上文所提及的定位“什么人 ”。与此同时, 因业务通常都在浏览器页面发生, 而浏览器是处于操作系统上层的应用程序, 运行于其中的脚本代码受沙盒限制, 所以用户也需安装一个能够跳出浏览器沙盒直接与操作系统对接的控件, 用以读取U盾里的安全数据。和其他情况比较而言, 这具备较高的安全性。然而, 伴随互联网的持续发展, 如此这般“控件”加上“U盾”的组合形式, 目前已经愈发显得陈旧过时。笔者经过梳理总结, 得出了以下几个方面的缘由:。1、这个控件的用户体验差得令人发指, 它有着冗长无比的安装过程, 还有繁琐至极, 让人头疼的更新流程, 普通用户根本就难以对其进行操作。2、移动互联网已然成为了绝对的主流, 然而, iOS等移动互联网的入口, 均不支持控件标点符号为句号。3、不单单是在移动端, 某些控件于pc端的适用范围都是极小的, 很多不过是支持PC之上的IE内核浏览器而已。与此同时, 诸如等份额数值较大的桌面浏览器, 同样也在一步步淘汰控件的运用。4、管控部件的本土渗出破绽屡屡涌現, 使用者极易染上网络病毒或者掉进渔翁人设骗局, 反倒致使系统的安全性遭受严重损害。因以上提及的几点, 纯粹依靠js的web设备指纹技术, 正被越来越多的厂商所运用, 它具备“免安装”的特性, 拥有“动态更新”的优势, 呈现“用户无感知”的状况, 还能兼容移动和桌面端的所有操作系统浏览器。除此之外, 鉴于js天然遭受浏览器沙盒的限制, 在某些安全性要求更为严格的场景里, 内嵌于各类app的SDK设备指纹技术也获得了广泛的应用。“好”的设备指纹是怎样的不少人并非熟知设备指纹, 极易于起始点就困囿在某些并无多大意义的机制以及参数之上, 接下来就让我们一同去探究一下究竟什么才是“好”的设备指纹。1、不侵犯用户隐私这属于所有设备指纹产品必须严格去遵守的红线, 侵犯用户隐私, 通过根据用户敏感信息来研发的设备, 譬如用户浏览记载以往历程, 和用户录入敏感材料等所制出的属于这款称作设备指纹的产品设备, 就算把这款产品制作方面所具备的功能再往强大程度方向提升, 也是在意义维度方面不存在任何价值, 这一点是不用再多费口舌去表述说明的。2. 安全性和用户体验的平衡不错的设备指纹, 得在安全性跟用户体验之间寻觅最为恰当的平衡点, 事实上, 这个概念能够延展到更为宽泛的层面, 也就是, 安全防护应当是于安全性与业务发展之间找寻最为合适的平衡点。对于从事安全工作的人员而言, 这是我们需要铭记于心的首要准则, 安全始终是服务于业务的。上文所提及的淘汰那种“硬”设备指纹, 也就是U盾, 进而发展“软”设备指纹, 像js、SDK, 这便是对该理念的有力证明。虽说“软”设备指纹在某些情形下, 功能性以及安全性略微逊色, 但是在用户体验方面却得到了极大的提高, 再借助结合其他维度的综合风险识别, 实践表明“软”设备指纹机制是有效的, 并且风险是可控的。3、保证稳定性、兼容性和性能实验室的创新, 并非是于工厂技术划等号的, 在实验室产生的创新技术朝向实际上的工业化生产尚存有距离很远的路程要走了。在此领域中设备指纹同样显著显现, 我们常常能瞅见好多具备”奇思妙想”特性的技术, 被炒作成可以投身用于设备指纹方面用途然而鉴于了其中兼容性以及稳定性层面情况, 事实上绝大多数是无法应用于线上环境之中的。这些情况通常只有切实开展深度开发设备指纹的技术人员才拥有深刻切身体会了。稳定的特性, 兼容的能力, 性能的方方面面等凡是这些都得着重加以考量, 复杂得让人头疼的客户端环境以及多种多样非常繁杂的使用场景之下, 一款称得上优秀的设备指纹类产品必定是那种经历过无数艰难考验有如“战士”一般的存在。拿同盾的SDK当作例子来讲, 我们开展了数量众多的线上以及线下的测试具体涵盖针对众多不常见甚至冷门机器或者山寨机的兼容性方面的测试、运行的时候耗电状况的统计、具有上亿装机数量规模的线上运行情况监测、具备高性能的服务端集群压力测试、面对极端状况时的完备降级处理方案等等一系列测试以此来保障最终交付时候产品的质量。4. 迎合技术发展web技术在飞速发展, 移动端技术同样在飞速发展, 一些老旧技术不断被淘汰, 设备指纹是集合多种技术的集大成类产品, 其也一定要时时迭代, 要符合新技术发展的潮流, 比如前几年HTML5技术刚兴起时, 我们针对“”、””、”cors”、”local ”等进行了研究, 挖掘出不少有价值可利用的技术。再看另外一边, 已然千疮百孔的flash正处在即将被淘汰的边缘地带, 绝大多数的桌面端浏览器都已经是默认情形下不再开启它了, 而我们在最新的版本当中也已经对它做出了判处“死缓”的决定。不能只是功能迭代借助新的技术, 设备指纹的应用场景以及使用方式同样得尽可能跟技术发展保持一致。比如说眼下好多厂商采用“混合式 app 开发”框架, 我们就专门开展了适配功能的研制, 把 app 里的 h5 跟本地的 sdk 联合起来进行综合的设备识别。5. 贴合业务场景诸多的人都知晓设备指纹存在着两个堪称“著名”的评估尺度, 一是“稳定性”, 二是“唯一性”, 稳定性用以评估往昔出现过的设备依旧能够被识别归位的能力, 类似一个犯下罪行的人, 无论怎样进行变装以及改扮容貌, 都依旧能够被警察寻觅得以至确定其人, 唯一性则是从另外一个不同的视角, 去判定把某一个设备识别列为另一个设备时所出现的出错可能性比率, 最终可以得出出错概率这一结果来。同样的例子, 警察晓得一个罪犯的特点为“175公分”, 以及“短头发”, 然而却不能将大街上所有具备这两个特点的人都当作罪犯抓起来, 为啥呢, 因为这两个特点不能唯一确定某一个人。也就是说, 这两个特点的“熵”特别少。但是要是再增添另一个特点——“左脸眼睛下方有一个3公分的横向刀疤”, 那就很显著了, 凭借这三个特点, 警察有相当大的把握能够追踪到那个罪犯。它里面这个被称作“刀疤”的特征, 是一个挺好的、能够用来判定设备指纹唯一性的参数。在实际运用进程里“稳定性”与“唯一性”同样不可以同时得到, 除此之外性价比也是一个关键要点, 存在一些途径能够在确保一项特性时强化另一特征, 不过其中投入的研发及技术成本, 厂商也要思索能否承受。那么, 我们便又得去寻觅平衡点, 怎样才能寻得此点呢。答案即为需契合业务场景, 直白来讲就是厂商打算怎样运用设备指纹, 我们例举两大典型案例:案例一: 广告营销广告营销的种种情境之中, 常常会依据多方人群各自不同的兴趣爱好, 来推送各种各样有别的广告, 以此达致精准投放的最终目的。好多时候, 需要先定位至某一个单独用户随身所使用的设备, 接着再创作出一幅基于兴趣的设备专属画像。对于此种场景之内的设备指纹来讲, 实际是可以适时放弃其中一部分原本独特难有的“唯一性”, 转而顺应“稳定性”要求的。这是由于在这个当下时刻, 业务层面所着重考量的更多是人群整体范围包括的覆盖程度, 而绝非去一味地纠结是不是每一个个体、每一台设备都能够实现定位上的绝对精准无误了。有时, 我们会发觉在手机的app当中浏览一件商品, 过了一阵子, 电脑上就出现了推荐, 这并非什么黑科技, 或许广告厂商所使用的仅仅是你的外网ip, 将其当作设备指纹。为了能更妥善地阐释这一点, 我时常会列举这样一个事例 , 营销场景里的设备指纹仿佛是给1000个人去标明兴趣 , 其中要是有一个人被标记错了 , 倒也没什么太大的问题 , 最多也就是推荐一个他不喜爱的广告 反欺诈的情况与之不一样 , 倘若1000个里面有一个被标记错了 , 极有可能那一个人便是一个欺诈者 , 又或者是把一个优质的客户给错误地判定为有问题了 , 这样所产生的影响就颇为巨大了。从另一个角度来讲 , 选用营销的设备指纹去开展反欺诈 , 其效果是非常难以得到保障的。适才提及了外网的 ip, 我们能够较为轻易地去延展一下思虑的方向, 伴随 IPv6 的不断发展, IP 地址变得极其充足了, 实际上能够在一个人降临于世之际就给予其一个固定的 ip 用以进行上网操作, 如此一来, 所有的网络活动均可达成精准的追踪。然而这番情况或许也不见得一定就是件好事情。案例二 :可信设备体系反欺诈领域存在着两种不一样的世界观, 一种是于一堆未知请求当中去寻觅可能存在的欺诈, 一种是准许已知的优质用户展开操作, 而剩余未知的都得经由短信验证或者更为严格的身份二次确认, 两种方式, 一种让对坏人的覆盖度得以增强, 一种让已知好人的用户体验得以增强, 高级的反欺诈系统常常会混合运用这两种机制, 所谓的可信设备体系便是第二种, 它是基于已知的可信操作沉淀出可信的设备体系。在这般状况之下所运用的设备指纹, 究竟是应当更为着重于“唯一性”这一方面, 还是应当更为着重于“稳定性”这一方面?答案依旧是“稳定性”, 然而应当比案例一的营销场景更偏向些许唯一性。如此去理解, 对于黑产来讲, 想要乔装成一台全然崭新的设备是较为轻易的, 不行就重新安装系统。但要是想伪装成一台已知的可信设备那就极为困难了。随着维度的增多, 难度也会以指数级的方式增长。举个例子, 要是我们是依据”ip归属地城市”、”系统语言”、”wifi名称”这三个维度交叉而得出的可信设备, 那么对于一个特定的可信账号, 黑产很难模拟出一组相同的环境。会有人发出这样的疑问, 为何不彻底去偏向“唯一性”呢, 这般看上去好像更为安全? 这是由于正常的用户同样是会存在一些有着潜在可能性的环境变动, 举例来说, 有一个人在家中正在上网的时候, 有可能会使用手机, 或者是台式机, 又或者是笔记本电脑, 并且还经常会在多个设备之间进行切换, 要是彻底偏向“唯一性”, 那么每一个参数的细微改动都需要用户再次去开展全流程的二次验证, 这对于用户的体验而言会是非常糟糕的对于厂商来讲, 开展二次验证往往是需要付出一些成本的, 像是发送短信, 当用户数量增多之后这些成本的增加也是相当可观的。以上所示不过是众多业务场景里头极其典型的两类那最终究竟要怎样去设定设备指纹平衡之点, 完全得瞧业务所需呈现, 之于商业化的产品范畴里头看来, 又是该如何更为妥当顺畅地将此问题妥善求解, 寻出解决法子呢。我们给出了一个答案, 叫灵活可配置化, 同盾科技提供了好多id, 每个id在稳定性和唯一性偏好方面有差异, 客户能够依照自身业务场景, 灵活去选。贴合业务场景的层面里, 上文所讲的只是其中一个方面, 即“稳定性”以及“唯一性”。实际上, 对于作为“业务”的风控产品而言, 各个方面都需要竭尽全力达成这一点。6. 设备异常环境识别不少人存在误解, 认为设备指纹仅仅能够充当设备的唯一标识, 即进行如同“设备ID”那般的追踪。然而实际上, 设备指纹所能做到的远远不止这么些, 甚至可以讲设备ID的功能在其全部功能里所占比例大概仅达三成左右。上文之中我们列举了两个案例, 分别是可信设备以及广告营销, 能够说这算不上反欺诈的典型业务。当下在国内极具典型性的是“账户”与“营销”这些场景, 同时这也是黑产获取利益最为丰厚的场景。在这些诸多的场景当中, 黑产常常借助伪造全新设备以及伪造某些系统底层参数, 诸如地理位置、imei号等这样的手段, 以此途径来躲避业务给定的限制。上层设备指纹所获取的一切参数全部是伪造而成的, 依据这些被伪造出来的数据所计算得出的设备ID已然毫无实际意义可言了。犹如一座无比美丽的空中楼阁一般缺失了深入地下的坚固基础。而夯实基础的关键之处在于“系统环境异常的识别”。对于常见的黑产改机框架、改机软件、伪装软件等, 设备指纹务必都要做到具有针对性的识别。只有确定当前的系统环境没有异常设备ID才是可信、可用的。拿同盾的设备指纹来说, 这会儿, 针对跟iOS底层改机以及伪造行为相关的情况, 我们基本上都能够识别出来。除此之外呢, 借助对平常经常会出现的黑产软件展开有针对性的监控, 还有在此基础上进行逆向研究, 再融合服务端的数据分析以及建模, 能够给设备贴上30多种异常标签, 像“调试行为”“模拟器虚拟机”之类的。关于“软”设备指纹, 对设备异常环境进行识别, 这种识别有可能比设备ID显得更为重要。7.强大的自我保护机制设备指纹组建起一个自“端”至“云”的集成系统, 其中涵盖客户端的交叉验证、劫持检测, 还包括服务端的数据建模、联防联控, 任何一处的疏漏都极有可能被黑产突破, 故而要对客户端的代码实施极为强健的加固防护。这同样是为了于跟黑产对抗之际, 维持信息不对称性的优势, 一定程度上, 我们借助这种信息不对称性, 于攻防之间维持纤弱的领先优势。故而对诸多设备指纹系统而言, “开源”便意味着平庸以及被绕过。双方皆在费尽心思拼斗到你死我活, 突发就把家底展示出来给他人看了, 后果也就不言而喻了。谈论设备指纹时这些尖锐的问题你该知道这几年笔者在现场接触了数目众多的客户, 亦回答了不计其数的有关设备指纹的问题, 其中有不少是具备专业水准、能够直中要害且切中非一般的问题。下面是笔者经过简单地梳理而得出的一些问题, 拿来与大家共同分享。问题一: 对于设备的“稳定性”该如何去评估, 对于设备的“唯一性”又该怎么去评估, 是不是存在着量化的标准呢?答: 这看上去好像是一种矛盾形态: 倘若存在一个能够具备良好判定功能的设备指纹方面的参数, 那么为何不把它用来充当设备指纹呢?然而, 认真思索一番, 也并非一定不存在解决的办法。我们撇除那种粗放的大样本环境测试, 即便样本数量再大, 跟线上实际情况相比, 也不过是微不足道。那么, 剩余的最佳途径便是依靠某些业务数据以及生活常识来进行此种判断。由于保密缘由, 在此我不会详尽阐释, 不过我们内部已然构建起了一套切实可行的评估预警机制。问题二, 要是我进行刷机操作, 重新安装系统, 你还能够找回这个设备吗, 在这种情况下是不是设备指纹就失去作用了啊。答复为, 在软件层面去追踪硬件, 必然是有着它自身所存在的局限性的, 有一些并非占据主导部分的小“trick”, 能够达成即便进行刷机处理外加实施双清操作, 依旧是可以实现还原的情况的。然而, 要是真的属于那种彻彻底底的底层发生变更, 甚至进一步到去修改硬件, 像是更换一块硬盘这种情况, 那么仅仅依靠设备指纹肯定是远远不够的, 是需要一整套完备的风控系统的。设备指纹并非是那种能够解决任何问题的万能方法, 我们所开展的工作也并非是能够做到百分百确保绝对防御的, 提高黑产进行作案时所需耗费的成本才是其中最为关键的所在。问题三: 能不能运用你们的设备指纹, 由我自行获取某些你们所需的参数, 接着将其传递给你, 而后你们再给我们返回一个设备 ID 呢?答:这种方式没有太大意义。前段笔者进行言说时指出, 设备指纹架构为从开始处即“端”直至末尾处“云”的系统, 而这般仅运用“云”资源却摒弃“端”资源的运用模式之中, 存在着极大可能性致使服务所处一端最终收件数据全然乃是黑产作伪仿制所得伪造物。我们平日里总有语言表达“数据确凿决定了模型可达之上限程度如何呈现”, 众多客户群体对于服务坐落一端之模型更为着重关注指向其中, 然而来自数据层面的不可靠致使模型应呈现之效果极为恶劣糟糕甚至出现负值表现。问题四: 可不可以将设备指纹开放源代码给予我方, 我方忧虑你们施行某些不安全之行为?给出的回应是, 就像前述我们也提及的那样, 设备指纹的开源表明着设备指纹走向死亡。针对一个商业产品而言, 给予一位客户开源等同于给予所有客户开源, 同样也意味着给予黑产开源。安全类产品的核心代码必定是不开源的, 不然针对黑产来说就如同照着说明书去实施攻击一般了。对于安全方面产生的担心这一情况, 是能够被理解的。但若切换到另外的角度来看, 互联网它的发展实际上是基于供应链各个不同环节之间彼此有所存在着的 那种信任机制发展起来的。我们从来都不会担心浏览器会去窃取用户私藏起来的那些信息, 对于微信以及支付宝也不会担心它们会去窃取用户隐私方面的信息, 哪怕它们其中的大多数代码同样也是处于不公开源代码的状态。就同盾而言, 作为一直坚定地秉持第三方中立立场的风控领域当中的处于领先位置的企业, 我们内心怀着深深的感激之情去感谢六千余家客户赋予我们的那份信任以及所给予的支持。问题五: 为什么要使用三方的产品而不是自己进行技术研发答: 其难度极大, 成本极高, 投入极多, 需审慎考量这事。专业方面具体之举应交由专业之人付诸之实行。问题六:为什么说同盾的设备指纹是最好的设备指纹?答:试过就知道。作者系同盾反欺诈研究院丁杨
返回列表