天天看點

二進制SCA檢測工具---技術短闆及應對措施

【摘要】 SCA分析技術通常被用來進行安全審計、漏洞掃描分析,但二進制檔案在産品包中的類型與形态非常複雜,不同語言的軟體設計、開發、編譯、打包方法也千差萬别;二進制SCA檢測技術既有它的長處,同時它自身技術短闆也存在着一些無法或很難解決的場景。本文針對二進制SCA檢測技術短闆所面臨的一些特殊場景、檢測影響及應對措施進行詳細分析和說明,希望對使用二進制SCA檢測工具的測試和研發人員有所幫助。

世間萬物都不可能是十全十美的,二進制SCA檢測技術也逃不過此宿命,它既有它的長處,能解決其他技術不能或很難解決的問題和場景,同時它自身技術短闆也面臨着一些無法或很難解決的場景。

我們知道二進制檔案在産品包中的類型與形态是非常複雜的,不同語言的二進制檔案有各自不同的特點,同時不同開發人員進行軟體設計、開發、編譯、打包的方式和場景更是千差萬别,以産品引用開源軟體的方式為例就存在以下場景:patch打更新檔版本号不變、産品引用開源軟體部分功能場景下的部分編譯、自研代碼基于開源軟體源碼的侵入式修改,以及不同開源軟體的被動依賴等等場景,在這些複雜的場景下二進制SCA工具檢測能力和檢測結果正确性會受到極大的挑戰和影響。

解決或緩解這些影響的思路無非就兩種:外部解決和内部解決。從外部解決的方法是盡可能的減少或避免出現二進制SCA短闆場景,從軟體的設計、開發編譯、打包部署等在不同階段進行優化和規範,摒棄不合理的做法,盡量避免出現二進制SCA工具的短闆場景;另外一個是測試工具及測試方法的優化,把二進制SCA工具用來做它擅長的事,避免出現用大炮打蚊子的事情。從内部解決的方法則是優化工具的能力和算法,盡可能來提升工具的适用場景,減少短闆場景。

下面針對二進制SCA工具的技術短闆面臨的特殊場景的特點、檢測影響和應對措施進行較長的描述:

解包特殊場景:被測軟體包采用了自定義的打包算法或加密過的壓縮包

解包影響:解包工具無法正确的進行解包,會導緻檢測結果遺漏;

應對措施:測試人員可以先用專用工具進行解包,再用tar、zip等工具對解包後的目錄重新打包,上傳新包進行檢測即可。

繼續閱讀