top of page

ISO27001:2022改版系列專題(八)─程式開發安全(Secure coding)

現今許多安全漏洞是程式錯誤導致的,應用程式含有漏洞會造成嚴重的安全隱患,輕則程式崩潰無法運行,重則造成隱私外洩,甚至被駭客取得裝置控制權,因此程式開發的安全便極為重要。


舊版ISO27001:2013的A.14.2 於開發及支援過程中之安全在改版之後分為開發環境的安全、開發過程的安全兩大面向。新版ISO27001:2022的A.8.25保全開發循環側重開發過程的安全,要求在服務、硬體架構、軟體系統等方面確認開發開發循環安全。


新版ISO27001:2022的A.8.28程式開發安全(Secure coding)側重的是開發過程的安全,要求組織建立流程,針對軟體開發的前、中、後三階段提出最低安全準則,目的是要盡可能的減少資訊安全漏洞。


現今有許多工程師是所謂的「複製貼上工程師」,直接使用網路搜尋到的程式碼來實做功能,因此我們經常會發現含有相同漏洞的程式碼,出現在許多不同的程式中,網路上有許多程式碼只注重執行結果,並不在乎是否有安全隱患。應用程式最佳的設計便是要假設它總是受到攻擊,開發者要評估程式可能的攻擊面,任何會經由使用者輸入的內容所影響的執行序,皆需要特別謹慎的處理。


程式開發安全還應適時結合ISO27001:2022的A.8.16控制項─活動監控(Monitoring activities) ,要監控程式各種例外狀況,並記錄程式發生的錯誤,以利後續維護,藉由分析LOG檔找出並排除錯誤,最後開發出的成果還需進行加殼、程式碼混淆等原始碼保護機制,以增加駭客逆向工程、竄改程式的成本與難度。

最後在後期維護方面,為避免在開發過程中百密難免有一疏,組織必須要確保程式有安全的更新管道,在發現漏洞時能做即時的修補,避免損害擴大。



-艾斯飛利國際ISMS主任稽核員 Dan Lin

Comments


bottom of page