錯誤與例外處理 建置錯誤與例外處理是一個瑣碎的過程. 但是錯誤與例外狀況的處理卻是編碼防護重要的一環. 不恰當的錯誤處理會導致許多安全漏洞的風險: 1) 洩漏資料給駭客,讓駭客知道伺服器平台所使用的技術與設計 CWE 209. 舉例來說,回覆stack trace或是其它內部詳細錯誤的訊息都會導致讓駭客知道更多後端伺服器的運作邏輯. 駭客也會透過不同的錯誤型態(例如,錯誤的使用者或是錯誤的密碼等)來瞭解伺服器檢查的機制. 2) 完全不做錯誤檢查會導致錯誤無法被偵測到或是無法預期的結果 CWE 391. University of Toronto的研究員發現在分散式系統中,錯誤處理或是失誤是導致系統失敗的主要原因https://www.usenix.org/system/files/conference/osdi14/osdi14-paper-yuan.pdf. 錯誤與例外處理包含商業邏輯與安全防護等. 透過程式碼的審視, 安全測試與滲透式測試,…
建立日誌審計與入侵檢測的防護之道
建立日誌審計與入侵檢測的防護之道 應用程式日誌應該不限於程式除錯使用. 日誌也被運用在其它記錄審計, 舉例如下: 應用程式監控 商業分析 活動日誌稽核與合規監控 系統入侵檢測System intrusion detection 分析與鑑定Forensics 分析日誌與安全事件有助於威脅攻擊與防護: 讓我們可以確定相關的安全測試與攻擊的防護是否有效果. 為了要讓關連分析更加容易, 建議可以用通用的日誌格式讓不同系統間的日誌分析更容易. 例如可以使用SLF4J的Logback或是Apache Log4j2的日誌框架等. 程序監控, 交易日誌審計等通常會因為不同的目的而被收集,…