0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

左移以保護(hù)連接的嵌入式系統(tǒng)

星星科技指導(dǎo)員 ? 來(lái)源:嵌入式計(jì)算設(shè)計(jì) ? 作者:Mark Pitchford ? 2022-06-21 10:00 ? 次閱讀

雖然連接的系統(tǒng)為更容易監(jiān)控、升級(jí)和增強(qiáng)帶來(lái)了新的機(jī)會(huì),但它們也帶來(lái)了更易受攻擊的攻擊面。不幸的是,連接系統(tǒng)的任何單一防御都不能保證不可穿透性。幸運(yùn)的是,有多個(gè)級(jí)別的安全性可以確保如果一個(gè)級(jí)別失敗,其他級(jí)別就會(huì)站穩(wěn)腳跟。

這些縱深防御方法可以包括安全啟動(dòng),以確保正確的圖像加載;域分離;多個(gè)獨(dú)立的安全級(jí)別 (MILS) 設(shè)計(jì)原則,例如最小權(quán)限;攻擊面減少;以安全為中心的測(cè)試,例如靜態(tài)和動(dòng)態(tài)分析,以及最后但并非最不重要的安全編碼技術(shù)。

雖然如果底層架構(gòu)不安全,安全應(yīng)用程序代碼對(duì)保護(hù)連接的嵌入式系統(tǒng)幾乎沒(méi)有作用,但它確實(shí)在考慮安全性的系統(tǒng)中發(fā)揮了關(guān)鍵作用。

縱深防御和 V 模型

傳統(tǒng)上,安全代碼驗(yàn)證的實(shí)踐在很大程度上是被動(dòng)的。代碼是按照有些松散的準(zhǔn)則開(kāi)發(fā)的,然后進(jìn)行性能、滲透、負(fù)載和功能測(cè)試以發(fā)現(xiàn)漏洞,這些漏洞稍后會(huì)修復(fù)。

更好、更主動(dòng)的方法可確保代碼在設(shè)計(jì)上是安全的——沿著時(shí)間線“左移”。這意味著一個(gè)系統(tǒng)的開(kāi)發(fā)過(guò)程,其中代碼是根據(jù)安全編碼標(biāo)準(zhǔn)編寫(xiě)的,可追溯到安全要求,并經(jīng)過(guò)測(cè)試以證明隨著開(kāi)發(fā)的進(jìn)展符合這些要求。

這種主動(dòng)方法將與安全相關(guān)的最佳實(shí)踐集成到功能安全領(lǐng)域的開(kāi)發(fā)人員熟悉的 V 模型軟件開(kāi)發(fā)生命周期中。由此產(chǎn)生的安全軟件開(kāi)發(fā)生命周期 (SSDLC) 代表了以安全為中心的應(yīng)用程序開(kāi)發(fā)人員的左移,并提供了一種實(shí)用的方法來(lái)確保在系統(tǒng)之外設(shè)計(jì)漏洞或及時(shí)徹底地解決漏洞。

相同的原則可以應(yīng)用于 DevOps 生命周期,從而產(chǎn)生所謂的 DevSecOps。盡管 DevSecOps 和 SSDLC 的上下文有所不同,但左移因此對(duì)兩者來(lái)說(shuō)意味著相同的事情——即對(duì)安全性的早期和持續(xù)考慮。

盡早并經(jīng)常測(cè)試

此處描述的所有與安全相關(guān)的工具、測(cè)試和技術(shù)在每個(gè)生命周期模型中都占有一席之地。在 V 模型中,它們?cè)诤艽蟪潭壬项愃朴诤脱a(bǔ)充通常與功能安全應(yīng)用程序開(kāi)發(fā)相關(guān)的流程(圖 1)。

poYBAGKxJkyAfggYAACVCpdNj60837.png

圖 1:在基于 V 模型的安全軟件開(kāi)發(fā)生命周期 (SSDLC) 中使用安全測(cè)試工具和技術(shù)

