道高一丈,且看CWE4.2的新特性

華為雲開發者社群發表於2020-12-28
摘要:CWE在今年2/24釋出4.0,首次將硬體安全漏洞納入了CWE中,6/25釋出4.1, 8/20就釋出了4.2。

1. 按照慣例,先說故事

我們先說下CWE的幕後老闆--MITRE[1]。 MITRE稱自己是一家“非贏利組織”,通過聯邦資助的研發中心(Federally Funded R&D Centers(FFRDC))運作。目標是為更安全的世界解決問題(we solve problems for a safer world)。

1.1. MITRE的起源

MITRE的歷史可以追溯到美、蘇二戰後的冷戰時期。50年代後期,面對蘇聯核打擊的威脅,美國空軍呼籲麻省理工學院幫助其建立一個防空系統,以幫助其偵查即將來臨的轟炸機。該研究所提出了半自動地面環境(SAGE)系統結合了雷達,無線電和網路通訊來檢測敵機,對附近的空軍基地發出警報並不斷更新,這些基地的戰機會及時升空攔截即將來臨的威脅。SAGE也是美國的第一個現代化防空系統[6]。MITRE的前三個字母MIT就是麻省理工學院的縮寫。記得以前的一個法國電影《蛇》(1973),講的就是這個歷史背景下的故事人員發現蘇聯製造戰略轟炸機剩餘的材料,做成了衣架被用到民用航空上,人員就想方設法偷了來,交給實驗室分析,厲害的科學家們,通過材料的組成成分,推算出了由此材料製成的轟炸機滿載時的航程。有興趣的朋友可以翻出來看一看,那個年代非常經典的諜戰片。

1.2. 著名的ATT&CK

對於MITRE這個名字,可能更多的人會先想到這些年比較火的MITRE的ATT&CK攻擊框架,這個引領全球網路安全攻防潮流的安全技術戰術知識庫框架。10/27號MITER剛剛釋出了ATT&CK的第8.1版本。說它是個戰術的知識框架,是因為ATT&CK將入侵期間可能發生的情況,細分成14個策略階段:偵察、資源開發、入侵初期、執行、持久化、許可權提升、防禦逃避、憑證訪問、發現、橫向移動、收集、指揮和控制、滲透、影響。然後針對攻擊方在每個階段所使用的技術、工具加以總結、歸類成知識庫,從而有助於我們理解攻擊者具備的能力。 目前ATT&CK按領域分為:

  • 企業(Enterprise):傳統企業網路和雲環境;
  • 移動(Mobile):行動通訊裝置;
  • ICS:Idustrial Control System 工控系統
    下圖為企業的ATT&CK:

道高一丈,且看CWE4.2的新特性

1.3. 運營模式:臭鼬工廠(Skunk Work)

MITRE經營著一些最隱祕、低調的科學技術實驗室,這些實驗室就像電影《007》中的M16實驗室。因為MITRE是非贏利組織,所以MITRE通過“聯邦資助的研發中心”(FFDRC)的方式,運營著7家“臭鼬工廠”(Skunk Work)級別的研發中心。

也許大家對“臭鼬工廠”這個模式有些陌生,這裡稍微解釋一下。1943年,為了與德國飛機制造公司Messerschmitt製造的飛機競爭,洛克希德公司成立了一個名為 Skunk Works(臭鼬工廠)的頂級祕密研究和生產基地,它明確的任務是在 180 天內開發一架高速戰鬥機。專案在決策上給予了很大的自主權,鼓勵無視標準程式。結果專案創紀錄的在143天裡,開發並交付了洛克希德公司的 P-80 射擊機,這是美國陸軍航空兵的第一架噴氣式戰鬥機。以及後面我們熟悉的U2,F22,F35都是由這類工作室研發出來的。後來臭鼬工廠就成為一種創新的模式被一直沿用至今,蘋果、Google等大公司都有類似的工作室。下圖是2014年洛克希德公司在臭鼬工廠70年的時候的一個宣傳圖。

道高一丈,且看CWE4.2的新特性

1.4. 研發領域

MITRE的研發領域涵蓋先進的航空系統、企業現代化技術、司法工程、醫療保健、國家網路安全等。產品也從機載預警通訊系統(AWACS)、軍用衛星通訊系統;到FBI的社交媒體影像指紋識別專案和與之關聯的人體解剖學和犯罪史資料庫;幫助美國國土安全部(DHS)開發的物聯網(包括智慧手機、健身追查器、智慧家居產品等)入侵與檢測系統;據說還正在研發一項通過體味變化測謊的技術......。 Mitre吸引了大批最頂尖的網路安全人才和跨界科技專家、科學家,也營造了很多傳奇的故事。比如,前MITRE工程師Matt Edman(禿頭,鬍鬚, 清脆的男中音)曾與聯邦調查局(FBI)合作,利用其黑客技巧幫助FBI摧毀了臭名昭著的地下網路du品市場--“絲綢之路(Silk Road)”。

