嵌入式系統“多安全才算安全”

發(fā)布時(shí)間:2009-8-20 10:29    發(fā)布者:賈延安
關(guān)鍵詞: 安全 , 嵌入式系統
若沒(méi)有應用環(huán)境,安全就沒(méi)有意義。嵌入式系統設計師經(jīng)常誤解安全,認為諸如特定的加密算法和安全協(xié)議等安全措施只是系統的附加特性。安全是一個(gè)過(guò)程,而不是永遠保持不變的一款產(chǎn)品或一種終極狀態(tài)。而且,也不能在產(chǎn)品將永遠保持安全的假設下,把安全措施簡(jiǎn)單地加入到一款產(chǎn)品中。設計師應該在設計過(guò)程開(kāi)始的時(shí)候,就把安全和其他參數如成本、性能和功耗等一并進(jìn)行考慮。

  在設計的初始階段,利用安全設計檢測威脅

  在設計安全解決方案的時(shí)候,首先必須做的就是定義一個(gè)威脅模型,然后再創(chuàng )建安全策略。一旦評估完成,就能安心地選擇具體的技術(shù)來(lái)實(shí)現安全對策。威脅決定應對策略,策略決定設計。

  許多設計師都會(huì )犯同一個(gè)錯誤,在設計安全系統時(shí)沒(méi)有首先明確和了解可能遇到的真正威脅、以及這些威脅會(huì )為他們的終端產(chǎn)品帶來(lái)的重大風(fēng)險。相反,他們教條地把分類(lèi)的安全技術(shù)堆在一起,并希望能獲得很高的安全性。這樣做代價(jià)高昂,沒(méi)有系統能防御所有的安全威脅,在設計中囊括那些沒(méi)有必要的技術(shù)和防御沒(méi)有實(shí)際威脅的風(fēng)險毫無(wú)意義。

  即使威脅建模有價(jià)值,它本身也存在風(fēng)險

  對于資源受限的設備,嵌入式系統必須在存儲容量、功耗、處理能力、上市時(shí)間及成本等參數和安全需求之間獲取一種平衡。盡管存在資源不足的挑戰,通過(guò)仔細考慮威脅模型并設計系統使其工作在能滿(mǎn)足該模型的可用計算能力限制之內,仍有可能開(kāi)發(fā)出使產(chǎn)品在開(kāi)放環(huán)境中有效工作的系統。

  對系統設計師來(lái)說(shuō),考慮“威脅建!钡脑矸浅S杏。威脅建模是基于一種假設,即每個(gè)系統都有值得保護的固有價(jià)值。然而,因為這些系統是有價(jià)值的,他們對內部或外部威脅也是開(kāi)放的,這些威脅能夠且經(jīng)常給終端產(chǎn)品帶來(lái)?yè)p害。設計完成后的安全漏洞常常是無(wú)法修正的,且危及投入的資金和開(kāi)發(fā)資源,因此需要在設計周期的初始階段增強對安全評估的需求,并在整個(gè)設計周期中進(jìn)行監測和重復修正。

  本質(zhì)上,我們可以把威脅模型定義為識別一組可能的攻擊,以便考慮配合一套徹底的風(fēng)險評估策略。有了威脅模型,您就能估計攻擊的概率、潛在危害和優(yōu)先級。

  威脅建模很難,但是很有必要,威脅建模需要考慮系統是怎樣被攻擊的。建模完成后,它解決了潛在的系統安全故障隱患,解決了諸如它是如何產(chǎn)生、以及在出現安全故障時(shí)發(fā)生了什么等問(wèn)題。通常在市場(chǎng)和成本的壓力下,這個(gè)評估以一種特別的方式來(lái)進(jìn)行,即通過(guò)集思廣益征集系統有可能受到的所有攻擊(當然,潛在的黑客或許比您更超前一步)。對這個(gè)過(guò)程來(lái)說(shuō),一個(gè)更加系統化及可重復的方法是使用攻擊樹(shù),這個(gè)概念首先是由Bruce Schneier [1,2]提出來(lái)的。攻擊樹(shù)提供一種將攻擊系統的不同方式進(jìn)行系統性分類(lèi)的方法。大致來(lái)說(shuō),就是您以一種樹(shù)的結構描述了系統所受的攻擊,在樹(shù)結構中節點(diǎn)代表著(zhù)攻擊時(shí)間。樹(shù)的根節點(diǎn)是攻擊者的總目標,達到該目標的不同路徑則是葉節點(diǎn)。

  當正確完成威脅建模時(shí),真正的威脅就被確定下來(lái)了。然而,如果弄錯了可能存在的威脅的話(huà),其代價(jià)將是高昂的。設計師弄錯威脅的一個(gè)案例是DVD的保護。盡管DVD碟片被加密,密鑰也被放在播放機里,只要播放機里包含抗篡改硬件,這種保護方式是沒(méi)有問(wèn)題的。但當引入軟件播放器時(shí),密鑰就被曝露出來(lái),通過(guò)反向工程就能恢復密鑰,也使任何人都能自由復制和散布任何DVD內容。在這種情況下,它是有缺陷的威脅模型。雖然有安全措施,但是這無(wú)法真正解決問(wèn)題。



  僅僅列出一堆威脅是不夠的,由于不同威脅的風(fēng)險不同,您還需要知道每種威脅的風(fēng)險。威脅建模的下一個(gè)步驟是風(fēng)險評估,這是在任何安全系統設計中的一個(gè)至關(guān)重要的部分。

  風(fēng)險評估

  在風(fēng)險評估中,不可避免地要討論一些基礎問(wèn)題,即What、Why以及Who?

  What—您在保護什么?在設計最初階段,就需要在您的系統中確定需要保護的關(guān)鍵對象。這些對象可能包括密鑰、特殊算法、器件標識符、數字媒體、生物特征識別或產(chǎn)品固件。

  Why—您為什么要保護這個(gè)設計?您是否需要作為與商業(yè)伙伴協(xié)議的一部分而保護IP,該商業(yè)伙伴只在您承諾在自己設計的產(chǎn)品中能保護其安全才會(huì )向您提供IP?您是否需要在一個(gè)醫療設備或商業(yè)銷(xiāo)售點(diǎn)系統中保證機密的用戶(hù)信息是安全的?您所設計的產(chǎn)品是否將是黑客攻擊目標的熱門(mén)產(chǎn)品?所有這些問(wèn)題都將決定對有效的安全防范技術(shù)的選擇。

  Who—是誰(shuí)真正地想要您的IP?當然,攻擊者名單是列不盡的。不管他是享受攻擊挑戰的經(jīng)驗豐富的技術(shù)專(zhuān)家,還是意圖獲取您的IP的大型組織、政府或競爭對手,關(guān)鍵都是要識別攻擊者的動(dòng)機、資源和專(zhuān)有技術(shù),這樣您才能設計適當的防御措施。

  安全策略

  一旦您已經(jīng)識別出了您的威脅,并且權衡了風(fēng)險,接下來(lái)就該建立安全策略了。安全策略是解決方案背后的戰略,而技術(shù)僅僅是戰術(shù)手段。安全策略描述“為什么”,而不是“如何做”。

  例如,一個(gè)基于FPGA設計的安全策略目標之一也許是“保持配置碼流的機密性”,這是系統的目標之一!叭绾巫觥被驅Σ叩膶(shí)施可能會(huì )是采用諸如AES等對稱(chēng)密鑰加密的方式,對配置碼流進(jìn)行加密以便實(shí)現這個(gè)目標。

  下面總結了如何將這個(gè)工作放入到整體的設計流程中。

  了解系統的真正威脅、并且評估這些威脅的風(fēng)險,評估哪些威脅是最危險的并最可能發(fā)生。將系統性防御這些威脅所需的安全策略進(jìn)行描述并歸檔。這將是一系列的聲明,例如:“只有可信任的代碼才允許進(jìn)入到受限制的內存”,或“密碼密鑰必須保密”。



  設計并實(shí)施能加強系統安全策略的防范措施。理論上,這些防范措施是保護、檢測和回應的混合機制。

  防范措施

  在系統確定了潛在的攻擊,且已定義好安全目標后,就可以考慮實(shí)施防范技術(shù)來(lái)減輕風(fēng)險。一套有效的安全防范措施包括3個(gè)不同的部分,并且它們依次發(fā)揮作用:保護、檢測、回應。

  為了解釋保護、檢測和回應之間的關(guān)系,我們來(lái)看一個(gè)經(jīng)典的汽車(chē)盜竊案例。偷車(chē)賊如果想要偷竊您的新車(chē),他必須首先破環(huán)車(chē)門(mén)鎖。如果竊賊想要開(kāi)走汽車(chē)而不僅是搶劫車(chē)內財物,他可能遇到許多安全措施,包括由于沒(méi)有使用正確的鑰匙而導致觸發(fā)引擎關(guān)斷開(kāi)關(guān),或者由于聲音、沖擊或篡改而激活警報聲。甚至車(chē)主還會(huì )采納其他額外的、意料之外的安全措施,如Lojack汽車(chē)恢復系統,盡管該系統還存在安全漏洞,但也可能把警察直接帶到盜車(chē)賊身邊。在安全設計術(shù)語(yǔ)中,門(mén)鎖和引擎關(guān)斷機制是保護對策,而警報是檢測對策,警察和Lojack系統是回應對策。

  這些對策必須基于系統已知威脅來(lái)合理地共同工作。如果保護機制被攻破,必須依靠檢測和回應機制來(lái)抵御攻擊。如果回應機制不存在或無(wú)效,那擁有檢測機制也就沒(méi)有意義。

  在嵌入式系統中,保護機制也許采取加密的形式、反篡改的機制[3]、或采用多種物理安全形式如機械性地搞亂連接處理器、內存裝置數據線(xiàn)以及關(guān)鍵元件封裝的硬件接入點(diǎn)。例如,媒體播放器一般使用加密法來(lái)實(shí)施數字版權管理(DRM),以便作為對音樂(lè )和電影內容的保護。

  檢測機制如入侵傳感器可被用于檢測開(kāi)路或短路,從而指示發(fā)生了企圖物理性損害設備的行為。

  回應是系統的最后防御。通常,回應機制將關(guān)閉或禁用設備,或刪除敏感內容以預防發(fā)生危害;貞獧C制也能記錄檢測到的攻擊類(lèi)型及發(fā)生時(shí)間,這樣就能在受到攻擊后提供有用的法庭審核信息。

  結語(yǔ)

  安全設計就是一個(gè)動(dòng)態(tài)的、與具體的系統相關(guān)的過(guò)程,且往往很復雜。對于本文中談?wù)摰拿糠N安全話(huà)題,都有大量研究和專(zhuān)門(mén)技術(shù)資料供設計師研究和學(xué)習。在開(kāi)始進(jìn)行設計時(shí),最重要的事情就是盡早開(kāi)始您的安全需求評估,定義系統安全目標,并經(jīng)常性地根據系統用途及市場(chǎng)的變化來(lái)確定是否最初的威脅已經(jīng)改變或擴展。

  什么時(shí)候您才會(huì )知道您的系統是足夠安全的?澳大利亞新南威爾士Country Energy負責安全的Robbie Sinclair曾經(jīng)說(shuō)過(guò):“在您感覺(jué)到不夠安全之前,安全措施總是過(guò)量的!碑斈_(kāi)始您的安全評估時(shí),請給出您對“多大程度的安全才算安全”這個(gè)問(wèn)題的答案。