在 DevSecOps 模型中,DevOps 生命周期與整個(gè)持續(xù)開(kāi)發(fā)過(guò)程中的安全相關(guān)活動(dòng)疊加(圖 2)。

poYBAGKxJlSAB7NaAAIi9qHoL38952.png

圖 2:在 DevSecOps 流程模型中使用安全測(cè)試工具和技術(shù)

在 V 模型的情況下,需求可追溯性在整個(gè)開(kāi)發(fā)過(guò)程中得到維護(hù),在 DevSecOps 模型的情況下,需求可追溯性在每個(gè)開(kāi)發(fā)迭代中得到維護(hù)(在每個(gè)圖中以橙色顯示)。

一些 SAST(靜態(tài))工具用于確認(rèn)遵守編碼標(biāo)準(zhǔn),確保將復(fù)雜性保持在最低限度,并檢查代碼是否可維護(hù)。其他用于檢查安全漏洞,但僅限于在沒(méi)有執(zhí)行環(huán)境上下文的情況下對(duì)源代碼進(jìn)行此類檢查的范圍內(nèi)。

白盒 DAST(動(dòng)態(tài))使編譯和執(zhí)行的代碼能夠在開(kāi)發(fā)環(huán)境中進(jìn)行測(cè)試,或者更好的是,在目標(biāo)硬件上進(jìn)行測(cè)試。代碼覆蓋有助于確認(rèn)代碼滿足所有安全和其他要求,并且所有代碼都滿足一個(gè)或多個(gè)要求。如果系統(tǒng)的關(guān)鍵性需要,這些檢查甚至可以達(dá)到目標(biāo)代碼級(jí)別。

可以在單元測(cè)試環(huán)境中使用健壯性測(cè)試來(lái)幫助證明特定功能是有彈性的,無(wú)論是在其調(diào)用樹(shù)的上下文中隔離。

傳統(tǒng)上與軟件安全相關(guān)的模糊和滲透黑盒測(cè)試技術(shù)仍然具有相當(dāng)大的價(jià)值,但在這種情況下,用于確認(rèn)和證明在安全基礎(chǔ)上設(shè)計(jì)和開(kāi)發(fā)的系統(tǒng)的穩(wěn)健性。

提供雙向追溯

IEEE 軟件工程術(shù)語(yǔ)標(biāo)準(zhǔn)詞匯表將可追溯性定義為“在開(kāi)發(fā)過(guò)程的兩個(gè)或多個(gè)產(chǎn)品之間可以建立關(guān)系的程度,尤其是彼此之間具有前繼或主從關(guān)系的產(chǎn)品?!?雙向可追溯性意味著追溯路徑既向前又向后(圖 3)。

自動(dòng)化使在不斷變化的項(xiàng)目環(huán)境中維護(hù)可追溯性變得更加容易。

poYBAGKxJlqAO_04AAD9BKDaGZg971.png

圖 3:雙向追溯

前向可追溯性表明所有需求都反映在開(kāi)發(fā)過(guò)程的每個(gè)階段,包括實(shí)施和測(cè)試??梢酝ㄟ^(guò)應(yīng)用影響分析來(lái)評(píng)估對(duì)需求或失敗的測(cè)試用例的任何更改的影響,然后可以解決這些影響。然后可以重新測(cè)試生成的實(shí)施,以提供繼續(xù)遵守雙向可追溯性原則的證據(jù)。

同樣重要的是向后可追溯性,它突出顯示不滿足任何指定要求的代碼。疏忽、錯(cuò)誤的邏輯、特征蔓延以及惡意后門(mén)方法的插入都可能引入安全漏洞或錯(cuò)誤。

必須記住,安全嵌入式工件的生命周期一直持續(xù)到該領(lǐng)域的最后一個(gè)示例不再使用。對(duì)此類工件的任何妥協(xié)都需要響應(yīng)、更改的或新的需求,并且需要立即響應(yīng)——通常是開(kāi)發(fā)工程師很長(zhǎng)時(shí)間沒(méi)有接觸過(guò)的源代碼。在這種情況下,自動(dòng)可追溯性可以隔離所需內(nèi)容并僅對(duì)受影響的功能進(jìn)行自動(dòng)測(cè)試。

