日B视频 亚洲,啪啪啪网站一区二区,91色情精品久久,日日噜狠狠色综合久,超碰人妻少妇97在线,999青青视频,亚洲一区二卡,让本一区二区视频,日韩网站推荐

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

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

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

MPU安全性的分區(qū)和基本操作

星星科技指導員 ? 來源:嵌入式計算設計 ? 作者:Ralph Moore ? 2022-06-10 07:51 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

這是四部分系列文章的第二部分,介紹了獨特的產(chǎn)品 MPU-Plus 和使用 Cortex-M 內(nèi)存保護單元 (MPU) 來提高微控制器單元 (MCU) 安全性的方法。第 1部分介紹了一些介紹性概念:MMU 與 MPU、對安全性、保護目標、MPU-Plus 快照、Cortex-v7M 和 v8M 以及 MPU 操作的日益增長的需求。

pYYBAGKfH9GAUb0BAAGDzqpdXLM901.png

圖 1:分區(qū)

圖 1 說明了我們?yōu)榘踩崿F(xiàn)的軟件結(jié)構(gòu)。在此圖中,橢圓表示隔離的分區(qū)。粗線以上的分區(qū)以umode(非特權(quán)或用戶模式)運行,粗線以下的分區(qū)以pmode(特權(quán)或保護模式)運行。粗線表示非特權(quán)操作和特權(quán)操作之間的界限。這種隔離由 Cortex-M 處理器架構(gòu)強制執(zhí)行。它是安全可靠的,除非我們做錯了什么。

粗線上方是兩個應用程序分區(qū)和一個中間件分區(qū)。當然,實際系統(tǒng)可能有更多的 umode 分區(qū)。這里的目標是實現(xiàn)一個 umode 分區(qū)與另一個分區(qū)的完全隔離。然后穿透一個分區(qū)不會使黑客能夠穿透其他分區(qū),因此可以控制違規(guī)行為。每個 umode 分區(qū)是一組一個或多個 utask。utask 構(gòu)成了與其他分區(qū)中的任務隔離的基礎,但不是與自己分區(qū)中的任務隔離的基礎。umode 分區(qū)具有強隔離能力。因此,應盡可能將易受攻擊的代碼(如驅(qū)動程序、中間件和應用程序代碼)放入 umode 分區(qū)。

粗線以下是安全啟動、pcode、smx、SMX RTOS 內(nèi)核和安全分區(qū)。這些由 pcode 組成。當然,實際系統(tǒng)可能有更多的 pmode 分區(qū)。目標是也將 pmode 分區(qū)彼此隔離。但是,這種隔離不如 umode 隔離那么強,后面會討論。

安全啟動

當系統(tǒng)啟動或重新啟動時,處理器以 pmode 啟動,并且位于 Secure Boot 分區(qū)中。

pYYBAGKfH9iAWaXaAAE1Uo0adR0580.png

圖 2:安全啟動

如圖 2 所示,安全啟動軟件進行基本的硬件和軟件初始化,加載代碼,如有必要,創(chuàng)建啟動操作所需的任務,然后啟動調(diào)度程序。在啟動調(diào)度程序之前,沒有任何任務正在運行。啟動調(diào)度器后,系統(tǒng)以任務模式運行,第一個以最高優(yōu)先級調(diào)度的任務正在運行。其他分區(qū)進行自己的初始化。出于結(jié)構(gòu)和安全原因,最好將安全引導分區(qū)中的代碼最小化。在圖 2 中,安全引導加載程序以黃色顯示。這些可以從許多來源獲得,并且超出了本文的范圍。綠色顯示的代碼是系統(tǒng)和應用程序代碼。

smx

SMX RTOS由smx 內(nèi)核和中間件組成。SMX 被拆分,因此 smx 內(nèi)核在 pmode 下運行,而 SMX 中間件在 umode 下運行。MPU-Plus 與 SMX、eheap ? 和某些其他產(chǎn)品捆綁在一起時,構(gòu)成SecureSMX ?。

smx分區(qū)包含smx內(nèi)核和SVC Handler、PendSV Handler等相關(guān)軟件。它以 pmode 運行,以便將其與可能已損壞的 umode 分區(qū)強烈隔離。MPU-Plus 擴展了 smx 以添加安全功能。有關(guān)這些的更多信息,請參閱:

smx 用戶指南, Ralph Moore,Micro Digital, Inc.

smx 參考手冊, Ralph Moore, Micro Digital, Inc.

