嵌入式系統(tǒng)上的12種常見(jiàn)攻擊及其防范方法(上)
嵌入式系統(tǒng)為我們身邊的許多技術(shù)提供了支持,從微波爐到飛機(jī)。典型的現(xiàn)代汽車(chē)包含大約100個(gè)控制單元,它們是一組嵌入式設(shè)備。嵌入式系統(tǒng)也是黑客攻擊的熱門(mén)目標(biāo),因?yàn)樗鼈優(yōu)楹诳吞峁┝藢?duì)其生成、處理和傳輸?shù)乃袛?shù)據(jù)的訪問(wèn)權(quán)限。
然而,由于嵌入式系統(tǒng)的諸多局限性,保護(hù)嵌入式系統(tǒng)是一個(gè)相當(dāng)大的挑戰(zhàn)。為了為此類(lèi)系統(tǒng)創(chuàng)建有效和安全的軟件,開(kāi)發(fā)人員需要對(duì)嵌入式解決方案有深入的了解和豐富的經(jīng)驗(yàn)。
在本文中,我們分析了用于攻擊嵌入式系統(tǒng)的十二種最常見(jiàn)的技術(shù)以及緩解這些攻擊的方法。我們還提供11種優(yōu)秀實(shí)踐,以提高嵌入式系統(tǒng)的整體安全性。
什么是嵌入式系統(tǒng)?
嵌入式系統(tǒng)由硬件和軟件組成,是能夠獨(dú)立進(jìn)行運(yùn)作的器件。其軟件內(nèi)容只包括軟件運(yùn)行環(huán)境及其操作系統(tǒng)。硬件內(nèi)容包括信號(hào)處理器、存儲(chǔ)器、通信模塊等在內(nèi)的多方面的內(nèi)容。相比于一般的計(jì)算機(jī)處理系統(tǒng)而言,嵌入式系統(tǒng)存在較大的差異性, 它不能實(shí)現(xiàn)大容量的存儲(chǔ)功能,因?yàn)闆](méi)有與之相匹配的大容量介質(zhì),大部分采用的存儲(chǔ)介質(zhì)有E-PROM、EEPROM DENG等, 軟件部分以API編程接口作為開(kāi)發(fā)平臺(tái)的核心。
嵌入式系統(tǒng)是位于大型機(jī)構(gòu)內(nèi)的嵌入式設(shè)備的組合。這樣的一個(gè)系統(tǒng)專(zhuān)門(mén)用來(lái)執(zhí)行一個(gè)特定的任務(wù),這使得它與其他任何設(shè)備系統(tǒng)不同。例如,一臺(tái)筆記本電腦有許多控制其性能的嵌入式系統(tǒng),但它本身并不是一個(gè)嵌入式系統(tǒng),因?yàn)楣P記本電腦可以執(zhí)行各種任務(wù)。
一般來(lái)說(shuō),嵌入式系統(tǒng)由CPU、存儲(chǔ)器和外圍設(shè)備組成。在現(xiàn)代系統(tǒng)中,它們被組合成一個(gè)微控制器(所有三個(gè)組件都在同一個(gè)芯片上)或微處理器(使用外部存儲(chǔ)器和外部外圍設(shè)備來(lái)節(jié)省成本和降低功耗)。設(shè)備的組合和容量取決于每個(gè)系統(tǒng)的用途。
嵌入式系統(tǒng)由確定嵌入式設(shè)備行為的集成軟件控制。通常,開(kāi)發(fā)人員可以通過(guò)用戶界面與嵌入式軟件進(jìn)行交互,但是具有嚴(yán)格限制的系統(tǒng)可能不支持此功能。
嵌入式系統(tǒng)的體系結(jié)構(gòu)
嵌入式系統(tǒng)的主要好處是它們具有實(shí)時(shí)工作能力,幾乎沒(méi)有延遲的完成任務(wù)。這種性能是通過(guò)優(yōu)化系統(tǒng)資源和硬件以執(zhí)行一項(xiàng)活動(dòng)來(lái)實(shí)現(xiàn)的。由于進(jìn)行了這種優(yōu)化,因此與構(gòu)建更復(fù)雜的設(shè)備相比,使用嵌入式系統(tǒng)更便宜,功耗更低。
借助正確的軟件,嵌入式系統(tǒng)可以在任何環(huán)境下正常運(yùn)行并發(fā)揮出色的性能。這些系統(tǒng)對(duì)于硬件工程師來(lái)說(shuō)也很方便,因?yàn)榍度胧皆O(shè)備很小,幾乎不需要外部連接。
嵌入式系統(tǒng)的缺點(diǎn)還源于其緊湊性和對(duì)單個(gè)任務(wù)的專(zhuān)注。首先,有限的計(jì)算能力和內(nèi)存使開(kāi)發(fā)人員處于一個(gè)具有挑戰(zhàn)性的位置。他們需要特定的技能和經(jīng)驗(yàn)來(lái)創(chuàng)建使嵌入式系統(tǒng)性能、穩(wěn)定和安全的軟件。
其次,嵌入式系統(tǒng)實(shí)際上無(wú)法擴(kuò)展,因?yàn)樗鼈兺ǔH具有足以滿足當(dāng)前負(fù)載的計(jì)算能力。
最后一點(diǎn)是,功率限制,對(duì)性能的強(qiáng)調(diào)以及嵌入式系統(tǒng)的本質(zhì)可能會(huì)造成安全漏洞。我們將在下面調(diào)查這些漏洞的根本原因和類(lèi)型。
嵌入式系統(tǒng)的優(yōu)缺點(diǎn)
嵌入式系統(tǒng)的安全挑戰(zhàn)
嵌入式系統(tǒng)安全性漏洞可以使黑客有機(jī)會(huì)獲得機(jī)密信息,這是個(gè)潛在威脅,將嵌入式系統(tǒng)用作執(zhí)行進(jìn)一步攻擊的平臺(tái),甚至對(duì)設(shè)備造成物理?yè)p壞,有可能導(dǎo)致人身傷害??紤]到嵌入式系統(tǒng)是極其昂貴和有價(jià)值的計(jì)算機(jī)的組成部分,因此入侵這些系統(tǒng)的可能性會(huì)吸引許多黑客。這就是為什么說(shuō)保護(hù)嵌入式系統(tǒng)是極其重要的。
然而,在嵌入式系統(tǒng)中實(shí)施安全措施面臨諸多挑戰(zhàn):
- 電源和內(nèi)存限制限制了嵌入式系統(tǒng)可以運(yùn)行的網(wǎng)絡(luò)安全應(yīng)用程序的數(shù)量。
- 在開(kāi)發(fā)嵌入式軟件和設(shè)計(jì)硬件時(shí)要考慮安全性,因此需要開(kāi)發(fā)專(zhuān)家。
- 網(wǎng)絡(luò)連接和較差的訪問(wèn)控制在嵌入式系統(tǒng)中很常見(jiàn)。
- 物理暴露使黑客可以根據(jù)需要研究系統(tǒng)。
對(duì)嵌入式系統(tǒng)安全性的攻擊可能會(huì)產(chǎn)生嚴(yán)重的后果。讓我們看幾個(gè)例子。
嵌入式系統(tǒng)利用的后果是什么?
嵌入式系統(tǒng)漏洞利用的最常見(jiàn)示例是諸如GPS設(shè)備,視頻卡,Wi-Fi路由器和游戲設(shè)備之類(lèi)的消費(fèi)電子產(chǎn)品的黑客行為。這些黑客攻擊通常是有可能的,因?yàn)橹圃焐滩槐Wo(hù)他們的固件。因此,幾乎任何一個(gè)稍有技術(shù)知識(shí)的人都可以獲得高級(jí)功能或超頻設(shè)備。
在2018年,白帽子發(fā)現(xiàn)Meltdown和Spectre硬件漏洞會(huì)影響所有Intel x86和某些AMD處理器。這兩個(gè)漏洞破壞了用戶應(yīng)用程序之間的隔離,使應(yīng)用程序可以訪問(wèn)敏感數(shù)據(jù)并擴(kuò)大攻擊面。Linux和Windows開(kāi)發(fā)人員都已為其操作系統(tǒng)發(fā)布了補(bǔ)丁,以部分保護(hù)設(shè)備免受Meltdown和Spectre的侵害。但是,在易受攻擊的處理器上運(yùn)行的許多設(shè)備(尤其是舊設(shè)備)仍未受到保護(hù)。
正如我們上面提到的,任何大小和復(fù)雜程度的機(jī)器都可能因?yàn)椴话踩那度胧较到y(tǒng)而變得脆弱。例如,波音787的機(jī)組信息系統(tǒng)/維護(hù)系統(tǒng)和機(jī)載網(wǎng)絡(luò)系統(tǒng)的固件容易受到緩沖區(qū)溢出、內(nèi)存損壞、堆棧溢出和拒絕服務(wù)攻擊的攻擊。如果攻擊成功,黑客可以獲取飛行員的個(gè)人信息或破壞航空電子網(wǎng)絡(luò)。
軍事裝備也會(huì)受到嵌入式系統(tǒng)的攻擊。例如,黑客可以關(guān)閉 F-15戰(zhàn)斗機(jī)上的“可信飛機(jī)信息下載站”。該嵌入式設(shè)備在飛行過(guò)程中從攝像機(jī)和傳感器收集數(shù)據(jù),為飛行員提供導(dǎo)航數(shù)據(jù)。
嵌入式系統(tǒng)是植入醫(yī)療設(shè)備的重要基礎(chǔ)。這些設(shè)備必須小巧耐用,并且必須實(shí)時(shí)運(yùn)行。但是他們也很容易受到黑客的攻擊,這是由一群研究Medtronic生產(chǎn)的設(shè)備的白帽黑客發(fā)現(xiàn)的。他們?cè)贛edtronic胰島素泵和起搏器中發(fā)現(xiàn)的漏洞可能會(huì)中斷或停止設(shè)備,或者讓黑客控制它們。
考慮到這一點(diǎn),我們將在下篇文章中討論對(duì)嵌入式軟件,網(wǎng)絡(luò)和設(shè)備的最常見(jiàn)攻擊以及可能的保護(hù)措施。
本文翻譯自:https://www.apriorit.com/dev-blog/690-embedded-systems-attacks