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