精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

簡述嵌入式系統12種常見攻擊及防范方法

MCU開發加油站 ? 來源:apriorit ? 作者:apriorit ? 2021-10-25 14:21 ? 次閱讀

素材來源 | apriorit編排 | strongerHuang

以前的嵌入式系統對安全問題相對不那么重視,但隨著時間的推移,你會發現很多嵌入式設備都在做各種“保護措施”,你平時在產品開發和設計時,有注意安全問題嗎?

嵌入式系統12種常見攻擊

嵌入式系統的攻擊可根據其目標分為三類:

基于軟件的攻擊

基于網絡的攻擊

旁道攻擊

ed26e1a6-3559-11ec-82a8-dac502259ad0.jpg

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

第1類:基于軟件的攻擊

基于軟件的攻擊針對系統的大腦-管理設備的應用程序。對軟件的成功攻擊使黑客能夠訪問數據或獲得對嵌入式系統的控制。搜索軟件設計和代碼中的漏洞是最常見的攻擊手段,因為可以遠程進行此類攻擊。而且,基于軟件的攻擊不需要黑客的專業知識,因為他們可以使用典型的攻擊,例如部署惡意軟件和暴力破解。最普遍的基于軟件的攻擊包括:① 惡意軟件② 暴力訪問③ 內存緩沖區溢出④ 利用web服務

對嵌入式系統的惡意軟件攻擊與任何其他系統的工作方式相同:黑客部署了一段惡意代碼,這些代碼試圖攔截存儲在系統內部的數據,控制受害系統或對其進行破壞。通常,黑客會偽造固件更新,驅動程序或安全補丁來分發惡意軟件。

為了防止此類攻擊,可以實施以下保護措施:

應用黑名單方法,即開發人員為系統檢測到的任何新惡意軟件創建簽名,并將這些簽名添加到嵌入式系統固件中。當系統檢測到具有已知簽名的軟件時,它將不會運行它。

使用白名單保護,為所有受信任的軟件源創建特定的簽名。這允許系統只運行具有正確簽名的軟件。

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

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

通過創建一個沙箱將溢出的數據與系統隔離,可以解決此問題。請記住,你的沙箱必須非常復雜,因為許多現代漏洞利用了躲避沙箱的技術。

第2類:基于網絡的攻擊

這種攻擊利用網絡基礎設施漏洞,也可以遠程執行。利用這些漏洞,黑客可以偵聽、攔截和修改嵌入式系統傳輸的流量。

讓我們看一下最常見的基于網絡的攻擊:

① 中間人(MITM)② 域名系統(DNS)中毒③ 分布式拒絕服務(DDoS)④ 會話劫持⑤ 信號干擾

MITM攻擊用于攔截或更改嵌入式系統傳輸的數據。為了執行它,黑客改變兩個設備的連接參數,以便在它們之間放置第三個設備。如果黑客可以獲得或更改這兩個設備使用的加密密鑰,他們就可以以一種很難檢測到的方式進行竊聽,因為這不會對網絡造成干擾。

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

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

域名系統安全擴展(DNS-SEC)協議通過對DNS發布或傳輸的任何數據進行數字簽名來防止DNS服務器中毒。DDoS是一種眾所周知的攻擊,它通過來自不同來源的請求使系統溢出從而使系統不可用。這種攻擊很難阻止,因為請求量巨大。沒有針對DDoS攻擊的通用保護。

但是,在你的嵌入式軟件中添加防火墻以及流量分析和過濾算法將大大提高防止DDoS攻擊或及時檢測它們的機會。會話劫持類似于MITM攻擊,但目標不同:黑客偵聽嵌入式系統流量以獲取身份驗證憑據。執行劫持的方法有多種:固定用戶會話標識符,竊取會話緩存,跨站點腳本等等。

防范此類攻擊的方法很經典:對憑據和可能包含憑據的任何數據進行加密,定期更改憑據,以及在會話結束時處置與會話相關的任何數據。 信號干擾在無線網絡中很常見。借助這種技術,黑客會在網絡中造成干擾,從而干擾或扭曲來自設備的通信

根據干擾器的類型,它可能會阻塞信道上的任何通信,在目標設備傳輸數據時開始工作,或者在檢測到特定數據包時被激活。這樣的攻擊會使嵌入式系統不可用。要停止信號干擾,請部署適合你軟件的抗干擾機制 [PDF]。請記住,此保護措施還將保護你的嵌入式系統免受其他設備造成的意外干擾。

第3類:旁道攻擊

旁道攻擊是利用嵌入式系統中的硬件安全缺陷來攻擊它們。旁道攻擊是最困難和最昂貴的攻擊類型,因為它需要精確了解目標系統的硬件設計和物理可用性。為了進行側信道攻擊,黑客收集系統功耗、電磁泄漏、操作時間等信息。因此,他們可以計算出系統和連接設備的內部操作,竊取密碼密鑰,甚至獲得對系統的控制權。

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

功率分析

定時攻擊

電磁分析

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

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

由于定時攻擊強烈依賴于線性和可預測的軟件操作,你可以通過使用隨機數對空閑周期中的活動進行重新安排來防止此類攻擊。基于此對嵌入式系統的時序分析將具有極大的挑戰性。電磁分析為黑客提供了另一種無需黑客攻擊就能查看嵌入式軟件的方法。黑客可以使用電磁分析來記錄和分析設備的發射,找出其加密操作,甚至提取秘密

密鑰。這是最耗時且成本最高的攻擊類型,因為它需要:

物理上接近嵌入式系統

有關系統嵌入到的設備的布局的信息

與其他設備隔離以保護系統免受電磁干擾

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

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

保護嵌入式系統11個最佳實踐

在開始編碼之前,請研究嵌入式軟件開發的行業標準,以發現有效的安全措施和開發實踐。

例如,注意:

OWASP嵌入式應用程序安全性

IEEE標準

NIST 為物聯網設備制造商提供的基礎網絡安全活動 [PDF]

IPA的嵌入式系統開發過程參考指南 [PDF]

通過以下實踐,你可以在從設計到支持的所有開發階段使你的保護更加可靠:

ed8a09fc-3559-11ec-82a8-dac502259ad0.jpg

提高嵌入式系統安全性的11個最佳實踐。

第1類設計和軟件配置

1.使用安全的語言。

在編寫第一行代碼之前,請針對你選擇的語言研究嵌入式軟件開發標準。例如,如果你要使用C或C ++,請首先學習MISRA-C / C ++。

2.啟用安全啟動。

此功能允許微處理器在執行固件之前驗證加密密鑰和固件的位置。為了增強這種保護,您還可以啟用處理器的受信任執行環境功能,該功能在微處理器中創建一個安全區域來存儲固件。

3.禁用不安全和不必要的服務。

要定義此類服務,你需要分析系統的操作。通常,此類服務的列表包括Telnet和瑣碎文件傳輸協議,調試代理,開放端口等。

第2類內存和應用程序安全

1.限制內存分配。實現一個內存管理單元,為緩沖區、操作系統和應用程序分配足夠的內存。內存管理單元有助于保持嵌入式系統運行的平衡,并防止內存緩沖區溢出。此外,盡可能將內存切換到只讀模式。2.創建分區。

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

第3類通訊安全

1. 實施訪問控制。不受保護地訪問嵌入式系統的任何部分都是對黑客的公開邀請。要保護您的訪問點,請使用強憑據并對其進行加密,實現最小權限原則,并盡可能啟用身份驗證。

2. 保護通信通道。

實現IPsec、DNS-SEC、SSH或SSL協議,并使用VPN保護與嵌入式系統的任何通信。部署防火墻來過濾流量也是一個很好的做法。

第4類數據保護

1. 加密所有內容。

所有固件更新、傳輸和處理的數據以及存儲的憑證都必須加密。使用加密簽名來驗證從可信來源獲得的文件并檢測可疑的修改。2. 混淆目標代碼。

混淆是一個過程,使你的代碼糾纏在一起,對黑客來說不清楚,但在嵌入式系統中是可執行的。甚至可以通過混淆來加速代碼的執行。這項措施將使黑客更難對你的代碼進行反向工程。

第5類發布和支持

1. 進行端到端威脅評估。完整的安全評估包括:

從設備制造商,軟件開發人員和最終用戶的角度執行完整的生命周期分析并識別潛在威脅

創建風險矩陣,并通過每個可能的渠道估算攻擊的可能性和成功率

自己模擬黑客攻擊或進行黑盒滲透測試

2. 定期更新軟件。

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

有了這些實踐,你就可以使網絡犯罪分子更難為嵌入式系統盜用你的軟件。

最后

為嵌入式系統開發軟件是一個很大的挑戰。開發人員必須實現所有必需的功能,同時要考慮多個設備的限制并保護軟件免受攻擊。

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

參考來源:https://www.apriorit.com/dev-blog/690-embedded-systems-attacks

聲明:本文素材來源網絡,版權歸原作者所有。如不支持轉載,請聯系刪除。

編輯:jq

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • IEEE
    +關注

    關注

    7

    文章

    378

    瀏覽量

    46871
  • 微處理器
    +關注

    關注

    11

    文章

    2247

    瀏覽量

    82312
  • 軟件
    +關注

    關注

    69

    文章

    4772

    瀏覽量

    87157
  • C++
    C++
    +關注

    關注

    22

    文章

    2104

    瀏覽量

    73489
  • OWASP
    +關注

    關注

    0

    文章

    4

    瀏覽量

    1868

原文標題:嵌入式系統12種常見攻擊及防范方法

文章出處:【微信號:mcugeek,微信公眾號:MCU開發加油站】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    嵌入式系統與物聯網的結合

    。這兩者的結合,為智能設備和智能系統的發展提供了強大的動力。 一、嵌入式系統與物聯網的基本概念 嵌入式系統
    的頭像 發表于 11-06 10:23 ?207次閱讀

    嵌入式系統的原理和應用

    嵌入式系統是一專用的計算機系統,其設計初衷是執行特定任務,而非作為通用計算機使用。這類系統通常作為更大
    的頭像 發表于 10-05 17:03 ?539次閱讀

    嵌入式主板是什么意思?嵌入式主板全面解析

    嵌入式主板,通常被稱為嵌入式系統的核心組件,是一用于控制和數據處理的計算機硬件,其設計旨在嵌入特定設備中執行專門任務。
    的頭像 發表于 09-30 10:05 ?367次閱讀

    嵌入式開發常見問題排查

    歸結為相對簡單的小問題。接下來,我們將討論一些嵌入式開發中常見的問題及其解決方法。一、問題復現要有效解決問題,首先需要能夠穩定地復現它。一般來說,容易復現的問題也相對
    的頭像 發表于 09-22 08:04 ?267次閱讀
    <b class='flag-5'>嵌入式</b>開發<b class='flag-5'>常見</b>問題排查

    嵌入式常見模擬電路

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

    嵌入式QT常見開發方式有哪些?

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

    嵌入式系統怎么學?

    一系列課程和技術,包括但不限于以下內容: 1、基礎知識:學習計算機組成原理、數字電路、模擬電路等基礎知識,建立對計算機硬件的認知與理解。 2、編程語言:掌握至少一嵌入式系統常用的編程語言,如C
    發表于 07-02 10:10

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

    /C++:大多數嵌入式系統使用C或C++編程語言,因此深入學習這兩語言是非常重要的。 8. 理解操作系統:學習嵌入式操作
    發表于 06-21 10:01

    入門嵌入式系統這些知識你知道嗎?

    嵌入式系統是一專用的計算機系統,作為裝置或設備的一部分。通常,嵌入式系統是一個控制程序存儲在R
    發表于 05-03 09:54 ?525次閱讀

    維諦嵌入式開關電源常見告警處理方法

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

    嵌入式可編程片上系統是什么

    嵌入式可編程片上系統(Embedded Programmable System-on-Chip,或簡稱EPSoC)是一特殊的嵌入式系統,它
    的頭像 發表于 03-28 15:33 ?532次閱讀

    嵌入式fpga是什么意思

    嵌入式FPGA是指將FPGA技術集成到嵌入式系統中的一解決方案。嵌入式系統是一
    的頭像 發表于 03-15 14:29 ?1195次閱讀

    嵌入式系統發展前景?

    嵌入式系統發展前景? 嵌入式系統,從定義上來說,是一專用的計算機系統,它被設計用來控制、監視或
    發表于 02-22 14:09

    嵌入式系統的應用實例

    嵌入式系統的三個基本要素是嵌入性、專用性與計算機系統
    的頭像 發表于 01-22 09:57 ?1014次閱讀

    什么是嵌入式系統嵌入式系統的具體應用

    嵌入式,一般是指嵌入式系統。用于控制、監視或者輔助操作機器和設備的裝置。
    的頭像 發表于 12-20 13:33 ?2403次閱讀