一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

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

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

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

利用SAU和安全AHB控制器調(diào)查HardFault的方法

恩智浦MCU加油站 ? 來源:恩智浦MCU加油站 ? 作者:劉豪 ? 2021-11-21 09:47 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

TrustZone

恩智浦基于Cortex M33內(nèi)核的MCU,LPC55S6x/LPC55S1x, RT600/RT500等產(chǎn)品提供了對TrustZone的支持,并在SOC上提供了安全AHB控制器等功能,旨在幫助客戶完成良好的安全隔離,并建立可信執(zhí)行環(huán)境。

在產(chǎn)品設(shè)計之初,我們就要有一個基本的“隔離”的概念。

需要考慮的問題大致有以下兩個方面:

產(chǎn)品中的哪些功能和模塊應(yīng)該放在安全區(qū)?(這部分代碼往往是核心且精簡,且經(jīng)過安全審查的,安全區(qū)的內(nèi)容不允許非安全區(qū)的代碼觸碰);

哪些功能應(yīng)該放在非安全區(qū)?(這樣放在非安全區(qū)中的代碼,即使出現(xiàn)安全漏洞(例如棧溢出漏洞等等)后被攻擊,MCU的安全區(qū)中的資源和外設(shè)也無法被攻擊者利用)。

令人頭疼的HardFault

對于MCU工程師,TrustZone是一個比較新的技術(shù),在開發(fā)調(diào)試過程中,由于TrustZone配置問題,時常遇到各種意料之外的HardFault,我們也經(jīng)常調(diào)侃,這個TrustZone也太安全了,連我們自己都進不去。

其實這種問題往往是由于在開發(fā)階段,我們實際的行為和我們對TrustZone的劃分不一致。

平常我們認為正常的行為與操作,對于TrustZone來說,已經(jīng)越界違規(guī)了,這就會使TruztZone觸發(fā)HardFault,并阻止違規(guī)行為。

在這種情況下,我們就需要找到導(dǎo)致HardFault的原因,并調(diào)整對于TrustZone的配置。

注:TrustZone相關(guān)的故障會觸發(fā)SecureFault異常。在芯片上電后的默認情況下,SecureFault異常并沒有被使能,因此,此異常會被“升級”為HardFault。在通常情況下,建議使用默認的設(shè)置,因為HardFault擁有更高的中斷優(yōu)先級,可以使故障在第一時間被響應(yīng)。

獲取違規(guī)操作的蛛絲馬跡

Cortex M33內(nèi)核本身在SAU中提供了兩個寄存器:SFSR(Secure FaultStatus Register,安全故障狀態(tài)寄存器)和SFAR(Secure Fault Address Register,安全故障地址寄存器)。

SFSR寄存器用于指示出現(xiàn)錯誤的類型,例如非安全區(qū)試圖訪問安全區(qū),從安全區(qū)到非安全區(qū)的非法跳轉(zhuǎn)等。

SFAR寄存器用于指示出現(xiàn)錯誤的內(nèi)存地址。

看起來這兩個寄存器就足以幫助我們查到問題的根源了。但是,有時候,我們從這兩個寄存器拿到了錯誤的原因和地址,仔細檢查后發(fā)現(xiàn)無論是安全區(qū)還是非安全區(qū)的程序,都沒有顯式的訪問這個地址。

這是由于MCU系統(tǒng)愈發(fā)復(fù)雜,總線上除了M33內(nèi)核之外,還有許許多多的其他的外設(shè),例如DMA,USB等等。肇事者不一定是M33內(nèi)核,還有可能是其他的外設(shè),例如DMA。

下面是一種常見的事故:被劃分為非安全的DMA在工作中訪問了安全區(qū)的地址或外設(shè),違反了TrustZone的配置,造成了HardFault。

恩智浦的MCU在SOC層面提供了一個安全AHB控制器,能夠幫我們偵查肇事現(xiàn)場,找出肇事者的蛛絲馬跡。

其實原理很簡單,安全AHB控制器提供了三個寄存器,SEC_VIO_INFO_VALID,SEC_VIO_MISC_INFO和SEC_VIO_ADDR。

SEC_VIO_INFO_VALID用來指示肇事現(xiàn)場,這個寄存器中存儲了肇事現(xiàn)場的AHB 的端口號(port number),端口號與外設(shè)的對應(yīng)關(guān)系參見用戶手冊的”Memory map overview”章節(jié)。

