博客
设备指纹

设备指纹还能做什么?

互联网上有一群人会使用技术手段来打破规则,使设备指纹失效。结果是投资的资本将被烧毁。一些抗风险能力薄弱的中小型初创企业甚至可能导致破产。

导言

设备指纹除了描述设备的身份信息外,还可以识别设备在某个时刻的状态,这对于互联网服务非常重要。但是,在阳光下,一定有黑暗。互联网上有一群人会使用技术手段来打破规则,使设备指纹失效。结果是投资的资本将被烧毁。一些抗风险能力薄弱的中小型初创企业甚至可能导致破产。设备指纹除了身份识别功能外,还能提供哪些其他安全功能?

攻击手段

俗话说,认识自己和敌人一定能赢得一百场战争。在回答这个问题之前,我们需要了解一些恶意组织或个人的攻击方法。如前所述,设备指纹的生成主要取决于客户端的一些属性信息,包括但不限于以下内容:

● 设备基本信息
● 定位信息
● 网络信息,比如本地蜂窝IP、WIFI IP、来源 IP 等,接下来我们来看看恶意组织或个人的一些主流攻击手段。

接下来,让我们来看看恶意组织或个人的一些主流攻击方式。

设备信息篡改软件

它是一种恶意软件,可以通过篡改设备信息来破坏设备指纹的唯一性,从而使该设备在某种程度上成为新设备。

众所周知,通用设备无权修改和影响其他应用程序。为了实现目标,恶意组织或个人通常需要获得更高的系统权限。此操作通常称为越狱 (iOS) 或 ROOT (安卓)。

设备获得更高系统权限的授权后,该软件可以通过 HOOK 随意篡改设备信息,将其变成新设备。此操作通常通过点击设备信息篡改软件上的按钮来完成,因此为攻击者制造新用户的成本几乎为零。

虚拟环境

近年来,随着技术和硬件的改进,客户端漏洞已逐步得到修复。

在系统的高级版本中,越狱和ROOT变得非常困难。因此,许多恶意组织或个人也将注意力集中在虚拟环境上。简而言之,虚拟环境是一种使用本地操作系统来模拟与本地计算机兼容的操作系统并在其上运行软件的环境。

客户端上最常见的虚拟环境是模拟器,它通常存在于电脑上。它旨在帮助开发人员在没有真实设备的情况下尽可能获得与客户端设备相同的真实环境。出于这个原因,模拟器开发人员还提供了一些便捷的配置,包括但不限于上面提到的修改设备信息和定位信息的功能。此功能通常用于篡改设备。因此,在这种环境中运行的软件应用程序具有很高的风险。

自定义 ROM

ROM 的全名是只读存储器,也称为只读存储器映像。重置系统是将 ROM 映像写入 ROM 的过程。

众所周知,Android系统是开源的。谷歌允许用户修改内存图像并自定义许多很酷的功能。但是,一切都有两面。过度的自由也会带来很大的伤害。因为用户可以随意自定义和编译安卓系统的源代码,所以原系统提供的 API 已不再可靠。

因此,在这种环境中运行软件应用程序也极其危险。

应用程序破解

在应用程序上线之前,开发人员需要签署应用程序的二进制文件并将其上传到商店。应用程序破解是反编译和破解原始签名的应用程序,并将加密的二进制段恢复到加密之前的状态。

恢复后,攻击者可以攻击以下两个级别:
● 二次包装
● 调试攻击

以下描述了具体的攻击方法。

二次包装

二次打包的步骤包括解包、插入/篡改代码、生成新软件包、重新签名和运行。篡改代码会使原始软件应用程序代码极其不可靠,这也会影响设备指纹的准确性。

调试攻击

调试最初是应用程序开发人员在开发过程中修改代码的一种行为。通常,这只能在开发阶段发生。

但是,二进制文件的签名在应用破解后被销毁了。攻击者还拥有与开发人员相同的修改代码的权限。这与二次包装相同,二次包装也会给业务带来风险。

代理攻击

在描述设备唯一性的元素中,除了设备 ID 之外,还有 IP 位置信息和网络信息,它们可以用来准确地描绘用户。

除了设备 ID 之外,还有 IP 位置信息和网络信息,可用于准确描述用户的位置。市场上的代理软件(例如Shadowrocket)可以轻松伪造上述信息,您甚至可以轻松地从搜索引擎获得这些工具。通过观看教程,即使你有点白人,你也可以快速学习和使用它们。

此外,软件应用程序的接口数据可能会被窃取并通过 HTTP 代理进行修改。

虚拟位置

虚拟位置是指用户使用技术手段伪造当前位置信息以实现某些目的。常见的业务场景包括打卡、区域优惠券领取等。

