OpenAtom OpenHarmony(以下簡稱“OpenHarmony”)作為面向全場景的開源分布式操作系統(tǒng),可廣泛應(yīng)用于智能家居物聯(lián)網(wǎng)終端、智能穿戴、智慧大屏、汽車智能座艙、音箱等智能終端,為用戶提供全場景跨設(shè)備的極致體驗。這些搭載OpenHarmony的智能終端設(shè)備(后文簡稱:OpenHarmony終端)涉及人們生活的方方面面,成了記錄人們?nèi)粘P袨閿?shù)據(jù)和隱私信息的重要載體。不可避免地,這讓OpenHarmony終端成了網(wǎng)絡(luò)黑客的攻擊目標,一旦發(fā)現(xiàn)設(shè)備存在安全漏洞,攻擊者就會針對漏洞進行惡意攻擊和利用。不僅影響到用戶設(shè)備、隱私和財產(chǎn)安全,對社會安全更是埋下了潛在隱患。
為守護OpenHarmony終端安全,HUAWEI DevEco Testing安全測試團隊帶來了成熟的安全解決方案——注入攻擊測試。
一、HUAWEI DevEco Testing介紹
HUAWEI DevEco Testing(后文簡稱:DevEco Testing)是華為為OpenHarmony生態(tài)合作伙伴打造的測試服務(wù)平臺,為伙伴接入提供專業(yè)的測試服務(wù),共筑高品質(zhì)的智能硬件和應(yīng)用產(chǎn)品。
為幫助生態(tài)合作伙伴守護OpenHarmony終端安全,DevEco Testing團隊將華為公司多年的攻防經(jīng)驗實例化,總結(jié)出一套豐富、全面的安全測試用例庫,形成了標準化的黑盒Fuzz自動化測試服務(wù)——注入攻擊測試。
由于DevEco Testing注入攻擊測試是一種黑盒Fuzz自動化測試,下面我們就先從Fuzz測試談起,通過對Fuzz測試的原理和測試執(zhí)行過程的介紹,讓你深入了解DevEco Testing注入攻擊測試的背后原理。
二、Fuzz測試
面對網(wǎng)絡(luò)黑客對漏洞的惡意攻擊,相較于被動應(yīng)對外部的暴力破解,安全專家們更樂于主動出擊。通過模擬攻擊者思維,針對業(yè)務(wù)系統(tǒng)進行漏洞挖掘,以暴露出業(yè)務(wù)流程中潛在的安全缺陷。業(yè)內(nèi)進行漏洞挖掘常用的手段包括靜態(tài)代碼掃描、Fuzz測試、滲透測試等,其中Fuzz測試因其效果顯著且原理簡單,被廣泛運用在黑客界、學(xué)術(shù)界及企業(yè)界。例如,Google將Fuzz測試用例作為產(chǎn)品代碼交付的標準項,以確保交付組件是穩(wěn)定、安全和可靠的;微軟也在產(chǎn)品全周期中持續(xù)進行Fuzz測試,從單元測試到系統(tǒng)測試,F(xiàn)uzz從不停止。
1.Fuzz測試原理及應(yīng)用場景
Fuzz測試是一種通過提供大量非預(yù)期的輸入(惡意/隨機數(shù)據(jù)),并監(jiān)測被測系統(tǒng)是否出現(xiàn)異常結(jié)果,來發(fā)現(xiàn)應(yīng)用程序中是否存在安全問題的安全測試技術(shù)。
通常來說,只要是接受外部數(shù)據(jù)輸入的業(yè)務(wù)組件/接口,都需要進行Fuzz測試的覆蓋。比如,存在外部入口的協(xié)議報文、外部文件的解析代碼、系統(tǒng)服務(wù)接口等,都涉及外部數(shù)據(jù)輸入,被攻擊后安全風(fēng)險非常高。以常見的移動操作系統(tǒng)為例,如圖1所示,F(xiàn)uzz測試會涉及到以下接口:
圖1 Fuzz測試涉及的接口
(1)應(yīng)用層:上層應(yīng)用對外暴露的組件,可能接受外部Intent輸入。
(2)系統(tǒng)服務(wù):大量系統(tǒng)服務(wù)開放接口被上層應(yīng)用調(diào)用,承擔(dān)著系統(tǒng)的核心功能。
(3)網(wǎng)絡(luò)服務(wù):Socket通信是設(shè)備對外傳送數(shù)據(jù)的主要方式,是常見的遠程攻擊面。
(4)內(nèi)核驅(qū)動:通過ioctl(input/output control)系統(tǒng)調(diào)用向上層提供讀寫/控制設(shè)備的能力。
針對以上接口,F(xiàn)uzz測試能發(fā)現(xiàn)大多數(shù)常見的安全問題:空指針、數(shù)組越界、緩沖區(qū)溢出、整數(shù)溢出、格式串漏洞、資源分配、有效性檢查缺少和內(nèi)存泄漏等。相較于上線后發(fā)現(xiàn)漏洞緊急修復(fù),通過Fuzz測試將常見的安全問題暴露在上線前是企業(yè)更優(yōu)的選擇。
2.Fuzz測試執(zhí)行過程及分類
Fuzz測試效果備受業(yè)內(nèi)認可,其執(zhí)行過程并不復(fù)雜,通常分為以下步驟:
(1)選擇高風(fēng)險模塊作為測試目標。
(2)基于種子數(shù)據(jù),通過自動或是半自動的方式生成大量測試數(shù)據(jù)。
(3)將生成的數(shù)據(jù)作為輸入,發(fā)送給被測試的系統(tǒng)執(zhí)行。
(4)檢測被測系統(tǒng)的狀態(tài)(斷言、異常、進程crash、錯誤、邏輯錯誤、重啟、能否響應(yīng)、響應(yīng)是否正確、系統(tǒng)是否穩(wěn)定等)。
(5)根據(jù)每次數(shù)據(jù)執(zhí)行的結(jié)果,反向指導(dǎo)數(shù)據(jù)的變異,以生成更有效的數(shù)據(jù)、覆蓋更多分支。
(6)根據(jù)被測系統(tǒng)的異常狀態(tài),判斷是否存在潛在的安全漏洞。
圖2 Fuzz測試執(zhí)行過程
根據(jù)測試過程中使用的不同關(guān)鍵技術(shù),F(xiàn)uzz測試可以分為白盒Fuzz、黑盒Fuzz、灰盒Fuzz三類:
其中,黑盒Fuzz測試效率最高,無需考慮內(nèi)部邏輯結(jié)構(gòu),僅著眼于程序外部結(jié)構(gòu),即可快速驗證大量潛在的安全威脅。
對于測試人員來說,黑盒Fuzz測試雖然簡單易執(zhí)行,但想要根據(jù)業(yè)務(wù)流程設(shè)計出系統(tǒng)、完備的測試解決方案,往往需要投入巨大成本,對于大多數(shù)企業(yè)來說這是難以負擔(dān)的。為幫助生態(tài)合作伙伴解決這些難點,DevEco Testing推出了注入攻擊測試服務(wù)。
三、DevEco Testing注入攻擊測試
DevEco Testing注入攻擊測試,是一種黑盒Fuzz自動化測試服務(wù)。在進行注入攻擊測試時,將程序看作一個不能打開的黑盒子。在不考慮程序內(nèi)部結(jié)構(gòu)及特性的情況下,測試人員靈活選擇接口進行測試,以檢查程序是否能適當(dāng)?shù)亟邮蛰斎霐?shù)據(jù)而產(chǎn)生正確的輸出信息。
當(dāng)前,注入攻擊測試服務(wù)主要提供以下能力:
1.已集成系統(tǒng)服務(wù)接口和網(wǎng)絡(luò)通信接口的Fuzz測試能力,支持一次任務(wù)多種接口類型同時測試。
2.支持系統(tǒng)全量SA接口和Socket端口的全自動化測試,零用例,零學(xué)習(xí)成本。
3.可定制攻擊強度和攻擊權(quán)限,平臺基于配置自動進行Fuzz測試引擎的無縫切換。
4.支持測試過程中手機的隨時插拔,能夠在設(shè)備重連后繼續(xù)執(zhí)行Fuzz測試任務(wù)。
使用DevEco Testing注入攻擊測試服務(wù)的測試過程也非常簡單,演示如下:
測試過程演示
關(guān)鍵步驟如下:
1. 梳理接收外部數(shù)據(jù)輸入的業(yè)務(wù)和接口(一般遵循新增/修改、對外開放暴露、權(quán)限低、距離攻擊入口近的原則,制定風(fēng)險優(yōu)先級)。
2. 分析被測接口或者業(yè)務(wù)是如何被外部調(diào)用的(無需關(guān)注業(yè)務(wù)或者接口是如何實現(xiàn)的,只關(guān)注如何被調(diào)用即可)。
3. 連接設(shè)備,創(chuàng)建任務(wù)并執(zhí)行。
4. 查看異常日志。
5. 根據(jù)異常分析是否存在漏洞。
6. 修復(fù)完漏洞后,重新測試驗證。
測試小貼士:
根據(jù)Fuzz測試原理,測試執(zhí)行時間越長,覆蓋的分支越多,測試深度就越深。但產(chǎn)品測試,不可能無限期測試,需要平衡測試時長與效果。根據(jù)華為內(nèi)部測試經(jīng)驗,滿足以下兩個條件可結(jié)束測試:
1. 達到基本穩(wěn)定:不生成新的Bug。
2. 達到測試充分:滿足時間或者次數(shù)要求。
具體的測試執(zhí)行策略,開發(fā)者需根據(jù)自身業(yè)務(wù)情況確定。
四、結(jié)束語
目前許多開發(fā)者在產(chǎn)品設(shè)計和實現(xiàn)階段忽視了安全問題,以至于上線后風(fēng)險難以評估和把控。DevEco Testing提倡將安全測試左移,及時暴露出系統(tǒng)及設(shè)備漏洞,通過提供專業(yè)、易用、開放的測試服務(wù),幫助OpenHarmony生態(tài)伙伴提前規(guī)避潛在風(fēng)險。
-
數(shù)據(jù)
+關(guān)注
關(guān)注
8文章
7256瀏覽量
91894 -
操作系統(tǒng)
+關(guān)注
關(guān)注
37文章
7152瀏覽量
125610 -
OpenHarmony
+關(guān)注
關(guān)注
29文章
3854瀏覽量
18631
原文標題:HUAWEI DevEco Testing注入攻擊測試:以攻為守,守護OpenHarmony終端安全
文章出處:【微信號:gh_e4f28cfa3159,微信公眾號:OpenAtom OpenHarmony】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
HDC2021技術(shù)分論壇:DevEco Testing,新增分布式測試功能
HDC2021技術(shù)分論壇:DevEco Testing,新增分布式測試功能
HUAWEI DevEco Testing注入攻擊測試:以攻為守,守護OpenHarmony終端安全
M2351常見的故障注入攻擊方式及原理
基于SQL注入攻擊檢測與防御的方法

基于駕駛行為和速度的車內(nèi)網(wǎng)CAN數(shù)據(jù)防注入攻擊

時鐘毛刺注入攻擊的研究分析綜述

面向AES算法的電壓故障注入攻擊方法
HarmonyOS 測試技術(shù)與實踐-DevEco Testing測試服務(wù)

HarmonyOS測試技術(shù)與實戰(zhàn)-Deveco Testing圖形棧測試分析能力

華為開發(fā)者分論壇HarmonyOS測試技術(shù)與實戰(zhàn)--Deveco Testing音頻測試工具與結(jié)果

DevEco Studio 3.0 測試版來啦

代碼的黑盒測試(下)|?庫接口測試Library Interface Testing

評論