摘要:如何通過軟體自動的檢查法規中涉及的資料保護, 新版的CWE 4.3 給出了一個解決途徑。
1. 按照慣例,先說故事
用12月初在深圳參加的"全球C++及系統軟體技術大會"裡C++之父Bjarne講的一個故事, 致敬一下這位大能。
由於疫情, Bjarne不能親自來到會場, 只能通過視訊的方式和大家溝通。 下面這張照片,是我在他在做"C++20 與C++的持續演化"的演講時,拍攝的的一張照片.
演講中,Bjarne回顧了C++的發展歷程, 重點介紹了C++20的新特性。同時也坦言面對一個語言發展方向的各種選擇時的不易, 更多的是需要平衡。 在報告的最後,講述了"瓦薩號"的故事, 來說明對於C++新特性的釋出的慎重。
- Be careful remember Vasal
- "瓦薩"號的沉沒
- 瑞典瓦薩王朝(1523-1654)統治時期,瑞典是歐洲的強國之一。為了與勁敵丹麥、波蘭對抗,稱霸波羅的海,瑞典國王古斯塔夫·阿道夫斯二世要求建造一批新的戰艦,並要求戰艦航速要快、火力要強、裝飾要華麗,只有這樣才彰顯瓦薩王朝的權力、財富和戰鬥力。1626年初,作為其中最大的戰艦“瓦薩”號,在國王的親自監督下正式開始建造。
- 在“瓦薩”號建造期間,他不斷下令依照他的旨意改變設計和建造要求。比如在“瓦薩”號的骨架已經安裝好的時候,他下令增加戰艦的長度;
- 國王得知了丹麥建成雙層炮艦的訊息,於是他又決定,在原計劃修建單層炮艦的“瓦薩”號增加一個槍械甲板,把它改建成“雙層”炮艦。這樣一來,“瓦薩”號便擁有了雙排共64門艦炮,全長達到了69米,成了當時裝備最齊全、武裝程度最高的戰船。
- “瓦薩”號進行的穩定性測試:讓30個船員從船一端跑到另一端,以此檢測船的搖動情況。試驗中“瓦薩”號發生了危險的搖動,但對這個預警訊號,建造師卻視而不見,還是決定取消試驗,準備航行。
- 1628年8月10日,斯德哥爾摩碼頭人頭攢動,觀看著堪稱世界最頂級的“瓦薩”號戰艦。但離岸還沒來得及揚帆遠航的“瓦薩”號在一陣大風浪過後,開始傾斜,接著又慢慢恢復平衡,但隨即再一次朝右舷傾斜, 下層甲板在慢慢進水,艦體開始晃動下沉。就這樣“瓦薩”號就在眾目睽睽之下沉沒了。“瓦薩”號首航僅僅10多分鐘就結束了。
- “瓦薩”號上安置了太多的重炮,卻沒有足夠的壓艙物,導致戰艦重心過高;以及首航前沒有經過嚴格測試等等,都是造成“瓦薩”號沉沒的原因。
這些年各種語言越來越成熟,Go、Rust都對C++的應用市場形成了不小的衝擊,為此C++也在不斷的調整發布節奏和內容。 但一旦在語言特性方向發生戰略性的錯誤,很可能就會導致無法挽回的局面。
2. CWE 4.3的新檢視
才寫完話說CWE 4.2的新檢視, CWE就又趕在2020年結束之前, 12月10號釋出了CWE 4.3.
2.1. CWE-1340 CISQ 資料保護檢測檢視
在CWE 4.3 中, 又增加了一張非常有用的檢視: CWE-1340 CISQ Data Protection Measures. 在話說CWE 4.2的新檢視中, 我們介紹了CISQ的CWE-1305: CISQ Quality Measures (2020)檢視, 也介紹了有關CISQ的一些資訊, 這次又是一個CISQ的檢視, 不禁讓人有些驚奇。
- 下面是CWE-1340 CISQ 資料保護檢測檢視的具體內容:
- CWE-1340 CISQ 資料保護檢測檢視的節點分類資訊彙總:
節點型別說明詳見:話說CWE 4.2的新檢視
2.2. CISQ自動原始碼資料保護檢測工作組
CWE-1340 CISQ 資料保護檢測檢視 是CISQ的一個"自動原始碼資料保護檢測(AUTOMATED SOURCE CODE MEASURE FOR DATA PROTECTION)"工作組,組織制定的,我們來看下這個工作組的一些主要資訊。
- 工作目標
這個工作組建立的目的是為了, 根據一組相關的軟體弱點(CWE), 建立一個自動原始碼資料保護措施,該措施將用於支援企業和供應鏈在保護資料、機密資訊、智慧財產權和隱私方面的需求。 - 參與人員
- Dr. Bill Curtis, CISQ的創立者;
- Synopsys和CAST兩個工具廠商的專家;
- MITRE、CGI的幾位專家;
- 來自諾斯羅普·格魯曼(Northrop Grumman)一位專家。 這個公司是世界第三大軍火商,世界上最大的雷達製造商和最大的海軍船隻製造商。我們熟悉的B-2隱形轟炸機、RQ-4全球鷹無人機、E2-C預警機等都是出自這個公司。
- 規範制定的機理
規範通過包含與資料洩漏(未經授權的訪問可以讀取/修改資料)相關的CWE, 來形成一個可以使用自動原始碼檢測的防範方法, 從而使資料保護措施成為一個可以落實到具體檢測工具的保護規範. - 規範的關聯性
標準與GDPR、CCPA和CMMC高度相關,重點關注尋求遵守與資料保護和隱私相關的監管指南的企業和軟體弱點(CWE)與的相關性。許多組織為了接受與CMMC、GDPR、CCPA、ISO 27001、NIST SP 800-53 r5、NIST SP 800-171等相關的過程評估,在企業中對執行的系統、裝置、傳輸資料的軟體進行程式碼掃描,以發現是否存在資料洩漏,從而揭示與流程評估相關的資料保護/隱私控制是否得到了適當實施。 - 規範的適用範圍
可以為軟體開發、第三方軟體的驗收測試和稽核、以及獨立驗證和校驗(Independence Verification & Validation(IV&V))的用例。 - 規範的將來
作為後續工作,CISQ尋求使其與ISO/IEC 25000系列(25010軟體產品質量特徵)保持一致,以將資料保護指定為安全的子特徵。
專案組是2020年5月開始工作,2020年12月向對物件管理組織(Object Management Group (OMG))提交了規範, 預計該措施將在2021年初成為OMG標準。OMG就是CISQ的背後的資助組織, 是一個國際性、開放成員、非營利性技術標準聯盟。OMG標準由供應商,使用者,學術機構和政府機構推動,OMG工作組針對各種技術和更廣泛的行業制定企業整合標準。 可見這個規範剛剛完成制定(12月初),就立刻(12月10號)被納入了CWE的新版本中了。
2.3. 建議的違規報告
在工作組的網站上還給出了一個建議的違規報告, 如果這些工具給出了些軟體弱點(CWE)相關的缺陷, 則說明軟體中存在未經授權訪問以讀取或修改資料的源地方,會存在資料洩漏或資料損壞的場景。 如果這些軟體作為網路連線資產的一部分執行,則組織企業將面臨不符合CMMC、GDPR、CCPA或HIPAA監管要求的風險。
- 報告中列舉了違反以下規範的具體條目:
- NIST SP 800-171 Rev 2: 7 類, 20個規則;
- NIST SP 800-53: 7 類,19個規則;
- ISO/IEC 27001: 7 類,13個規則;
3. 主要涉及法規和規範
從規範的關聯性我們可以知道,為了滿足或支援企業和供應鏈在保護資料、機密資訊、智慧財產權和隱私方面的需求,參考了目前業界主要的法規或標準中與資料保護相關的部分,並把這些條例、規則或內容,對映成了一個可以通過工具檢測的軟體弱點(CWE),從而實現對資料保護可實施的自動檢測措施。下邊我們對這些涉及的法規或規範做個介紹。
3.1. 隱私保護
3.1.1. GDPR
通用資料保護條例(General Data Protection Regulation (GDPR)),旨在協調整個歐洲的資料隱私法,以保護和授權所有歐盟公民資料隱私,並重塑整個地區的組織處理資料的方式隱私。 GDPR於2018年5月25日生效,為組織提供了有關如何處理個人資料的框架。適用於向歐盟 (EU) 民眾提供商品和服務的組織,或收集並分析歐盟居民相關資料的組織。無論你或你的企業位於何處,都要遵守這些新規定。
GDPR 授予人們管理組織收集的個人資料的許可權, 可通過資料主體請求 (Data subject requests(DSR)) 來行使這些許可權。組織需要及時提供有關 DSR 和資料洩露的資訊,並執行資料保護影響評估(Data Protection Impact Assessment (DPIA))。
- 個人資料
是指與已識別或可識別的自然人(“資料主體”)相關的任何資訊;可識別的自然人是指可以直接或間接識別的人,尤其是通過引用諸如名稱、識別號、位置資料、線上識別符號或該自然人的身體、生理、遺傳、精神、經濟、文化或社會身份所特有的一個或多個因素。 - 個人資料洩露
是指導致傳輸、儲存或以其他方式處理的個人資料遭到意外或非法破壞、丟失、更改、未經授權披露或訪問的違反安全之事宜。 - 與應用程式安全性有關,並要求企業在其產品和服務的設計和開發過程中保護個人資料的GDPR章節為
- 第25條,通過設計和預設方式進行資料保護-要求“控制者應採取適當的技術和組織措施,以確保預設情況下僅處理處理每個特定目的所需的個人資料。”
- 第32條,處理的安全性-要求企業保護其系統和應用程式“免受意外或非法破壞、丟失、更改、未經授權披露或訪問個人資料”。
3.1.2. CCPA
《California Consumer Privacy Act》, 簡稱《CCPA》。 加州是世界第五大經濟體,與 GDPR 類似,CCPA 的影響範圍是全球性的。 在2020年1月1日,在加利福尼亞州開展業務的公司或組織將必須遵守該州嚴格的新隱私法,該法律為每個加利福尼亞州居民建立了合法且可執行的隱私權,於2020年7月1日起正式實施。
- 營利性企業如果收集加州居民的個人資訊,並滿足以下任何一條,則需要合規:
- 年營業額超過2500萬美元;
- 購買、獲取、銷售達到或超過5萬個消費者、家庭和裝置的資訊;
- 超過50%的年度營收由銷售消費者個人資訊獲得
- CCPA為加利福尼亞消費者的個人資料提供以下保護:
- 所有權:保護消費者有權告訴企業不要共享或出售個人資訊的權利;
- 控制:提供消費者對收集到的有關他們的個人資訊的控制權;
- 安全:要求企業負責保護個人資訊。
3.1.3. GDPR vs CCPA
儘管CCPA的範圍與GDPR有所不同,但它們都授予了消費者控制和否決其資料使用的相關權利。兩項法規都要求公司安全地儲存資料,對收集的個人資料型別保持透明,並管理消費者刪除個人資料的請求(“被遺忘的權利”),這意味著能夠從整個系統的所有系統中刪除個人資料。相同之處包括:
- 透明度/披露義務;
- 消費者訪問、刪除和接收資料副本的權利;
- “服務提供商”的定義,它與 GDPR 定義具有類似合同義務的“處理者”的方式一樣;
- “公司”的定義,它包含了 GDPR 對“控制者”的定義。
CCPA 中最大的差別是,准許選擇不出售資料給第三方的這一核心要求(其中,“出售”廣義定義為包含共享資料來換取有值對價的行為)。 與反對資料處理的廣義 GDPR 權利相比,該項義務範圍更窄且更具體,它包含此型別的“出售”,但並未特別侷限於包含此型別的共享。 CCPA要求使用者具有選擇性退出的能力,而不是需要在收集個人身份資訊(PII)之前獲得明確同意的能力。
3.2. NIST Special Publication 800
SP800是美國NIST(National Institute of Standards and Technology)釋出的一系列關於資訊保安的指南(SP是Special Publications的縮寫)。它們專門為美國聯邦機構提供基線和框架,是聯邦資訊保安管理法案(FISMA)合規性的重要組成部分。
在NIST的標準系列檔案中,雖然NIST SP並不作為正式法定標準,但在實際工作中,已經成為美國和國際安全界得到廣泛認可的事實標準和權威指南。NIST SP800系列成為了指導美國資訊保安管理建設的主要標準和參考資料。
大家重視這個框架有以下原因:
- 它比ISO 27002略為全面,因為它包括選擇控制和評估安全性的過程(通過NIST SP 800-53A),以及修訂版5中與隱私相關的特定控制,這使得NIST 800系列幾乎成為一個現成的安全計劃。
- 許多美國組織更喜歡使用NIST框架。向聯邦機構提供服務的組織,必須遵守NIST SP 800-171,該標準與NIST SP 800-53緊密結合。使用NIST SP 800-53作為初步或擴充套件到800-171合規性,是合乎邏輯的步驟。
目前,NIST SP 800系列已經出版了近176個同資訊保安相關的正式檔案,形成了從計劃、風險管理、安全意識培訓和教育以及安全控制措施的一整套資訊保安管理體系。
3.2.1. NIST SP800-53
2020/10/12, NIST SP 800-53:聯邦資訊系統和組織機構的安全和隱私控制(Security and Privacy Controls for Information Systems and Organizations)。
隨著計算機資訊系統和裝置日益複雜,2017年美國防科學委員會(Defense Science Board(DSB))的網路威脅工作組提交的報告顯示,對美國關鍵基礎架構和支援任務必需的操作和公共和私營部門資產的資訊系統中的漏洞對系統的威脅更大。因此迫切需要一種更加主動和系統的方法來應對美國的網路威脅,進一步加強國家在關鍵基礎架構的每個部門中依賴的基礎資訊系統、元件產品和服務。 確保這些系統、元件和服務足夠值得信賴,並提供必要的彈性來支援美國的經濟和國家安全利益。
2005年,NIST SP800-53釋出,採取了積極主動的系統方法來制定,並向廣泛的公共和私營部門組織提供針對所有人的計算平臺提供全面保護措施。這些計算機系統包括:通用計算系統、網路物理系統、基於雲的系統、移動裝置、物聯網(IoT)裝置、武器系統、空間系統、通訊系統、環境控制系統、超級計算機和工業控制系統。這些保護措施包括實施安全和隱私控制,以保護組織的關鍵和必要操作和資產以及個人隱私。目標是使我們依賴的資訊系統具有更高的抗滲透性,限制攻擊發生時的破壞,使系統具有網路彈性和生存能力,並保護個人隱私。
NIST SP 800-53是一個獨立的控制框架,為安全治理提供了全面的方法。它為資訊系統和組織提供了安全和隱私控制的目錄(catalog),以保護組織的運營和資產、個人、其他組織和國家免受各種威脅和風險的侵害,包括敵對攻擊、人為錯誤、自然災害、結構性威脅故障、外國情報實體和隱私風險。並有助於確保資訊科技產品和依賴這些產品的系統具有足夠的可信度。安全和隱私控制目錄以及基於風險的控制選擇過程的組合,可以幫助組織遵守既定的安全和隱私要求,為其資訊系統獲得足夠的安全,並保護個人隱私。
- 這些控制元件是靈活且可自定義的,並作為組織範圍內的風險管理過程的一部分而實施;
- 這些控制元件滿足了從任務和業務需求、法律、行政命令、指令、法規、政策、標準和指南中得出的各種要求;
- 控制元件目錄從功能的角度(即控制元件提供的功能和機制)和保證的角度(即控制元件提供的安全性或隱私功能的可信度)解決安全性和隱私問題;
- 控制元件獨立於控制元件的使用過程。控制選擇過程可以是:組織範圍的風險管理過程、系統工程過程[SP 800-160-1],風險管理框架[SP 800-37]、網路安全框架[NIST CSF]或隱私框架[NIST PF];
- 可以根據許多因素來指導和告知控制選擇標準,包括任務和業務需求、利益相關者保護需求、威脅,漏洞以及遵守聯邦法律、行政命令、指令、法規、政策、標準和準則。
目前修訂版本Rev5,是2020/10/12釋出。
3.2.2. NIST SP800-171
NIST SP 800-171: 保護非聯邦系統和組織中的受控非密資訊(Protecting Controlled Unclassified Information in Non federal Systems and Organizations)。
為響應有關管理受控未分類資訊 (Controlled Unclassified Information(CUI)) 的管理命令 13556,釋出了 NIST SP 800-171,保護非 Federal 資訊系統和組織中的受控未分類資訊。 CUI 定義為數字和物理資訊,由政府 (或代表其實體建立) 雖然未分類,但仍敏感且需要保護。
NIST SP 800-171是NIST SP 800-53的一個子集,與特定的過程要求一起。NIST SP 800-171在附錄中包括了與NIST CSF和NIST SP 800-53的控制對映。NIST SP 800-171 最初於 2015 年 6 月釋出,此後為了響應不斷變化的網路威脅,已進行了多次更新。2020/02/21 釋出Rev2。
它提供有關如何安全訪問、傳輸 CUI 以及將 CUI 儲存在非資訊系統和組織的準則;其要求分為四個主要類別:
- 用於管理和保護的控制元件和過程;
- 監視和管理 IT 系統;
- 針對終端使用者的清晰做法和過程;
- 技術和物理安全措施的實施。
3.3. 網路安全成熟度模型認證(CMMC)
美國國防部(The United States Department of Defense(US DoD)) 每年在都需要為美軍進行多達$1.8萬億的巨量武器採購, 這些採購涉及30萬個國防部國防工業基地(Defence Industry Base(DIB))供應商。這些採購活動是在各種不同的數字平臺上完成的。如果這些DIB的網路系統收到攻擊,則可能對DIB承包商帶來經濟影響,進而影響到國防部供應鏈中產品和服務的流動,並可能影響一線作戰力量。
為了網路防禦要求,於是出臺了國防聯邦採購要求補充(Defence Federal Acquisition Requirements Supplement (DFARS))。DFARS是一套全面的要求,列出了向美軍採購和供應產品與服務的期望。定義了實施NIST(SP)800 – 171(當前修訂版2)的必要性,其中詳細介紹了NIST(SP)800-171的一系列網路安全實踐保護受控未分類資訊(Controlled Unclassified Information(CUI))。所有CUI類別均在美國國家檔案局控制的未分類資訊(CUI)登錄檔中進行了描述。 根據DFARS 252.204-7012的規定,DIB承包商及其分包商應自2017年12月31日起遵守NIST(SP)800 – 171規定。
但是這個一個要求並未完全滿足確保國防部供應商已實施適當網路安全實踐的要求。為了解決這個問題,國防部於2019年提出了DFARS正式案例– D041“戰略評估和網路安全認證要求”。啟動程式以實施一種方法來評估國防部承包商對NIST(SP)800 – 171的遵守情況以及對受控非保密資訊(CUI)的保護。為此,在2019年5月底對合作的研究機構卡內基梅隆大學和約翰霍普金斯大學應用物理實驗室有限責任公司提出了整合現有體系標準,開發網路安全成熟度模型認證(Cybersecurity Maturity Model Certification(CMMC))框架的要求,將要保護的資訊資料型別和敏感性以及相關的威脅範圍相結合,形成來自多個網路安全標準、框架和其他參考的成熟流程和網路安全最佳實踐。
CMMC解決了DFARS的監督和保證的空白,CMMC計劃將需要對DIB承包商進行獨立的網路安全評估,然後才能完成適用的DoD合同。第三方評估機構(C3PAO)的認證和CMMC評估人員的認證。它將適用於所有30萬家全球承包商,美國國防部將僅接受經過認可的C3PAO組織的CMMC評估,因此承包商將必須確認他們符合國防部在建議書(RFP)中定義的網路安全成熟度級別。
網路安全成熟度模型認證(CMMC)框架包含:
- 17個功能域,43個功能
- 跨五個級別的5個流程來衡量流程的成熟度;
- 跨五個級別的171個實踐以衡量技術能力。
CMMC 成熟度過程使網路安全活動制度化,以確保它們是一致的、可重複的和高質量的。
- 成熟度等級過程描述:
- CMMC 1.0 與NIST SP800-171對應表
3.4. [ISO 27001]
資訊保安管理要求ISO/IEC27001的前身為英國的BS7799標準,該標準由英國標準協會(BSI)於1995年2月提出,並於1995年5月修訂而成的。1999年BSI重新修改了該標準。BS7799分為兩個部分:
- BS7799-1,資訊保安管理實施規則。第一部分對資訊保安管理給出建議,供負責在其組織啟動、實施或維護安全的人員使用;
- BS7799-2,資訊保安管理體系規範。第二部分說明了建立、實施和檔案化資訊保安管理體系(ISMS)的要求,規定了根據獨立組織的需要應實施安全控制的要求。
它提供了一套綜合的、由資訊保安最佳慣例組成的實施規則,其目的是作為確定工商業資訊系統在大多數情況所需控制範圍的參考基準,適用於大、中、小組織。
2000年12月,BS7799-1:1999《資訊保安管理實施細則》通過了國際標準化組織ISO的認可,正式成為國際標準ISO/IEC 17799:2000《資訊科技-資訊保安管理實施細則》,後來該標準已升版為標準版。
規定了在組織範圍內建立,實施,維護和持續改進資訊保安管理系統的要求。 它還包括針對組織需求量身定製的資訊保安風險評估和處理要求。 ISO/IEC 27001:2013中列出的要求是通用的,旨在適用於所有組織,無論型別,規模或性質如何。
該標準規定了一個組織建立、實施、執行、監視、評審、保持、改進資訊保安管理體系的要求;它基於風險管理的思想,旨在通過持續改進的過程(一個基於“計劃、執行、檢查、行動”(PDCA 模型)使組織達到有效的資訊保安。該標準使用了和 ISO 9001、ISO 14001 相同的管理體系過程模型,是一個用於認證和稽核的標準。
- ISO27001 標準要求的ISMS 檔案體系應該是一個層次化的體系,通常是由四個層次構成的:
- 資訊保安手冊:該手冊由資訊保安委員會負責制定和修改,是對資訊保安管理體系框架的整體描述,以此表明確定範圍內ISMS 是按照ISO27001 標準要求建立並執行的。資訊保安手冊包含各個一級檔案。
- 一級檔案:全組織範圍內的資訊保安方針,以及下屬各個方面的策略方針等。一級檔案至少包括(可能不限於此):資訊保安方針風險評估報告適用性宣告(SoA)
- 二級檔案:各類程式檔案。至少包括(可能不限於此):風險評估流程風險管理流程風險處理計劃管理評審程式資訊裝置管理程式資訊保安組織建設規定新設施管理程式內部稽核程式第三方和外包管理規定資訊資產管理規定工作環境安全管理規定介質處理與安全規定系統開發與維護程式業務連續性管理程式法律符合性管理規定資訊系統安全img審計規定檔案及材料控制程式安全事件處理流程。
- 三級檔案:具體的作業指導書。描述了某項任務具體的操作步驟和方法,是對各個程式檔案所規定的領域內工作的細化。
- 四級檔案:各種記錄檔案,包括實施各項流程的記錄成果。這些檔案通常表現為記錄表格,應該成為ISMS 得以持續執行的有力證據,由各個相關部門自行維護。
- ISO27001的3個內容:
- 14個控制領域
- 39個控制目標
- 133個控制措施
4. [總結]
- CWE-1340 CISQ 資料保護檢測檢視, GDPR、CCPA和CMMC高度相關,並重點尋求通過軟體弱點(CWE)來遵守與資料保護和隱私相關的監管指南的企業的相關性;
- 程式碼掃描工具可以通過檢測CWE-1340 CISQ 資料保護檢測檢視中對應的軟體弱點(CWE), 從而發現系統或裝置是否存在資料/隱私洩漏;
- 這樣的掃描將揭示與流程評估相關的資料保護/隱私控制是否得到了適當實施;
- 這樣的掃描可以滿足CMMC、GDPR、CCPA、ISO 27001、NIST SP 800-53 r5、NIST SP 800-171等相關的過程評估;
- 這個的掃描可以實現工具對資料保護/隱私控制的自動化檢測。
5. [參考]
- CISQ自動原始碼資料保護檢測工作組
- General Data Protection Regulation
- California Consumer Privacy Act
- Cybersecurity Maturity Model Certification
- NIST.SP.800-53r5
- NIST.SP.800-171r2
- 2020-02-27 網路安全成熟度模型 (CMMC) 解讀:美國防部網空防禦能力的重要變革
本文分享自華為雲社群《話說CWE 4.3的新檢視 - 資料保護檢查》,原文作者:Uncle_Tom 。