每一個AHB端口都相應(yīng)有一個SEC_VIO_MISC_INFO寄存器,用來指示肇事的信息,例如違規(guī)操作是讀操作引起的還是寫操作引起的等等,最重要的是會指出肇事者的身份:

每個AHB端口還有一個SEC_VIO_ADDR,用來指示肇事現(xiàn)場的地址。

有了上述信息,我們就捉到了真正的肇事者。在開發(fā)階段,我們就可以利用這些信息去調(diào)整我們的TrustZone的配置。

更進一步

當(dāng)然,上述功能不只能在開發(fā)階段幫我們排查HardFault。我們也可以利用這個機制在產(chǎn)品出廠之后為我們提供防御措施。

產(chǎn)品出廠后,當(dāng)我們檢測到由TrustZone產(chǎn)生的HardFault的原因之后,可以將其記錄,以便于后續(xù)分析。如果設(shè)備有聯(lián)網(wǎng)能力,可以將其傳輸至服務(wù)器。利用這些信息我們可以發(fā)現(xiàn)產(chǎn)品的哪些模塊受到了攻擊,方便我們后續(xù)針對性地進行OTA升級。云端和設(shè)備本地也可在此時檢測鏡像以及存儲介質(zhì)的完整性,以檢查程序和存儲介質(zhì)是否被惡意篡改。

小結(jié)

綜上所述,利用SAU和安全AHB控制器調(diào)查HardFault的方法并不復(fù)雜,NXP的MCUXpresso SDK也提供了一個完整的demo。

以LPC55S69為例,demo的路徑如下:SDKoardslpcxpresso55s69 rustzone_examplessecure_faults。

這個demo中,人為制造了幾種TrustZone觸發(fā)HardFault的案例,在產(chǎn)生HardFault后,使用上文描述的方法,處理相關(guān)寄存器并打印事故信息。

通常來說,在開發(fā)階段,我們可以參考demo中HardFault的處理代碼,按需移植到自己的工程中。

責(zé)任編輯:haq

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

    關(guān)注

    146

    文章

    17961

    瀏覽量

    366311
  • 控制器
    +關(guān)注

    關(guān)注

    114

    文章

    17089

    瀏覽量

    184105
  • 恩智浦
    +關(guān)注

    關(guān)注

    14

    文章

    5978

    瀏覽量

    116293

原文標(biāo)題:調(diào)試TrustZone時,如何處理HardFault

文章出處:【微信號:NXP_SMART_HARDWARE,微信公眾號:恩智浦MCU加油站】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

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

掃碼添加小助手

