AIoT安全峰会议题回顾|黑灯:“手机 × AIoT” 智能安全评估

  • A+
所属分类:安全新闻

小米拥有APP产品1200多款、IoT产品2400余款。面对如此多的产品及品类,如何在产品生命周期内,持续不断的保障安全与隐私,是目前面临的主要问题。该议题介绍了小米手机 x AIoT 双擎智能安全评估体系,通过多个安全评估子系统的智能联动,全方位的对产品进行安全检测和流程管控,打通开发、测试、监控、分析、报告等多个环节,形成安全闭环,在”黑灯“情况下,实现自动化安全保障。

AIoT安全峰会议题回顾|黑灯:“手机 × AIoT” 智能安全评估

陈长林


个人简介

小米AIoT安全实验室 - 高级安全工程师。拥有十七年安全实战经验,在物联网安全、红蓝对抗、安全研发、二进制安全、Web安全等多个安全领域均有深入研究,目前致力于小米AIoT智能安全评估体系建设。


黑灯:“手机 × AIoT” 智能安全评估

以下为速记全文:
什么是黑灯?小米有个黑灯工厂,这个工厂能够在黑灯的情况下自动的生产手机,我们的AIoT安全实验室也一样,关了灯照样能够进行安全评估。
在这边给大家举个例子,之前我们在做安全测试的时候,需要在实验室里面干很多活,比如端口扫描、固件解包、漏洞检测等等。做过安全测试的小伙伴们肯定很熟悉这些流程。现在我们只要给设备接上电,工程师就可以关灯去做其他事情了。系统会进行自动的安全评估,在结束之后还会给出安全测试报告,是不是非常完美。
AIoT安全峰会议题回顾|黑灯:“手机 × AIoT” 智能安全评估
这里我们给它一个书面的定义,通过多个安全评估子系统的智能联动,黑灯实现全流程的自动化安全评估。
讲完何为黑灯,我们来说说为何黑灯。几年前小米的产品数量还没有那么多,我们一个人负责几个产品就可以完全的覆盖它们的安全。但是到了今天,小米的手机APP数量已经突破了1000多个,IoT品类也超过了2000多个,对于这么多产品,我们怎么来评估?今天宝秋总也提到了我们的物联网产品安全基线,其实这个安全基线一直在我们内部运转,里面包含了十多个测试大类,一百多个测试小类。对于这么多设备,这么多的测试项目,我们要怎么办?
不仅在上线前我们要对产品进行把关,在上线后我们还要对它进行持续的监控,这是一个长期的过程,靠人来实现真的是太难了。
AIoT安全峰会议题回顾|黑灯:“手机 × AIoT” 智能安全评估
既然有这么多难题,那我们就来谈谈如何黑灯。先给大家介绍一下AIoT智能安全评估部分。首先是设计。第一步,我们需要构建IoT安全评估基础能力。这里再给大家举一个例子,比如说我有一个IoT网关,这个网关有蓝牙、WiFi和ZigBee功能,我们要对它进行安全测试,就需要对每个协议搭建一个测试环境。干过的同学都知道,这个太费劲了。但是当我们构建好基础能力以后,工程师就像升级了装备一样,一键就可以测试了,省了大量的时间。
AIoT安全峰会议题回顾|黑灯:“手机 × AIoT” 智能安全评估
下面介绍一下我们的这些安全能力是怎样构建的。左边这个黑色的小盒子是我们的物联网安全引擎,它能够通过USB接口使用各种适配器,连接IoT设备,实现一些评估能力。智能设备里面WiFi协议用得非常多,我们的网络安全引擎就能检测网络层的风险。同时,IoT设备一般是通过APP来控制的,测试过程中我们需要修改APP的逻辑来进行测试,我们的APP动态安全引擎就是干这个事的。
AIoT安全峰会议题回顾|黑灯:“手机 × AIoT” 智能安全评估
接下来介绍三个软件模块,云端调度模块管理了所有设备的基础信息,并且负责整个测试任务的调度;动态跟踪模块能够对嵌入式Linux进行动态分析;固件扫描实现了固件的安全检测能力。
下面是第二部分。这里举个例子,世界上有两种测试工程师,一种是懂安全的,一种是不懂安全的。怎样让不懂安全的工程师也能做安全测试呢?不用担心外挂来了,这就是我们的安全评估剧本。那么这里,我们就像电影的导演,针对不同设备,编写不同的安全评估剧本,把基础能力串起来。不懂安全的工程师只要用外挂,就拥有了安全测试这项技能。
AIoT安全峰会议题回顾|黑灯:“手机 × AIoT” 智能安全评估
下面是第三部分,这个时候不知道大家发现了我们的逻辑没有,我来捋一捋。首先,我们让安全工程师省时省力,第二步,我们让不懂安全的工程师也能拥有技能,接下来,我们连人都省了。自动化调度就可以把我们刚才写好的剧本调起来。我们拥有多种自动化调度机制,定时任务可以实现定时检测的功能。如果有新设备接入,或者设备固件升级,系统也会自动调用对应的评估剧本进行测试。
AIoT安全峰会议题回顾|黑灯:“手机 × AIoT” 智能安全评估
测试过程中必然会发现漏洞,为了不让一些误报或者重复报警的漏洞骚扰到工程师,我们通过策略去重做到了精准预警,并且与小米办公IM打通,让工程师能够实时收到风险的报警并进行处理。
之前我们每次测试结束都要手写报告,这个太费时间了,现在我们的系统能够自动化输出报告,只要工程师审核确认以后就可以作为最后的评估结果进行输出。
AIoT安全峰会议题回顾|黑灯:“手机 × AIoT” 智能安全评估
这是我们整个AIoT智能安全评估的体系架构。通过自动化调度,调用安全评估剧本,通过安全评估剧本串起AIoT安全评估基础能力,最后发现漏洞进行预警和报告。
讲完架构,大家可能觉得有点枯燥,下面为大家介绍一些我们的具体实践。首先是网络安全评估方面,有些国家和地区的隐私条款会对设备连接服务器的区域进行限定,我们的设备流量区域分析功能就能快速检测设备的连接是否符合当地的隐私条款。
我们的系统也具有非常强大的挖洞能力,目前支持https证书劫持、高危端口扫描、明文传输等安全风险。下面给大家介绍一个我们意外挖到的漏洞。
我们之前对一个国际大厂的IoT设备进行安全评估,在评估过程中我们发现这个国际大厂安全确实做得很好,从外部基本上是无懈可击的。于是我们就把这个设备挂到了自动化评估系统底下,突然有一天,工程师收到一个漏洞报警,说这个设备开放了一个端口,于是我们通过这个漏洞就快速拿下了这个设备。我们后面也对漏洞出现的原因进行了分析,发现这个设备在升级过程中,开发人员忘记关闭调试开关导致了这样一个安全问题。这说明了什么?我们的AIoT智能安全评估体系不仅仅对小米自身的产品是有效的,同时对行业内其他的IoT产品也是非常有效果的。
AIoT安全峰会议题回顾|黑灯:“手机 × AIoT” 智能安全评估

