吴忠躺衫网络科技有限公司

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

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

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

嵌入式物聯(lián)網(wǎng)設(shè)備的3種方案

我快閉嘴 ? 來(lái)源:Andrey Madan EDN電子技術(shù)設(shè)計(jì) ? 作者:Andrey Madan EDN電子技 ? 2020-01-25 17:24 ? 次閱讀

盡管嵌入式設(shè)備在物聯(lián)網(wǎng)中的作用可能十分重要,但目前并未強(qiáng)制要求這些設(shè)備都符合安全標(biāo)準(zhǔn)。由于物聯(lián)網(wǎng)發(fā)展很快,合規(guī)要求可能滯后很多,有時(shí)候甚至在代碼寫(xiě)好并測(cè)試之后才出現(xiàn)。那么,如何為嵌入式物聯(lián)網(wǎng)設(shè)備的未來(lái)做好準(zhǔn)備?

物聯(lián)網(wǎng)(IoT)是由網(wǎng)絡(luò)設(shè)備、組件或服務(wù)組成的系統(tǒng),能產(chǎn)生和/或使用數(shù)據(jù)。物聯(lián)網(wǎng)應(yīng)用逐漸成為人們生活中不可或缺的部分:從工業(yè)機(jī)器人和手術(shù)器械,到自動(dòng)駕駛汽車(chē)和自主飛行的無(wú)人機(jī)。今天,很多這些設(shè)備已經(jīng)對(duì)用戶(hù)的安全、隱私和安防產(chǎn)生影響,有一些甚至是致命的。因此,為物聯(lián)網(wǎng)設(shè)備制定通用標(biāo)準(zhǔn)至關(guān)重要。

嵌入式物聯(lián)網(wǎng)設(shè)備的3種方案

如果軟件設(shè)計(jì)一開(kāi)始就能符合規(guī)范當(dāng)然是最好的,但眾所周知,嚴(yán)格的開(kāi)發(fā)流程,特別是在沒(méi)有實(shí)現(xiàn)自動(dòng)化的情況下,會(huì)影響產(chǎn)品上市時(shí)間。沒(méi)有幾個(gè)開(kāi)發(fā)人員愿意加班完成額外的測(cè)試工作并記錄可追溯性,如果費(fèi)時(shí)費(fèi)力地建立合規(guī)性只是出于將來(lái)“可能需要”,務(wù)實(shí)、敏捷和快速的開(kāi)發(fā)團(tuán)隊(duì)是不會(huì)為此而損失元?dú)獾摹O喾矗S多團(tuán)隊(duì)相信“船到橋頭自然直”。

然而,沒(méi)有什么魔法可以讓時(shí)光倒流“使”代碼從開(kāi)始就符合規(guī)范。這些團(tuán)隊(duì)最后得到的教訓(xùn)是,等項(xiàng)目結(jié)束時(shí)再考慮合規(guī)性所需的成本,比開(kāi)發(fā)伊始就考慮的成本要高出幾個(gè)數(shù)量級(jí)。

所以,為了滿足未來(lái)嚴(yán)格的規(guī)范要求,現(xiàn)在可以采取哪些有效措施呢?

嵌入式物聯(lián)網(wǎng)設(shè)備的3種方案

措施1:清楚了解自己的技術(shù)負(fù)債

了解項(xiàng)目當(dāng)前的狀況非常重要。由于代碼太復(fù)雜,加上代碼中存在任何原本的編碼標(biāo)準(zhǔn)及安全違規(guī)時(shí),需要重寫(xiě)代碼花費(fèi)的成本即技術(shù)負(fù)債量。技術(shù)負(fù)債來(lái)自隨后要完成的代碼清理、修復(fù)和測(cè)試。靜態(tài)代碼自動(dòng)分析是掌握項(xiàng)目當(dāng)前狀況的一種方法,它可以對(duì)代碼庫(kù)質(zhì)量和安全性進(jìn)行深入分析,并列出編碼標(biāo)準(zhǔn)的違規(guī)(如果有的話)。

然而,許多用C和C++語(yǔ)言開(kāi)發(fā)嵌入式應(yīng)用程序的團(tuán)隊(duì)并沒(méi)有采用靜態(tài)分析法,而是依賴(lài)編譯器或通過(guò)手動(dòng)檢查代碼來(lái)找出問(wèn)題。一些團(tuán)隊(duì)因?yàn)楦鞣N原因,如發(fā)現(xiàn)靜態(tài)分析工具噪聲太多且很難使用,或者由于緊急的日常事務(wù)而不能將其納入日常開(kāi)發(fā)流程,而難以決定是否使用靜態(tài)分析工具。一種常見(jiàn)的誤解是,確定哪些違規(guī)值得修復(fù)所需的時(shí)間,遠(yuǎn)超過(guò)實(shí)際修復(fù)的價(jià)值。