我們發(fā)現(xiàn),除了添加 MPU-Plus 之外,還需要對 smx 本身進行大量修改,盡管 smx 已作為嵌入式內(nèi)核使用了 30 年!中間件產(chǎn)品也需要進行重大修改。安全似乎正在給嵌入式系統(tǒng)軟件帶來范式轉(zhuǎn)變。

安全

最后是安全分區(qū)和保險庫。Vault 是我們存儲珠寶(加密密鑰、密碼、驗證碼、證書等)和現(xiàn)金(私人數(shù)據(jù))的地方。如果 pmode 被破壞,避難所就會彈開,王國就會消失。因此,保護 Vault 至關(guān)重要,只有包含加密、身份驗證和其他安全任務的安全分區(qū)才能訪問 Vault。

加密和身份驗證軟件已從 SMX 中間件產(chǎn)品中移出到安全分區(qū)中。因此,只有安全軟件才能訪問 Vault。

代碼

pcode 分區(qū)包含中斷服務例程 (ISR)、鏈接服務例程 (LSR) 和其他必須處于 pmode 的代碼。這是系統(tǒng)、中間件和應用程序代碼的混合體。在實際系統(tǒng)中,這可能會分為系統(tǒng)分區(qū)和應用程序分區(qū)。它可能包含一些 ptask 以及 ISR 和 LSR。同樣, smx 錯誤

Manager、smx_EM() 和錯誤恢復代碼不是任務。因此,此分區(qū)中的大部分代碼都在當前任務的上下文中運行。

處理中斷會帶來特殊的安全問題,這將在第 3 部分中討論。

任務

utasks 可以提供高級別的隔離。這主要是因為他們無法訪問 MPU。MPU 加載了允許任務訪問的區(qū)域,包括訪問權(quán)限(例如只讀、從不執(zhí)行等),但任務無法更改它們。如果背景區(qū)域打開,它在 umode 中無效。然而,一切都不是桃子和奶油——還有堆問題和函數(shù)調(diào)用問題,這些將在后面討論。

任務

與 utasks 相比,ptasks 提供的隔離性較弱。這是因為一旦 ptask 被破壞,惡意軟件只需一個步驟即可關(guān)閉 MPU 或打開其背景區(qū)域 (BR)。然后 MPU 區(qū)域沒有效果。MPU 在 pmode 中毫無防備,而在 umode 中則堅不可摧。

但是,ptasks 可以通過捕獲許多黑客技術(shù)(例如堆?;蚓彌_區(qū)溢出、嘗試從堆?;蚓彌_區(qū)執(zhí)行等)并在黑客獲得實際控制權(quán)之前觸發(fā) MMF 來幫助挫敗攻擊者。然后,MMF 處理程序可以刪除滲透的任務并重新創(chuàng)建它,希望系統(tǒng)操作中只有一個小問題。它還可以報告事件,這有助于發(fā)現(xiàn)和減少代碼漏洞。

ptasks 對于捕獲編程錯誤也很有用,并且可以成為通向 utasks 的有用步驟。

基本操作

MPU 控制