再给大家介绍一个很牛的能力,我们能够自动挖掘嵌入式linux的命令执行、缓冲区溢出安全漏洞。屏幕上的这个截图就是我们在一次上线前的测试中,挖到的一个命令执行,这整个挖掘过程,都是自动化的。

下面给大家介绍一个动态自动挖洞功能。我们开发了一个轻量级的HOOK程序,能够对嵌入式Linux的关键APP做HOOK。主要HOOK一些危险函数,比如strcpy,strcat等等。在hook成功之后,会回传一些信息,那么我们来看看有哪些。从图上可以看到,包括进程名、设备基本信息、调用参数及返回值等信息。

有些同学可能有些疑问,我获取到了这些信息我能干吗?我们通过比对同一地址多次调用的结果,就能发现二进制方面的漏洞,假设sprintf在一个位置被多次调用,同时format参数一直是在变化的,我们就判断可能存在格式化字符串漏洞。对于strncpy这个函数,如果在多次调用过程中,n是变化的,并且长度一直等于src的长度,那么就可以判断strncpy的用法是错误的,可能存在缓冲区溢出漏洞。对于system的参数,如果发现这个参数的值是可控的,它就可能存在命令执行的漏洞。

我们的BLE分析能力也很厉害。系统可以捕获到周围的蓝牙广播,并且还能知道设备名称、厂商等信息。当然这个具体名称的解析更多依赖于小米本身的一些产品信息。

同时,还能够解析广播数据。广播数据解析分为两部分,第一部分是通用蓝牙广播协议的解析,第二部分是私有蓝牙广播数据的解析,我们目前支持了MiBeacon广播,后面还可以通过扩展支持其他的广播协议。

BLE安全评估最牛的地方在于它能够伪造广播,不仅仅是广播,它还能对空中传输的BLE数据抓包并且重放,这在BLE安全测试中是一个非常重要的能力。

