原創|使用教程|編輯:鄭恭琳|2020-12-04 14:26:27.443|閱讀 493 次
概述:SEI CERT安全編碼標準是保護代碼安全的絕佳選擇,尤其是在您的應用程序是嵌入式或安全性至關重要的情況下。在本文中,我將討論如何使用靜態分析通過設計實現此標準的安全性。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關鏈接:
SEI CERT安全編碼標準是保護代碼安全的絕佳選擇,尤其是在您的應用程序是嵌入式或安全性至關重要的情況下。在本文中,我將討論如何使用靜態分析通過設計實現此標準的安全性。
“盡管保護軟件的概念很重要,但是保護無缺陷的軟件比保護漏洞百出的軟件容易得多。”
——Gary McGraw博士,來自美國Cigital公司
嵌入式軟件和物聯網設備的激增每天都在增加安全攻擊的風險。在我的IoT hall-of-shame中,我看到從水處理廠到汽車到兒童玩具等各種物品的定期攻擊。隨著“事物”獲得更多的代碼并連接到Internet,它們承諾提供了強大的新功能,同時也增加了不良行為者滲透我們系統甚至家庭生活的機會。
研究表明,即使汽車也可以包含超過1億行代碼。幾個開發人員可以手動檢查代碼的日子已經一去不復返了。對于如此大型,復雜的系統,我們必須開始認真對待軟件安全性。幸運的是(從某種意義上說,解決問題的策略可以是相同的),影響安全軟件的編碼問題通常與影響安全可靠軟件的編碼問題相同。
眾多安全標準(ISO 26262,DO-178B/C,FDA等)表明,通過使用編碼標準和靜態代碼分析,可以大大提高軟件的安全性和可靠性。靜態分析是不斷強化代碼并從“測試安全性”轉變為“設計時安全”思想的最佳方法。這意味著我們不能將網絡安全留給一個單獨的團隊,而必須在我們開始計劃和編碼后立即著手解決。編碼標準使我們從“構建、測試、修復”周期回到具有高質量、安全性和保障性的“設計、構建、交付”周期。
那么使用哪種編碼標準?即使只考慮安全性方面,也有很多。CWE,OWASP和CERT是常見的安全編碼標準,僅舉幾例。您可能有要求告訴您要使用哪些標準的要求,如果是,則應遵循這些要求。但我想證明CERT是保護代碼安全的絕佳選擇,尤其是在您的應用程序是嵌入式或安全性至關重要的情況下。
因此,顯而易見的問題是“為什么要使用CERT?”CWE不受歡迎嗎?還是OWASP?好吧,首先,OWASP(開放Web應用程序安全性項目)或OWASP Top 10旨在作為一個起點,而不是一個嚴格的應用程序安全性過程。另外,顧名思義,它主要用于Web應用程序。
CWE(常見弱點枚舉)列出了前25個問題列表。再說一次,雖然這是一個很好的起點,但這還不夠。另外,CWE在某種意義上是一種癥狀標準,旨在描述導致特定漏洞(例如CVE(通用漏洞枚舉)中發現的漏洞)的代碼。盡管這是一項有用且重要的任務,但從本質上來說是被動的。
我喜歡SEI CERT安全編碼標準有幾個原因。首先,它更加關注安全的編碼實踐,而不僅僅是癥狀(例如,始終始終驗證輸入是一種安全的編碼實踐,而SQL注入是一種癥狀)。CERT分析了哪些準則最為關鍵,可以對其進行認真分析,然后分為應遵循的“規則”和不太重要和/或缺乏聲音分析能力的“建議”。這有助于快速將靜態分析結果調整到最關鍵的水平。
此外,CERT還創建了一個風險評估框架,該框架可考慮到該準則的固有嚴重性,利用此類項目的難度以及修復成本,從而可以為特定準則進一步確定靜態分析結果的優先級。這樣,您將獲得非常細致的優先級劃分,可以幫助您專注于最重要的事情,而不是處理大量的靜態分析沖突。
我意識到其他標準(例如CWE)也具有風險框架,但迄今為止,還沒有人完全實施它們以進行靜態分析,因為這非常困難。例如,我們考慮了CWE的“技術影響”分數,這很有幫助,但是CERT分數在自動優先級劃分方面要深得多。
關于這些風險框架的問題是,直到現在,它們還是一項學術活動,雖然有趣,但是卻沒有您可以在該領域中使用的東西,或者它們完全是手動的并且有些主觀的過程。因此,我們采用了CERT系統,并在我們的靜態分析報告系統中實現了它。不久之后會更多。
我是Parasoft的布道者但是為什么要使用我們呢?并不是所有的靜態分析工具都基本相同?當然,答案是否定的,不是。對于CERT C安全編碼標準,Parasoft C/C++test是最完整的解決方案,它可以通過三種主要方式幫助您取得成功:
對CERT C規則的內置支持。我們已實施了所有CERT C規則,并且還添加了大部分建議,其余建議即將推出。簡而言之,我們是唯一一家全面提供CERT C規則的供應商,并且還涵蓋了所有供應商的大多數建議。因此,如果您關心CERT指南,那么從客觀上來說,Parasoft C/C++test是最佳選擇。
您要做的不僅僅是談論風險評分。我們對CERT風險框架的實施具有獨特性,因為它們嵌入在我們為該標準提供的每個小部件和報告中。這意味著,您可以在規則和建議之間進行選擇,選擇優先級分數、級別、類別等,并立即查看更改。
簡化審核和合規報告。Parasoft提供了人們對靜態分析工具(用戶可自定義的儀表板,PDF報告,直方圖等)的所有期望,以及動態風險小部件。但是,從Parasoft獲得獨特價值的地方是,我們將所有這些都包裝到了我們的標準合規性框架中,因此您可以輕松生成報告,以證明您所做的工作,完成后如何將Parasoft映射到CERT,以及安全審核所需的所有其他抵押品。您的安全員會感謝您,您的客戶也會感謝。
為什么要使用CERT保護您的代碼?
為什么要使用一種靜態分析工具而不是另一種進行安全編碼實施?
我記錄了CERT安全儀表板的快速概述,以向您展示內置合規性配置中的報告和小部件可能實現的一些工作流程:
所有這些工作均以開發人員實際需要的方式進行。Parasoft與構建和CI系統完全集成,并帶有一個Web UI,每個人都可以看到結果。更重要的是,它可以直接集成到開發人員IDE(即Eclipse或Visual Studio)中,使開發人員可以在代碼所在的地方工作,從而獲得最快的反饋。
如果您過去曾經嘗試過靜態分析安全性工具,但由于它們太吵雜或沒有真正加強代碼而苦苦掙扎,那么現在是查看的好時機。
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn