iOS/Android的设备唯一标识符

=Start=

缘由:

最近在做这一块的数据分析,所以整理一下在 iOS/Android 系统上有哪些指标可以作为设备唯一标识符或是辅助唯一确定一台设备,方便以后参考。

正文:

参考解答:
# iOS

iOS 10 IDFA 新策略

当Apple设备升级到 iOS10 及以后版本,且开启了限制广告跟踪的情况下,在获取 IDFA 时会返回:
00000000-0000-0000-0000-000000000000

iOS 10 and IDFA zeroed attribution

iOS获取设备UUID和IDFA

UDID #iOS 5之后废弃
IDFV
IDFA #iOS 10之后可能为0
MAC地址 #iOS 7之后废弃

【iOS】获取设备唯一标识符

iOS怎样获取设备唯一标识符

iOS获取设备的唯一标识的方法总结以及最好的方法

iOS唯一标识设备方法

iOS开发中使用到的设备ID及存储方案

 

# Android

Android 唯一识别码

https://android-developers.googleblog.com/2011/03/identifying-app-installations.html

How can I get the UUID of my Android phone in an application?

Android唯一标识符最佳做法

我们建议您在使用 Android 标识符时遵循以下原则:

原则 1:避免使用硬件标识符。您可以在大多数用例中避免使用 SSAID (Android ID) 和 IMEI 等硬件标识符,而必需功能也不会受到限制。

原则 2:只为用户分析或广告用例使用广告 ID。使用广告 ID 时,务必遵守限制广告追踪标记,确保标识符无法与个人可识别信息 (PII) 建立关联,并避免桥接广告 ID 重置。

原则 3:尽一切可能为防欺诈支付和电话以外的所有其他用例使用实例 ID 或私密存储的 GUID。对于绝大多数非广告用例,使用实例 ID 或 GUID 应该足矣。

原则 4:使用适合您的用例的 API 以尽量降低隐私权风险。为高价值内容保护使用 DRM API,为滥用预防使用 SafetyNet API。Safetynet API 是能够确定设备真伪而又不会招致隐私权风险的最简单方法。

android获取设备唯一标识完美解决方案的思考以及实现方式

如何唯一的标识一台Android设备?

如何获取Android设备唯一ID?

Is there a unique Android device ID?

 

参考链接:
  • 如上

=END=

声明: 除非注明,ixyzero.com文章均为原创,转载请以链接形式标明本文地址,谢谢!
https://ixyzero.com/blog/archives/4114.html

《iOS/Android的设备唯一标识符》上有3条评论

  1. 聊一聊薅羊毛党最爱用的改机神器
    https://media.weibo.cn/article?id=2309404283470665937933

    本文讨论了薅羊毛的危害,羊毛党使用的某些技术以及一些对抗羊毛党的思路。

    0x00 什么是薅羊毛
    薅羊毛,简单来讲就是通过刷活动来获取奖励。举例来说:某公司搞推广活动,介绍一个新用户奖励10元,如果真的去介绍是很困难的,所以羊毛党要做的就是自己注册很多账号,并邀请自己的账号来获取奖励。又或者刷注册、刷点击等等,都算薅羊毛项目之一。

    简单总结一下羊毛党的危害:
    1、运营成本高,推广费用在短时间都被羊毛党薅干,导致资损。
    2、本来推广的费用是给正常用户的一些福利,结果被羊毛党薅走,影响正常用户的体验和一些网站活动的口碑。
    3、对服务器带来一定的压力,严重的话会导致服务器宕机,影响活动的正常进行。

    0x01 基础对抗
    一机一号一券。也就是说一台手机只能注册一个账号才能领到一个红包(优惠券)。

    0x02中级对抗
    既然平台对机器进行了限制,那么羊毛党有三个选择:1. 真的买一堆机器(根据用户行为进行判断)。2. 使用虚拟机(分析很难伪造的虚拟机特征)。3. 用改机神器,让一台机器化身千万台机器。

    0x03 改机神器
    在Android和iOS平台上都有大量的改机神器,他们的基本原理是都是在root(越狱)的基础上,对app获取系统和设备信息的API进行了hook,然后将内容替换为伪造的系统和设备信息(java层hook,native层hook,替换系统配置文件,以及屏蔽文件等)。

    0x04 对抗改机神器的思路
    1. 改机神器会hook大量的信息获取API,但依然会漏掉一些可以对机器进行唯一标示的API函数,因此我们可以寻找这样的API函数并使其成为设备唯一标识符的参考。
    2. 虽然改机神器hook了一些关键的API,但是依然有办法绕过这些hook,并获取到真实的数据,这里会涉及到一些内存和汇编的对抗技术。
    3. 就算是改机神器伪造了机器的数据,但是通过云端的一些算法,依然可以识别出这些伪造的设备。如果再配合上环境指纹和行为信息的话,即使是全部数据都是伪造的,依然可以有方法识别出来羊毛党的流量。

  2. 探针盒子收集附近的手机号码和个人信息是怎么实现的?普通人怎么防范?
    https://daily.zhihu.com/story/9709274
    https://www.zhihu.com/question/303176001

    收集 MAC 地址,很简单,只要 Wi-Fi 开启,手机会广播(以及跟 SSID 源交互)自己的 MAC 地址,在人流量较多的地方,“探针”只要“探”一下即可获得大量地址,直到这个地方的信号太过拥挤,通讯质量太差或是缓存满了为止。

    iPhone 用户则需要升级到至少 iOS 9,才能够获得比较好的防护(iOS 8 的太初级了),而且 iOS 版本越高,往往防追踪能力越强(例如 iOS 12 的防跟踪)。在 Wi-Fi MAC 地址防护上,iOS 10 就已经基本完备了,也就是说,iPhone 7 以后的用户即使不升级系统,也能得到最高限度的一定保护,而 iPhone 7 以下机型最好运行 iOS 10 或更高版本。

    iPhone 4S 无法随机生成 MAC 地址,多高系统也没用。

    最重要的,不要胡乱连接 Wi-Fi,大型连锁快餐店和大型连锁商场或许还行,但是其他地方我不敢保证。

    2019 央视 3·15 曝光案例全面盘点 – 4/10智能骚扰电话
    https://www.zhihu.com/special/20746695#NewsSpecial-SubModule-1089989412917620736

  3. What is the risk of leaking IMEI / IMSI numbers over a network
    https://security.stackexchange.com/questions/49343/what-is-the-risk-of-leaking-imei-imsi-numbers-over-a-network

    IMEI是手机的唯一全球标识符(硬件元素),而IMSI是SIM卡的唯一全球标识符(因此它可以或多或少地映射到拥有它的人身上)。

    IMEI 是和Android手机 硬件相关 的参数,同一台手机的IMEI相同,一般情况下不同手机的IMEI不同;
    IMSI 是和Android手机 SIM卡相关 的参数,即同一台手机换了SIM卡之后,IMSI就不一样了。

    https://www.quora.com/What-is-the-difference-between-ICCID-IMSI-and-IMEI-numbers

发表评论

电子邮件地址不会被公开。 必填项已用*标注