嵌入式物聯(lián)網(wǎng)設(shè)備的3種方案

但我們發(fā)現(xiàn),如果一個(gè)團(tuán)隊(duì)在項(xiàng)目的前期就強(qiáng)制性地采用了少許重要的規(guī)則,那么當(dāng)項(xiàng)目后期面臨功能安全審查時(shí),重寫(xiě)代碼花費(fèi)的時(shí)間要少得多。如果從一開(kāi)始就將安全性植入其中,例如實(shí)施CERT C安全編碼規(guī)則,則更容易建成一個(gè)安全可靠的系統(tǒng)。我們可以從簡(jiǎn)單的規(guī)則開(kāi)始。CERT擁有先進(jìn)的優(yōu)先級(jí)系統(tǒng)(包含嚴(yán)重性、可能性和補(bǔ)救成本三個(gè)指標(biāo),每個(gè)指標(biāo)分為3個(gè)等級(jí),總共27個(gè)級(jí)別),如果使用自動(dòng)化測(cè)試工具,通常很容易在預(yù)先設(shè)置好的控制面板(dashboard)中查看合規(guī)狀態(tài)。

靜態(tài)分析通過(guò)采集數(shù)據(jù)點(diǎn),幫助管理安全與安防合規(guī)性,使公司能夠了解其技術(shù)負(fù)債。管理者可以輕松評(píng)估一些重要的問(wèn)題,比如:

·底線是什么?代碼庫(kù)中不嚴(yán)重的編碼違規(guī)有多少?

·趨勢(shì)數(shù)據(jù):是否每個(gè)新版本都報(bào)告了新的和已修復(fù)的違規(guī)?情況變好了還是變差了?

·目前的代碼復(fù)雜度是什么?復(fù)雜度在增加嗎?

有些標(biāo)準(zhǔn)要求衡量環(huán)路復(fù)雜度(cyclomatic complexity),并使其低于某個(gè)閾值。復(fù)雜度指標(biāo)也可用于估計(jì)測(cè)試工作量——例如,對(duì)某個(gè)函數(shù)進(jìn)行IEC 61508 SIL 2合規(guī)測(cè)試,若要達(dá)到100%的分支級(jí)覆蓋率,則所需的測(cè)試用例數(shù)與該函數(shù)的McCabe環(huán)路復(fù)雜度成比例。

圖1的例子來(lái)自一個(gè)控制面板,顯示了某項(xiàng)目的MISRA合規(guī)性。

圖1:項(xiàng)目的MISRA合規(guī)性。

圖2顯示的是CERT合規(guī)性。

圖2:項(xiàng)目的CERT合規(guī)性。

查看代碼指標(biāo)有助于暴露更復(fù)雜的地方,從而進(jìn)一步檢查代碼,同時(shí)監(jiān)控測(cè)試是否對(duì)這些地方實(shí)現(xiàn)了良好覆蓋。圖3是指標(biāo)控制面板示例。

圖3:指標(biāo)控制面板示例。

首先從基本的開(kāi)始。一旦開(kāi)發(fā)團(tuán)隊(duì)能夠輕松自如地管理最嚴(yán)重的錯(cuò)誤,就可以增大管理標(biāo)準(zhǔn)違規(guī)的范圍。并非所有規(guī)則都是“一成不變”的,因此決定將哪些規(guī)則納入項(xiàng)目編碼標(biāo)準(zhǔn)非常重要。在一些關(guān)鍵編碼標(biāo)準(zhǔn)中至少采用一組強(qiáng)制性的規(guī)則(例如MISRA強(qiáng)制性規(guī)范或環(huán)路復(fù)雜度C規(guī)則),將使聯(lián)網(wǎng)設(shè)備未來(lái)的安全與安防論證變得更容易。

措施2:建立合格的單元測(cè)試框架并衡量代碼覆蓋率