原则上,有两种主要的攻击方式可以实现虚拟位置。

软件篡改

这种方法通常取决于越狱/root 和模拟器环境,其攻击目标主要是与系统定位相关的API。

因此,只能通过检测运行时环境和位置API来识别风险。

GPS 信号篡改

GPX 文件是一系列描述设备位置信息的标准文件。系统允许开发人员使用GPX文件模拟GPS信号,修改设备GPS模块接收到的GPS信息,以实现虚拟位置的目的。这来自系统向开发人员打开的后门。它旨在使开发人员能够更好地在设备上模拟和运行与当前定位相关的功能。

但是,一些人故意修改了这种便捷的功能,以制作一些用于位置作弊的电脑软件或外设插件。

我们能做什么?

在介绍了几种主流的攻击方法之后,我们将讨论如何通过设备指纹来对抗恶意组织的攻击。

检测操作环境

刚才提到的设备信息篡改软件和虚拟环境场景要求应用程序在虚拟环境中运行,例如越狱/根设备或模拟器。因此,我们可以收集上述环境特征并将其报告给服务器,并在业务期间根据环境做出业务决策。

检测恶意软件安装

并非所有恶意组织都是精湛的极客。他们经常从一些个人开发人员或销售组织那里购买一些知名的设备信息篡改软件进行批量篡改。

因此,我们可以建立应用程序黑名单机制。一旦发现设备上安装了这种黑名单应用程序,就会给企业带来风险。

检测 ROM

细节决定成败。尽管定制ROM的自由度非常高,但恶意ROM的开发者往往无法做到所有事情都不会泄漏。在设备收集的有限信息中,我们仍然可以找到一些线索来证明该ROM是非原生的。由于该方案相对开放,因此此处不讨论检测方法。

检查签名正确性和二进制完整性

为了防止客户端代码被破解,应用程序开发人员将在代码级别加强和保护应用程序。为了实现攻击目标,攻击者必须首先强化应用程序并破解代码,修改核心逻辑,然后重新打包应用程序。设备指纹不提供代码强化功能,这是增强制造商的服务范围。但是,设备指纹提供了检查二进制文件完整性的能力。基于此,设备指纹可以标记未发布的应用程序。由于在设备上运行的软件应用程序已经过签名和加密,因此只有攻击者才能破解该文件。如果签名文件没有泄露,则可以认为不符合二进制文件完整性验证的应用程序在被攻击者修改或破解后进行了重构,风险很大。

检测调试行为

调试的原理是将调试后的进程连接到正在运行的目标应用程序,并通过发送指令来控制应用程序。

因此,检测应用程序连接的行为非常有效。有许多检测方法,但我们在这里不讨论它们。

检测代理行为

使用代理时,系统会创建不同的网络接口和端口。目前,系统还提供了相关的API接口来获取代理信息。

因此,直接获取代理信息以识别代理行为非常有效。

另一方面,代理还将数据转发到代理服务器,代理服务器通常不在本地区域。

因此,对基站信息、IP信息和位置信息的多维验证也可以确定用户是否在使用代理进行作弊。

检测虚拟位置

正如我们前面提到的,虚拟位置有两种攻击模式,我们针对不同的模式给出了不同的保护建议。

软件篡改

该方法需要依赖越狱/root 或模拟器环境,需要使用 HOOK 来定位相关的 API 以达到定位篡改的目的。

因此,我们可以通过检测操作环境并确定相关的 API 是否为 HOOK 来识别风险。

GPS 信号篡改

GPS信号篡改的方法相对复杂,它可以作用于普通设备。作为低权限的软件应用程序,它很难化解。

作为低权限的软件应用程序,对抗是困难的。

幸运的是,除了困难之外,还有更多的方法。我们给出一些建议如下:

● GPS 信息验证。通过大数据分析,我们发现,为了简化一些虚拟定位软件的实现,模拟的定位数据非常粗糙。他们可能刚刚修改了经度和纬度,以达到篡改位置的目的。但是他们忽略了一些细节。长时间保持相同的经度和纬度以及异常的高度和速度将大大增加用户对虚拟位置的怀疑。

● 通过收集IP地址和基站信息来分析地理位置信息,并与当前收集的定位信息进行比较。如果差异很大,则基本上可以确认用户使用的是虚拟位置。

结语

这条路很高,一英尺的恶灵就是高一英尺的长度。进攻和防守对抗是一个永恒的话题。

该设备的指纹还需要不断加强其防护罩,以对抗恶意组织制造的越来越锋利的长矛。

目录
博客
设备指纹

设备指纹识别:隐私、信任和新应用程序

博客
设备指纹

设备指纹识别技术详解-2024 年新增内容

博客
设备指纹

数字足迹检查器如何帮助缓解欺诈活动