加入工程師交流群

    評論

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

    車載整機控制器 工程機械主機控制器#碩博電子#國產(chǎn)控制器

    控制器
    長沙碩博電子科技股份有限公司
    發(fā)布于 :2025年05月26日 09:09:02

    MAXQ1741用于磁卡讀卡的DeepCover安全控制器技術(shù)手冊

    DeepCover 嵌入式安全方案采用多重先進的物理安全機制保護敏感數(shù)據(jù),提供最高等級的密鑰存儲安全保護。 DeepCover安全控制器
    的頭像 發(fā)表于 05-15 09:48 ?225次閱讀
    MAXQ1741用于磁卡讀卡<b class='flag-5'>器</b>的DeepCover<b class='flag-5'>安全</b>微<b class='flag-5'>控制器</b>技術(shù)手冊

    工程機械控制器廠家 控制器國產(chǎn)替代 #國產(chǎn)控制器#控制器廠家#控制器品牌

    控制器
    長沙碩博電子科技股份有限公司
    發(fā)布于 :2025年04月29日 14:15:05

    工程機械控制器如何選型?控制器選型指南 #控制器 #車載控制器 #整車控制器 #控制器選型

    控制器
    長沙碩博電子科技股份有限公司
    發(fā)布于 :2025年03月14日 10:54:24

    在STM32微控制器中實現(xiàn)數(shù)據(jù)加密的方法

    在STM32微控制器中實現(xiàn)數(shù)據(jù)加密,可以通過多種方法和技術(shù)來確保數(shù)據(jù)的安全性。以下是一些常見的方法和步驟: · 使用內(nèi)置加密庫: · · STM32提供了專門的加密庫STM32Cryp
    發(fā)表于 03-07 07:30

    Y1620工程機械主機控制器 車載智能控制器 CAN總線 #工程機械控制器 #整車控制器 #車載控制器

    控制器
    長沙碩博電子科技股份有限公司
    發(fā)布于 :2025年02月10日 15:32:21

    溫度控制器上下限設(shè)定,溫度控制器上下限怎么調(diào)

    在現(xiàn)代工業(yè)自動化、家庭溫控以及各類需要精確溫度控制的場合中,溫度控制器發(fā)揮著至關(guān)重要的作用。溫度控制器的上下限設(shè)定是確保其正常工作、實現(xiàn)精準(zhǔn)溫控的關(guān)鍵步驟。本文將詳細介紹溫度控制器上下
    的頭像 發(fā)表于 01-29 15:30 ?6803次閱讀

    溫度控制器參數(shù)含義,溫度控制器參數(shù)設(shè)置方法

    在現(xiàn)代工業(yè)自動化和溫控系統(tǒng)中,溫度控制器扮演著至關(guān)重要的角色。它通過對環(huán)境溫度的精確監(jiān)測與調(diào)控,確保生產(chǎn)過程的穩(wěn)定性和產(chǎn)品質(zhì)量。然而,要充分發(fā)揮溫度控制器的效能,了解其參數(shù)含義并掌握正確的設(shè)置方法顯得尤為重要。本文將深入探討溫度
    的頭像 發(fā)表于 01-29 15:27 ?4708次閱讀

    電機控制器故障排除方法

    電機控制器故障排除方法 1. 故障診斷前的準(zhǔn)備 在進行故障排除之前,確保您已經(jīng)做好了以下準(zhǔn)備: 安全措施 :關(guān)閉電源,確保電機和控制器處于斷電狀態(tài),以防止觸電或設(shè)備損壞。 工具和設(shè)備
    的頭像 發(fā)表于 01-22 09:25 ?1660次閱讀

    控制器解碼的使用方法

    控制器解碼是一種用于解析和執(zhí)行控制信號的設(shè)備,廣泛應(yīng)用于工業(yè)自動化、機器人技術(shù)、航空航天等領(lǐng)域。它通常與傳感、執(zhí)行等設(shè)備配合使用,以實
    的頭像 發(fā)表于 09-30 14:24 ?1575次閱讀

    usb主機控制器位于ahp總線上嗎

    關(guān)于“USB主機控制器是否位于AHP總線上”的問題,首先需要明確幾個概念: USB主機控制器 :在USB系統(tǒng)中,主機控制器控制所有USB設(shè)備通信的關(guān)鍵組件。它負責(zé)組織數(shù)據(jù)傳輸,管理U
    的頭像 發(fā)表于 09-25 09:20 ?624次閱讀

    風(fēng)機溫度控制器的調(diào)整方法

    風(fēng)機溫度控制器是一種用于控制風(fēng)機運行溫度的設(shè)備,它能夠根據(jù)設(shè)定的溫度范圍自動調(diào)節(jié)風(fēng)機的運行狀態(tài),以保持設(shè)備在最佳工作溫度下運行。調(diào)整風(fēng)機溫度控制器方法需要根據(jù)具體的設(shè)備型號和功能來操
    的頭像 發(fā)表于 09-20 14:53 ?1906次閱讀

    國產(chǎn)控制器廠家 整車控制器 以太網(wǎng)控制器 CAN控制器 國產(chǎn)化替代

    控制器
    長沙碩博電子科技股份有限公司
    發(fā)布于 :2024年09月03日 09:15:51

    利用TSN以太網(wǎng)特性改善工業(yè)以太網(wǎng)控制器的時序

    電子發(fā)燒友網(wǎng)站提供《利用TSN以太網(wǎng)特性改善工業(yè)以太網(wǎng)控制器的時序.pdf》資料免費下載
    發(fā)表于 08-30 10:53 ?0次下載
    <b class='flag-5'>利用</b>TSN以太網(wǎng)特性改善工業(yè)以太網(wǎng)<b class='flag-5'>控制器</b>的時序

    車載智能控制器 工程機械控制器 CAN總線控制器 碩博電子 #控制器 #can總線 #國產(chǎn)化替代

    控制器總線
    長沙碩博電子科技股份有限公司
    發(fā)布于 :2024年08月29日 10:43:57