錯誤與例外處理

錯誤與例外處理   建置錯誤與例外處理是一個瑣碎的過程. 但是錯誤與例外狀況的處理卻是編碼防護重要的一環. 不恰當的錯誤處理會導致許多安全漏洞的風險: 1) 洩漏資料給駭客,讓駭客知道伺服器平台所使用的技術與設計 CWE 209. 舉例來說,回覆stack trace或是其它內部詳細錯誤的訊息都會導致讓駭客知道更多後端伺服器的運作邏輯. 駭客也會透過不同的錯誤型態(例如,錯誤的使用者或是錯誤的密碼等)來瞭解伺服器檢查的機制. 2) 完全不做錯誤檢查會導致錯誤無法被偵測到或是無法預期的結果 CWE 391. University of Toronto的研究員發現在分散式系統中,錯誤處理或是失誤是導致系統失敗的主要原因https://www.usenix.org/system/files/conference/osdi14/osdi14-paper-yuan.pdf. 錯誤與例外處理包含商業邏輯與安全防護等. 透過程式碼的審視, 安全測試與滲透式測試,…

Read More

使用安全框架來開發

使用安全框架來開發   當建置網站服務或是手機應用程式, 如果防護措施要從頭到尾自行建置開發會十分耗時而且會導致許多安全漏洞. 業界有許多成熟的安全框架可以幫助開發與建置過程中減少許多安全漏洞. 實作上建議依據目前現有的架構, 採用合適的安全框架. 網站安全框架有: Spring Security Apache Shiro Django Security Flask security 另外還必須考量框架還是會有潛在安全的漏洞, 網站提供功能的攻擊路徑, 以及第三方插件漏洞等風險. 舉例來書,…

Read More

建立日誌審計與入侵檢測的防護之道

建立日誌審計與入侵檢測的防護之道   應用程式日誌應該不限於程式除錯使用. 日誌也被運用在其它記錄審計, 舉例如下: 應用程式監控 商業分析 活動日誌稽核與合規監控 系統入侵檢測System intrusion detection 分析與鑑定Forensics 分析日誌與安全事件有助於威脅攻擊與防護: 讓我們可以確定相關的安全測試與攻擊的防護是否有效果. 為了要讓關連分析更加容易, 建議可以用通用的日誌格式讓不同系統間的日誌分析更容易. 例如可以使用SLF4J的Logback或是Apache Log4j2的日誌框架等. 程序監控, 交易日誌審計等通常會因為不同的目的而被收集,…

Read More