Wooyun & NumenTeam 联合出品
0x00 引子
这是来自美剧《网络犯罪调查》的一张截图,讲述的是黑客通过入侵了数万家庭婴儿监控摄像头,分析家庭的作息时间,在合适的时机偷出需要的婴儿,并实时进行全球在线拍卖的故事。
上面的场景哪怕放在两年前都会显得有些科幻,但由于近年来智能硬件热潮的兴起,带来相关设备的井喷式发展,使得上面的场景已经完全可以变成现实。只是本文的主角由婴儿监控摄像头变成了儿童智能手表。
0x01 背景
以Apple Watch为代表的智能手表行业的兴起,带起了智能穿戴设备的一波高潮。当这类技术和特定的人群结合,就形成了各种细分市场,比如老人手表、运动手表、儿童手表。由于开学季,近几个月来,儿童智能手表的市场呈现出爆发的姿势,行业月出货量达到百万以上。家长们也纷纷愿意为这个新产品买单,以期收获一份安心。
这个现象引起了专注智能硬件安全的NumenTeam(http://numen-team.org)团队的注意,凭着过往的积累,我们敏锐地感知到,大量涌入的手表厂商,同时也携带了大量的安全问题进入这个领域。孩子是一个家庭的希望,可以说孩子的安全是一个家庭最重要的事情,其重要性远远超过隐私泄漏、财产被盗这类传统安全关注的问题。
在国内知名的安全问题发布平台乌云(http://WooYun.org)上,也出现了不少相关漏洞。有感于这个可能爆发重大安全问题的行业,NumenTeam联合乌云平台对市面上主流的儿童智能手表进行了深入的安全问题分析,以期能引起行业关注,尽快修复存在的问题。
为此,我们在淘宝和京东上抽取了部分销量不错的儿童智能手表品牌作为测试对象,包括:
小天才 | 阿巴町 | 三基同创 | 糖猫 |
锋立 | 开米 | 一米 | 平安星 |
TORO | 中兴守护宝 | 童表管家 | 邦邦熊 |
库多啦 | 微喔 V.WO |
市面上的儿童智能手表一般主打以下几个卖点:
- 实时定位孩子的位置,以及衍生的活动轨迹图、回家导航、范围预警等。
- 发消息、打电话、SOS向家长求救。
- 监听孩子周围环境的声音。
- 孩子运动统计。
可以看到,智能手表的功能中实际上包含了孩子非常多的隐私信息,如果被黑客控制,后果非常严重。
0x02 研究方法
如果从专业的安全角度来说,评测智能手表会涉及到很多细节问题,比如APP安全、Web安全、固件安全等。为了简化研究过程,本文从下面四个关键维度的结论来评估手表的安全风险:
- 是否可以获取其他儿童的定位信息
- 是否可以远程监听其他儿童
- 是否可以切断家长和儿童的联系
- 是否可以根据家长手机号精确匹配到其孩子
如果上述四个维度都能实现,就意味着引子里面的电视剧场景可能变成现实。
0x03 结论数据
通过对各款手表的通信协议和指令系统进行分析和模拟,我们得到的结论非常不乐观。大部分儿童智能手表存在上面提到的一个或多个安全风险。有些品牌甚至全中,对此我们表示非常担忧。
下面描述一下各个维度常见的问题的部分原因:
1、定位其他儿童
问题1:无需授权绑定设备
原因:部分品牌存在,只要知道对方手表序列号,就可以直接绑定手表获取数据,没有要求儿童或者家长侧的验证。
问题2:无需绑定越权查询
原因:部分品牌的后台查询接口,权限控制不严格,通过构造指令可以直接查询到其他手表的定位信息。
2、监听其他儿童
问题1:无需授权绑定设备
原因:原因同定位信息,黑客可以直接绑定手表,获取全部权限。
问题2:后台权限判定不严格
原因:部分品牌在处理监听请求时,没有限制只有来自父母的请求才接受,导致可被黑客监听。
3、切断家长和孩子的联系
问题1:APP端存在默认密码
原因:部分品牌为了方便,在父母手机端使用了默认密码,导致黑客可以简单修改密码使得父母无法登录,无法取得儿童的信息。
问题2:后台越权修改密码
原因:部分品牌后台修改用户信息的接口存在权限控制问题,可以通过特定的方式修改他人帐号信息和密码,导致父母无法登录。
4、精确匹配家长和儿童
问题1:查询接口暴露过多信息
原因:部分品牌的数据查询接口暴露了过多信息,可能包括家长和孩子的手机号,导致可以做到精确匹配。
5、详细结论
注:× 表示已发现问题,√ 表示暂未发现,品牌顺序和上面品牌列表不对应
定位儿童 | 监听儿童 | 切断父母数据 | 匹配父母孩子 | |
品牌01 | √ | √ | √ | √ |
品牌02 | √ | √ | √ | √ |
品牌03 | × | × | × | × |
品牌04 | × | × | × | × |
品牌05 | √ | √ | √ | √ |
品牌06 | × | √ | √ | √ |
品牌07 | √ | √ | √ | √ |
品牌08 | × | × | × | × |
品牌09 | × | × | √ | × |
品牌10 | × | × | √ | × |
品牌11 | √ | √ | √ | √ |
品牌12 | × | × | × | √ |
品牌13 | × | √ | × | √ |
品牌14 | × | × | × | √ |
合计 | 9 | 7 | 6 | 5 |
0x04 细节举隅
1. 越权查询
由于智能手表的方案商多数属于传统厂商,互联网安全意识这块相对薄弱,导致许多产品连最基本的账户权限控制都没有做。只需要修改web api的指令参数,就可以获得其他设备的详细信息。
例如调用某款智能手表的reqDeviceInfo指令,修改参数 device_id。
就可以拿到非常敏感的信息,包括家长和孩子的手机号、头像等。
2. 设备遍历
越权问题通常还有个特别亲密的小伙伴,就是设备的遍历,厂商为了方便,设备ID往往使用简单的递增,最多再加上前后缀的方式。导致把前面越权查询的问题迅速放大,甚至于可以拉取厂商所有卖出的设备信息。
下图是从某厂商的数据接口中读出的部分定位数据:
上面的简单数据或许不会感觉太明显。为了直观表示,这里抽取了部分定位数据,绘制了京津唐地区的实时监控数据图:
可以看到,黑客完全可以绘制一张实时地图,来监控全国各地的孩子们,细思极恐。
其实安全问题这边还有很多细节,由于儿童安全这个问题实在太过敏感,这里去除了大部分,仅希望这个局面能引起各厂商的重视。
0x05 结语
限于研究时间的关系,上面的数据可能只是部分产品的一部分问题而已。还有更多的其他智能产品在让我们享受更便利生活的同时,在源源不断的泄露隐私,导致可能的安全风险。后续相关问题我们也会持续提交到乌云平台,为产业的安全能力提升贡献力量。
作为安全研究人员同时也是一个普通父亲,我们对此现状感到非常担忧。仿佛看到千千万万的孩子处于危险。虽然我们倾向于认为人贩子不会拥有这样的视野和技术,但是在未来的高科技犯罪场景下一切皆有可能。
对此,我们NumenTeam团队也在积极打造相关的安全服务和产品,希望能帮助安全能力不足的企业,一起努力提升这个行业的安全性,希望引子里的场景仅仅存在于电视剧而已。