源碼檢測是什麼?動態&靜態的弱點掃描測試有什麼不同?
根據金管會金管會於110年11月26日發文公告 [公開發行公司建立內部控制制度處理準則] 第九條之一的修正草案,明定上市、上櫃公司應配置適當人力資源及設備,進行資訊安全制度之規劃、監控及執行資訊安全管理作業。條文中也要求設立資訊安全長、資訊安全專責單位、主管及人員等。
各企業開始招攬優秀資安人才,協助建全公司的資訊環境,各家企業不得不提高營運成本在資安健檢、滲透測試、弱點掃描、DDOS、AI SOC等相關的資安服務,強鞏自家的資訊堡壘。駭客試圖攻破企業堡壘的難度大增之後,更加會利用本來就允許資訊進出的大門來進行突破,也就是企業對外的服務網站。
網站的安全防護有哪些?動態&靜態測試差異性為何?
服務網站的安全防護,主要透過靜態應用程式安全測試 SAST ( Static Application Security Testing)或是動態應用系統安全測試 DAST(Dynamic Application Security Testing)來進行站台的測試與分析。檢測的標準則是遵循 OWASP TOP 10、SANS/FBI 及 CWE 等等的國際標準規範,軟體開發人員須針對檢測所產出的弱點報告進行安全性的修補,以避免弱點的被利用。
-動態應用系統安全測試:一般也稱之為「黑箱檢測」,執行過程為採取網頁爬蟲方式,模仿駭客攻擊手法來檢測各網頁的安全問題。通常系統已經完成開發,在進行上線前的最後把關,或是針對正在營運的系統,檢測是否有任何漏洞可被利用。
-靜態應用程式安全測試:又稱為「白箱檢測」或「源碼檢測」,顧名思義此檢測方式針對程式源始碼的內容,在非運作狀態下來進行分析,找出系統可能存在的弱點與軟體的強度。
受限於不同程式語言使用不同的編寫結構與特性,一項檢測工具可能只適用於檢測某些特定的程式語言,雖然不同的源始碼檢測工具所函蓋的範圍及能力各不相同,其檢測邏輯不外乎語法結構、資料內容、資料邊界、流程或權限控制、安全結構、環境變數...等。
看更多:預防駭客行動詐騙!看懂App網路資訊安全「原始碼加密」技術!
如何提高源碼檢測效益?
源始碼檢測雖然受到開發語言、檢測工具先天性的限制,且相對於黑箱檢測有較高的誤判率,但是長遠來看,程式開發人員透過修正弱點的程式撰寫規則、邏輯及技巧所累積的知識與經驗,皆有助於提升開發人員安全程式撰寫的能力。
將安全的程式撰寫規則納入程式開發規範內,便能有效預防開發新手們犯錯,若再進一步能將白箱檢測程序納入開發流程中,在早期的開發階段就能檢測出不安全的程式寫法,這種解決程式碼撰寫的治本方法,降低了上線前才修改程式弱點所需的成本,所獲得的實質回饋將大於單純做黑箱檢測的效益。
結論:
駭客的攻擊是永不止息,隨著攻擊手法的不斷翻新,必定會有新的攻擊方式或系統弱點被挖掘,原本系統潛在弱點的曝露便轉變成網站或產品上的風險。為了確保系統的機密性(Confidentiality)、完整性(Integrity)及可用性(Availability),定期使用最新的規則來檢測系統漏洞,並透過檢測結果,及時調整架構或修補弱點程式,才能避免該漏洞遭到利用。
未來,源始碼檢測或是黑箱檢測都會是項重要的例行性作業,伴隨著軟體系統的生命週期,持續檢測系統的弱點並進行修補作業,方能抵禦網站多樣的攻擊方式,防止企業的損失。
延伸閱讀:
什麼是ApkCrack?3步驟瞭解駭客工具並完美預防駭客攻擊!
注意!行動裝置App資安檢測最需要注意「防記憶體偵測」技術!