大多數(shù)務(wù)實(shí)的工程師都會(huì)認(rèn)同,盲目地為所有功能設(shè)置單元測(cè)試并不能獲得良好的投資回報(bào)率(ROI)。但是,如果開(kāi)發(fā)團(tuán)隊(duì)可以訪問(wèn)的單元測(cè)試框架是沙盒(sandbox)項(xiàng)目的一部分,那么這就是一項(xiàng)有價(jià)值的投資。當(dāng)需要單獨(dú)測(cè)試某些復(fù)雜的算法或數(shù)據(jù)操作時(shí),可以根據(jù)實(shí)際情況來(lái)選擇進(jìn)行單元測(cè)試。完成單元測(cè)試這個(gè)過(guò)程本身也很有價(jià)值——從公司的角度來(lái)看,僅僅是編寫(xiě)和執(zhí)行單元測(cè)試就可以使代碼更加強(qiáng)健,并且代碼設(shè)計(jì)得更好。

當(dāng)安全與安防合規(guī)要求增加時(shí),公司只需臨時(shí)增加測(cè)試人員,就可加快單元測(cè)試工作。但要快速擴(kuò)展測(cè)試工作,就需要在整個(gè)項(xiàng)目進(jìn)程中了解單元測(cè)試框架和流程,并形成文檔。一個(gè)考慮了未來(lái)合規(guī)性的可擴(kuò)展單元測(cè)試框架應(yīng)具有以下特征:

