GSS資安電子報0204期【2022年最常見且影響力高的CWE弱點清單 四大重點看起來!】

訂閱電子報
2022-11-01 09:00
翻譯及整理:叡揚資訊 資訊安全事業處

 

      本文將說明 2022 年「Common Weakness Enumeration常見弱點清單」前 25 名最常見且嚴重的軟體弱點。這些弱點因為易於發現與利用,且傷害力高,使得攻擊者能藉此機會完全接管系統、竊取數據或阻止應用程式運行。

  

2022 CWE 排名前 1-14

204 30

資料來源:Common Weakness Enumeration, 2022

  

2022 CWE 排名前 15-25

204 31

  資料來源:Common Weakness Enumeration, 2022

      

2021年與2022年CWE前 25 個弱點變化驅勢圖

      

204 1

資料來源:Common Weakness Enumeration, 2022

  

      相較於2021年的排名,2022年前10名的排名相對穩定,只有小幅度地變化,大部分與2021年相同,有三項新增的風險,也有三項移出排名;並不代表它們不重要,只是相對來說可能因為普遍防禦認知已完善,或是有其他更可怕的弱點。

2022 年與 2021 年排名相比新出現的漏洞弱點項目為:

    • CWE-362 資源競爭 (Race Condition):從 #33 到 #22

    • CWE-94 程式碼注入攻擊 (Code Injection):從 #28 到 #25

    • CWE-400 未受控的資源消耗 (Uncontrolled Resource Consumption):從 #27 到 #23 

2022 年與 2021 年排名相比消失的漏洞弱點項目為:

    • CWE-200:將敏感信息暴露給未經授權的使用者 (Exposure of Sensitive Information to an Unauthorized Actor):從 #20 到 #33
    • CWE-522:憑證保護不足 (Insufficiently Protected Credentials):從 #21 到 #38
    • CWE-732:關鍵資源權限分配不當 (Incorrect Permission Assignment for Critical Resource):從 #22 到 #30

204 10

 

本文將2022年列舉的25個弱點,依其特性分類為四大項目,分別摘述如下:

一、 Injection 注入攻擊相關的弱點:

[2] 跨網站腳本攻擊 (Cross-Site Scripting (XSS))
[3] SQL語法注入攻擊 (SQL Injection)
[4] 不正確的輸入驗證 (Improper Input Validation)
[6] 作業系統命令注入攻擊 (OS Command Injection)
[8] 檔案路徑遍歷 (Path Traversal)
[10] 未限制危險檔案上傳 (Unrestricted Upload of File with Dangerous Type)
[12] 對不受信任的資料進行反序列化 (Deserialization of Untrusted Data)
[17] 命令指令注入攻擊 (Command Injection)
[21] Server請求偽冒 (Server-Side Request Forgery (SSRF))
[25] 程式碼注入攻擊 (Code Injection)

           注入攻擊一直都是弱點的核心問題,前25個弱點中就涵蓋了10個項目,高達4成的風險都在這裡,其根本原因是未掌握零信任原則,導致不可信的資料直接被應用程式引用,這些資料可能包含API串接的資料、外部使用者輸入的字串、檔案、甚至是從資料庫取出的原始資料等。以下舉例的情境中可能會引發不同類型的問題且被攻擊者利用。零信任原則的概念很簡單,就是「永不信任,持續檢驗」,面對所有系統以外的資料來源皆抱持懷疑的立場,進行過濾、驗證、消毒等行為,確保在引用應用程式時,資料是符合預期的,並定義好信任邊界(Trust boundary),做好防護的準備。
而提到資料驗證,更要提及白名單(Whitelisting)驗證,設計時要想到合理的內容。最終以零信任原則執行驗證後再信任資料來運行系統。

  

  • 以下提供危險的Sample Code供大家參考,若未來有看到類似的程式碼,應主動保持警覺,並思考下一步動作。

204 3

204 4

204 5

  

二、 身分驗證、授權相關的弱點:

[9] 跨網站請求偽冒 (Cross-Site Request Forgery (CSRF))
[14] 不當的身分驗證 (Improper Authentication)
[15] 使用寫死固定的憑證 (Use of Hard-coded Credentials)
[16] 缺少授權檢查 (Missing Authorization)
[18] 重要功能缺少身分驗證 (Missing Authentication for Critical Function)
[20] 不正確的預設權限 (Incorrect Default Permissions)

有關身分驗證、授權相關的弱點,在2022年前25個弱點中包含6個項目,可能導致管理者身分被冒用、執行未經使用者同意的行為或是敏感資料被竊取等,無論是哪一種都將導致嚴重的資訊安全問題。系統的每個環境或頁面中皆具備有權限驗證機制,或是在使用者執行重大功能前,再次與使用者確認,而系統的預設參數更是需要多加注意的環節。

  

  • 以下提供危險的Sample Code供大家參考,攻擊者可以透過已存在且有效的 Session 偽造請求以下HTML,欲允許用戶更新配置文件。

204 14

204 15

204 16

      

三、 與記憶體存取相關的弱點:

