色婷婷AⅤ一区二区三区|亚洲精品第一国产综合亚AV|久久精品官方网视频|日本28视频香蕉

          關(guān) 閉

          新聞中心

          EEPW首頁 > 安全與國防 > 業(yè)界動(dòng)態(tài) > 具有更大挑戰(zhàn)性的安全軟件開發(fā)

          具有更大挑戰(zhàn)性的安全軟件開發(fā)

          作者:Jeff Shepard,為貿(mào)澤電子撰寫 時(shí)間:2021-11-04 來源:電子產(chǎn)品世界 收藏

          各種類型應(yīng)用中連接設(shè)備數(shù)量的持續(xù)爆炸性增長加大了開發(fā)安全軟件的重要性。每個(gè)設(shè)備都面臨不同的風(fēng)險(xiǎn),因此,必須為每個(gè)新項(xiàng)目詳細(xì)評(píng)估軟件安全要求。云計(jì)算的廣泛使用也催生了新的攻擊媒介,使軟件安全變得越來越復(fù)雜和難以實(shí)現(xiàn)。零信任已成為軟件安全的新口頭禪。

          本文引用地址:http://cafeforensic.com/article/202111/429354.htm

          1635991015596948.png

          圖片來源:Gorodenkoff/Shutterstock.com

          安全軟件的開發(fā)始終是一個(gè)巨大挑戰(zhàn),而且從來都不是一項(xiàng)能夠完美完成的任務(wù)。在開發(fā)安全軟件的開始,需要了解您要保護(hù)的對(duì)象、盡量避開的對(duì)象、以及各種攻擊的潛在影響。威脅的不斷變化意味著在項(xiàng)目開始時(shí)通常無法完全確定安全要求,在開發(fā)過程中,可能會(huì)出現(xiàn)多次更改。一旦系統(tǒng)或設(shè)備投入使用,各種網(wǎng)絡(luò)威脅和威脅媒介也會(huì)不斷演變。面對(duì)不斷變化的威脅,越來越多地使用無線更新和補(bǔ)丁來維護(hù)安全性。

          不幸的是,軟件漏洞是一種永遠(yuǎn)存在的動(dòng)態(tài)風(fēng)險(xiǎn)(圖 1)。因此,必須確保您的代碼安全且受到相應(yīng)保護(hù),不安全的應(yīng)用會(huì)導(dǎo)致黑客入侵,它們可以直接控制一個(gè)設(shè)備,或者提供入侵另一個(gè)設(shè)備的訪問路徑。軟件安全是一個(gè)多方面的挑戰(zhàn),包括安全通信、安全操作系統(tǒng)、安全啟動(dòng)、安全靜態(tài)和傳輸數(shù)據(jù)、消除漏洞的安全編碼標(biāo)準(zhǔn)和實(shí)踐、穩(wěn)健性測(cè)試等。下面將探討什么是安全編碼,并為您提供安全編碼資源示例,包括行業(yè)標(biāo)準(zhǔn)、指南、法規(guī)以及公認(rèn)的測(cè)試和驗(yàn)證協(xié)議。

          1635991037858770.png

          圖1 軟件安全是一個(gè)多方面且不斷變化的挑戰(zhàn)(來源:buffaloboy/Shutterstock.com)

          安全編碼

          安全編碼是指通過計(jì)算機(jī)軟件開發(fā)以防止意外引入安全漏洞。通過識(shí)別不安全的編碼實(shí)踐,您可以在部署之前采取主動(dòng)措施來減少或消除軟件中的漏洞。安全軟件開發(fā)是一個(gè)復(fù)雜的過程,包括許多國家和國際準(zhǔn)則、法規(guī)和標(biāo)準(zhǔn)。安全軟件開發(fā)從威脅建模開始。

          威脅建模

          威脅建模和了解所需的安全級(jí)別是在新項(xiàng)目開始階段為確定安全代碼開發(fā)目標(biāo)而采取的重要步驟(圖 2)。要保證安全需要一定時(shí)間和精力,但這些并不絕對(duì)。多個(gè)標(biāo)準(zhǔn)和指南采用安全級(jí)別、評(píng)分或等級(jí)來定義安全軟件的功能。因此,您需要清楚了解每個(gè)項(xiàng)目的特定安全需求和目標(biāo)。每種威脅建模方法中的常見元素包括:

          ●   記錄數(shù)據(jù)流以識(shí)別系統(tǒng)易受攻擊的位置。

          ●   系統(tǒng)地識(shí)別盡可能多的潛在威脅。

          ●   確定用于降低每個(gè)潛在威脅的可能性或影響的控制措施。

          1635991060977236.png

          圖2 威脅建模是安全軟件開發(fā)中復(fù)雜而關(guān)鍵的第一步(來源:Panchenko Vladimir/Shutterstock.com)

          一些常用的威脅建模方法包括:

          ●   Microsoft 安全開發(fā)生命周期 (SDL) 是一種工程技術(shù),可用于幫助識(shí)別會(huì)影響您應(yīng)用的威脅、攻擊、漏洞和對(duì)策。

          ●   攻擊仿真和威脅分析流程 (PASTA) 是一種以風(fēng)險(xiǎn)為中心的七步方法。它能夠提供一個(gè)協(xié)調(diào)業(yè)務(wù)目標(biāo)和技術(shù)要求的過程,同時(shí)考慮了合規(guī)性問題和業(yè)務(wù)分析。

          ●   通用漏洞評(píng)分系統(tǒng) (CVSS) 是一個(gè)開放框架,用于傳達(dá)軟件漏洞的特征和嚴(yán)重性。 CVSS 由三個(gè)度量標(biāo)準(zhǔn)組組成:Base、Temporal 和 Environmental。

          ●   混合威脅建模方法 (hTMM) 由卡內(nèi)基梅隆大學(xué)軟件工程研究所于 2018 年開發(fā)。它由 SQUARE(安全質(zhì)量需求工程方法)、Security Cards(由華盛頓大學(xué)開發(fā))和 Persona non Grata (PnG,在 DePaul 大學(xué)開發(fā))的組合構(gòu)成。

          指導(dǎo)原則和規(guī)定

          技術(shù)規(guī)范 ISO/IEC TS 17961 是 C 編程語言的一組編碼規(guī)則。該規(guī)范定義了確保用 C 語言編寫軟件的安全性、可靠性、安全性和完整性最佳實(shí)踐,器目的是使用軟件代碼的靜態(tài)分析,降低合規(guī)成本。 ISO 的兩個(gè)出版物對(duì)其進(jìn)行了定義:

          ●   ISO/IEC TS 17961:2013:信息技術(shù)——編程語言、它們的環(huán)境和系統(tǒng)軟件接口——C語言安全編碼規(guī)則

          ●   ISO/IEC TS 17961:2013/Cor 1:2016:信息技術(shù)——編程語言、它們的環(huán)境和系統(tǒng)軟件接口——C語言安全編碼規(guī)則,技術(shù)勘誤表 1

          MISRA C 是一組由汽車工業(yè)軟件可靠性協(xié)會(huì) (MISRA) 開發(fā)的 C 編程語言軟件開發(fā)指南,它旨在促進(jìn)代碼的安全性、可移植性和可靠性,特別是那些在 ISO C/C90/C99 中編程的系統(tǒng)。還有一套 MISRA C++ 指南,MISRA C 已發(fā)展成為被汽車、航空航天、電信、醫(yī)療設(shè)備、國防、鐵路等行業(yè)的領(lǐng)先開發(fā)商廣泛接受的最佳實(shí)踐模型。為了使MISRA合規(guī)更具有意義,有必要確定:

          ●   使用嚴(yán)格的軟件開發(fā)流程。

          ●   準(zhǔn)確地應(yīng)用了哪些準(zhǔn)則。

          ●   執(zhí)行方法的有效性。

          ●   任何偏離準(zhǔn)則的程度。

          ●   在項(xiàng)目之外開發(fā)的任何軟件組件狀態(tài)。

          安全編碼標(biāo)準(zhǔn)

          安全啟動(dòng)或運(yùn)行前進(jìn)行代碼驗(yàn)證是安全編碼越來越重要的方面,這在攻擊風(fēng)險(xiǎn)或潛在影響很高的應(yīng)用中尤為重要,例如航空電子設(shè)備、自動(dòng)駕駛汽車、醫(yī)療和工業(yè)系統(tǒng)等。此外,歐洲電信標(biāo)準(zhǔn)協(xié)會(huì) (ETSI) (TS 103 645) 和美國國家標(biāo)準(zhǔn)與技術(shù)協(xié)會(huì) (NIST) (SP 800-193) 的新物聯(lián)網(wǎng)設(shè)備安全標(biāo)準(zhǔn)也包括運(yùn)行前進(jìn)行代碼驗(yàn)證。

          ISA/IEC 62443 系列標(biāo)準(zhǔn)由國際自動(dòng)化協(xié)會(huì) ISA99 委員會(huì)制定,并被國際電工委員會(huì) (IEC) 采用,它提供了一個(gè)靈活的框架來解決和減少工業(yè)自動(dòng)化和控制系統(tǒng)中當(dāng)前和未來的安全漏洞。 ISA/IEC 62443-3-2,專注安全風(fēng)險(xiǎn)評(píng)估、系統(tǒng)分區(qū)和安全級(jí)別,該標(biāo)準(zhǔn)正在開發(fā)中。

          IEC 62443 要求使用靜態(tài)代碼分析器來執(zhí)行安全編碼標(biāo)準(zhǔn),包括:

          ●   Common Weakness Enumeration (CWE?),這是一個(gè)社區(qū)開發(fā)的軟件和硬件弱點(diǎn)類型列表。它可作為一種通用語言,一種安全工具的衡量標(biāo)準(zhǔn),也是弱點(diǎn)識(shí)別、緩解和預(yù)防工作的基準(zhǔn)。

          ●   卡內(nèi)基梅隆大學(xué)軟件工程研究所(Carnegie Mellon University Software Engineering Institute)的 CERT 包括常用編程語言(如 C、C++、Java、Perl 和 Android? 平臺(tái))的編碼標(biāo)準(zhǔn)。

          ●   Open Web Application Security Project? (OWASP?) 是一個(gè)致力于提高軟件安全性的非營利基金會(huì)。

          ●   美國國防信息系統(tǒng)局 (DISA) 提供與國防部項(xiàng)目特別相關(guān)的安全技術(shù)實(shí)施指南 (STIG)。

          一些額外的安全編碼資源是:

          ●   常見漏洞和后門(CVE) 是在特定軟件產(chǎn)品中發(fā)現(xiàn)的網(wǎng)絡(luò)安全漏洞和后門列表。該列表鏈接到來自多個(gè)不同漏洞數(shù)據(jù)庫的信息,用戶可以更輕松地比較安全工具和服務(wù)。

          ●   NIST 的國家漏洞數(shù)據(jù)庫 (NVD) 是美國政府基于標(biāo)準(zhǔn)的漏洞管理數(shù)據(jù)存儲(chǔ)庫,它與 CVE 列表相關(guān)聯(lián)并提供附加內(nèi)容,包括如何修復(fù)漏洞、嚴(yán)重性評(píng)分和影響評(píng)級(jí)。要計(jì)算嚴(yán)重性級(jí)別,必須使用通用漏洞評(píng)分系統(tǒng) (CVSS),這是用于評(píng)估軟件漏洞嚴(yán)重性的開放行業(yè)標(biāo)準(zhǔn)。

          ●   支付應(yīng)用程序數(shù)據(jù)安全標(biāo)準(zhǔn)(Payment Application Data Security Standard)是一項(xiàng)全球安全標(biāo)準(zhǔn),適用于支付應(yīng)用軟件的開發(fā),它以前被稱為支付應(yīng)用程序最佳實(shí)踐 (PABP)。

          ●   NIST 的 SP 800-82 可指導(dǎo)如何保護(hù)工業(yè)控制系統(tǒng)。NIST 還解決了中型公司對(duì) ICS 安全性的擔(dān)憂,并已開始擴(kuò)展機(jī)器人、智能交通和化學(xué)處理等領(lǐng)域的測(cè)試平臺(tái)。 NIST 還制定了安全內(nèi)容自動(dòng)化協(xié)議 (SCAP)。

          測(cè)試和驗(yàn)證

          侵入測(cè)試是完整安全審計(jì)的重要組成部分。侵入測(cè)試是對(duì)系統(tǒng)的授權(quán)模擬網(wǎng)絡(luò)攻擊(見圖 3),該測(cè)試目的是識(shí)別弱點(diǎn),包括未授權(quán)方訪問系統(tǒng)功能和數(shù)據(jù)的可能性以及所具備的優(yōu)勢(shì),從而能夠完成全面的風(fēng)險(xiǎn)評(píng)估。測(cè)試通常包括網(wǎng)絡(luò)侵入測(cè)試、應(yīng)用安全測(cè)試以及圍繞網(wǎng)絡(luò)和應(yīng)用的控制和流程測(cè)試。

          例如,支付卡行業(yè)數(shù)據(jù)安全標(biāo)準(zhǔn)(Payment Card Industry Data Security Standard)要求定期和系統(tǒng)更改后進(jìn)行侵入測(cè)試。業(yè)內(nèi)存在一些用于進(jìn)行侵入測(cè)試的標(biāo)準(zhǔn)框架和方法,其中包括開源安全測(cè)試方法手冊(cè)、侵入測(cè)試執(zhí)行標(biāo)準(zhǔn)、NIST SP 800-115、信息系統(tǒng)安全評(píng)估框架和 OWASP 測(cè)試指南等。

          1635991086662573.png

          圖3 侵入測(cè)試應(yīng)考慮網(wǎng)絡(luò)外部試圖侵入的惡意行為者(外部測(cè)試)和來自網(wǎng)絡(luò)內(nèi)部的攻擊 (來源:Panchenko Vladimir/Shutterstock.com)

          通用弱點(diǎn)枚舉 (CWE?) 是社區(qū)開發(fā)軟件和硬件弱點(diǎn)類型列表。 CWE能夠在下述方面幫助開發(fā)人員和安全從業(yè)人員:

          ●   用通用語言描述和討論軟件和硬件的弱點(diǎn)。

          ●   檢查現(xiàn)有軟件和硬件產(chǎn)品的弱點(diǎn)。

          ●   評(píng)估具備這些弱點(diǎn)工具的覆蓋范圍。

          ●   利用通用基線標(biāo)準(zhǔn)進(jìn)行弱點(diǎn)識(shí)別、緩解和預(yù)防工作。

          ●   在部署之前防止軟件和硬件漏洞。

          設(shè)備的評(píng)估保證級(jí)別 (EAL) 是一個(gè)從 1 到 7 的數(shù)值,它是采用國際標(biāo)準(zhǔn)化通用標(biāo)準(zhǔn)安全評(píng)估進(jìn)行確定。 EAL級(jí)別越高,相應(yīng)設(shè)備安全目標(biāo)文檔中概述的驗(yàn)證和測(cè)試要求就越詳細(xì)。更高的EAL級(jí)別不一定代表更安全的設(shè)備,它只是表明完全的測(cè)試和驗(yàn)證過程。在兩個(gè)設(shè)備具有相同安全目標(biāo)定義的情況下,評(píng)級(jí)較高的設(shè)備應(yīng)該更值得信賴。

          EAL要求也可以提高,以包括比給定EAL所需最低要求更廣泛的保證要求。增強(qiáng)的EAL可以使用“增強(qiáng)”一詞或使用 EAL5+ 中的加號(hào)來表示。

          結(jié)論

          軟件安全是一個(gè)多方面的挑戰(zhàn),在各種不同應(yīng)用中,開發(fā)安全軟件的重要性正在日益提高。作為回應(yīng),安全編碼標(biāo)準(zhǔn)也變得越來越關(guān)鍵,測(cè)試和驗(yàn)證性能的需求同樣越來越重要。如本文所示,開發(fā)人員可以訪問從威脅分析到開發(fā)過程,再到測(cè)試和驗(yàn)證的各種工具。



          關(guān)鍵詞:

          評(píng)論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