實(shí)踐中左移

左移原則所包含的概念對(duì)于開(kāi)發(fā)安全關(guān)鍵型應(yīng)用程序的個(gè)人和團(tuán)隊(duì)來(lái)說(shuō)是很熟悉的。多年來(lái),功能安全標(biāo)準(zhǔn)要求采用類似的方法。因此,在功能安全領(lǐng)域證明的許多最佳實(shí)踐適用于前面討論的安全關(guān)鍵型應(yīng)用程序,包括在開(kāi)始時(shí)(V 模型)或每次迭代之前(DevSecOps)建立功能和安全要求,及早和經(jīng)常測(cè)試,以及應(yīng)用雙向跟蹤需求到開(kāi)發(fā)的所有階段。

審核編輯:郭婷

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 嵌入式
    +關(guān)注

    關(guān)注

    5086

    文章

    19143

    瀏覽量

    306087
  • 代碼
    +關(guān)注

    關(guān)注

    30

    文章

    4801

    瀏覽量

    68730
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    什么是嵌入式人工智能

    。嵌入式人工智能的目標(biāo)是使嵌入式系統(tǒng)具備智能化的感知、分析和響應(yīng)能力,從而實(shí)現(xiàn)自主決策、自適應(yīng)學(xué)習(xí)和智能交互等功能,提高系統(tǒng)的性能、效率和
    的頭像 發(fā)表于 12-11 09:23 ?332次閱讀
    什么是<b class='flag-5'>嵌入式</b>人工智能

    嵌入式系統(tǒng)開(kāi)發(fā)與硬件的關(guān)系 嵌入式系統(tǒng)開(kāi)發(fā)常見(jiàn)問(wèn)題解決

    嵌入式系統(tǒng)開(kāi)發(fā)與硬件的關(guān)系 嵌入式系統(tǒng)是專為特定應(yīng)用設(shè)計(jì)的計(jì)算機(jī)系統(tǒng),它們通常嵌入在所控制的設(shè)備
    的頭像 發(fā)表于 12-09 09:38 ?303次閱讀

    什么是嵌入式操作系統(tǒng)?

    指揮官配備最先進(jìn)的裝備。 未來(lái)會(huì)怎樣? 隨著技術(shù)的發(fā)展,嵌入式操作系統(tǒng)將繼續(xù)演進(jìn),滿足更多的應(yīng)用需求和挑戰(zhàn),它們可能會(huì): 支持更多IoT設(shè)備:管理更多的智能家居和工業(yè)設(shè)備,就像是物聯(lián)網(wǎng)世界的大管家
    發(fā)表于 11-08 15:07

    嵌入式系統(tǒng)中的連接器選擇

    嵌入式系統(tǒng)中,連接器的選擇是一個(gè)至關(guān)重要的環(huán)節(jié),它關(guān)系到系統(tǒng)的穩(wěn)定性、可靠性和數(shù)據(jù)傳輸效率。以下是對(duì)嵌入式
    的頭像 發(fā)表于 11-07 09:44 ?309次閱讀

    嵌入式系統(tǒng)與物聯(lián)網(wǎng)的結(jié)合

    隨著科技的飛速發(fā)展,嵌入式系統(tǒng)和物聯(lián)網(wǎng)(IoT)已經(jīng)成為現(xiàn)代技術(shù)領(lǐng)域的重要組成部分。嵌入式系統(tǒng)是指嵌入到設(shè)備或
    的頭像 發(fā)表于 11-06 10:23 ?343次閱讀

    什么是嵌入式?一文讀懂嵌入式主板

    在現(xiàn)代科技浪潮中,嵌入式技術(shù)已成為支撐各種智能設(shè)備和系統(tǒng)運(yùn)行的核心力量。那么,究竟什么是嵌入式?嵌入式系統(tǒng),顧名思義,是將計(jì)算機(jī)的硬件和軟件
    的頭像 發(fā)表于 10-16 10:14 ?1165次閱讀

    AMD 面向嵌入式系統(tǒng)推出高能效 EPYC 嵌入式 8004 系列

    AMD 憑借其 EPYC? 嵌入式處理器不斷樹(shù)立行業(yè)標(biāo)準(zhǔn),為網(wǎng)絡(luò)、存儲(chǔ)和工業(yè)應(yīng)用提供卓越的性能、效率、連接與創(chuàng)新。今天,我們正第四代 AMD EPYC 嵌入式 8004 系列處理器擴(kuò)
    發(fā)表于 10-11 13:58 ?732次閱讀

    嵌入式系統(tǒng)的原理和應(yīng)用

    嵌入式系統(tǒng)是一種專用的計(jì)算機(jī)系統(tǒng),其設(shè)計(jì)初衷是執(zhí)行特定任務(wù),而非作為通用計(jì)算機(jī)使用。這類系統(tǒng)通常作為更大系統(tǒng)的一部分,起到控制、監(jiān)控或輔助的
    的頭像 發(fā)表于 10-05 17:03 ?982次閱讀

    嵌入式系統(tǒng)的未來(lái)趨勢(shì)有哪些?

    (ML)技術(shù)的快速發(fā)展,嵌入式系統(tǒng)將更多地整合這些先進(jìn)技術(shù),支持智能決策和自動(dòng)化。在設(shè)備上直接運(yùn)行AI和ML模型,進(jìn)行圖像識(shí)別、自然語(yǔ)言處理、預(yù)測(cè)分析等任務(wù),將極大提升嵌入式
    發(fā)表于 09-12 15:42

    嵌入式系統(tǒng)怎么學(xué)?

    操作系統(tǒng)的基本概念和原理,掌握常見(jiàn)的RTOS,如FreeRTOS、uC/OS等,實(shí)現(xiàn)對(duì)嵌入式系統(tǒng)的任務(wù)調(diào)度和資源管理。 6、通信協(xié)議:學(xué)習(xí)常用的通信協(xié)議,如UART、SPI、I2C
    發(fā)表于 07-02 10:10

    如何提升嵌入式編程能力?

    和使用。 9. 網(wǎng)絡(luò)編程:嵌入式設(shè)備越來(lái)越多地連接到網(wǎng)絡(luò),因此學(xué)習(xí)TCP/IP、UDP、HTTP等網(wǎng)絡(luò)協(xié)議是必要的。 10. 關(guān)注安全性:了解嵌入式系統(tǒng)的安全問(wèn)題,學(xué)習(xí)如何編寫(xiě)安全的代
    發(fā)表于 06-21 10:01

    嵌入式fpga是什么意思

    嵌入式FPGA是指將FPGA技術(shù)集成到嵌入式系統(tǒng)中的一種解決方案。嵌入式系統(tǒng)是一種為特定應(yīng)用而設(shè)計(jì)的計(jì)算機(jī)
    的頭像 發(fā)表于 03-15 14:29 ?1287次閱讀

    fpga是嵌入式

    FPGA(現(xiàn)場(chǎng)可編程門(mén)陣列)不是嵌入式系統(tǒng),但FPGA在嵌入式系統(tǒng)中有著重要的應(yīng)用。
    的頭像 發(fā)表于 03-14 17:19 ?2371次閱讀

    嵌入式系統(tǒng)發(fā)展前景?

    嵌入式系統(tǒng)發(fā)展前景? 嵌入式系統(tǒng),從定義上來(lái)說(shuō),是一種專用的計(jì)算機(jī)系統(tǒng),它被設(shè)計(jì)用來(lái)控制、監(jiān)視或者幫助操作一些設(shè)備、裝置或機(jī)器。在過(guò)去的幾年
    發(fā)表于 02-22 14:09

    嵌入式系統(tǒng)的應(yīng)用實(shí)例

    嵌入式系統(tǒng)的三個(gè)基本要素是嵌入性、專用性與計(jì)算機(jī)系統(tǒng)。
    的頭像 發(fā)表于 01-22 09:57 ?1090次閱讀