<noscript id="jftie"></noscript>
    <style id="jftie"><mark id="jftie"><dfn id="jftie"></dfn></mark></style>
  1. <span id="jftie"></span>
    • 国产成人精品久久一区二区,韩国精品久久久久久无码,国产精品国产高清国产av,欧美99久久无码一区人妻a片,亚洲高清码在线精品av,午夜人妻久久久久久久久,伊人热热久久原色播放www ,亚洲女教师丝祙在线播放
      你的位置:首頁 > 互連技術(shù) > 正文

      如何進行連網(wǎng)系統(tǒng)的安全防護設(shè)計

      發(fā)布時間:2017-12-29 來源:Andrew Girson, Dan Smith 責任編輯:wenwei

      【導(dǎo)讀】理想的嵌入式軟件一向兼具安全和防護設(shè)計。然而,連網(wǎng)技術(shù)讓嵌入式系統(tǒng)設(shè)計增加了新的顧慮,它需要特別強調(diào)安全性和防護性。對這兩個概念的詳細了解、加上在設(shè)計周期之初就適當?shù)貞?yīng)用最佳實踐,能大大提高產(chǎn)品的整體安全性和防護性。這些最佳實踐包括:采用編碼標準、使用靜態(tài)分析工具、代碼審查和威脅建模。
       
      理想的嵌入式軟件一向兼具安全和防護設(shè)計。然而,“連網(wǎng)”給醫(yī)療、自動駕駛和物聯(lián)網(wǎng)(IoT)設(shè)備等安全關(guān)鍵的應(yīng)用中,帶來了無法容忍程度的安全漏洞。
       
      安全與防護的緊密結(jié)合,加上受到威脅程度的提高,使得開發(fā)者必須充分了解安全與防護之間的區(qū)別,而且從設(shè)計一開始就應(yīng)用行業(yè)最佳實踐,才能確保兩者都被設(shè)計進產(chǎn)品中(圖1)。
       
      如何進行連網(wǎng)系統(tǒng)的安全防護設(shè)計
      圖1:過濾缺陷:理想的軟件和硬件設(shè)計要求在整個設(shè)計過程中采用多層次質(zhì)量保證、防御和安全保護。(來源:Barr Group)
       
      設(shè)計不佳的影響
       
      隨著物聯(lián)網(wǎng)的崛起,系統(tǒng)現(xiàn)在很容易受到“遠程攻擊”的影響。最近的一起事件涉及索尼網(wǎng)絡(luò)安全攝像機被發(fā)現(xiàn)存在后門帳戶。這些端口可能被黑客用于使用僵尸網(wǎng)絡(luò)(botnet)惡意軟件感染系統(tǒng),并發(fā)起更多攻擊。索尼因此開發(fā)了固件補丁,用戶可以下載來關(guān)閉后門。但實例中,還有許多編碼或設(shè)計錯誤是不可恢復(fù)且可能造成災(zāi)難性后果的。
       
      為了證明這點,兩名安全研究人員曾經(jīng)以遠程無線方式 “黑”了一輛行駛中的Jeep Grand Cherokee,接管了儀表盤功能、方向盤、傳動和剎車制動系統(tǒng)等。當然,這一“劫持”并非惡意,而是經(jīng)過司機許可,讓研究人員得以展示如何輕松地攻擊網(wǎng)絡(luò)運營商的互聯(lián)網(wǎng)絡(luò)有多么簡單。盡管如此,這次的黑客入侵實驗還是導(dǎo)致Chrysler召回了140萬輛車。
       
      當然,系統(tǒng)不一定非要連到互聯(lián)網(wǎng),才易受攻擊、不安全:編寫不佳的嵌入式代碼和設(shè)計決策已造成這樣的傷害了。例如1983年推出治療癌癥用的Therac-25放射治療機,就是一個關(guān)于系統(tǒng)設(shè)計應(yīng)該避免哪些錯誤的經(jīng)典研究案例。軟件錯誤、缺少硬件互鎖,以及整體性較差的設(shè)計決策等多種因素結(jié)合在一起,導(dǎo)致了致命的輻射劑量。
       
      導(dǎo)致Therac-25造成致命事故的元兇包括:
       
      •不成熟和不充分的軟件開發(fā)過程(“未經(jīng)測試的軟件”)
       
      •不完整的可靠性建模和故障模式分析
       
      •未針對關(guān)鍵軟件進行(獨立)審查
       
      •舊版軟件的重新使用不當
       
      主要故障模式之一涉及頻繁溢出的測試例程中的1字節(jié)計數(shù)器。如果操作人員在溢出時為機器提供手動輸入,系統(tǒng)使用基于軟件的互鎖將會失效。
       
      1996年6月,歐洲太空總署的火箭Ariane5(Flight 501)在發(fā)射后,偏離其預(yù)定的飛行計劃,而不得不引爆自毀,這是由于為了求快,而省略了溢出檢查所導(dǎo)致的。當一個保持水平速度的變量溢出時,就無法進行檢測并作出適當響應(yīng)。
       
      盡管如此,關(guān)鍵的程序代碼和安防漏洞仍然未得到審查。事實上,Barr Group的《2017年嵌入式系統(tǒng)安全與安防調(diào)查》顯示,在工程師所進行的項目中,如果連接至互聯(lián)網(wǎng)的項目被黑客攻擊,就會整個掛掉:
       
      •22%未將安全性能作為設(shè)計要求
       
      •19%沒遵循編碼標準
       
      •42%根本沒有或只偶爾進行代碼審查
       
      •48%的人未對其在互聯(lián)網(wǎng)上的通信進行加密
       
      •超過33%未執(zhí)行靜態(tài)分析。
       
      了解安全與防護的真正意義,是朝著彌補這一局面邁出的重要一步。
       
      定義安全和防護性
       
      安全和防護(safety & security)這兩個詞經(jīng)常被混用。有些開發(fā)者經(jīng)常會有這樣的誤解:如果能編寫出好的代碼,那么項目就將是安全且受保護的。但顯然不是。
       
      一個“安全”的系統(tǒng)是指:在正常運行過程中,系統(tǒng)本身不會對用戶,或其他任何人造成傷害的系統(tǒng)。“安全關(guān)鍵”(safety critical)系統(tǒng)是一種在故障時,可能導(dǎo)致傷害或傷亡的系統(tǒng)。因此,設(shè)計者的目標就是盡可能確保系統(tǒng)不出故障或者癱瘓。
       
      另一方面,“防護”主要關(guān)注于產(chǎn)品在授權(quán)用戶使用其資產(chǎn)的同時,也防范未經(jīng)授權(quán)的接入(如黑客)的能力。這些資產(chǎn)包括流動或動態(tài)數(shù)據(jù)、代碼和知識產(chǎn)權(quán)(IP)、處理器和系統(tǒng)控制中心、通信端口、內(nèi)存和具有靜態(tài)數(shù)據(jù)的存儲器。
       
      現(xiàn)在應(yīng)該變得較明朗了,雖然系統(tǒng)能加以防護,但并不一定自動具有安全性:危險的系統(tǒng)也可能與安全可靠的系統(tǒng)一樣具有防護性。然而,不具防護性的系統(tǒng)總是不安全的,因為即使一開始時它的功能是安全的,但其易于受到未經(jīng)授權(quán)侵入的脆弱性,意味著它可能在任何時候變得不安全。
       
      實現(xiàn)安全和防護設(shè)計
       
      當談到設(shè)計安全時,有很多因素要考慮,正如Therac-25的例子一樣。然而,設(shè)計師只能控制其設(shè)計方面,而本文著重的是固件。
       
      關(guān)鍵任務(wù)應(yīng)用的一個很好例子是現(xiàn)代化汽車。這些車輛內(nèi)可能有1億多行代碼,但卻掌握在經(jīng)常缺乏訓(xùn)練或分心的用戶(駕駛員)手中。為了補強這部分用戶的需求,以攝像機和傳感器,以及車對基礎(chǔ)設(shè)施(V2I)和車對車(V2V)通信的形式添加了更多的安全特征和代碼。代碼量不斷增加,而且是呈指數(shù)級增長!
       
      盡管海量代碼使得這種系統(tǒng)的編碼和調(diào)試更加困難,但如果遵循一些核心原則,則可以省去大部分調(diào)試時間,例如:
       
      •對實時性能、成本、可升級性、安防性、可靠性和安全性有影響的硬件/軟件分配
       
      •實施容錯區(qū)域。
       
      •避免單點故障(圖2)
       
      •處理由代碼錯誤、程序本身、內(nèi)存管理或虛假中斷引起的異常
       
      •將溢出檢查包括在內(nèi)(Therac-25和Ariane火箭省略了)
       
      •清理來自外界的污染數(shù)據(jù)(使用范圍檢查和CRC)。
       
      •在每一層級進行測試(單元測試、集成測試、系統(tǒng)測試、模糊處理、校驗和驗證等)
       
      如何進行連網(wǎng)系統(tǒng)的安全防護設(shè)計
      圖2:安全關(guān)鍵系統(tǒng)避免單點故障。(資料來源:美國卡內(nèi)基梅隆大學(xué)教授Phil Koopman)
       
      為安全起見,設(shè)計師或開發(fā)者需要熟悉用戶和設(shè)備認證、公鑰基礎(chǔ)設(shè)施(PKI)和數(shù)據(jù)加密的復(fù)雜性。除了向授權(quán)用戶提供資產(chǎn)和保護資產(chǎn)免受未經(jīng)授權(quán)的訪問外,安全性還意味著系統(tǒng)在面對攻擊或故障時不會做不安全或者無法預(yù)料到的事。
       
      當然,攻擊有各種形式,包括基本拒絕服務(wù)(DoS)和分布式DoS(DDoS)。雖然開發(fā)者無法控制系統(tǒng)受到什么攻擊,但他們可以控制系統(tǒng)對攻擊的反應(yīng),且這種應(yīng)對認知必須在全系統(tǒng)范圍內(nèi)實施。系統(tǒng)最薄弱的環(huán)節(jié)決定了系統(tǒng)的整體安全程度,而假設(shè)攻擊者會發(fā)現(xiàn)該薄弱環(huán)節(jié)才是明智之舉。
       
      針對薄弱環(huán)節(jié)的示例之一就是遠程固件更新(RFU),可通過設(shè)備的遠程固件更新特性對系統(tǒng)進行攻擊。此時的系統(tǒng)十分容易受到攻擊,所以配備防范策略是明智之舉,例如:讓用戶選擇是禁用RFU,還是加載需對后續(xù)圖像進行數(shù)字簽名的更新。
       
      這看起來似乎與直覺想法相反,但密碼學(xué)基本不會是最弱環(huán)節(jié)。相反,攻擊者會尋找由于實施、協(xié)議保護、API、用例和側(cè)信道攻擊等其它脆弱的攻擊面。
       
      在這些領(lǐng)域投入多少工作、時間和資源,取決于防護威脅的類型,每一種威脅都有具體的防范措施。開發(fā)者可以采取如下一些常見舉措來提升產(chǎn)品的抗攻擊能力:
       
      •使用無外部存儲器的微控制器
       
      •禁用JTAG接口。
       
      •實施安全啟動。
       
      •使用主密鑰生成每個單元的設(shè)備專用密鑰
       
      •使用目標代碼混淆
       
      •實施開機自檢(POST)和內(nèi)建自測試(BIST)
       
      說到“混淆”,有一種理論提倡“隱藏式防護”(security through obscurity)。但若只依賴該想法,卻可能致命,因為每個秘密都會產(chǎn)生一個潛在的“軟肋”。無論是通過社會工程(social engineering)、不滿的員工,還是通過自卸和逆向工程等技術(shù),秘密遲早都將不再是秘密。當然,隱藏式防護自有用處,例如讓密鑰保有秘密。
       
      確保安全和防護
       
      雖然有許多技術(shù)和技巧可以幫助開發(fā)者和設(shè)計師實現(xiàn)高度的安全性和防護性,但是有一些基本步驟可以確保系統(tǒng)在盡可能合理的情況下進行優(yōu)化。首先,基于“久經(jīng)考驗”的編碼規(guī)則、功能安全、行業(yè)和特定應(yīng)用標準進行設(shè)計。這些準則包括MISRA和MISRA-C、ISO 26262、汽車開放系統(tǒng)架構(gòu)(Autosar)、IEC 60335和IEC 60730等。
       
      采用像MISRA這樣的編碼標準不僅有助于規(guī)避錯誤,還可以使代碼更易閱讀、一致及可移植(圖3)。
       
      如何進行連網(wǎng)系統(tǒng)的安全防護設(shè)計
      圖3:采用像MISRA這樣的編碼標準不僅有助于規(guī)避錯誤,還可以使代碼更易閱讀、一致及可移植(圖3)。(來源:Barr Group)
       
      其次,使用靜態(tài)分析(圖4)。這涉及分析軟件,而非執(zhí)行程序。它是種象征性執(zhí)行,所以本質(zhì)上是模擬。相比之下,在目標平臺上運行實際的代碼時,動態(tài)分析將會發(fā)現(xiàn)缺陷。
       
      如何進行連網(wǎng)系統(tǒng)的安全防護設(shè)計
      圖4:靜態(tài)分析工具運行源文件的“模擬”、語法和邏輯分析,并輸出警告而非目標文件。(來源:Barr Group)
       
      雖然靜態(tài)分析并非靈丹妙藥,但它確實增加了另一層保證,因為它能很好地檢測潛在的錯誤;例如使用未初始化的變量、可能的整數(shù)溢出/下溢以及有符號和無符號數(shù)據(jù)類型的混用。此外,靜態(tài)分析工具正在不斷改善中。
       
      通常,靜態(tài)分析意味著使用專用工具(如PC-Lint或Coverity),但開發(fā)者還應(yīng)考慮重新分析自己的代碼。
       
      第三,進行代碼審查。這將提高代碼的正確性,同時也有助于可維護性和可擴展性。代碼審查還有助于召回/保修維修和產(chǎn)品責任索賠。
       
      第四,進行威脅建模。從使用攻擊樹開始。這要求開發(fā)者像攻擊者一樣思考并執(zhí)行以下操作:
       
      •確定攻擊目標:
       
      o每次攻擊都有一棵單獨的樹
       
      •對于每棵樹(目標):
       
      o確定不同的攻擊
       
      o確定每次攻擊的步驟和選項
       
      值得注意的是,若從多個角度進行此類分析,則可大幅提高其效益。
       
      誰有時間把它做對?
       
      顯而易見,執(zhí)行上述四個基本步驟就能輕松地減少錯誤,并增加安全性和防護性;但這需要時間,因此,開發(fā)者必須進行相應(yīng)的時間預(yù)算。雖然項目規(guī)模不同,但重要的是必須盡可能實際。
       
      例如,添加15%到50%的設(shè)計時間,以利于代碼審查。一些系統(tǒng)需要完整的代碼審查;有些不需要。靜態(tài)分析工具可能需要10到數(shù)百小時進行初始設(shè)置,但一旦進入開發(fā)過程的某一部分或階段,產(chǎn)品開發(fā)就無需額外時間進行產(chǎn)品開發(fā)了,他們最終都通過更好的系統(tǒng)獲得回報。
       
      連網(wǎng)技術(shù)讓嵌入式系統(tǒng)設(shè)計增加了新的顧慮,它需要特別強調(diào)安全性和防護性。對這兩個概念的詳細了解、加上在設(shè)計周期之初就適當?shù)貞?yīng)用最佳實踐,能大大提高產(chǎn)品的整體安全性和防護性。這些最佳實踐包括:采用編碼標準、使用靜態(tài)分析工具、代碼審查和威脅建模。
       
      本文轉(zhuǎn)載自電子工程專輯。
       
       
       
       
       
       
       
       
       
      推薦閱讀:



      2017最具代表性的八大半導(dǎo)體并購盤點
      OTA測試對5G標準更加重要
      功率半導(dǎo)體,大漲價下的國產(chǎn)替代之路
      手機都能測心電圖了,看MTK如何在60秒內(nèi)測量6項生理數(shù)據(jù)
      做一個JFET電壓調(diào)諧文氏電橋振蕩器
       
       
       
       
      要采購工具么,點這里了解一下價格!
      特別推薦
      技術(shù)文章更多>>
      技術(shù)白皮書下載更多>>
      熱門搜索
      ?

      關(guān)閉

      ?

      關(guān)閉

      主站蜘蛛池模板: 初尝黑人嗷嗷叫中文字幕| 成人国产亚洲精品a区天堂| 欧美白丰满老太aaa片| 免费中文熟妇在线影片| 亚洲精品国产第一区第二| 国产精品麻豆va在线播放| 无码成人h免费视频在线观看| 狠狠婷婷色五月中文字幕| 九九精品无码专区免费| 狠狠色噜噜狠狠狠狠888奇米| 67pao国产成视频永久免费| 久久精品99av高久久精品| 992tv精品视频tv在线观看| 国产精品18久久久久久欧美| 亚洲精品尤物av在线观看不卡| 久久婷婷五月综合色高清| 无码日韩av一区二区三区 | 欧美国产日韩在线三区| 9l国产精品久久久久尤物| 国产成av人片在线观看无码| 92电影网午夜福利| 热久久美女精品天天吊色| 免费裸体无遮挡黄网站免费看| 黑人猛挺进小莹的体内视频| 性无码免费一区二区三区在线| 亚洲欧美日韩一区二区| 国产女精品视频网站免费蜜芽| 国产人妻丰满熟妇嗷嗷叫| 无码午夜成人1000部免费视频| 丰满人妻熟妇乱又仑精品| 欧美品无码一区二区三区在线蜜桃| 国产精品污www一区二区三区 | 欧美白丰满老太aaa片| 国产精品丝袜黑色高跟鞋| 色诱久久久久综合网ywww| 国产精品麻豆va在线播放| 无线日本视频精品| 国产精品18久久久久久欧美| 久久无码中文字幕免费影院| 亚洲国产精品无码久久98| 人妻无码系列一区二区三区|