OpenAtom OpenHarmony(以下简称“OpenHarmony”)作为面向全场景的开源分布式操作体系,可广泛运用于智能家居物联网终端、智能穿戴、才智大屏、汽车智能座舱、音箱等智能终端,为用户供给全场景跨设备的极致体会。这些搭载OpenHarmony的智能终端设备(后文简称:OpenHarmony终端)触及人们生活的方方面面,成了记载人们日常行为数据和隐私信息的重要载体。不可避免地,这让OpenHarmony终端成了网络黑客的进犯方针,一旦发现设备存在安全缝隙,进犯者就会针对缝隙进行恶意进犯和运用。不只影响到用户设备、隐私和财产安全,对社会安全更是埋下了潜在危险。

为看护OpenHarmony终端安全,HUAWEI DevEco Testing安全测验团队带来了成熟的安全解决方案——注入进犯测验。

一、HUAWEI DevEco Testing介绍

HUAWEI DevEco Testing(后文简称:DevEco Testing)是华为为OpenHarmony生态合作同伴打造的测验服务渠道,为同伴接入供给专业的测验服务,共筑高品质的智能硬件和运用产品

为协助生态合作同伴看护OpenHarmony终端安全,DevEco Testing团队将华为公司多年的攻防经验实例化,总结出一套丰富、全面的安全测验用例库,形成了标准化的黑盒Fuzz主动化测验服务——注入进犯测验。

因为DevEco Testing注入进犯测验是一种黑盒Fuzz主动化测验,下面我们就先从Fuzz测验谈起,经过对Fuzz测验的原理和测验履行进程的介绍,让你深入了解DevEco Testing注入进犯测验的背后原理。

二、Fuzz测验

面临网络黑客对缝隙的恶意进犯,相较于被迫应对外部的暴力破解,安全专家们更乐于主动出击。经过模拟进犯者思维,针对事务体系进行缝隙发掘,以暴露出事务流程中潜在的安全缺点。业界进行缝隙发掘常用的手法包括静态代码扫描、Fuzz测验、浸透测验等,其间Fuzz测验因其作用显著且原理简略,被广泛运用在黑客界、学术界及企业界。例如,Google将Fuzz测验用例作为产品代码交给的标准项,以保证交给组件是安稳、安全和牢靠的;微软也在产品全周期中继续进行Fuzz测验,从单元测验到体系测验,Fuzz从不停止。

1.Fuzz测验原理及运用场景

Fuzz测验是一种经过供给很多非预期的输入(恶意/随机数据),并监测被测体系是否出现反常结果,来发现运用程序中是否存在安全问题的安全测验技术。

通常来说,只要是承受外部数据输入的事务组件/接口,都需求进行Fuzz测验的覆盖。比如,存在外部进口的协议报文、外部文件的解析代码、体系服务接口等,都触及外部数据输入,被进犯后安全危险十分高。以常见的移动操作体系为例,如图1所示,Fuzz测验会触及到以下接口:

HUAWEI DevEco Testing注入攻击测试:以攻为守,守护OpenHarmony终端安全

图1 Fuzz测验触及的接口

(1)运用层:上层运用对外暴露的组件,可能承受外部Intent输入。

(2)体系服务:很多体系服务敞开接口被上层运用调用,承担着体系的中心功用。

(3)网络服务:Socket通信是设备对外传送数据的首要方法,是常见的长途进犯面。

(4)内核驱动:经过ioctl(input/output control)体系调用向上层供给读写/操控设备的能力。

针对以上接口,Fuzz测验能发现大多数常见的安全问题:空指针、数组越界、缓冲区溢出、整数溢出、格局串缝隙、资源分配、有效性检查缺少和内存走漏等。相较于上线后发现缝隙紧迫修复,经过Fuzz测验将常见的安全问题暴露在上线前是企业更优的挑选。

2.Fuzz测验履行进程及分类

Fuzz测验作用备受业界认可,其履行进程并不复杂,通常分为以下进程:

(1)挑选高危险模块作为测验方针。

