隨著科技的進步,我們日常生活中,都會大量的接觸各式各樣的軟體程式。
不論是金融、醫療、國防、能源、和其他重要的基礎設施。隨著軟體變得更加重要、複雜且透過網路介接後,維護應用程式安全的難度也指數上昇。
軟體開發生命週期時程愈來愈緊縮下,如何快速、凖確地識別軟體安全風險也變得愈來愈重要。
OWASP Code Review Guide提出識別風險漏洞的常用方法有:
得留意沒有一種方法能識別軟體可能存在的所有漏洞。但縱深防禦方法將減少未知問題的風險。
在2015年美國AppSec的一項調查中,提出哪種安全方法對何種漏洞類型最有效。
專家安全程式碼人工檢視,在隱私漏洞(Privacy issues)、商業邏輯錯誤(Business logic bugs)及通用安全性漏洞類型(General security vulnerabilities)中,都是最有效的。
自動化工具掃瞄原始碼,在通用安全性漏洞類型(General security vulnerabilities)中,則是第二有效的。
調查顯示,專家安全程式碼人工檢視應成為公司軟體安全生命週期的一部份,在許多情況下,和其他的安全檢測方法一樣好,甚至更好。
而透過原始碼檢測工具針對原始碼進行分析(line-by-line)並試圖找出安全性相關議題,可彌補軟體安全相關專業人員不足的問題。
建議在開發階段即進行白箱檢測,找出原始碼安全弱點,此時的修復成本最低。
給軟體開發者的建議,原始碼檢測可以如何協助開發者有效率且安全強化軟體開發週期?
數聯資安的原始碼檢測服務,採用連續10年獲得領導者評比的市場指標性靜態原始碼檢測工具。
先使用自動化工具進行從大量的應用程式原始碼中,作快速的原始碼掃描,查找被認為可能導致安全漏洞的議題。
再經由安全專家進行原始碼人工檢視,協助開發人員迅速採取修正措施並且避免開發人員重複同樣的錯誤,進而安全強化軟體開發生命週期。