源碼檢測以檢視原始程式碼的方式,尋找並指出程式中潛藏的安全性弱點,分析其弱點種類、攻擊路徑等資訊;透過分析結果,開發人員可以修改程式以避免弱點產生。相較於其它的檢查方式,如動態掃描或滲透測試;源碼檢測的執行條件相對單純(不需要有可運作之系統);同時也有較低的誤報率,因此不論系統在開發階段或維護階段都適合進行源碼檢測。
關貿網路SOC提供完善的源碼檢測服務,服務流程如圖表 1所示;除了執行程式碼掃描及報表產出工作,在服務初期由源碼分析專員先至客戶端進行需求訪談,以了解應用系統之程式架構及其他特殊需求。
檢測的方式可依客戶需求(如:原始碼的機密性要求),進行到場檢測或原始碼携回檢測。檢測完成後,產出檢測結果報表,交付客戶;產出之報表如圖表 2,包含弱點的分佈及詳細狀態,讓程式人員可以很快的識別並修補程式弱點。並可依客戶之需求,由源碼檢測顧問團隊提供報表解讀及程式碼修正輔導服務,以協助客戶有效解決程式碼之安全漏洞,鞏固網站安全。在服務週期中,可搭配安全程式編碼之教育訓練服務,提昇客戶對網站弱點的了解及如何安全的撰寫程式碼,以強化資安觀念及意識。
源碼檢測之預期效益:
1. 有效減少企業因個資外洩造成之罰則
情境:因網站應用程式撰寫不當,被駭客入侵成功,導致客戶資料200筆外洩,若以每筆兩萬元罰金計算,將被課以200萬的罰金,而企業若能在網站應用程式上線前,以源碼檢測先行找出漏洞,並加以修正,即可防患防然,以遠小於罰金的成本,省去高額罰金,外加保障公司的聲譽-無價。
2. 降低程式除錯之成本
情境:若以一個應用系統200個漏洞計算,修正一個漏洞,包括找出漏洞,分析原因,判斷如何修正,修正程式碼,單元測試,整合測試等,保守估計一個程式設計師需時4個小時,以月薪四萬來計算,200個漏洞所需人力成本約18萬元,還要加上其他的成本,如:品保工程師,專案經理,客服人員等,以及程式設計師的機會成本,但若能以源碼檢測在上線前分析程式,並協助定位漏洞程式碼,分析原因及修正,可大幅降低以上成本。
(源碼檢測服務流程圖)
(源碼分析報表範例)