本文地址:http://selenalain.com/thread-3166-1-1.html     【打印本頁(yè)】

本站部分文章為轉載或網(wǎng)友發(fā)布,目的在于傳遞和分享信息,并不代表本網(wǎng)贊同其觀(guān)點(diǎn)和對其真實(shí)性負責;文章版權歸原作者及原出處所有,如涉及作品內容、版權和其它問(wèn)題,我們將根據著(zhù)作權人的要求,第一時(shí)間更正或刪除。
alpha321 發(fā)表于 2009-11-16 19:23:50
“設計師應該在設計過(guò)程開(kāi)始的時(shí)候,就把安全和其他參數如成本、性能和功耗等一并進(jìn)行考慮!
好文章,學(xué)習
hidden
游客 發(fā)表于 2010-3-4 21:16:00
您需要登錄后才可以發(fā)表評論 登錄 | 立即注冊

相關(guān)視頻

關(guān)于我們  -  服務(wù)條款  -  使用指南  -  站點(diǎn)地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權所有   京ICP備16069177號 | 京公網(wǎng)安備11010502021702
快速回復 返回頂部 返回列表
午夜高清国产拍精品福利|亚洲色精品88色婷婷七月丁香|91久久精品无码一区|99久久国语露脸精品|动漫卡通亚洲综合专区48页