0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

DevEco Testing注入攻击测试的背后原理

OpenAtom OpenHarmony 来源:OpenAtom OpenHarmony 作者:OpenAtom OpenHarmony 2022-09-08 10:16 次阅读

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测试会涉及到以下接口:

9c68ff98-2eae-11ed-ba43-dac502259ad0.jpg

图1 Fuzz测试涉及的接口

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

(2)系统服务:大量系统服务开放接口被上层应用调用,承担着系统的核心功能。

(3)网络服务:Socket通信是设备对外传送数据的主要方式,是常见的远程攻击面。

(4)内核驱动:通过ioctl(input/output control)系统调用向上层提供读写/控制设备的能力。

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

2.Fuzz测试执行过程及分类

Fuzz测试效果备受业内认可,其执行过程并不复杂,通常分为以下步骤:

(1)选择高风险模块作为测试目标。

(2)基于种子数据,通过自动或是半自动的方式生成大量测试数据。

(3)将生成的数据作为输入,发送给被测试的系统执行。

(4)检测被测系统的状态(断言、异常、进程crash、错误、逻辑错误、重启、能否响应、响应是否正确、系统是否稳定等)。

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

(6)根据被测系统的异常状态,判断是否存在潜在的安全漏洞。

9c8e0a86-2eae-11ed-ba43-dac502259ad0.png

图2 Fuzz测试执行过程

根据测试过程中使用的不同关键技术,Fuzz测试可以分为白盒Fuzz、黑盒Fuzz、灰盒Fuzz三类:

9ca3d028-2eae-11ed-ba43-dac502259ad0.png

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

对于测试人员来说,黑盒Fuzz测试虽然简单易执行,但想要根据业务流程设计出系统、完备的测试解决方案,往往需要投入巨大成本,对于大多数企业来说这是难以负担的。为帮助生态合作伙伴解决这些难点,DevEco Testing推出了注入攻击测试服务。

三、DevEco Testing注入攻击测试

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

当前,注入攻击测试服务主要提供以下能力:

1.已集成系统服务接口和网络通信接口的Fuzz测试能力,支持一次任务多种接口类型同时测试。

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

3.可定制攻击强度和攻击权限,平台基于配置自动进行Fuzz测试引擎的无缝切换。

4.支持测试过程中手机的随时插拔,能够在设备重连后继续执行Fuzz测试任务。

使用DevEco Testing注入攻击测试服务的测试过程也非常简单,演示如下:

spacer.gif?t=B8DJ5M3测试过程演示

关键步骤如下:

1. 梳理接收外部数据输入的业务和接口(一般遵循新增/修改、对外开放暴露、权限低、距离攻击入口近的原则,制定风险优先级)。

2. 分析被测接口或者业务是如何被外部调用的(无需关注业务或者接口是如何实现的,只关注如何被调用即可)。

3. 连接设备,创建任务并执行。

4. 查看异常日志。

5. 根据异常分析是否存在漏洞。

6. 修复完漏洞后,重新测试验证。

测试小贴士:

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

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

2. 达到测试充分:满足时间或者次数要求。

具体的测试执行策略,开发者需根据自身业务情况确定。

四、结束语

目前许多开发者在产品设计和实现阶段忽视了安全问题,以至于上线后风险难以评估和把控。DevEco Testing提倡将安全测试左移,及时暴露出系统及设备漏洞,通过提供专业、易用、开放的测试服务,帮助OpenHarmony生态伙伴提前规避潜在风险。

审核编辑:彭静
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 数据
    +关注

    关注

    8

    文章

    6511

    浏览量

    87583
  • 操作系统
    +关注

    关注

    37

    文章

    6275

    浏览量

    121863
  • OpenHarmony
    +关注

    关注

    23

    文章

    3247

    浏览量

    15159

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

