GSS資安電子報0149期【最新網頁常見10大風險- OWASP TOP 10 2017】

2018年二月02日(五) PM 01:45

撰文及整理:叡揚資訊資安事業處

 

      在十年前的新聞中,幾乎所有的平面及電子媒體均以『銀行網銀有假貨!金管會呼籲民眾小心,以免破財』為題刊登做為頭條新聞。其內容大致為,『近來發現有駭客疑似使用「網路釣魚」的方式,以不同網址複製網頁內容,仿冒網路銀行網頁,讓民眾誤以為是真的銀行網頁,藉以竊取銀行客戶的個人資料,取得銀行帳號及密碼;如果民眾疏於確認網址,將可能被竊取個人資料,進而盜走個人存款。』

      上述的事件凸顯出資訊安全防護的重要性,然而,在十年後的今天,資安事件一樣的手法層出不窮,除了網頁還需注意到雲端、手機App、ioT等都有可能是駭客攻擊的對象,這一點可以從全球知名的OWASP組織在近期所提出的『十大網路應用系統安全弱點』就可看出端倪。

      在過去的幾年中,應用程式的基礎架構與技術發生了重大變化:

•使用node.js和Spring Boot架構的微服務正在取代傳統的任務式應用系統,微服務本身俱有自己的安全挑戰,包括微服務間建立信任通道,容器工具,保密管理等等。在過去沒人想到家電也可以上網,但在今日生活中充斥著智慧家電,這些其實都是ioT的應用,而背後的運作就是透過API或RESTful的服務,提供給行動應用程式(APP)或單頁式應用程式(Single Page Application, SPA)。

•使用JavaScript框架(如:Angular和React)編寫的單頁式應用程式,允許創建高度模組化的前端用戶體驗;原來交付伺服器端處理的功能現在變為由客戶端處理,但也帶來了安全挑戰。

      而在最新的十大網路應用系統安全弱點,到底應該要注意什麼?有那些新的弱點攻擊我們要去了解及防範,也藉此再次檢視我們的系統是否存在這些風險。
 

OWASP十大網路應用系統安全弱點說明:

A1. Injection Flaws : 在網路應用程式,Injection弱點很常見,尤其是SQL Injection。Injection之所以會發生,是因為使用者提供的資料傳輸到一個interpreter,此被當成指令(Command)或是查詢(Query)。攻擊者就能用惡意的資料欺騙interpreter,而達到執行指令或是竄改資料的目的。

A2. Broken Authentication : 透過錯誤使用應用程式的身份認證和會話(Session)管理功能,攻擊者能夠破解密碼或Session Token,或者利用其它開發漏洞來暫時性或永久性冒充其他用戶的身份。

A3. Sensitive Data Exposure : 許多Web應用系統和API都無法正確保護敏感資訊,例如:財務資料、醫療資料、和個人資料。攻擊者可以通過竊取或修改未加密的數據來實施信用卡詐騙、身份盜取或其他犯罪行為。未加密的敏感資料容易受到破壞,因此,我們需要對敏感資料加密,這些資料包括:傳輸過程中的資料、儲存的資料及瀏覽器的交換資料。

A4. XML External Entities (XXE) XML : 許多較早期或設定錯誤的XML處理器,沒有做好相關權限保護而造成機敏資料外洩的風險。攻擊者可以利用以XML為基礎的應用程式或網路服務,竊取使用URL呼叫的內部文件和共享文件、掃描連接埠藉此監聽內部網路、執行遠端程式和實施DDoS攻擊。

A5. Broken Access Control : 合併了上一版比較容易混淆的A4 Insecure Direct Object Reference及A7Broken Authentication and Session Management, 為無效的存取控管。建議於處理檔案或是敏感性資料時,可以更加嚴格的進行監控及身份權限之驗證,以降低駭客利用漏洞去存取未經驗證或是授權的功能來察看敏感資料、修改數據或是提升存取權限等。

A6.Security Misconfiguration : 應用系統中的組態設定可能是容易被忽略的地方,必須注意安全相關的「組態設定」,這通常是由於不安全的預設值、錯誤的 HTTP 標頭配置以及包含敏感信息的詳細錯誤信息所造成的。因此,我們不僅需要對所有的操作系統、框架、函式庫和應用程序進行安全的設定,而且必須即時修補和升級它們。

A7. Cross Site Scripting(XSS) : 當應用程式未將使用者提供的資料先驗證或進行內容編碼,就直接將資料傳輸到網路瀏覽器,即可能發生XSS問題。XSS能讓攻擊者直接在受害者的網路瀏覽器上執行Script,攻擊者便可以劫持使用者Sessions、或竄改網站內容等。

A8. Insecure Deserialization : 不安全的反序列化漏洞主要是鎖定Java平臺、PHP或是Node.js等平臺常見的攻擊方式,不安全的反序列化會導致遠程代碼執行。即使反序列化缺陷不會導致遠程代碼執行,攻擊者也可以利用它們來執行攻擊,包括:重播攻擊、注入攻擊和特權升級攻擊。