今年新冠疫情流行,美國的衛生機構向Mitre Corp.提出打造一種名為“Sara Alert”的監控系統。通過Sara Alert系統,公共衛生官員可以登記和監控生病或有感染風險的個人和家庭,被登記的人被要求每天通過簡訊、電子郵件、電話或網站輸入他們的症狀。這將有助於衛生保健機構確定哪些人需要護理,哪些人需要隔離。美國疾病控制和預防中心現在正依靠Sara Alert來挽救該國的新冠肺炎疫情監測工作。感覺有些像我們的“健康碼”。

2. CWE的簡介

2.1. CWE的誕生

回到今天的主題上來,從1999年MITRE開始釋出CVE(Common Vulnerabilities and Exposures)[2]缺陷列表。作為CVE的一部分,MITRE的CVE團隊對漏洞、攻擊、故障和其他概念進行了初步分類,以幫助定義常見的軟體漏洞。但是這些分類過於粗糙,無法用於程式碼安全評估行業產品中提出的缺陷的識別和分類的需求。為此,MITRE參與美國國土安全部(DHS)贊助的美國國家標準技術研究院(NIST)的軟體保障度量和工具評估(SAMATE)專案中,於2005年首次修改了內部CVE類別工作,以用於程式碼評估行業。於是便產生了CWE(Common Weakness Enumeration)[3]。CWE被用於以下目的:

  • 用通用語言描述和討論軟體和硬體的弱點;
  • 檢查現有軟體和硬體產品中的弱點;
  • 評估針對這些弱點的工具的覆蓋範圍;
  • 利用常見的基準標準來識別,緩解和預防漏洞;
  • 在部署之前防止軟體和硬體漏洞;

於是CWE做為軟體缺陷分類的重要標準, 對安全研究、安全標準、缺陷管理起了重要的紐帶作用。CWE使程式碼缺陷不同領域的研究人員在交流安全問題時,能夠採用相同的定義,減少了歧義性。

2.2. CWE編號型別

目前CWE對軟體和硬體的缺陷進行了分類和描述, 每一個分類擁有唯一的一個CWE編號, 並按照CWE編號的型別(類缺陷、基礎缺陷和變種缺陷等)形成了多層次的缺陷型別劃分體系。

道高一丈,且看CWE4.2的新特性

3. CWE 4.2的新檢視

近些年隨著軟體安全問題越來越成為軟體應用系統風險防控的重要因素,CWE的更新速度也明顯加快。

道高一丈,且看CWE4.2的新特性

特別是今年2/24釋出4.0,首次將硬體安全漏洞納入了CWE中,6/25釋出4.1, 8/20就釋出了4.2。

  • CWE-1350: Weaknesses in the 2020 CWE Top 25 Most Dangerous Software Weaknesses
  • CWE-1305: CISQ Quality Measures (2020)

3.1. CWE-1350: CWE/SANS Top 25

這個檢視是CWE按照NIST(National Institute of Standards and Technology)管理的缺陷庫NVD(National Vulnerability Database)[3]中的缺陷CVE(Common Vulnerabilities and Exposures), 並依照CVSS[4]評分體系(Common Vulnerability Scoring System)給出的出危害性(severity)和缺陷的出現頻率(prevalence), 按公式計算後的得分給出的排名。 從這裡可以看到資料的可靠性, 能夠反映2020年發現的主要的安全缺陷,對工具、測試和安全研究有著重要的指導作用。

CWE和SANS學院一起,從2009,2010,2011 一共釋出了三次 TOP 25[5]。但後來不知道因何原因,直到2019才又再次釋出了TOP 25, 這是繼CWE 2019 TOP 25後的又一次更新。CWE 2020 TOP 25統計了從2018到2019大約27,000 CVE漏洞。我們來看以下2020和2019年Top 25發生的變化。

3.1.1. CWE 2020 TOP 25 vs CWE 2019 TOP 25

  • 上升較快的有:
    • CWE-787 (Out-of-bounds Write): from #12 to #2;
    • CWE-522 (Insufficiently Protected Credentials): from #27 to #18
    • CWE-306 (Missing Authentication for Critical Function): from #36 to #24
    • CWE-862 (Missing Authorization): from #34 to #25
    • CWE-863 (Incorrect Authorization): from #33 to #29
      從這裡可以看出,除了787是緩衝區問題之外,另外上升較快的都是許可權控制相關的問題.

 

  • 下降較快的有:
    • CWE-426 (Untrusted Search Path): from #22 to #26
    • CWE-295 (Improper Certificate Validation): from #25 to #28
    • CWE-835 (Loop with Unreachable Exit Condition): from #26 to #36
    • CWE-704 (Incorrect Type Conversion or Cast): from #28 to #37

