十大最關鍵網頁應用程式安全風險
OWASP (Open Web Application Security Project) 社群協助開發安全的應用程式。他們提供了標準、免費工具及會議以輔助機構及研究者。OWASP 十大列出十個最嚴重的應用程式漏洞,與其風險、影響及對策。此清單每隔三至四年更新一次。
OWASP 於2017年第四季更新了 OWASP 十大。與2013年的十大相比,新風險「XML外部實體」(XXE) 首次出現。香港電腦保安事故協調中心總結了這個新的 OWSAP 十大,供開發人員和網站管理員參考,藉以加強網頁應用程式的保安。
風險 | 詳情 | 對策 |
---|
A1:2017 注入攻擊 | - 當使用者能夠輸入不受信任的資料誘使應用程式/系統執行任意的命令時,就會發生注入攻擊
- 注入可以是 SQL 查詢、PHP 查詢、LDAP 查詢和 OS 命令
| - 輸入過濾:在伺服器端實施可以接受的內容的白名單方法
- 使用安全 API 和參數查詢
|
A2:2017 無效的身份驗證 | - 當應用程式對會話控制相關資訊管理不當 (如使用者的標識被洩露) 時,會導致身份驗證無效。有關資訊可以是會話控制 cookies、密碼、保密金鑰等。
| - 使用多重身份驗證
- 會話控制分離
- 空閒會話控制超時
- 使用安全 cookies
|
A3:2017 敏感資料洩露 | - 如果應用程式處理敏感資料不夠安全,攻擊者可以對此進行嗅探或修改。有些例子包括使用較弱加密金鑰、使用較弱的傳輸層安全性協定 (TLS)。
| - 於傳輸及靜止時加密所有資料
- 使用安全協定和演算法
- 停用回應敏感資料的緩存。黑客可能得到緩存的副本, 並竊取他們的資訊
|
A4:2017 XML 外部實體 (XXE) | - 如果使用者能夠上載惡意 XML,就能夠利用有漏洞的程式碼及/或所依賴的程式碼,令有漏洞的應用程式容易受到 XXE 襲擊的影響
- 可用於執行代碼、竊取資料和執行其他惡意活動
| - 避免敏感資料序列化
- 在伺服器端實現白名單方法以防止惡意 XML 上載
- 使用網頁應用程式防火牆 (WAF) 檢測和阻止 XXE
|
A5:2017 無效的存取控制 | - 如果使用者能夠存取未經授權的資源,則會出現無效的存取控制,例如受限制的頁面、資料庫、目錄等。
- 應用程式有不同的帳戶類型, 具體取決於使用者: 管理員、操作員和報告群組等。一個常見的問題是,開發人員僅限制使用者介面的許可權, 而不是伺服器端的特權。如果漏洞被利用,每位使用者都可以擁有管理員許可權。
| - 登出後使令牌和 cookies 失效
- 在密碼更改後強制登入/登出
- 伺服器端資源限制,如目錄
- 限制對所有資源為本角色的訪問
|
A6:2017 不當的保安設定 | - 開發人員和 IT 員工通常會關注系統功能多於保安。在應用伺服器、數據庫伺服器、代理、應用程式和其他設備的設定都需要符合安全要求。除非由專家或黑客識別,否則大多數安全要求都將被遺漏。
- 這些安全錯誤的例子有弱密碼、預設密碼、儲存在伺服器上的預設腳本、預設目錄、預設錯誤訊息等。
| - 對硬體和應用程式都有一個強化過程。請確保更改了預設值
- 僅從框架安裝所需的功能
- 定期檢視配置的安全性
|
A7:2017 跨網站指令碼編寫 (XSS) | - 當攻擊者能夠將不受信任的資料/指令碼插入到網頁中時,會發生跨網站指令碼。攻擊者插入的資料/指令碼在瀏覽器中被執行, 可以竊取使用者資料、網站篡改等。
| - 輸出編碼和避開不受信任字元
- 啟用內容安全政策 (CSP)
|
A8:2017 確保反序列化 | - 某些應用程式在用戶端上保存資料, 並且它們可能正在使用物件序列化。依賴用戶端維護狀態的應用程式可能會跟隨序列化資料的篡改。
| |
A9:2017 使用具有已知漏洞的元件 | - 如果應用程式使用已知漏洞的任何元件, 這可能會導致安全違規或伺服器接管。元件可以是編碼框架、程序庫、有漏洞的函數、網路框架等。
- 例子:
- 使用有漏洞的 PHP 版本
- 過時的內核版本 Linux
- 未被修補的視窗系統
- 有漏洞的 jQuery 版本
| - 定期修補程序
- 訂閱不同有分享最新漏洞的 CVE 號碼和緩解技術/修復程式的論壇。檢查該漏洞是否影響庫存中的設備/軟體並修復它們。
|
A10:2017 日誌記錄和監視不足 | - 即使有了所有的對策都可能遇上攻擊,只有在發生了事件之後才會被注意到。如果攻擊未被發現,攻擊者可能已經破壞系統,影響深遠
- 為了確保攻擊者的惡意意圖事先得到注意,必須記錄所有活動並監視它以進行任何可疑行為。
- 例子:
- 來自特定來源的失敗登錄嘗試太多
- 來自特定來源的請求太多,而且不論速度異常地快、慢或固定,都可能是攻擊者嘗試發動 DoS 攻擊。要做檢查和採取行動。
- 垃圾流量
- 在沒有預期的情況下出現高峰流量
| - 24x7 監控應用程式流量和日誌分析
- 能到位及實質地執行有效的安全事故及應變程序
|
參考
www.owasp.org/index.php/Top_10-2017_Top_10