內(nèi)存保護陣列 (MPA) 是一組要在任務切換上加載到 MPU 中的區(qū)域;每個任務都有一個 MPA。任務的索引用于在內(nèi)存保護表中查找其 MPA,mpt[indexsmx_TaskCreate() 將當前(父)任務的 MPA 復制到正在創(chuàng)建的任務。如果 ct 是 ptask,它可以通過以下方式更改任務的 MPA:

smx_TaskSet(任務,SMX_ST_MPA,tp);

其中 tp 指向任務的 MPA 模板。

前述如圖3所示。在該圖中,MPA0、1和2共享模板mpa_tmplta。因此,三個對應的任務共享相同的區(qū)域。因此,它們很可能在同一個分區(qū)中。請注意,MPA3 使用模板 mpa_tmpltb。因此,相應的任務很可能在一個單獨的區(qū)域中。第五個任務尚未創(chuàng)建,其 MPA 也未加載。

pYYBAGKfH-KAK8J9AAC_CAMAGus483.png

圖 3:模板、MPA 和 TCB

MPA 中的插槽與 MPU 中的動態(tài)插槽一樣多。大多數(shù)插槽都充滿了鏈接器命令文件中定義的靜態(tài)區(qū)域(一個乏味的過程)。但是,某些插槽具有指向在運行時動態(tài)創(chuàng)建的區(qū)域數(shù)組的指針。這些將在第 4 部分中詳細討論。具有最高優(yōu)先級的頂部 MPU 正在使用的插槽是為任務堆棧區(qū)域保留的。任務棧是在創(chuàng)建任務時從主堆動態(tài)創(chuàng)建的,或者在調(diào)度任務時從棧池中獲取。在任務運行時,對 MPU 的任何更新也會對其 MPA 進行,因此在任務切換期間無需保存 MPU 內(nèi)容。

創(chuàng)建靜態(tài)區(qū)域是一個費力的過程。例如,對于代碼區(qū)域,有必要識別特定分區(qū)或特定任務所需的所有功能,包括子例程。Pragma 被插入到代碼中,以將所有這些放入一個唯一的代碼部分,例如:

#pragma default_function_attributes = @“.ut1a_text”

無效 tm05_ut1a(無效)

{

smx_SemSignal(sbr1);

}

#pragma default_function_attributes =

然后在鏈接器命令文件中定義一個塊來保存此部分和相關(guān)部分,例如:

定義塊 ut1a_code,大小 = 1024,對齊 = 1024 {ro section .ut1a_text,ro section .ut1a_rodata};

區(qū)域在鏈接器命令文件中定義,并在其中放置塊,例如:

定義區(qū)域 ROM = mem:[從 0x00200000 到 0x002FFFFF];

放入 ROM {block t2a_code, ro section .tmplt, block ut1a_code, block ut2a_code, block ut2b_code};

回到代碼中,定義了 MPA 中的一個槽:

#pragma section = “ut1a_code”

MPA mpa_tmplt_ut1a =

{

。..

RGN(3 | RA(“ut1a_code”) | V, 代碼 | RSI(“ut1a_code”) | EN, “ut1a_code”),

。..

};

所有這些都是針對一個模板中的一個 MPU 區(qū)域完成的——顯然是一個費力的過程。上面顯示的模板宏(例如 RGN())可以減少工作并有助于減少錯誤。因為有些語句在代碼中,有些在鏈接器命令文件中,所以該過程容易出錯。不僅如此,很容易為代碼區(qū)域遺漏一個晦澀的子程序或為數(shù)據(jù)區(qū)域遺漏變量,從而在調(diào)試期間導致煩人的 MMF(在調(diào)試的早期階段關(guān)閉 MMF 的一個很好的理由)。

系統(tǒng)調(diào)用

ptasks 可以直接調(diào)用所有的 smx 和 system 函數(shù),但是 utasks 不能直接調(diào)用它們,因為它們必須在 pmode 中執(zhí)行。而是使用 SVC N 指令。對于 umode 代碼,將包含 smx 和系統(tǒng)原型函數(shù)的 xapi.h 頭文件替換為 xapiu.h 頭文件。后者將 smx_ 調(diào)用映射到 smxu_ 調(diào)用,這些調(diào)用是調(diào)用 SVC N 的 shell 函數(shù),其中 N 是系統(tǒng)調(diào)用 ID。但是,限制通話,對于 umode 是禁止的,會產(chǎn)生 Privilege Violation 錯誤。受限調(diào)用只能通過 pcode 進行。例如,utasks 不需要 smx_HeapInit(),如果從惡意軟件調(diào)用,可能會導致系統(tǒng)損壞,因此沒有 smxu_HeapInit()。定義了一組合理的受限調(diào)用。然而,該集合可以根據(jù)需要針對特定應用進行擴展或收縮。

poYBAGKfH-qAFC9EAAEQTib9c24579.png

圖 4:系統(tǒng)調(diào)用

圖 4 說明了 utasks 和 ptasks 的系統(tǒng)調(diào)用機制。SVC Handler 使用 N 作為索引,通過 SSR 跳轉(zhuǎn)表到 smx 系統(tǒng)服務例程(SSR)。SSR 在 pmode 中執(zhí)行,然后將結(jié)果返回給 SVC Handler。SVC 處理程序?qū)⒋私Y(jié)果返回給 smxu shell 函數(shù),后者將其返回給 utask。所有這些細節(jié)對調(diào)用者都是隱藏的,看起來就像是進行了正常的函數(shù)調(diào)用。umode 中不允許的系統(tǒng)調(diào)用會導致分支到特權(quán)沖突錯誤管理器 (PVEM),而后者又會調(diào)用 smx 錯誤管理器 (EM)。

請注意,來自 ptask 的 smx 調(diào)用直接轉(zhuǎn)到 SSR,并且沒有不允許的服務調(diào)用。