[1] 記憶體越界寫入 (Out-of-bounds Write)
[5] 記憶體越界讀取 (Out-of-bounds Read)

記憶體越界寫入或讀取是指應用程式將資料引用記憶體緩衝區之外的存取位置,後續的讀取與寫入會產生未定義或意外的結果。這類的弱點通常是使用了不安全的方法所致,例如:memcpy、Strcpy。

204 7

[7] 使用已釋放的記憶體 (Use After Free)
[19] 記憶體緩衝區不當的操作 (Improper Restriction of Operations within the Bounds of a Memory Buffer)

在應用程式上使用已釋放的記憶體區塊,相較於已經有儲存數值的記憶體區塊,由於此區塊已經被釋放了數值且有可能被其他的數值所覆蓋,這個錯誤可能會造成無法預估的結果。例如:記憶體毀損、服務阻斷,有時被釋放及使用中的記憶體會被用來當成決定執行流程,而這種錯誤也可能誘發被攻擊的機會,用來執行惡意程式。

  

  • 以下提供危險的Sample Code供大家參考:

204 8

  

四、 不安全的系統設計、不明確的類型定義或不當的系統流程:

[11] 參與/引用空指標 (NULL Pointer Dereference)
[13] 整數溢位或負數 (Integer Overflow or Wraparound)
[22] 資源競爭 (Race Condition)
[23] 未受控的資源消耗 (Uncontrolled Resource Consumption)
[24] XML 外部實體引用不當 (Improper Restriction of XML External Entity Reference,(XXE))

應用程式出現不如預期的狀況並未能妥善處理時,將會拋出 NULL pointer exception。如果攻擊者提供一個格式正確的IP位址,但是該位址未能取得正確的主機名稱,那呼叫 gethostbyaddr() 方法將會回傳 null ,而程式碼並未先行判斷是否為 null ,接續執行 Strcpy 方法將會拋出 NULL pointer exception;無論在執行什麼功能,在引用任何參數前的資料驗證仍是非常重要的,切記要小心!

  

  • 以下提供危險的Sample Code供大家參考,同時也包含 buffer overflow 的弱點

204 9      以上是這次整理的常見25大風險,提醒大家時時注意外部資安風險的變化,以及內部不定期資安檢視、掃描程式,以強化資安全。

      

關於 Checkmarx

  在現代企業軟體開發方面, Checkmarx 是軟體安全解決方案的全球領導者。Checkmarx 提供業界最全面的軟體安全平台,該平台與 DevOps相互整合,提供靜態和互動式的應用程式安全測試、軟體組成分析,以及開發者 AppSec 覺察意識與訓練計劃,減少並補救軟體漏洞所致的風險。

相關解決方案:Checkmarx 源碼安全檢測工具

相關解決方案:Mend 管理及檢測平台

相關文章

叡揚資訊與 Checkmarx 十餘年並肩 見證並持續推動臺灣 AppSec 發...

二十年前,當臺灣多數企業尚未意識到應用程式安全(Application Security, AppSec)的重要性時,叡揚資訊已憑藉深厚的應用系統開發經驗,應大型企業需求率先引進 AppSec 工具帶入台灣。2012 年,更率先引進資安強國以色列所孕育的 Checkmarx。自此,叡揚以顧問實務與技術整合,協助臺灣企業從工具導入,逐步邁向安全文化的落地。十多年來,從地端部署到雲端服務、從人工檢測到 AI 智慧輔助,叡揚與 Checkmarx 並肩見證並推動了臺灣 AppSec 的演進歷程。迄今雙方更進一步推動雲端與 AI 安全應用上緊密合作,共建資安韌性。
2025/08/15

保險業資安挑戰升溫!叡揚資訊攜Bitsight 推動企業供應鏈資安治理新標準

台灣知名保險平台服務商近日爆發重大資安事件,駭客聲稱竊得逾 20GB 機密資料,並揚言公開,恐波及超過 152 萬筆保戶個資。這起事件不僅震撼保險產業,更揭示出企業面臨的資安風險早已超越企業本身,過去所信任的軟體系統已不再安全,第三方平台與供應商成為駭客攻擊的新破口。
2025/06/19

叡揚資訊攜手 Bitsight 深化資安評級機制 助攻台灣企業強化風險治理

在數位轉型加速、地緣政治緊張與資安威脅劇增的背景下,企業面臨的外部攻擊面風險與日俱增。 Bitsight 攜手叡揚資訊深耕臺灣市場,協助企業運用 EASM 掌握風險等級,全面提升資安可視性與應變力。
2025/06/13

叡揚資訊攜手復興高中舉辦「程式安全黑客松」 落實產學合作、強化資安人才即戰力

為落實與學界合作並響應政府推動資安人才培育政策,叡揚資訊有限公司於5月3日至4日參與由教育部資訊安全人才培育計畫主辦、臺北市立復興高級中學協辦的「北區高中職程式安全黑客松工作坊」,並擔任活動贊助單位,提供資安講師資源、實作工具支援與相關活動物資
2025/06/04