描寫流氓AI、流氓機器人和騎到主人頭上的家用電器的流行文化作品簡直不要太多。科幻小說、滑稽劇和架空幻想作品就喜歡這些題材,但隨著物聯網和聯網設備的普及,我們需要認真談論下網絡安全問題了。
我們的生活中到處都是軟件,很容易就忘記了我們到底有多依賴這些代碼去干活,為我們提供如此之多的創新和便利。
與基于Web的軟件、API和移動設備非常類似,一旦被攻擊者發現,嵌入式系統中的脆弱代碼就可為其所利用。
雖然不太可能經由網絡攻擊驅使烤面包機大軍奴役人類(盡管特斯拉機器人有點令人擔憂),但惡意網絡事件卻仍然有可能發生。我們的某些汽車、飛機和醫療設備也依賴復雜的嵌入式系統代碼執行關鍵任務,這些東西遭到入侵也是有可能危及生命的。
無論是其他類型的軟件還是嵌入式系統代碼,開發人員總是第一批接觸的人,從創建階段伊始就經手了。也與其他任何類型的軟件一樣,開發過程可能是產品上線前未檢測到的常見陰險漏洞的滋生溫床。
開發人員不是安全專家,任何公司都不應該期待他們把安全專家的事兒也做了,但可以給開發人員配備更強大的武器庫,讓他們能夠應對與自身相關的那類威脅。嵌入式系統通常用C和C++語言編寫。由于技術需要保持增長和變化,嵌入式系統的使用越來越頻繁,專門對開發人員進行此類環境中所用工具的安全培訓,是應對網絡攻擊的重要防御策略。
爆炸的空氣炸鍋、任性的汽車……我們真的直面危險?
盡管有一些圍繞安全開發最佳實踐的標準和監管規定來保證我們的安全,但我們仍需朝著全方位的軟件安全邁出更精準、更有意義的步伐。設想有人入侵空氣炸鍋可能導致的問題似乎有些杞人憂天,但惡意黑客以遠程代碼執行(RCE)攻擊的形式將溫度調高到危險程度的事情確確實實發生了,代碼漏洞導致車輛遭他人接管的情況也不是沒有出現過。
汽車相當復雜,載有多個嵌入式系統,每個嵌入式系統都有各自負責的微功能;從自動雨刷器到引擎到剎車等等。與WI-Fi、藍牙和GPS等不斷增加的通信技術棧交織在一起,聯網車輛就是個暴露在多種攻擊渠道面前的復雜數字基礎設施。預計到2023年,全球將有7630萬輛聯網汽車在路面上飛馳,這意味著我們得為真正的安全奠定堅實的防御基礎。
汽車行業軟件可靠性協會(MISRA)是對抗嵌入式系統威脅的重要組織,已制定出多項指南促進嵌入式系統環境中的代碼安全、可移植性和可靠性。這些指南錨定了企業在其嵌入式系統項目中必須爭取達到的標準。
然而,要創建和執行符合這一黃金標準的代碼,嵌入式系統工程師需要能夠熟練掌握工具,更不用說安全意識了。
為什么嵌入式系統安全技能提升如此具體?
按今天的標準來看,C和C++編程語言已經過時了,但仍然應用廣泛。這兩種編程語言構成了嵌入式系統代碼庫的功能核心,而嵌入式C/C++作為聯網設備的一部分在現代世界持續閃耀。
盡管這些編程語言的歷史可謂相當“悠久”,且都很容易出現注入缺陷和緩沖區溢出等常見問題,但對于開發人員來說,要想真正成功地緩解嵌入式系統中的安全漏洞,就必須親手處理模擬他們工作環境的代碼。普通安全實踐中的通用C語言編程培訓效果,完全比不上專門花時間在嵌入式C語言環境中修煉那么有效和牢固。
現代車輛中有十幾個到一百多個嵌入式系統,開發人員必須接受有針對性的培訓,了解需要查找什么,以及如何在IDE中進行修復。
每個人都有責任從一開始就保護嵌入式系統
很多企業的現狀是,開發速度重于安全,至少在開發人員的職責方面是這樣的。開發人員產出安全代碼的能力幾乎不在考核之列,而快速開發出強悍功能卻是成功的標志。軟件需求只會不斷增加,但這種速度勝過安全的文化已經讓我們在與漏洞的戰斗中失了先機,隨后而來的就是無窮無盡的網絡攻擊。
如果開發人員沒有接受培訓,那這個鍋就不應該由他們來背,而是應用安全團隊應該有人向開發部門推薦合適的可用(更不用說可評估了)技能提升計劃來幫助堵上這一漏洞。安全需在軟件開發項目伊始就成為首要考慮因素,每個人(尤其是開發人員)都需要在其中發揮自己的作用。
動手處理嵌入式系統安全問題
緩沖區溢出、注入缺陷和業務邏輯漏洞等都是嵌入式系統開發中的常見陷阱。如果深藏在單個車輛或設備的微控制器迷宮中,這些問題可能引發巨大的安全災難。
緩沖區溢出漏洞尤為普遍,如果想要深入了解攻擊者如何利用這一漏洞入侵前述空氣炸鍋(可致遠程代碼執行),不妨查閱關于CVE-2020-28592的報告。
在真正的嵌入式C/C++代碼中動手處理緩沖區溢出漏洞,可以試試這個挑戰,是否可以定位、識別和修復可導致此類潛在錯誤的糟糕編碼模式:
https://portal.securecodewarrior.com/#/website-trial/web/memory/buffer/cpp/embedded?utm_source=onlineadvertising&utm_medium=hackernews&utm_campaign=embedded-launch&utm_content=sponsed-post
來源:數世咨詢