本系列的下一部分將討論分區(qū)問題,包括堆使用、函數(shù)調(diào)用 API、中斷、父子任務和任務本地存儲。

審核編輯:郭婷

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

    關(guān)注

    68

    文章

    20339

    瀏覽量

    255313
  • mcu
    mcu
    +關(guān)注

    關(guān)注

    147

    文章

    19160

    瀏覽量

    404731
  • MPU
    MPU
    +關(guān)注

    關(guān)注

    0

    文章

    463

    瀏覽量

    51588
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    深入解析Microchip ATSHA204A:高安全性硬件認證的理想之選

    深入解析Microchip ATSHA204A:高安全性硬件認證的理想之選 在當今數(shù)字化時代,數(shù)據(jù)安全和硬件認證的重要愈發(fā)凸顯。Microchip的ATSHA204A作為一款高安全性
    的頭像 發(fā)表于 02-28 16:55 ?723次閱讀

    請問VisionFive 2 的熱安全性如何?

    我的 VisionFive 2 目前沒有風扇。如果我開始以 100% 的速度使用 CPU,我應該擔心它過熱嗎? 為了安全起見,它會進行熱節(jié)流嗎? 如果是這樣,如何查看它是否處于熱節(jié)流狀態(tài)?
    發(fā)表于 02-27 06:31

    機器人用霍爾電流傳感器,能提升操作安全性么?

    安全?;魻栯娏鱾鞲衅髯鳛闄C器人電力系統(tǒng)的“感知核心”,通過實時監(jiān)測電流信號、精準反饋運行狀態(tài),為機器人構(gòu)建全鏈路安全防護體系,成為提升操作安全性的關(guān)鍵器件。一、機
    的頭像 發(fā)表于 12-22 09:04 ?1542次閱讀
    機器人用霍爾電流傳感器,能提升<b class='flag-5'>操作</b><b class='flag-5'>安全性</b>么?

    如何確保電能質(zhì)量在線監(jiān)測裝置的用戶操作日志審計功能的安全性?

    確保電能質(zhì)量在線監(jiān)測裝置用戶操作日志審計功能的安全性,核心是構(gòu)建 “日志全生命周期安全防護體系” ,覆蓋 “日志生成→存儲→訪問→傳輸→備份→銷毀” 全流程,同時結(jié)合技術(shù)防護、權(quán)限管控、合規(guī)驗證
    的頭像 發(fā)表于 12-11 16:49 ?1448次閱讀
    如何確保電能質(zhì)量在線監(jiān)測裝置的用戶<b class='flag-5'>操作</b>日志審計功能的<b class='flag-5'>安全性</b>?

    請問CW32L052C8T6這種安全性低功耗MCU的安全固件部分怎么實現(xiàn)?

    請問,CW32L052C8T6這種安全性低功耗MCU的安全固件部分怎么實現(xiàn)?
    發(fā)表于 12-05 07:19

    車規(guī)級與消費級芯片的可靠、安全性與成本差異

    引言在汽車電子和消費電子領(lǐng)域,"車規(guī)級"與"消費級"芯片代表了兩種截然不同的設計理念和技術(shù)標準。車規(guī)級芯片專為汽車應用設計,強調(diào)在極端環(huán)境下的可靠安全性
    的頭像 發(fā)表于 11-18 17:27 ?1623次閱讀
    車規(guī)級與消費級芯片的可靠<b class='flag-5'>性</b>、<b class='flag-5'>安全性</b>與成本差異

    無源探頭與有源探頭的安全性差異解析

    在電子測量中,探頭作為示波器與被測電路的連接橋梁,其安全性直接關(guān)乎人身與設備的雙重防護。無源探頭與有源探頭因結(jié)構(gòu)原理的根本不同,在絕緣能力、電路保護、操作風險等維度呈現(xiàn)顯著差異,需基于測量場景精準
    的頭像 發(fā)表于 11-10 11:23 ?532次閱讀
    無源探頭與有源探頭的<b class='flag-5'>安全性</b>差異解析

    如何確保電能質(zhì)量在線監(jiān)測裝置頻率偏差測量功能遠程校準的安全性?

    確保電能質(zhì)量在線監(jiān)測裝置頻率偏差測量功能遠程校準的安全性,需圍繞“通信不被劫持、指令不被篡改、身份不被偽造、操作可追溯、設備不被入侵”五大核心風險點,構(gòu)建 “傳輸 - 認證 - 指令 - 數(shù)據(jù)
    的頭像 發(fā)表于 10-14 17:59 ?762次閱讀

    如何確保電能質(zhì)量在線監(jiān)測裝置遠程校準的安全性

    確保電能質(zhì)量在線監(jiān)測裝置遠程校準的安全性,需構(gòu)建 “ 通信加密→身份認證→權(quán)限管控→數(shù)據(jù)防護→設備防護→應急兜底 ” 的全鏈條防護體系,覆蓋 “指令傳輸、操作執(zhí)行、數(shù)據(jù)存儲、異常處置” 全流程,核心
    的頭像 發(fā)表于 10-10 17:18 ?721次閱讀
    如何確保電能質(zhì)量在線監(jiān)測裝置遠程校準的<b class='flag-5'>安全性</b>?

    邊聊安全 | 功能安全開發(fā)之MPU

    上海磐時PANSHI“磐時,做汽車企業(yè)的安全智庫”功能安全開發(fā)之MPU寫在前面:在與從事功能安全開發(fā)行業(yè)的同事以及SASETECH社區(qū)的成員討論時,筆者經(jīng)常被問及有關(guān)芯片內(nèi)存保護單元(
    的頭像 發(fā)表于 09-05 16:21 ?2784次閱讀
    邊聊<b class='flag-5'>安全</b> | 功能<b class='flag-5'>安全</b>開發(fā)之<b class='flag-5'>MPU</b>

    有哪些技術(shù)可以提高邊緣計算設備的安全性?

    邊緣計算設備的安全性面臨分布式部署、資源受限(算力 / 存儲 / 帶寬)、網(wǎng)絡環(huán)境復雜(多無線連接)、物理接觸易被篡改等獨特挑戰(zhàn),因此其安全技術(shù)需在 “安全性” 與 “輕量化適配” 之間平衡。以下從
    的頭像 發(fā)表于 09-05 15:44 ?1836次閱讀
    有哪些技術(shù)可以提高邊緣計算設備的<b class='flag-5'>安全性</b>?

    如何驗證硬件加速是否真正提升了通信協(xié)議的安全性

    驗證硬件加速是否真正提升通信協(xié)議的安全性,需從 安全功能正確、抗攻擊能力增強、安全性能適配、合規(guī)一致 等核心維度展開,結(jié)合實驗室測試與真
    的頭像 發(fā)表于 08-27 10:16 ?1362次閱讀
    如何驗證硬件加速是否真正提升了通信協(xié)議的<b class='flag-5'>安全性</b>?

    如何利用硬件加速提升通信協(xié)議的安全性

    產(chǎn)品實拍圖 利用硬件加速提升通信協(xié)議安全性,核心是通過 專用硬件模塊或可編程硬件 ,承接軟件層面難以高效處理的安全關(guān)鍵操作(如加密解密、認證、密鑰管理等),在提升性能的同時,通過硬件級隔離、防篡改等
    的頭像 發(fā)表于 08-27 09:59 ?1202次閱讀
    如何利用硬件加速提升通信協(xié)議的<b class='flag-5'>安全性</b>?

    請問DM平臺訪問安全性如何控制?

    DM平臺訪問安全性如何控制?
    發(fā)表于 08-06 06:01

    SD-WAN供應商在安全性方面有哪些差異?服務商安全性排行

    市場報告,2022年該市場增長達25%,預計2027年規(guī)模將突破75億美元,而**安全性差異**成為企業(yè)選型的首要考量。以下從技術(shù)架構(gòu)、行業(yè)適配等維度解析頭部服務商
    的頭像 發(fā)表于 07-29 10:14 ?345次閱讀
    SD-WAN供應商在<b class='flag-5'>安全性</b>方面有哪些差異?服務商<b class='flag-5'>安全性</b>排行
    永年县| 临夏县| 镇宁| 尚志市| 枣阳市| 石首市| 宝山区| 福海县| 安龙县| 成安县| 上思县| 鄯善县| 巫山县| 榆树市| 明星| 宣化县| 淮滨县| 贺州市| 沂水县| 济阳县| 舟曲县| 阿城市| 万盛区| 准格尔旗| 外汇| 文登市| 宜良县| 土默特左旗| 密云县| 龙门县| 板桥市| 嫩江县| 怀化市| 阿克苏市| 普兰县| 德化县| 葫芦岛市| 石景山区| 荥阳市| 淮安市| 同德县|