A9. Using Components with Known Vulnerabilities : 現行開發模式有Dev Ops, Agile,要求開發人員快速產出,為了達到此目標,通常會引用Open Source Software (OSS),但卻沒有監控該OSS的弱點問題,包括函式庫、框架以及其他的軟體模組,而OSS會和應用程式以相同的權限執行。如果有一個容易受到攻擊的OSS被駭客利用,就可能會導致嚴重的資料洩漏或者伺服器被駭客利用,而使用有漏洞的應用程式或者是API,都會破壞應用程式的防護並啟用各種攻擊形式。這也意味著,許多開發者在使用OSS的模組或框架的習慣不好,除了會帶來嚴重的資料遺失外,也代表沒有即時升級或更新到最新版。

A10. Insufficient Logging & Monitoring :  記錄與監控不足會讓攻擊者能夠進一步的攻擊系統、竄改資料、存取資料或是刪除資料。而且大多數的研究報告指出,當系統被攻擊後,受害系統要花超過200天以上才會發現資料外洩,且通常是透過第三方檢測工具發現的,而不是透過內部流程監控。

(資料來源:摘錄於OWASP網站http://www.owasp.org

     根據NIST (National Institute of Standards and Technology – nist.gov) 指出92%的安全漏洞來自軟體,如何在軟體開發過程(SDLC)中,做到安全的軟體開發(SSDLC),已是近年來,各家企業所要關注的事情。
我們整理了軟體開發生命週期中從設計、開發、測試及上線維運各階段對資訊安全的需求,簡單歸納如下:

•設計階段:清楚定義各功能資訊安全政策,尋找適用且安全之OpenSource 元件。

•開發階段:能針對原始碼及OpenSource 元件做安全漏洞掃描,再將發現的安全漏洞依嚴重程度做等級分類,能追蹤問題及提供修復建議,並有稽核機制做審查及追蹤修復狀況,軟體開發若能及早發現問題,遂能降低修復成本及預防重複性的錯誤。

•測試階段:模擬駭客進行滲透測試及追蹤安全根源,確保測試完整度。

•上線維運階段:能即時、有效的強化已上線的應用系統,提供防禦功能,監控及追蹤攻擊。

 

Checkmarx 源碼安全檢測解決方案產品介紹

工具簡介

      Checkmarx CxSAST 是一款強大的源碼檢測(Source Code Analysis) 解決方案,專門為識別、追蹤和修復軟體原始碼技術上和邏輯方面的安全漏洞而設計。Checkmarx 可檢測最多程式安全弱點、支援多種系統平臺、程式語言和開發框架。融入軟體開發生命週期(Software Development Life Cycle, SDLC) 的程式碼自動化檢測機制,允許開發團隊以最少的時間和成本,解決原始碼安全面臨的挑戰。

主要特色

操作簡單、友善介面:非開發人員也能快速上手

可掃描未編譯的程式碼(Uncompiled Code):無須準備各式開發環境

精準度高

支援20種常用程式語言(含iOS, Android, Java, .Net, Python等)

提供中文報表、中文介面

操作簡單、輕鬆與「軟體生命周期 SDLC」 整合

延伸閱讀:Checkmarx 源碼安全檢測工具http://www.gss.com.tw/index.php/checkmarx

 

 

 

      針對OWASP Top 10 中A9 使用已知有弱點的元件,對於現行企業來說,首要之務為找出現行系統或軟體內有使用之第三方元件,包含自行開發或委外開發之軟體,到底使用了多少的第三方元件?該元件是否為OpenSource 或是付費元件?開發人員也可自行做健檢,依序回答下列問題,以更了解自己使用的元件是否有問題。

1. 我的OpenSource是從GitHub或是網路上找到的程式碼片段,直接複製程式碼片段並貼於我的程式中?

2. 我所使用的OpenSource真的安全嗎?多久沒更新了?

3. 我有依照OpenSource的授權方式,負起應有的責任嗎?

4. 我使用的OpenSource中,該元件是否還有用其他的OpenSource

WhiteSource 開放性源碼安全檢測解決方案產品介紹

工具簡介

      WhiteSource 是一套OpenSource管理工具,只需透過它即可知道,OpenSource的安全、品質及授權。它可線上即時操作,通過自動化、持續的掃描方式,與後端數十個OpenSource資料庫進行比對;與資料庫交叉比對的結果,辨識您的第三方元件是否有弱點,版本更新狀況及授權方式。

      WhiteSource 與您的軟體開發週期結合,即使您的產品已上線,也可根據上線前最後一版建構的程式碼,持續監控您所使用的OpenSource元件。從您使用WhiteSource開始,它可以持續性及自動化的追蹤OpenSource元件是否發生新的弱點,並主動提供告警訊息。

主要特色

1. Know What You’re Using:
 

•自動偵測系統所使用元件及相依性,並詳細列出檔名、語言、版本、License。

•資料庫中超過300萬個元件及7,000萬源始碼檔案

•支援20種以上之程式語言


2. Secure Your Products: 

•根據嚴重等級將所有風險的OpenSource元件詳細列出。

•由多個弱點資料庫,彙集超過18萬個弱點

•準確的匹配,精準度高

•自動追蹤各元件新發佈之弱點

•提供可執行的修復建議

open source security page
 
3. Ensure Compliance:
 

•提供授權資訊及風險評估

•支援單一元件多個授權之偵測

•自動化發佈管理

 
4. Avoid Low Quality Components:
 

•依嚴重等級,追蹤元件臭蟲(Bug)

•每個版本的質量評分

•追蹤活躍度及維護等級

延伸閱讀:WhiteSource 開放性源碼安全檢測工具http://www.gss.com.tw/index.php/opensource-security-license-mgmt