(2)基于种子数据,经过主动或是半主动的方法生成很多测验数据。

(3)将生成的数据作为输入,发送给被测验的体系履行。

(4)检测被测体系的状况(断言、反常、进程crash、过错、逻辑过错、重启、能否呼应、呼应是否正确、体系是否安稳等)。

(5)依据每次数据履行的结果,反向指导数据的变异,以生成更有效的数据、覆盖更多分支。

(6)依据被测体系的反常状况,判断是否存在潜在的安全缝隙。

HUAWEI DevEco Testing注入攻击测试:以攻为守,守护OpenHarmony终端安全

图2 Fuzz测验履行进程

依据测验进程中运用的不同关键技术,Fuzz测验能够分为白盒Fuzz、黑盒Fuzz、灰盒Fuzz三类:

HUAWEI DevEco Testing注入攻击测试:以攻为守,守护OpenHarmony终端安全

其间,黑盒Fuzz测验效率最高,无需考虑内部逻辑结构,仅着眼于程序外部结构,即可快速验证很多潜在的安全威胁。

对于测验人员来说,黑盒Fuzz测验尽管简略易履行,但想要依据事务流程设计出体系、完备的测验解决方案,往往需求投入巨大成本,对于大多数企业来说这是难以负担的。为协助生态合作同伴解决这些难点,DevEco Testing推出了注入进犯测验服务。

三、DevEco Testing注入进犯测验

DevEco Testing注入进犯测验,是一种黑盒Fuzz主动化测验服务。在进行注入进犯测验时,将程序看作一个不能打开的黑盒子。在不考虑程序内部结构及特性的情况下,测验人员灵活挑选接口进行测验,以检查程序是否能适当地接纳输入数据而产生正确的输出信息。

当时,注入进犯测验服务首要供给以下能力:

1.已集成体系服务接口和网络通信接口的Fuzz测验能力,支持一次使命多种接口类型一起测验。

2.支持体系全量SA接口和Socket端口的全主动化测验,零用例,零学习成本。

3.可定制进犯强度和进犯权限,渠道基于配置主动进行Fuzz测验引擎的无缝切换。

4.支持测验进程中手机的随时插拔,能够在设备重连后继续履行Fuzz测验使命。

运用DevEco Testing注入进犯测验服务的测验进程也十分简略,演示如下:

HUAWEI DevEco Testing注入攻击测试:以攻为守,守护OpenHarmony终端安全

测验进程演示

关键进程如下:

  1. 梳理接纳外部数据输入的事务和接口(一般遵循新增/修改、对外敞开暴露、权限低、距离进犯进口近的准则,制定危险优先级)。

  2. 剖析被测接口或许事务是怎么被外部调用的(无需重视事务或许接口是怎么实现的,只重视怎么被调用即可)。

  3. 连接设备,创建使命并履行。

  4. 检查反常日志。

  5. 依据反常剖析是否存在缝隙。

  6. 修复完缝隙后,从头测验验证。

测验小贴士:

依据Fuzz测验原理,测验履行时间越长,覆盖的分支越多,测验深度就越深。但产品测验,不可能无限期测验,需求平衡测验时长与作用。依据华为内部测验经验,满足以下两个条件可结束测验:

  1. 到达基本安稳:不生成新的Bug。

  2. 到达测验充沛:满足时间或许次数要求。

具体的测验履行战略,开发者需依据本身事务情况确认。

四、结束语

目前许多开发者在产品设计和实现阶段忽视了安全问题,以至于上线后危险难以评估和把控。DevEco Testing发起将安全测验左移,及时暴露出体系及设备缝隙,经过供给专业、易用、敞开的测验服务,协助OpenHarmony生态同伴提前规避潜在危险。对本期内容感兴趣的小同伴,点击大众号“阅览原文”填写《DevEco Testing测验服务试用请求》,即可请求试用DevEco Testing注入进犯测验服务。

更多安全测验解决方案即将上线,敬请期待!

HUAWEI DevEco Testing注入攻击测试:以攻为守,守护OpenHarmony终端安全