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