·適合指定安全標(biāo)準(zhǔn)的應(yīng)用(例如通過(guò)TüV認(rèn)證

·集成到自動(dòng)打包系統(tǒng)中

·報(bào)告所需的代碼覆蓋率指標(biāo)(例如MC/DC

·按時(shí)間記錄每個(gè)版本完成的測(cè)試結(jié)果和覆蓋范圍

·適用于多個(gè)項(xiàng)目和開(kāi)發(fā)團(tuán)隊(duì)

最重要的是,要以最小的規(guī)模來(lái)部署未來(lái)安全標(biāo)準(zhǔn)需要的所有測(cè)試技術(shù)。這樣的話,如果需要認(rèn)證就更容易擴(kuò)展,而不用從頭開(kāi)始。

措施3:隔離關(guān)鍵功能

構(gòu)建嵌入式系統(tǒng)需要考慮大量的“非功能性需求”,如簡(jiǎn)單性、可移植性、可維護(hù)性、可擴(kuò)展性和可靠性,同時(shí)還要綜合考慮延遲、吞吐量、功耗和尺寸限制等因素。在設(shè)計(jì)可能與大型物聯(lián)網(wǎng)生態(tài)相連的系統(tǒng)架構(gòu)時(shí),許多團(tuán)隊(duì)優(yōu)先考慮的是一些與質(zhì)量相關(guān)的因素,而不是安全與安防。

如果將組件在時(shí)間和空間上分離出來(lái),未來(lái)它們便更容易符合安全規(guī)范(并具有良好的架構(gòu))。例如,在設(shè)計(jì)系統(tǒng)時(shí),可以將所有的關(guān)鍵操作都放在單獨(dú)的專(zhuān)用CPU上執(zhí)行,所有的非關(guān)鍵操作放在另一個(gè)CPU上執(zhí)行,從而實(shí)現(xiàn)物理隔離。另一種方法是采用分離內(nèi)核管理程序(Separation Kernel Hypervisor)和微內(nèi)核(Microkernel)概念。當(dāng)然還有其它方法,但重點(diǎn)是要盡早采用關(guān)鍵架構(gòu)方法,如關(guān)注點(diǎn)分離、深度防御和混合關(guān)鍵性分離。這些方法不僅減少了遵守安全與安防標(biāo)準(zhǔn)所需的工作量,還提高了應(yīng)用程序的質(zhì)量與復(fù)原性。例如,以下是隔離關(guān)鍵代碼的一些方法:

·空間域:

文件

模塊

目錄

庫(kù)

·執(zhí)行域:

線程、RTOS任務(wù)、管理程序

CPU內(nèi)核、獨(dú)立CPU

將關(guān)鍵功能與非關(guān)鍵功能分離,未來(lái)檢查合規(guī)性時(shí),驗(yàn)證范圍就可以縮小。

結(jié)語(yǔ)

物聯(lián)網(wǎng)生態(tài)中的許多邊緣設(shè)備提供關(guān)鍵性服務(wù),它們可能需要符合未來(lái)的安全與安防標(biāo)準(zhǔn)。努力滿足標(biāo)準(zhǔn)要求卻不管是否真正需要,顯然并不是一種合算的方法。但我們還是應(yīng)該為未來(lái)做好準(zhǔn)備,比如采用關(guān)鍵設(shè)計(jì)技術(shù)、單元測(cè)試方法和靜態(tài)分析工具,同時(shí)收集各項(xiàng)指標(biāo)數(shù)據(jù)來(lái)支持未來(lái)的需求。如果盡早啟動(dòng),軟件開(kāi)發(fā)團(tuán)隊(duì)就可以將這些方法無(wú)縫應(yīng)用到現(xiàn)有流程中。同時(shí)也應(yīng)盡早采用具有可擴(kuò)展性的正確方法,避免在開(kāi)發(fā)、測(cè)試和部署軟件時(shí)花費(fèi)更大的力氣使代碼合規(guī)。

聲明:本文內(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)注

    5092

    文章

    19177

    瀏覽量

    307657
  • 物聯(lián)網(wǎng)
    +關(guān)注

    關(guān)注

    2913

    文章

    44923

    瀏覽量

    377010
  • 編碼
    +關(guān)注

    關(guān)注

    6

    文章

    957

    瀏覽量

    54951
  • 物聯(lián)網(wǎng)設(shè)備

    關(guān)注

    1

    文章

    235

    瀏覽量

    19831
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    聯(lián)網(wǎng)嵌入式系統(tǒng)

    本帖最后由 DFZD 于 2015-12-4 10:59 編輯 聯(lián)網(wǎng)是新一代信息技術(shù)的重要組成部分,是互聯(lián)網(wǎng)嵌入式系統(tǒng)發(fā)展到高級(jí)階段的融合。作為
    發(fā)表于 11-27 16:09

    一篇文章揭開(kāi)嵌入式聯(lián)網(wǎng)的神秘面紗

    ,是互聯(lián)網(wǎng)嵌入式系統(tǒng)發(fā)展到高級(jí)階段的融合。  2、作為聯(lián)網(wǎng)重要技術(shù)組成的嵌入式系統(tǒng),嵌入式
    發(fā)表于 04-29 10:32

    嵌入式聯(lián)網(wǎng)的硬件設(shè)計(jì)挑戰(zhàn)

    `隨著聯(lián)網(wǎng)的出現(xiàn),由于連接設(shè)備的快速發(fā)展,嵌入式系統(tǒng)市場(chǎng)出現(xiàn)了大規(guī)模增長(zhǎng)。由于聯(lián)網(wǎng)
    發(fā)表于 08-16 14:28

    嵌入式系統(tǒng)在聯(lián)網(wǎng)應(yīng)用中有哪些優(yōu)勢(shì)?

    計(jì)算機(jī)的智能但并不以通用計(jì)算機(jī)的形式出現(xiàn),并把這些“聰明”了的物品與網(wǎng)絡(luò)連接在一起,這就需要嵌入式技術(shù)的支持。嵌入式技術(shù)是計(jì)算機(jī)技術(shù)的一應(yīng)用,該技術(shù)主要針對(duì)具體的應(yīng)用特點(diǎn)設(shè)計(jì)專(zhuān)用的計(jì)算機(jī)系統(tǒng)——
    發(fā)表于 10-17 07:48

    聯(lián)網(wǎng)嵌入式系統(tǒng)的關(guān)系

    的產(chǎn)物,[3]而嵌入式系統(tǒng)是一具有監(jiān)視、制、計(jì)算機(jī)、設(shè)備運(yùn)行的一輔助裝置,但是有部分人認(rèn)為
    發(fā)表于 12-17 09:23

    入門(mén)聯(lián)網(wǎng)嵌入式是關(guān)鍵

    ,面對(duì)碎片化極為嚴(yán)重的聯(lián)網(wǎng),我們首先要掌握哪些方面?且想要從事物聯(lián)網(wǎng)開(kāi)發(fā),是否要必須嵌入式知識(shí)基礎(chǔ)?
    發(fā)表于 07-01 11:15

    入門(mén)聯(lián)網(wǎng)嵌入式是關(guān)鍵

    ,面對(duì)碎片化極為嚴(yán)重的聯(lián)網(wǎng),我們首先要掌握哪些方面?且想要從事物聯(lián)網(wǎng)開(kāi)發(fā),是否要必須嵌入式知識(shí)基礎(chǔ)?
    發(fā)表于 07-18 09:53

    入門(mén)聯(lián)網(wǎng)嵌入式是關(guān)鍵

    ,面對(duì)碎片化極為嚴(yán)重的聯(lián)網(wǎng),我們首先要掌握哪些方面?且想要從事物聯(lián)網(wǎng)開(kāi)發(fā),是否要必須嵌入式知識(shí)基礎(chǔ)?
    發(fā)表于 07-30 10:02

    嵌入式系統(tǒng)與聯(lián)網(wǎng)之間有什么關(guān)系?

    嵌入式系統(tǒng)與聯(lián)網(wǎng)的關(guān)系一、聯(lián)網(wǎng)嵌入式的基本概念物聯(lián)網(wǎng)
    發(fā)表于 10-27 06:00

    嵌入式轉(zhuǎn)變聯(lián)網(wǎng)

    經(jīng)過(guò)幾十年發(fā)展,嵌入式技術(shù)已經(jīng)用在了我們生活中的方方面面,但是嵌入式始終都帶有小眾,專(zhuān)業(yè)性強(qiáng)的屬性,讓很多非嵌入式領(lǐng)域的同學(xué)望而卻步。近十幾年的發(fā)展,
    發(fā)表于 10-27 08:09

    嵌入式聯(lián)網(wǎng)之間的關(guān)系

    嵌入式系統(tǒng)發(fā)展到高級(jí)階段的融合。2.作為聯(lián)網(wǎng)重要技術(shù)組成的嵌入式系統(tǒng),嵌入式系統(tǒng)視角有助于深刻地、全面地理解
    發(fā)表于 12-14 08:19

    嵌入式技術(shù)在聯(lián)網(wǎng)中的應(yīng)用是什么

    所有的物品都具有計(jì)算機(jī)的智能但并不以通用計(jì)算機(jī)的形式出現(xiàn),并把這些“聰明”了的物品與網(wǎng)絡(luò)連接在一起,這就需要嵌入式技術(shù)的支持。嵌入式技術(shù)是計(jì)算機(jī)技術(shù)的一應(yīng)用,該技術(shù)主要針對(duì)具體的應(yīng)用特點(diǎn)設(shè)...
    發(fā)表于 12-22 07:11

    求一嵌入式聯(lián)網(wǎng)最佳存儲(chǔ)解決方案

    隨著嵌入式聯(lián)網(wǎng)應(yīng)用的蓬勃發(fā)展,市場(chǎng)對(duì)外掛內(nèi)存的需求也隨之水漲船高。愛(ài)普提供的解決方案將更高效地滿足這些現(xiàn)代功能的存儲(chǔ)需求。在邊緣處理性能得到大幅提升的背景下,無(wú)論在消費(fèi)級(jí)應(yīng)用還是行業(yè)
    發(fā)表于 12-23 08:06

    聯(lián)網(wǎng)智能設(shè)備嵌入式技術(shù)是什么?

    聯(lián)網(wǎng)智能設(shè)備嵌入式技術(shù)是什么?
    發(fā)表于 12-23 07:24

    嵌入式系統(tǒng)與聯(lián)網(wǎng)的關(guān)系

    嵌入式系統(tǒng)與聯(lián)網(wǎng)的關(guān)系一、聯(lián)網(wǎng)嵌入式的基本概念物聯(lián)網(wǎng)
    發(fā)表于 10-19 18:33 ?9次下載
    <b class='flag-5'>嵌入式</b>系統(tǒng)與<b class='flag-5'>物</b><b class='flag-5'>聯(lián)網(wǎng)</b>的關(guān)系
    聚众玩百家乐的玩法技巧和规则| 月亮城百家乐官网的玩法技巧和规则| 新皇冠现金网怎么样| 百家乐视频台球游戏| 太阳城百家乐官网如何看路| 大发888下载娱乐场| 玩百家乐五湖四海娱乐城| 百家乐图形的秘密破解| 百家乐官网赌博代理合作| 娱乐城官方网站| 百家乐群html| 百家乐官网娱乐网开户| 赌博千术| 百家乐博弈之赢者理论| 百家乐赌的技巧| 太阳城百家乐官网看牌| 金赞娱乐城| 找真人百家乐的玩法技巧和规则| 战神百家乐官网的玩法技巧和规则 | 真人百家乐平台下载| 沙龙百家乐官网娱乐网| 大名县| 赚钱的棋牌游戏| 劳力士百家乐的玩法技巧和规则| 太阳城百家乐币| 网上百家乐官网是叫九五至尊么| 四川省| 大发888更名网址622| 杰克百家乐玩法| 百家乐体育直播| 678百家乐官网博彩娱乐场| 百家乐官网赌场国际| 棋牌娱乐游戏大厅| 百樂坊百家乐的玩法技巧和规则| 百家乐技巧发布| 百家乐官网娱乐平台真人娱乐平台 | 百家乐官网是个什么样的游戏 | 百家乐模拟分析程序| 百家乐官网真人百家乐官网皇冠| 真人百家乐官网开户须知| 大发888客服qq号|