BLE安全评估最牛的地方在于它能够伪造广播,不仅仅是广播,它还能对空中传输的BLE数据抓包并且重放,这在BLE安全测试中是一个非常重要的能力。
AIoT安全峰会议题回顾|黑灯:“手机 × AIoT” 智能安全评估
介绍完AIoT智能安全评估,下面为大家介绍一下如何黑灯:移动智能安全评估。我们在移动智能安全评估方面实现了应用安全管控的全覆盖,不仅仅覆盖了上线前的安全测试流程,同时对上线后的产品也会做一个持续的安全监控。
做过移动安全的同学可能了解,移动APP是有非常多的应用形态,比如安卓的APP、iOS的APP,另外包括一些快应用、小程序等等,我们也对所有的产品形态进行了全覆盖。
我们的APP在上线前都要经过移动智能安全评估的层层考验,只有通过后才允许上架。上线之后,我们还会持续的进行监控,避免出现问题,下面我就给大家介绍一下移动智能安全评估的三大部分。
AIoT安全峰会议题回顾|黑灯:“手机 × AIoT” 智能安全评估
首先是编码安全,我们编写了详细的移动编码安全规范,让工程师避免开发中的安全问题。当然,有安全规范肯定是远远不够的,如果写代码的时候忘了这个安全规范怎么办?是不是就像以前考试背书一样,我明明之前背的好好的,考试的时候却忘记了,没关系,我们开发了IDEA自动安全编码提示插件,如果不对就会给出温馨提示,工程师再也不怕不考满分了。
下面是我们的安全SDK。万一有些工程师任性就是不按规矩来怎么办呢?我们开发了三个安全SDK,第一个是MiEncrypc,它可以对传输数据进行加密保护,MiVM可以对我们的应用进行VM保护,SecWebView提供了安全的WebView组件

在静态漏洞检测方面,我们能对APK的大量安全漏洞进行扫描,不仅仅支持远程类型的安全漏洞,也支持本地类型的安全漏洞。

我们支持对一些新的应用形态进行安全检测。移动开发技术迭代更新非常快,例如React Native就是近几年来非常流行的一个框架。这个框架在小米也有很多应用,比如米家插件,小程序,快应用等等,我们的RNScan就实现了该部分的安全能力。

AIoT安全峰会议题回顾|黑灯:“手机 × AIoT” 智能安全评估

我们不仅支持静态安全检测,动态安全检测能力也是必须的。MiTMScan通过中间人技术,实现了API动态安全检测,并且利用云真机,实现了全机型的支持。通过自动化点击,实现了自动的安全测试。

接下来介绍一下隐私合规方面的能力。我之前下载过一个手电的APP,但是安装的时候,他跟我说要申请麦克风、通信录、摄像头等权限,我就纳闷了,一个手电筒要这些权限做什么?APP权限的过度申请也是威胁隐私的重要问题,系统支持对APP权限进行审查,并且我们的系统能够根据APP的类型打上标签,来判断是否过度的申请权限。只有通过审查的APP,才允许上架。
AIoT安全峰会议题回顾|黑灯:“手机 × AIoT” 智能安全评估
大家可能或多或少有了解到,近期有一些海外安全隐私合规的相关事件出现,国内有多款APP也被一些国家下架,造成了很大的影响。于是我们针对海外APP的跨境传输进行了重点审核,保证APP跨境传输的隐私合规。
在移动智能安全评估方面,我们实现了移动安全扫描平台各业务的全覆盖,并且在各个检测方向也取得了非常不错的成效。
最后,美好的事情即将发生,希望我们的手机×AIoT智能安全评估体系能够一起为美好保驾护航。谢谢大家!  

AIoT安全峰会议题回顾|黑灯:“手机 × AIoT” 智能安全评估


2020小米AIoT安全峰会议题索引



No.1 人脸识别的法律规制框架-洪延青

No.2 系统可信标准解读与实践-万鑫
No.3 构建安全可信的人工智能-朱玲凤
No.4 构建可信的物联网安全体-宋文宽

注意:关注小米安全中心,后台回复PPT即可获取本次峰会的议题ppt。

AIoT安全峰会议题回顾|黑灯:“手机 × AIoT” 智能安全评估
点击 “阅读原文” 获取ppt

本文始发于微信公众号(小米安全中心):AIoT安全峰会议题回顾|黑灯:“手机 × AIoT” 智能安全评估

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: