0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

嵌入式系統(tǒng)12種常見攻擊及防范方法

jf_pJlTbmA9 ? 來源:strongerHuang ? 作者:strongerHuang ? 2023-09-21 17:26 ? 次閱讀

以前的嵌入式系統(tǒng)對安全問題相對不那么重視,但隨著時間的推移,你會發(fā)現(xiàn)很多嵌入式設(shè)備都在做各種“保護(hù)措施”,你平時在產(chǎn)品開發(fā)和設(shè)計(jì)時,有注意安全問題嗎?

嵌入式系統(tǒng)12種常見攻擊

嵌入式系統(tǒng)的攻擊可根據(jù)其目標(biāo)分為三類:

基于軟件的攻擊

基于網(wǎng)絡(luò)的攻擊

旁道攻擊

wKgZomUD9nuAYWzsAAIY8TLnRVg978.png

讓我們找出針對這些類型攻擊的關(guān)鍵特征,常見示例以及可能的對策。

第一類:基于軟件的攻擊

基于軟件的攻擊針對系統(tǒng)的大腦-管理設(shè)備的應(yīng)用程序。對軟件的成功攻擊使黑客能夠訪問數(shù)據(jù)或獲得對嵌入式系統(tǒng)的控制。

搜索軟件設(shè)計(jì)和代碼中的漏洞是最常見的攻擊手段,因?yàn)榭梢赃h(yuǎn)程進(jìn)行此類攻擊。而且,基于軟件的攻擊不需要黑客的專業(yè)知識,因?yàn)樗麄兛梢允褂玫湫偷墓?,例如部署惡意軟件和暴力破解?/p>

最普遍的基于軟件的攻擊包括:

· 惡意軟件

· 暴力訪問

· 內(nèi)存緩沖區(qū)溢出

· 利用web服務(wù)

對嵌入式系統(tǒng)的惡意軟件攻擊與任何其他系統(tǒng)的工作方式相同:黑客部署了一段惡意代碼,這些代碼試圖攔截存儲在系統(tǒng)內(nèi)部的數(shù)據(jù),控制受害系統(tǒng)或?qū)ζ溥M(jìn)行破壞。通常,黑客會偽造固件更新,驅(qū)動程序或安全補(bǔ)丁來分發(fā)惡意軟件。

為了防止此類攻擊,可以實(shí)施以下保護(hù)措施:

應(yīng)用黑名單方法,即開發(fā)人員為系統(tǒng)檢測到的任何新惡意軟件創(chuàng)建簽名,并將這些簽名添加到嵌入式系統(tǒng)固件中。當(dāng)系統(tǒng)檢測到具有已知簽名的軟件時,它將不會運(yùn)行它。

使用白名單保護(hù),為所有受信任的軟件源創(chuàng)建特定的簽名。這允許系統(tǒng)只運(yùn)行具有正確簽名的軟件。

簡單地說,強(qiáng)制訪問憑證就是猜測憑證的過程。大多數(shù)嵌入式系統(tǒng)提供對圖形用戶界面(GUI)的遠(yuǎn)程訪問,黑客可以利用該界面進(jìn)行攻擊。你可以通過使用強(qiáng)密碼和限制登錄嘗試次數(shù)來防止暴力強(qiáng)制攻擊。

內(nèi)存緩沖區(qū)溢出是一種攻擊,當(dāng)黑客手動溢出分配給包含在嵌入式系統(tǒng)中移動的數(shù)據(jù)的內(nèi)存緩沖區(qū)時。黑客部署的漏洞攻擊使內(nèi)存緩沖區(qū)充滿了過多的數(shù)據(jù)。在這種情況下,嵌入式操作系統(tǒng)將把其中的一些數(shù)據(jù)記錄到緩沖區(qū)旁邊的內(nèi)存段中。記錄的數(shù)據(jù)可能包含外殼代碼或其他漏洞,幫助黑客獲取憑據(jù)并提升其訪問權(quán)限。

通過創(chuàng)建一個沙箱將溢出的數(shù)據(jù)與系統(tǒng)隔離,可以解決此問題。請記住,你的沙箱必須非常復(fù)雜,因?yàn)樵S多現(xiàn)代漏洞利用了躲避沙箱的技術(shù)。

第2類:基于網(wǎng)絡(luò)的攻擊

這種攻擊利用網(wǎng)絡(luò)基礎(chǔ)設(shè)施漏洞,也可以遠(yuǎn)程執(zhí)行。利用這些漏洞,黑客可以偵聽、攔截和修改嵌入式系統(tǒng)傳輸?shù)牧髁俊?/p>

讓我們看一下最常見的基于網(wǎng)絡(luò)的攻擊:

· 中間人(MITM)

· 域名系統(tǒng)(DNS)中毒

· 分布式拒絕服務(wù)(DDoS)

· 會話劫持

· 信號干擾

MITM攻擊用于攔截或更改嵌入式系統(tǒng)傳輸?shù)臄?shù)據(jù)。為了執(zhí)行它,黑客改變兩個設(shè)備的連接參數(shù),以便在它們之間放置第三個設(shè)備。如果黑客可以獲得或更改這兩個設(shè)備使用的加密密鑰,他們就可以以一種很難檢測到的方式進(jìn)行竊聽,因?yàn)檫@不會對網(wǎng)絡(luò)造成干擾。

通過加密傳輸?shù)臄?shù)據(jù)并使用Internet協(xié)議安全(IPsec)安全地傳輸密鑰和數(shù)據(jù),可以防止或阻止MITM攻擊。

DNS中毒會迫使本地DNS服務(wù)器根據(jù)黑客的需求修改其記錄。DNS服務(wù)器將可記憶的域名和主機(jī)名轉(zhuǎn)換為相應(yīng)的IP地址。通過使用DNS服務(wù)器的漏洞并毒害其緩存,黑客可以將流量從目標(biāo)網(wǎng)站重新路由到任何其他地址。

域名系統(tǒng)安全擴(kuò)展(DNS-SEC)協(xié)議通過對DNS發(fā)布或傳輸?shù)娜魏螖?shù)據(jù)進(jìn)行數(shù)字簽名來防止DNS服務(wù)器中毒。

DDoS是一種眾所周知的攻擊,它通過來自不同來源的請求使系統(tǒng)溢出從而使系統(tǒng)不可用。這種攻擊很難阻止,因?yàn)檎埱罅烤薮?。沒有針對DDoS攻擊的通用保護(hù)。但是,在你的嵌入式軟件中添加防火墻以及流量分析和過濾算法將大大提高防止DDoS攻擊或及時檢測它們的機(jī)會。

會話劫持類似于MITM攻擊,但目標(biāo)不同:黑客偵聽嵌入式系統(tǒng)流量以獲取身份驗(yàn)證憑據(jù)。執(zhí)行劫持的方法有多種:固定用戶會話標(biāo)識符,竊取會話緩存,跨站點(diǎn)腳本等等。

防范此類攻擊的方法很經(jīng)典:對憑據(jù)和可能包含憑據(jù)的任何數(shù)據(jù)進(jìn)行加密,定期更改憑據(jù),以及在會話結(jié)束時處置與會話相關(guān)的任何數(shù)據(jù)。

信號干擾在無線網(wǎng)絡(luò)中很常見。借助這種技術(shù),黑客會在網(wǎng)絡(luò)中造成干擾,從而干擾或扭曲來自設(shè)備的通信。根據(jù)干擾器的類型,它可能會阻塞信道上的任何通信,在目標(biāo)設(shè)備傳輸數(shù)據(jù)時開始工作,或者在檢測到特定數(shù)據(jù)包時被激活。這樣的攻擊會使嵌入式系統(tǒng)不可用。

要停止信號干擾,請部署適合你軟件的抗干擾機(jī)制 [PDF]。請記住,此保護(hù)措施還將保護(hù)你的嵌入式系統(tǒng)免受其他設(shè)備造成的意外干擾。

第3類:旁道攻擊

旁道攻擊是利用嵌入式系統(tǒng)中的硬件安全缺陷來攻擊它們。旁道攻擊是最困難和最昂貴的攻擊類型,因?yàn)樗枰_了解目標(biāo)系統(tǒng)的硬件設(shè)計(jì)和物理可用性。為了進(jìn)行側(cè)信道攻擊,黑客收集系統(tǒng)功耗、電磁泄漏、操作時間等信息。

因此,他們可以計(jì)算出系統(tǒng)和連接設(shè)備的內(nèi)部操作,竊取密碼密鑰,甚至獲得對系統(tǒng)的控制權(quán)。

以下是最常見的旁道攻擊列表:

· 功率分析

· 定時攻擊

· 電磁分析

功耗分析攻擊需要對嵌入式系統(tǒng)進(jìn)行物理訪問,以便探測其連接并檢測功耗的變化。這些變化取決于系統(tǒng)處理的數(shù)據(jù),因此黑客可以檢測到系統(tǒng)何時處理特定類型的信息并截獲它。要防止此攻擊,請使用數(shù)據(jù)屏蔽技術(shù)修改敏感內(nèi)容,使其看起來像不重要的數(shù)據(jù)。

定時攻擊是基于嵌入式系統(tǒng)操作的時間。它們用于獲取信息,如應(yīng)用的加密算法、指令時間和代碼分支中的數(shù)據(jù)依賴差異、緩存訪問時間等等。這種類型的攻擊還需要對設(shè)備進(jìn)行物理訪問和對嵌入式系統(tǒng)架構(gòu)的深入了解。

由于定時攻擊強(qiáng)烈依賴于線性和可預(yù)測的軟件操作,你可以通過使用隨機(jī)數(shù)對空閑周期中的活動進(jìn)行重新安排來防止此類攻擊?;诖藢η度胧较到y(tǒng)的時序分析將具有極大的挑戰(zhàn)性。

電磁分析為黑客提供了另一種無需黑客攻擊就能查看嵌入式軟件的方法。黑客可以使用電磁分析來記錄和分析設(shè)備的發(fā)射,找出其加密操作,甚至提取秘密

密鑰。這是最耗時且成本最高的攻擊類型,因?yàn)樗枰?/p>

· 物理上接近嵌入式系統(tǒng)

· 有關(guān)系統(tǒng)嵌入到的設(shè)備的布局的信息

· 與其他設(shè)備隔離以保護(hù)系統(tǒng)免受電磁干擾

硬件設(shè)計(jì)師可以通過降低信號強(qiáng)度或增加物理保護(hù)(例如使用某些類型的膠水或電路和電線屏蔽)來使收集電磁信號變得困難。隨機(jī)性和加密過程的中斷也是對抗電磁分析的有效措施。

我們上面討論的嵌入式系統(tǒng)的網(wǎng)絡(luò)安全措施可以幫助你預(yù)防或阻止特定類型的攻擊。在下一部分中,我們提供了11條建議來有效保護(hù)嵌入式硬件和軟件。

保護(hù)嵌入式系統(tǒng)的11個最佳實(shí)踐

在開始編碼之前,請研究嵌入式軟件開發(fā)的行業(yè)標(biāo)準(zhǔn),以發(fā)現(xiàn)有效的安全措施和開發(fā)實(shí)踐。

例如,注意:
· OWASP嵌入式應(yīng)用程序安全性
· IEEE標(biāo)準(zhǔn)
· NIST 為物聯(lián)網(wǎng)設(shè)備制造商提供的基礎(chǔ)網(wǎng)絡(luò)安全活動 [PDF]
· IPA的嵌入式系統(tǒng)開發(fā)過程參考指南 [PDF]

通過以下實(shí)踐,你可以在從設(shè)計(jì)到支持的所有開發(fā)階段使你的保護(hù)更加可靠:

wKgZomUD9nyAHKqbAAGvAUvAUTI951.png

提高嵌入式系統(tǒng)安全性的11個最佳實(shí)踐。

第一類:設(shè)計(jì)和軟件配置

1.使用安全的語言。在編寫第一行代碼之前,請針對你選擇的語言研究嵌入式軟件開發(fā)標(biāo)準(zhǔn)。例如,如果你要使用C或C ++,請首先學(xué)習(xí)MISRA-C / C ++。

2.啟用安全啟動。此功能允許微處理器在執(zhí)行固件之前驗(yàn)證加密密鑰和固件的位置。為了增強(qiáng)這種保護(hù),您還可以啟用處理器的受信任執(zhí)行環(huán)境功能,該功能在微處理器中創(chuàng)建一個安全區(qū)域來存儲固件。

3.禁用不安全和不必要的服務(wù)。要定義此類服務(wù),你需要分析系統(tǒng)的操作。通常,此類服務(wù)的列表包括Telnet和瑣碎文件傳輸協(xié)議,調(diào)試代理,開放端口等。

第2類:內(nèi)存和應(yīng)用程序安全

1.限制內(nèi)存分配。實(shí)現(xiàn)一個內(nèi)存管理單元,為緩沖區(qū)、操作系統(tǒng)和應(yīng)用程序分配足夠的內(nèi)存。內(nèi)存管理單元有助于保持嵌入式系統(tǒng)運(yùn)行的平衡,并防止內(nèi)存緩沖區(qū)溢出。此外,盡可能將內(nèi)存切換到只讀模式。

2.創(chuàng)建分區(qū)。將嵌入式系統(tǒng)的重要部分(如操作系統(tǒng)、GUI和安全應(yīng)用程序)劃分為不同的分區(qū),有助于將它們彼此隔離并包含攻擊。分區(qū)可以是物理分區(qū)和虛擬分區(qū)。

第3類:通訊安全

1.實(shí)施訪問控制。不受保護(hù)地訪問嵌入式系統(tǒng)的任何部分都是對黑客的公開邀請。要保護(hù)您的訪問點(diǎn),請使用強(qiáng)憑據(jù)并對其進(jìn)行加密,實(shí)現(xiàn)最小權(quán)限原則,并盡可能啟用身份驗(yàn)證。

2.保護(hù)通信通道。實(shí)現(xiàn)IPsec、DNS-SEC、SSH或SSL協(xié)議,并使用VPN保護(hù)與嵌入式系統(tǒng)的任何通信。部署防火墻來過濾流量也是一個很好的做法。

第4類:數(shù)據(jù)保護(hù)

1.加密所有內(nèi)容。所有固件更新、傳輸和處理的數(shù)據(jù)以及存儲的憑證都必須加密。使用加密簽名來驗(yàn)證從可信來源獲得的文件并檢測可疑的修改。

2.混淆目標(biāo)代碼?;煜且粋€過程,使你的代碼糾纏在一起,對黑客來說不清楚,但在嵌入式系統(tǒng)中是可執(zhí)行的。甚至可以通過混淆來加速代碼的執(zhí)行。這項(xiàng)措施將使黑客更難對你的代碼進(jìn)行反向工程。

第5類:發(fā)布和支持

1.進(jìn)行端到端威脅評估。完整的安全評估包括:

a.從設(shè)備制造商,軟件開發(fā)人員和最終用戶的角度執(zhí)行完整的生命周期分析并識別潛在威脅
b.創(chuàng)建風(fēng)險矩陣,并通過每個可能的渠道估算攻擊的可能性和成功率
c.自己模擬黑客攻擊或進(jìn)行黑盒滲透測試

2.定期更新軟件。無論為舊的嵌入式系統(tǒng)開發(fā)軟件有多么困難,這樣做總是有益的。在新的軟件版本中,你可以推出其他安全措施,以抵消新型攻擊或修補(bǔ)漏洞(如果在產(chǎn)品發(fā)布后發(fā)現(xiàn)一個漏洞)。別忘了添加如上所述的黑名單和白名單保護(hù)。這些方法將阻止從不受信任的來源安裝軟件。

