隨著防火墻、內(nèi)網(wǎng)隔離等常規(guī)網(wǎng)絡(luò)安全基礎(chǔ)設(shè)施的持續(xù)迭代,網(wǎng)絡(luò)空間安全將進(jìn)入縱深地帶,核心戰(zhàn)場將從外部邊界防護(hù)遷移到軟件內(nèi)部安全上。即當(dāng)單純外部網(wǎng)絡(luò)系統(tǒng)攻防都做的非常完備的時(shí)候,軟件內(nèi)部的致命漏洞將成為整個(gè)安全流程中的阿喀琉斯之踵,而軟件內(nèi)部漏洞挖掘也將成為未來安全體系中最重要的環(huán)節(jié)。
那么,我們應(yīng)該如何來挖掘軟件內(nèi)部的漏洞呢?傳統(tǒng)軟件測試仍是以人工為主,部分輔助一些靜態(tài)分析工具。隨著軟件規(guī)模的大爆發(fā),據(jù)統(tǒng)計(jì)整體代碼量正在以每年1110億行代碼的速度增長,人工寫測試用例的方式已經(jīng)遠(yuǎn)遠(yuǎn)不能滿足各行業(yè)對(duì)于軟件安全性和健壯性的要求。基于靜態(tài)分析的代碼審計(jì)工具,通過漏洞規(guī)則去做模式匹配,只能查找已知漏洞,誤報(bào)率高,并且對(duì)復(fù)雜邏輯的代碼場景以及未知缺陷無能為力。
模糊測試是一種高效保證軟件質(zhì)量的動(dòng)態(tài)測試方法,但是目前商業(yè)化產(chǎn)品較少,而開源的模糊測試工具使用難度高、適配性不強(qiáng),需要大量的人工才能獲得有效的測試結(jié)果。
因此,我們迫切需要一種有效的商業(yè)化模糊測試產(chǎn)品來挖掘軟件漏洞,滿足軟件安全性和健壯性的要求,并大力提升軟件質(zhì)量。
2018年,安般科技根據(jù)前期的程序分析技術(shù)積累,完成了模糊測試系統(tǒng)雛形,并于2020年實(shí)現(xiàn)易恒智能模糊測試系統(tǒng)商業(yè)化,是國內(nèi)首批模糊測試商業(yè)化產(chǎn)品。此后,安般科技通過該核心產(chǎn)品全面進(jìn)入軍工、信創(chuàng)和汽車等行業(yè),并與多個(gè)行業(yè)的標(biāo)桿客戶展開合作,在產(chǎn)品的開發(fā)和測試階段挖掘軟件缺陷,為企業(yè)軟件質(zhì)量保駕護(hù)航。
自動(dòng)用例生成
易恒智能模糊測試系統(tǒng)使用定制的編譯器對(duì)程序進(jìn)行插樁,根據(jù)插樁反饋智能自動(dòng)生成測試用例覆蓋各種路徑場景,提高測試覆蓋率。引入易恒模糊測試系統(tǒng)后,研發(fā)團(tuán)隊(duì)無需大量人工編寫測試用例、搭建硬件環(huán)境,將替代手動(dòng)編寫負(fù)面測試用例的工作。
缺陷精準(zhǔn)定位
易恒智能模糊測試系統(tǒng)會(huì)記錄錯(cuò)誤現(xiàn)場,支持缺陷精準(zhǔn)定位到代碼行,并提供專業(yè)修復(fù)建議,從而輔助研發(fā)團(tuán)隊(duì)快速修復(fù)缺陷,節(jié)省大量手動(dòng)調(diào)試時(shí)間。
操作易上手
易恒智能模糊測試系統(tǒng)支持全中文交互,操作界面簡單干凈,操作流程簡單易懂,只需簡單培訓(xùn)即可上手使用。系統(tǒng)支持Jenkins等開發(fā)工具集成,幫助客戶完成測試左移,在開發(fā)環(huán)節(jié)發(fā)現(xiàn)隱藏在代碼之中的漏洞風(fēng)險(xiǎn),也可以對(duì)接缺陷管理系統(tǒng)實(shí)現(xiàn)全流程自動(dòng)化閉環(huán),大幅度縮短軟件開發(fā)和測試周期。在實(shí)際應(yīng)用中,相對(duì)于傳統(tǒng)方式,易恒智能模糊測試系統(tǒng)預(yù)計(jì)平均為企業(yè)平均節(jié)約30%的人力成本。
零日漏洞挖掘
易恒智能模糊測試系統(tǒng)不依賴于已知漏洞庫,在程序動(dòng)態(tài)運(yùn)行時(shí)挖掘未知缺陷,能夠以純自動(dòng)化的方式找到其他任何測試工具都難以找到的零日漏洞,從而全方位保障軟件魯棒性和安全性。
測試報(bào)告內(nèi)容豐富
易恒智能模糊測試系統(tǒng)支持一鍵導(dǎo)出測試報(bào)告,清晰展示項(xiàng)目詳情,如測試的時(shí)間、生成的用例數(shù)量、測出的問題等。并且針對(duì)發(fā)現(xiàn)的缺陷展示bug詳細(xì)信息,如bug摘要、缺陷類型、導(dǎo)致缺陷的代碼行數(shù)、調(diào)用棧信息、修復(fù)建議和一些示例參考信息等。測試報(bào)告的豐富內(nèi)容將輔助客戶達(dá)成GJB438B軍用軟件開發(fā)通用要求。
部署方式靈活
易恒智能模糊測試系統(tǒng)針對(duì)不同的使用場景,支持云服務(wù)和私有化部署等多種方式,助力企業(yè)客戶持續(xù)提升軟件質(zhì)量。
同時(shí),易恒智能模糊測試系統(tǒng)可以完整接入到軟件全生命周期的各個(gè)流程:在開發(fā)階段,與CI工具深度融合,并可根據(jù)軟件的構(gòu)想和設(shè)計(jì),通過全數(shù)字仿真搭建與真實(shí)硬件一致的環(huán)境,解決開發(fā)過程中的代碼調(diào)試問題;在測試階段,秉承“測試左移”的先進(jìn)測試?yán)砟睿趩卧獪y試、模塊集成層面使用智能模糊測試系統(tǒng)為單元測試、集成測試提供強(qiáng)大的負(fù)面測試支撐,在開發(fā)的早期階段排除產(chǎn)品中存在的缺陷和風(fēng)險(xiǎn);在驗(yàn)證階段,智能模糊測試結(jié)合全數(shù)字仿真的技術(shù)可以免除繁瑣的硬件環(huán)境搭建、驗(yàn)證動(dòng)作,并可以保證硬件環(huán)境的可靠性、穩(wěn)定性,有效規(guī)避驗(yàn)證過程中由于硬件環(huán)境問題造成的錯(cuò)誤結(jié)論及繁雜的硬件排錯(cuò)工作;在維護(hù)階段,易恒智能模糊測試系統(tǒng)具有提供故障的準(zhǔn)確定位、具體信息的能力,能夠快速復(fù)現(xiàn)故障現(xiàn)場,幫助開發(fā)人員高效、精準(zhǔn)地修復(fù)故障及缺陷。
目前,易恒智能模糊測試系統(tǒng)已與多個(gè)行業(yè)標(biāo)桿客戶達(dá)成合作并獲得良好的使用反饋,切實(shí)解決了國內(nèi)企業(yè)在軟件質(zhì)量上的痛點(diǎn),為國產(chǎn)軟件賦能。比如某信創(chuàng)企業(yè)通過易恒系統(tǒng)在單元測試和集成測試層面進(jìn)行模糊測試,通過動(dòng)態(tài)運(yùn)行的方式來發(fā)現(xiàn)各類導(dǎo)致程序崩潰的問題,并且將易恒集成到DevOps平臺(tái),實(shí)現(xiàn)全自動(dòng)化測試流程,持續(xù)提升測試覆蓋率。該客戶將模糊測試和靜態(tài)分析相結(jié)合以全方位保障軟件的質(zhì)量,極大地提高了軟件穩(wěn)定性,并提高了市場競爭力。未來,易恒智能模糊測試系統(tǒng)將繼續(xù)在軟件的開發(fā)、測試、驗(yàn)收等全生命周期的應(yīng)用中幫助企業(yè)提升開發(fā)效率、降低研發(fā)成本、提高軟件質(zhì)量。