3.1.2. CWE 2020 TOP 25 變動表

道高一丈,且看CWE4.2的新特性

3.1.3. 排名演算法

由於排名得分的演算法,考慮到了出現頻率(prevalence)和危害(severity)兩個引數, 確保出現頻率低, 危害小的缺陷, 不容易出現在排行榜中, 而是讓頻率高, 危害高的缺陷出現在排行榜中。這個演算法只能從統計學的角度消減資料偏差,但對於對缺陷歸屬哪一個CWE的理解問題的偏差,仍然會對造成在CVE的缺陷分類對映到CWE時據造成一定的誤差。這些在CWE分類層次上一直存在的問題,只能希望在後期的CWE版本逐步得到解決。

  • 計算公式:
    • Freq = {count(CWE_X’ ∈ NVD) for each CWE_X’ in NVD}
    • Fr(CWE_X) = (count(CWE_X ∈ NVD) - min(Freq)) / (max(Freq) - min(Freq))
    • Sv(CWE_X) = (average_CVSS_for_CWE_X - min(CVSS)) / (max(CVSS) - min(CVSS))
    • Score(CWE_X) = Fr(CWE_X) * Sv(CWE_X) * 100

3.2. CWE-1305: CISQ Quality Measures (2020)

3.2.1. CISQ 背景

CISQ是資訊和軟體質量聯盟(Consortium for Information & Software Quality(CISQ))基於自動化質量特徵度量標準來衡量軟體質量。這個質量標準源於自物件管理組織(Object Management Group (OMG))[7]。物件管理組(OMG)是一個國際性,開放成員,非營利性技術標準聯盟。OMG標準由供應商,使用者,學術機構推動。 OMG工作組針對各種技術和更廣泛的行業制定企業整合標準。 我們熟悉的 Unified Modeling Language (UML) 和 Model Driven Architecture (MDA)就是這個組織制定的。

 

  • 誰在使用
    有超過1500個軟體組織加入了CISQ的會員, CISQ也被許多頂級的系統整合或軟體開發商使用, 例如: Cognizant, CGI, Tech Mahindra, GSA, BNY Mellon, U.S. Air Force, Generali, BMW。
  • ISO/IEC正在啟動將CISQ併入ISO/IEC DIS 5055 Information technology — Software measurement — Software quality measurement — Automated source code quality measures 標準中。 估計這個標準在明年就會正式釋出。

3.2.2. CISQ如何評估軟體質量

  • CISQ彙集了世界知名軟體專家, 定義了一套最佳實踐, 以確保軟體的: 可靠性, 效能效率, 安全性 和可維護性;
  • 對評估的四個維度, CISQ整理了CWE中800多個已知的軟體弱點, CISQ確定了最關鍵和影響最大的CWE,並針對每個質量特徵對它們進行了標準化以實現自動化;
  • 在每個質量度量的角度, 都可以通過靜態分析的方法, 通過程式碼層面和架構層面進行自動化評估;
  • CISQ 四個特性的概覽

道高一丈,且看CWE4.2的新特性

3.2.3. CISQ 2020 vs CISQ 2016

CWE在2019年3月份的3.2版本引入了CISQ的2016年釋出的草案0.9版本。這次釋出的是CISQ今年1月份釋出的1.0正式版。

道高一丈,且看CWE4.2的新特性

4. 小結

  • 從2020 TOP 25來看, 2019,2020 緩衝區溢位, 輸入校驗引起的問題(注入, CSRF) 仍然是軟體安全和工具需要面對的主要問題; 同時許可權設定引入的問題, 在呈上升的趨勢;
  • CISQ 通過靜態分析來實現軟體質量的自動度量, 並採用對CWE的問題檢測, 細化了衡量的標準。這為通過工具對應用軟體質量的自動化度量提供了一個思路, 也為建立一個統一的標準下的軟體質量的測評提供了重要依據。

5. 參考

[1] MITRE: https://www.mitre.org/
[2] CVE: http://cve.mitre.org/cve/
[3] CWE: https://cwe.mitre.org/
[4] NVD: https://nvd.nist.gov/
[5] CVSS: https://nvd.nist.gov/vuln-metrics/cvss
[6] Inside americas secretive 2billion research hub collecting fingerprints from facebook hacking smartwatches and fighting covid-19
[7] OMG: https://www.omg.org/about/index.htm
[8] List of Weaknesses Included in the CISQ Automated Source Code Quality Measures June 2019
[8] List of Weaknesses Included in the CISQ Automated Source Code Quality Measures June 2019

本文分享自華為雲社群《話說CWE 4.2的新檢視》,原文作者:Uncle_Tom 。

 

點選關注,第一時間瞭解華為雲新鮮技術~

相關文章