最新網頁常見 10 大風險整理 OWASP TOP 10 2017
早在十年前就有駭客使用「網路釣魚」的方式,以不同網址複製網頁內容,仿冒網路銀行網頁,讓民眾誤以為是真的銀行網頁,藉以竊取銀行客戶的個人資料,取得銀行帳號及密碼;而十年後的現在,根據全球知名的 OWASP 組織提出的『2017 年十大網路應用系統安全弱點』報告中指出,近來資安事件、 手法層出不窮,除了網頁更擴散到雲端、手機 App、IoT 等都可能是駭客攻擊目標。而過去幾年,應用程式的基礎架構與技術發生了重大變化:
使用 node.js 和 Spring Boot:
架構的微服務正在取代傳統的任務式應用系統,但微服務本身具有包括微服務間建立信任通道、容器工具和保密管理等安全挑戰。在過往,沒人想到家電可以上網,但今日生活中充斥著智慧家電, 這些都是 IoT 應用,而背後就是透過 API 或 RESTful 服務運作,提供行動應用程式或單頁式應用程式。
使用 JavaScript 框架:
Angular 和 React 編寫的單頁式應用程式,允許創建高度模組化的前端用戶體驗;原來交付伺服器端處理的功能現在由客戶端處理,但也帶來安全挑戰。
OWASP 十大網路應用系統安全弱點說明
1. Injection Flaws
在網路應用程式中,Injection 弱點很常見,尤其在 SQL Injection。而 Injection 發生,通常是使用者提供的資料傳輸到interpreter, 被當成指令或是查詢。攻擊者就能用惡意的資料欺騙 interpreter,達到執行指令或竄改資料目的。
2. Broken Authentication 失效的身份驗證
攻擊者透過錯誤的使用者應用程式身份認證和會話管理功能,破解密碼、Session Token,或利用其它開發漏洞,暫時性或永久性冒充用戶身份。
3. Sensitive Data Exposure 敏感資料外漏
許多 Web 應用系統和 API 都無法正確保護敏感資訊,例如財務資料、醫療資料和個人資料等。攻擊者可透過竊取或修改未加密數據,實施信用卡詐騙、身份盜取或其他犯罪行為。未加密的敏感資料容易受到破壞,因此,使用者需要對敏感資料加密,包括傳輸過程中的資料、儲存的資料及瀏覽器的交換資料。
4. XML External Entities (XXE) 外部處理器漏洞
許多早期或設定錯誤的 XML 處理器,沒做好相關權限保護,造成機密資料外洩風險產生。攻擊者可利用以 XML 為基礎的應用程式或網路服務,竊取使用 URL 呼叫的內部文件、共享文件和掃描連接埠,藉此監聽內部網路、執行遠端程式和實施 DDoS 攻擊。
5. Broken Access Control 存取控制的破解
合併易混淆的 A4 Insecure Direct Object Reference 及 A7 Broken Authentication and Session Management 為無效的存取控管。建 議處理檔案或敏感性資料時,需嚴格進行監控及身份權限驗證,降低駭客利用漏洞存取未經驗證或授權的功能察看敏感資料、修改數據和提升存取權限等。
6. Security Misconfiguration 不安全的組態設定
7. Cross-Site Scripting(XSS) 跨站腳本攻擊
當應用程式未將使用者提供的資料驗證或進行內容編碼,就將資料傳輸到網路瀏覽器,即可能發生。XSS 能讓攻擊者直接在受害者的網路瀏覽器上執行 Script,劫持使用者的 Sessions 或竄改網站內容等。
8. Insecure Deserialization 不安全的反序列化漏洞
該問題主要鎖定 Java、PHP 或 Node.js 等平臺攻擊,造成遠程代碼執行。即使反序列化缺陷不會導致遠程代碼執行,攻擊者也能利用它們執行重播攻擊、注入攻擊和特權升級攻擊等。
9. Using Components with Known Vulnerabilities 使用已知漏洞元件
現行開發模式有 Dev Ops 及 Agile,為達到快速產出,開發人員通常會引用 Open Source Software (OSS),卻沒監控該 OSS 的弱點問題,包括函式庫、框架及其他的軟體模組,而 OSS 卻會和應用程式以相同的權限執行。如果有一個容易受到攻擊的 OSS 被駭客利用,就可能導致資料洩漏或伺服器被利用,且使用有漏洞的應用程式或 API,都會破壞應用程式的防護,讓各種攻擊形式接踵而來。這也意味著,許多開發者在使用 OSS 模組或框架的習慣不好,除造成資料遺失外,也代表沒有即時升級或更新到最新版。
10. Insufficient Logging & Monitoring 記錄與監控不足
當記錄與監控不足時,攻擊者能進一步攻擊系統、竄改資料、存取資料或刪除資料。而多數研究報告指出,當系統被攻擊後,受害系統要花超過 200 天以上才會發現資料外洩,且通常是透過第三方檢測工具發現,不是透過內部流程監控。
根據 NIST (National Institute of Standards and Technology) 指出 92% 的安全漏洞來自軟體, 如何在軟體開發過程中做到安全的軟體開發,應是各家企業必須關注的重要事項之一。叡揚根據多年經驗,整理軟體開發生命週期中從設計、開發、測試及上線維運各階段對資訊安全的需求,簡單歸納如下:
設計階段:清楚定義各功能資訊安全政策,尋找適用且安全之 OpenSource 元件。
開發階段:能針對原始碼及 OpenSource 元件做安全漏洞掃描,能依漏洞嚴重程度做等級分類,追蹤問題根源及提供修復建議,並有稽核機制做審查及追蹤修復狀況,及早發現問題,遂能降低修復成本及預防重複性的錯誤。
測試階段:模擬駭客進行滲透測試及追蹤安全根源,確保測試完整度。
上線維運階段:即時、有效的強化已上線的應用系統,提供防禦功能、監控及追蹤攻擊。
Checkmarx 源碼安全檢測解決方案產品介紹
工具簡介
該方案是款強大的源碼檢測解決方案,專門為識別、追蹤和修復軟體原始碼技術上和邏輯方面的安全漏洞而設計。該方案可檢測許多程式安全弱點、支援多種系統平臺、程式語言和開發框架。融入軟體開發生命週期的程式碼自動化檢測機制,讓開發團隊能以最少的時間和成本,解決原始碼安全問題。
主要特色
• 操作簡單、友善介面:非開發人員也能快速上手
• 可掃描未編譯的程式碼:無須準備各式開發環境
• 精準度高
• 支援 20 種常用程式語言
• 提供中文報表、中文介面
• 操作簡單、輕鬆與「軟體生命周期 SDLC」整合
針對 OWASP Top 10 中,使用已知有弱點的元件,企業首要之務為找出現行系統或軟體內,包含自行開發或委外開發之軟體,到底使用了多少的第三方元件?該元件是否為 OpenSource 或付費元件?開發人員也可自行做健檢,依序回答下列問題,以更了解目前元件是否有問題。
WhiteSource 開放性源碼安全檢測解決方案產品介紹
工具簡介
該方案是 OpenSource 管理工具,只需透過它即可知道 OpenSource 的安全、品質及授權。 可線上即時操作,通過自動化、持續的掃描方式,與後端數十個 OpenSource 資料庫進行比對;根據結果,辨識第三方元件是否有弱點、版本更新狀況及授權方式。WhiteSource 與您的軟體開發週期結合,即使您的產品已上線,也可根據上線前最後一版建構的程式碼,持續監控您所使用的 OpenSource 元件。從您使用 WhiteSource 開始,它可以持續性及自動化的追蹤OpenSource 元件是否發生新的弱點,並主動提供警告訊息。