有了這些實(shí)踐,你就可以使網(wǎng)絡(luò)犯罪分子更難為嵌入式系統(tǒng)盜用你的軟件。

最后

為嵌入式系統(tǒng)開發(fā)軟件是一個很大的挑戰(zhàn)。開發(fā)人員必須實(shí)現(xiàn)所有必需的功能,同時要考慮多個設(shè)備的限制并保護(hù)軟件免受攻擊。

當(dāng)然,威脅可能來自不同的來源和渠道,因此在微處理器和少量內(nèi)存中安裝針對所有這些威脅的保護(hù)似乎是不可能的。

轉(zhuǎn)載來源:strongerHuang
免責(zé)聲明:本文為轉(zhuǎn)載文章,轉(zhuǎn)載此文目的在于傳遞更多信息,版權(quán)歸原作者所有。本文所用視頻、圖片、文字如涉及作品版權(quán)問題,請聯(lián)系小編進(jìn)行處理

審核編輯 黃宇

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 嵌入式
    +關(guān)注

    關(guān)注

    5046

    文章

    18817

    瀏覽量

    298522
收藏 人收藏

    評論

    相關(guān)推薦

    嵌入式常見模擬電路

    嵌入式系統(tǒng)設(shè)計(jì)中,模擬電路是不可或缺的一部分。它們負(fù)責(zé)處理真實(shí)世界中的信號,如聲音、溫度、壓力等,并將這些信號轉(zhuǎn)換成數(shù)字信號,或者對這些信號進(jìn)行放大、濾波等處理。以下是五常見的模擬
    發(fā)表于 08-28 15:31

    嵌入式QT常見開發(fā)方式有哪些?

    功能。 3.Qt Quick/QML開發(fā): 利用QML語言和Qt Quick框架來創(chuàng)建流暢且動畫豐富的用戶界面,QML是一聲明性語言,適合于快速原型開發(fā)和移動設(shè)備、嵌入式系統(tǒng)的現(xiàn)代界面設(shè)計(jì)。同時可以結(jié)合
    發(fā)表于 08-12 10:05

    嵌入式系統(tǒng)怎么學(xué)?

    一系列課程和技術(shù),包括但不限于以下內(nèi)容: 1、基礎(chǔ)知識:學(xué)習(xí)計(jì)算機(jī)組成原理、數(shù)字電路、模擬電路等基礎(chǔ)知識,建立對計(jì)算機(jī)硬件的認(rèn)知與理解。 2、編程語言:掌握至少一嵌入式系統(tǒng)常用的編程語言,如C
    發(fā)表于 07-02 10:10

    如何提升嵌入式編程能力?

    /C++:大多數(shù)嵌入式系統(tǒng)使用C或C++編程語言,因此深入學(xué)習(xí)這兩語言是非常重要的。 8. 理解操作系統(tǒng):學(xué)習(xí)嵌入式操作
    發(fā)表于 06-21 10:01

    入門嵌入式系統(tǒng)這些知識你知道嗎?

    嵌入式系統(tǒng)是一專用的計(jì)算機(jī)系統(tǒng),作為裝置或設(shè)備的一部分。通常,嵌入式系統(tǒng)是一個控制程序存儲在R
    發(fā)表于 05-03 09:54 ?392次閱讀

    維諦嵌入式開關(guān)電源常見告警處理方法

    維諦嵌入式開關(guān)電源常見告警處理方法
    的頭像 發(fā)表于 04-09 17:15 ?897次閱讀
    維諦<b class='flag-5'>嵌入式</b>開關(guān)電源<b class='flag-5'>常見</b>告警處理<b class='flag-5'>方法</b>

    嵌入式fpga是什么意思

    嵌入式FPGA是指將FPGA技術(shù)集成到嵌入式系統(tǒng)中的一解決方案。嵌入式系統(tǒng)是一
    的頭像 發(fā)表于 03-15 14:29 ?1012次閱讀

    嵌入式系統(tǒng)發(fā)展前景?

    嵌入式系統(tǒng)發(fā)展前景? 嵌入式系統(tǒng),從定義上來說,是一專用的計(jì)算機(jī)系統(tǒng),它被設(shè)計(jì)用來控制、監(jiān)視或
    發(fā)表于 02-22 14:09

    什么是嵌入式系統(tǒng)嵌入式系統(tǒng)的具體應(yīng)用

    嵌入式,一般是指嵌入式系統(tǒng)。用于控制、監(jiān)視或者輔助操作機(jī)器和設(shè)備的裝置。
    的頭像 發(fā)表于 12-20 13:33 ?2131次閱讀

    嵌入式系統(tǒng)原理與設(shè)計(jì)

    電子發(fā)燒友網(wǎng)站提供《嵌入式系統(tǒng)原理與設(shè)計(jì).zip》資料免費(fèi)下載
    發(fā)表于 11-17 14:10 ?0次下載
    <b class='flag-5'>嵌入式</b><b class='flag-5'>系統(tǒng)</b>原理與設(shè)計(jì)

    嵌入式系統(tǒng)的定義與發(fā)展歷史簡述

    。由于嵌入式系統(tǒng)應(yīng)用中,對象系統(tǒng)的廣泛性與單片機(jī)的獨(dú)主發(fā)展道路,使嵌入式系統(tǒng)應(yīng)用在客觀上存在兩
    發(fā)表于 11-09 08:31 ?0次下載
    <b class='flag-5'>嵌入式</b><b class='flag-5'>系統(tǒng)</b>的定義與發(fā)展歷史簡述

    基于嵌入式技術(shù)的網(wǎng)絡(luò)開票系統(tǒng)的設(shè)計(jì)方法

    電子發(fā)燒友網(wǎng)站提供《基于嵌入式技術(shù)的網(wǎng)絡(luò)開票系統(tǒng)的設(shè)計(jì)方法.pdf》資料免費(fèi)下載
    發(fā)表于 11-06 10:18 ?0次下載
    基于<b class='flag-5'>嵌入式</b>技術(shù)的網(wǎng)絡(luò)開票<b class='flag-5'>系統(tǒng)</b>的設(shè)計(jì)<b class='flag-5'>方法</b>

    嵌入式操作系統(tǒng)—VxWorks

    電子發(fā)燒友網(wǎng)站提供《一嵌入式操作系統(tǒng)—VxWorks.pdf》資料免費(fèi)下載
    發(fā)表于 10-27 10:59 ?0次下載
    一<b class='flag-5'>種</b><b class='flag-5'>嵌入式</b>操作<b class='flag-5'>系統(tǒng)</b>—VxWorks

    嵌入式系統(tǒng)中驅(qū)動程序的結(jié)構(gòu)和設(shè)計(jì)方法

    電子發(fā)燒友網(wǎng)站提供《嵌入式系統(tǒng)中驅(qū)動程序的結(jié)構(gòu)和設(shè)計(jì)方法.doc》資料免費(fèi)下載
    發(fā)表于 10-27 10:23 ?0次下載
    <b class='flag-5'>嵌入式</b><b class='flag-5'>系統(tǒng)</b>中驅(qū)動程序的結(jié)構(gòu)和設(shè)計(jì)<b class='flag-5'>方法</b>

    Linux系統(tǒng)嵌入式開發(fā)是什么

    嵌入式開發(fā)聽起來很高大上,但其實(shí)它就在我們身邊。   嵌入式開發(fā)是指將操作系統(tǒng)、應(yīng)用程序或數(shù)據(jù)存儲在嵌入式設(shè)備中,如手機(jī)、平板電腦、智能家居等。   隨著物聯(lián)網(wǎng)時代的到來,
    的頭像 發(fā)表于 10-12 15:40 ?1522次閱讀