文章出处:【微信号:gh_e4f28cfa3159,微信公众号:OpenAtom OpenHarmony】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    HDC2021技术分论坛:吐司盒子?芝士码?HarmonyOS创新音视频测试技术来啦

    ——DevEco Testing,为生态合作伙伴接入HarmonyOS生态提供专业的测试服务。DevEco Testing推出的音视频
    发表于 11-02 10:52

    HDC2021技术分论坛:DevEco Testing,新增分布式测试功能

    的HarmonyOS测试解决方案产品——DevEco Testing,帮助开发者轻松掌握HarmonyOS测试技术。DevEco
    发表于 11-08 14:47

    HDC2021技术分论坛:吐司盒子?芝士码?HarmonyOS音视频测试来啦

    HarmonyOS生态整机测试能力中心——DevEco Testing,为生态合作伙伴接入HarmonyOS生态提供专业的测试服务。DevEco
    发表于 11-22 18:49

    HDC2021技术分论坛:DevEco Testing,新增分布式测试功能

    /驱动与系统的协同如何测试?设备与设备间的协同如何测试?为了解决上述问题,我们打造一款全新的HarmonyOS测试解决方案产品——DevEco Te
    发表于 11-23 16:52

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

    对Fuzz测试的原理和测试执行过程的介绍,让你深入了解DevEco Testing注入攻击
    发表于 09-15 10:31

    M2351常见的故障注入攻击方式及原理

    攻击具有一定的效果。本篇文章将介绍常见的故障注入攻击方式及其原理,并提出在不增加硬件成本下最有效益的软件防护方法,来防护这些攻击。 透过Fault Injection
    发表于 08-25 08:23

    面向抗攻击能力测试攻击知识库设计

    论文在对攻击知识和攻击知识库进行综合分析的基础上,针对网络设备的抗攻击能力测试要求,提出了一种面向抗攻击
    发表于 08-12 09:05 17次下载

    基于SQL注入攻击检测与防御的方法

    显露出来,这些给人们的生活、工作、学习都带来了巨大的损失。面对Web 网站存在的种种安全漏洞问题,文章通过对大量SQL注入攻击报文的攻击特征进行总结分析,结合SQL注入
    发表于 10-31 10:57 18次下载
    基于SQL<b class='flag-5'>注入</b><b class='flag-5'>攻击</b>检测与防御的方法

    一文带你了解安全测试基础之SQL注入

    传说,SQL注入是黑客对数据库进行攻击的常用手段,今天就来介绍一下SQL注入
    的头像 发表于 06-28 11:15 1989次阅读

    面向AES算法的电压故障注入攻击方法

    密钥的未知字节长度。结合注入故障后输出的错误密文,可通过穷举猜测的方式恢复初始密钥未知字节。攻击测试结果表明,通过该方法执行一次有效故障注入攻击
    发表于 06-08 14:16 4次下载

    HarmonyOS 测试技术与实践-DevEco Testing测试服务

    2021华为开发者大会HarmonyOS 测试技术与实践-DevEco Testing测试服务
    的头像 发表于 10-23 14:20 2574次阅读
    HarmonyOS <b class='flag-5'>测试</b>技术与实践-<b class='flag-5'>DevEco</b> <b class='flag-5'>Testing</b><b class='flag-5'>测试</b>服务

    HarmonyOS测试技术与实战-Deveco Testing图形栈测试分析能力

    HDC 2021华为开发者大会 HarmonyOS测试技术与实战-Deveco Testing图形栈测试分析能力
    的头像 发表于 10-23 15:34 2091次阅读
    HarmonyOS<b class='flag-5'>测试</b>技术与实战-<b class='flag-5'>Deveco</b> <b class='flag-5'>Testing</b>图形栈<b class='flag-5'>测试</b>分析能力

    华为开发者分论坛HarmonyOS测试技术与实战--Deveco Testing音频测试工具与结果

    华为开发者分论坛HarmonyOS测试技术与实战-Deveco Testing音频测试工具与结果
    的头像 发表于 10-23 16:36 2281次阅读
    华为开发者分论坛HarmonyOS<b class='flag-5'>测试</b>技术与实战--<b class='flag-5'>Deveco</b> <b class='flag-5'>Testing</b>音频<b class='flag-5'>测试</b>工具与结果

    Kiuwan开发者预防SQL注入攻击的5大最佳实践

    很明显,SQL注入攻击会造成严重的经济和声誉后果。为了避免成为这种攻击的受害者,开发人员必须采取主动措施保护他们的系统免受恶意行为者的攻击。以下是开发人员和组织防止SQL
    的头像 发表于 07-16 11:46 440次阅读

    M2354错误注入攻击(Fault Injection Attack)防护

    M2354错误注入攻击(Fault Injection Attack)防护
    的头像 发表于 08-10 11:12 430次阅读
    M2354错误<b class='flag-5'>注入</b><b class='flag-5'>攻击</b>(Fault Injection Attack)防护