【導讀】物聯網的安全問題一向都是熱門關注的焦點。嵌入式開發(fā)過程中尤其要注意物聯網設計安全。在這里小編提出嵌入式開發(fā)的三大物聯網安全守則,希望未來的設計工作者能夠謹慎對待物聯網的設計安全,謹遵三大守則。
人們對物聯網的安全性有著廣泛的高度關注。互聯網中充斥著大批游手好閑的人,他們以入侵網絡設備為樂,這是不諍的事實。但許多嵌入式開發(fā)團隊在之前從來沒有處理過安全問題,且仍在試圖決定什么是他們需要做的,如果有的話。
為了要獲得有許多物聯網設計經驗人士的觀點,筆者日前采訪了物聯網平臺制造商Electric Imp的共同創(chuàng)辦人和首席執(zhí)行長Hugo Fiennes,他日前才在今年的ESC Boston中針對物聯網的安全發(fā)表過演講。他提出了很多建議,其中最重要的三條守則將是一個很好的起始點,讓開發(fā)團隊可以順利地邁向物聯網的安全大道。
第一,制定一份計劃,讓你的設備能夠以安全的方式在遠程更新的固件。安全領域的市場態(tài)勢一直都在不斷地變化。那些今天可以壓制攻擊者的方法,明天可能就不管用了。但客戶還是會有合理的期望,希望他們所購買的設備將可提供一段很長時間的良好服務,而且不會帶來許多麻煩。所以,幾乎可以肯定是,物聯網設備將隨著時間的推移而需要一種安全的更新方法,因此進行這種更新的設施,將會是其設計中的一個基本部分。對物聯網而言,那種賣了就忘(sell-and-forget)的時代已經結束了。
此一規(guī)則會產生多方面的影響。這種產品需要某種形式的支持服務,以創(chuàng)建、管理,并提供所需的更新,以及一種可提供這種服務的安全通道,而這種服務需要以產品開發(fā)的一部分來規(guī)畫。而這項產品也要設計成在接受更新之前,可驗證其所接收到的更新通知,且要在更新在加載時,還能夠繼續(xù)運作,且在理想情況下,如果由于某種原因,此一更新為使用者帶來了問題,還要能夠恢復回已知的良好狀態(tài)(a known good state)。且這整個過程都應該自動完成的。
其次,在設計的早期步驟就應該把安全性納入考慮。安全并不是那種你只要將它插入工作系統(tǒng)中,并讓它即刻生效的東西。我們不能把它視為是一種事后添加的功能。它必須是裝置整體設計中的一部份,而不是圍繞在外的裝甲鋼板。否則,該設計就會存在著一條你所不知道的攻擊途徑。檢視一下像數據流、功能集、和設定流程等,以確保你在設計的各個方面都已將安全的需求和所涉及的問題都已考慮在內。
當然,沒有那一種安全是完美的,但它要夠堅固,讓攻擊該設計的成本會非常高。并不是所有的攻擊是一樣的,有些會打開IC的封裝,再以電子顯微鏡讀出其閃存中的內容,你可能不需要對此提供保護。你需要將決定提供多少保護,所愿意承擔的風險等作為設計過程中考慮的一部分。
第三,請確保有足夠的預算來實現安全性。對物聯網的安全性而言,具有成本意識的管理充其量只是口惠而實不至的,這種情況經常會發(fā)生。最糟的是,安全并不是一具有市場性的功能的這樣的想法,他們也表示認同;或以"沒有人會想"攻擊這樣的產品來自我說服。于是,即使有的話,他們也并未將資金正確地配置在實現安全性上。
這種失敗讓產生嚴重后果的可能性大增。對無法在其設備上提供充分安全性一事,消費產品的開發(fā)人員早已被認為是要對此負責的。即使沒有財務上的沖擊,安全失敗也會連累產品 (和公司) 的聲譽,長遠來看,對銷售還是有影響的。即使該產品并沒有吸引潛在攻擊者的誘因,像是并沒有有價值的數據或控制的區(qū)域,但單是它是一款可連接到網絡上的智能型設備,就有可能會被有心人士利用,拿它來當作殭尸網絡的一環(huán),或是把它當作是一個后門進入點,藉由此一進入點進入一個擁有貴重數據的網絡。
開發(fā)人員可以采取許多具體的行動來確保其物聯網的設計更加安全,但前文所指出的這三個步驟卻是建立這些行動的基礎。如果你還沒有規(guī)劃可以在現場升級,如果你沒有從頭開始就把安全性納入考慮,如果你沒有編入足夠的預算來實現所需的安全性,那么,其它的行動就顯得毫無意義。你可能可以完成一項設計,在它發(fā)表的當時看起來似乎擁有足夠的安全性,但它可能無法承受那些來自網絡連接另一端的那么多的有心人士的覬覦目光,他們都在伺機而動,隨時準備侵入你的產品之中。
相關閱讀:
誰能保證物聯網邊緣節(jié)點的安全性?
物聯網產品隱私設計為何如此重要?
用WiFi路由器給物聯網設備“充點電”!