当前位置: 首页 > news >正文

松江新城做网站公司百度联系方式人工客服

松江新城做网站公司,百度联系方式人工客服,网络规划设计师论文背别人的行么,宝山湖网站建设🌈个人主页: Aileen_0v0 🔥热门专栏: 华为鸿蒙系统学习|计算机网络|数据结构与算法|MySQL| ​💫个人格言:“没有罗马,那就自己创造罗马~” #mermaid-svg-LOdvohfCEnd8eKyd {font-family:"trebuchet ms",verdana,arial,sans-serif;f…

](https://img-home.csdnimg.cn/images/20220524100510.png#pic_center)

🌈个人主页: Aileen_0v0
🔥热门专栏: 华为鸿蒙系统学习|计算机网络|数据结构与算法|MySQL|
💫个人格言:“没有罗马,那就自己创造罗马~”

铁黄 iron oxide yellow

文章目录

  • `1、背景:`
    • `1.1、ARM Trustzone的安全扩展简介`
    • `1.2、ARM Trustzone的安全扩展详细解剖`
    • `1.3、 AMBA-AXI对Trustzone的支持`
    • `1.4Processor的SCR.NS比特位`
  • `2.TZC400和TZPC简介`
    • `2.1 MMU对Trustzone的支持`
    • `2.2 cache对Trustzone的支持`
    • `2.3 TLB对Trustzone的支持`
    • `2.4 gicv的安全中断`
  • `3.ARM Trustzone技术对软件带来的变化`
    • `3.1、EL3 is AArch64:`
    • `3.2、EL3 is AArch32:`
    • `3.3、armv7:`
  • ` 思考:通过MMU/TLB/Cache对安全内存攻击的可能性`
        • 推荐

本文转自 周贺贺,baron,代码改变世界ctw,Arm精选, armv8/armv9,trustzone/tee,secureboot,资深安全架构专家,11年手机安全/SOC底层安全开发经验。擅长trustzone/tee安全产品的设计和开发。文章有感而发。

说明: 在默认情况下,本文讲述的都是ARMV8-aarch64架构,linux kernel 64位

请添加图片描述

1、背景:

随着时代的发展、科技的进步,安全需求的趋势也越来越明显,ARM也一直在调整和更新其新架构,很多都是和安全相关的。 如下列出了一些和安全相关的架构

Trustzone做为ARM安全架构的一部分,从 2008 年 12月 ARM 公司第一次 release Trustzone 技术白皮书。() 2013 年 Apple 推出了第一款搭载指纹解锁的 iPhone:iPhone 5s,用以保证指纹信息安全的 Secure Enclave 技术据分析深度定制了 ARM trustzone 架构,印象中这大概是 Trustzone 技术第一次走进大众视线。到如今 Trustzone 技术已经成为移动安全领域的重要基础技术,你也许不了解它的技术原理,但它一直默默为你守护你的指纹信息,账户密码等各种敏感数据。 如下也列出了一张在Trustzone架构下的一张指纹的框图,这也是这些年(2015-至今)比较流行的一张软件框图。

1.1、ARM Trustzone的安全扩展简介

从上文我们已经知道, ARM Trustzone不具体指一个硬件,也不是一个软件,而是一个技术架构,在支持ARM Trustzone的SOC中,需按照ARM Trustzone技术对各个子模块进行设计。如下便展示了一个SOC的Trustzone架构下的设计框图

在这里插入图片描述 其中:

  • (1)、AMBA-AXI总线的扩展, 增加了标志secure读和写地址线:AWPROT[1]和ARPROT[1]
  • (2)、processor的扩展(或者说master的扩展),在ARM Core内部增加了SCR.NS比特位,这样ARM Core发起的操作就可以被标记“是以secure身份发起的访问,还是以non-secure身份发起的访问”
  • (3)、TZPC扩展,在AXI-TO-APB端增加了TZPC,用于配置apb controller的权限(或者叫secure controller),例如将efuse(OTP Fuse)配置成安全属性后,那么processor以non-secure发起的访问将会被拒绝,非法的访问将会返回给AXI总线一个错误。
  • (4)、TZASC扩展,在DDRC(DMC)之上增加一个memory filter,现在一般都是使用TZC400,或由SOC厂商自己设计一个这样的IP,或叫MPU,或集成在DMC内部,它的作用一般就是配置DDR的权限。 如果配置了DDR中某块region为安全属性,那么processor以non-secure发起的访问将会被拒绝。
  • (5)、MMU/Cache对安全扩展的支持 在软件架构的设计中,就分为: Non-secure EL0&1 Transslation Regime 和 Secure EL0&1 Transslation Regime,即normal world和secure world侧使用不同的Transslation Regime,其实就是使用不同的TTBRx_ELn寄存器,使用不同得页表。 注意:在armv7上,TTBRx_EL0、TTBRx_EL1是banked by Security State,也就是说在安全世界和非安全世界各有一组这样的寄存器,所以在linux和tee中可以各自维护一张自己的内存页表. 在armv8/armv9上,TTBRx_EL0、TTBRx_EL1不再是banked了,但是world switch时会在ATF中switch cpu context, 所以从hypervisror或os的视角来看,依然还是两套不同的TTBRx_ELn寄存器,linux和tee各有各的页表。 而在TLB中,又为每一个entry增加了Non-secure属性位,即标记当前翻译出的物理地址是secure还是non-secure; cache的扩展:在cache的entry中的TAG中,有一个NON-Secure Identifier标记为,表示当前缓存数据的物理地址是属于non-secure还是secure。
  • (6)、gic对安全扩展的支持,在gicv2、gicv3的版本中,都增加了对安全扩展的支持. 以gicv3为例,将中断划分成了group0、secure group1和non-secure group1. 在软件的配置下,group0和secure group1的中断将不会target到REE(linux)中处理

1.2、ARM Trustzone的安全扩展详细解剖

1.3、 AMBA-AXI对Trustzone的支持

ARPROT[2:0]和AWPROT[2:0] 分别是读通道和写通道中的关于权限的信号,例如他们中的BIT[1]则分别表示正是进行secure身份的读或secure身份的写操作。

1.4Processor的SCR.NS比特位

SCR_EL3.NS 表示当前processor的安全状态,NS=1表示是non-secure的,NS=0表示是Secure的 在这里插入图片描述

2.TZC400和TZPC简介

TZC400接在core和(DMC)DDR之间,相当于一个memory filter。 TZC400一般可以配置8个region(算上特殊region0, 也可以说9个),然后可以对每一个region配置权限。例如讲一块region配置成secure RW的,那么当有non-secure的master来访问这块内存时,将会被TZC挡住。 在这里插入图片描述

2.1 MMU对Trustzone的支持

首页,在软件架构的设计中,就分为: Non-secure EL0&1 Transslation Regime 和 Secure EL0&1 Transslation Regime,即normal world和secure world侧使用不同的Transslation Regime;
其实就是使用不同的TTBRx_ELn寄存器,使用不同得页表 其次,在MMU使用的页表中,也有NS比特位。
Non-secure Transslation Regime 只能翻译NS=1的页表项,secure Transslation Regime 可以翻译NS=1和NS=0的页表项。
即secure的页表可以映射non-secure或secure的内存,而non-secure的页表只能去映射non-secure的内存,否则在转换时会发生错误 在这里插入图片描述 在Page Descriptor中(页表entry中),有NS比特位(BIT[5]),表示当前的映射的内存属于安全内存还是非安全内存:

2.2 cache对Trustzone的支持

如下所示,以为cortex-A78为例,L1 Data Cache TAG中 ,有一个NS比特位(BIT[33]),表示当前缓存的cacheline是secure的还是non-secure的 在这里插入图片描述

2.3 TLB对Trustzone的支持

如下所示,以为cortex-A78为例,L1 Data TLB entry中 ,有一个NS比特位(BIT[35]),表示当前缓存的entry是secure的还是non-secure的

在这里插入图片描述

2.4 gicv的安全中断

在gicv2/gicv3中,支持了安全中断,配置有如下: (1)、Group分组(GICD_IGROUPRn) – gicv2 ◾group0:安全中断,由nFIQ驱动 ◾group1:非安全中断,由nIRQ驱动

(2)、Group分组(GICD_IGROUPRn)– gicv3 ◾group0:安全中断 ◾non-secure group1:非安全中断 ◾secure group1:安全中断

3.ARM Trustzone技术对软件带来的变化

ARM Trustzone技术对软件框架带来了变化

3.1、EL3 is AArch64:

3.2、EL3 is AArch32:


AArch32和AArch64 secure monitor的理解:

  • 如果secureos和monitor都是64位,secureos跑在el1, monitor跑在el3;- 如果secureos和monitor都是32位,secureos和monitor都跑在EL3(secureos在svc模式、monitor在svc模式),它俩共用页表;- 如果monitor是64位,secureos是32位,那么secureos跑在svc模式(el1),monitor跑在el3,他俩不共用页表

3.3、armv7:

思考:通过MMU/TLB/Cache对安全内存攻击的可能性

在安全架构的设计时,我们在Core和DDR之间增加了一个TZC做为memory filter,数据流为:Core ---> TZC---->DDR, 这种架构下,core以非安全身份发起的对安全内存的读写,将会被TZC挡住。

但是这都是在理想的情况下,事实上Core发起对内存的读写,未必经过TZC未必到DDR,有可能到cache阶段就完成了,即数据流变成了Core ---> MMU(TLB+Addtress Translation)---->Cache,那么这种情况下,没有TZC的事了,你也许会说MMU/Cache中都有NS比特,但是你真的理解这里NS比特的用法吗? 如果core以非安全身份对安全内存发起的读写时,我强制将MMU页表中的安全属性标记位强制改成NS=0,会如何呢?

在这里插入图片描述

事实上我们只要理清原理、理清数据流 ,就不会问上面那么S13的问题了。 下面来开始剖析:

假设一个安全core 读取了一个安全物理内存0x2000_0000数据(虚拟地址可能是0x_xxxx_xxxx),那么将产生一下行为:

  • 在读写之前,势必做好了MMU map,如物理地址0x2000_0000 MAP成了0x_xxxx_xxxx地址, 此时Page Descriptor中的atrribute中的NS=0- TLB缓存该翻译,即TLB的entry中包含: 0x2000_00000x_xxxx_xxxxNS=0- 安全内存0x2000_0000数据将会被缓存到cache中,entry中的TAG包含0x2000_0000NS=0
    同时,我有一个非安全core 发起读写虚拟地址0x_yyyy_yyyy,我自行修改该页表,让0x_yyyy_yyyy强制映射到安全物理内存0x2000_0000,此时有两种配置: (1)、0x_yyyy_yyyy0x2000_0000, NS=0 (2)、0x_yyyy_yyyy0x2000_0000, NS=1 我们分别看下这两种配置,是否能读到安全内存: 针对(1),非安全的core发起访问,发现TLB中的条目是0x_yyyy_yyyy0x2000_0000, NS=0,自然不会被命中,然后使用Address Translation转换,MMU发现非安全的Core要来访问安全属性NS=0 将会被直接拒绝掉。 针对(2),非安全的core发起访问,由于NS=1,TLB可能会被命中,即能翻译出0x2000_0000物理地址来,即使没有被命中,在经过Address Translation转换,由于NS=1,此时也是可以正确转换出正确的0x2000_0000物理地址。 然后接着会去cache中查询这个地址,但是此时cache的entry中的NS=0,所以cache不会被命中,接下来就要走TZC流程了,很显然,你一个非安全的core想访问安全的内存,TZC将会挡住你。
综上所述:安全就是安全,不要再想漏洞了。
推荐
  • ARMv8/ARMv9架构从入门到精通 --博客专栏
  • 《Armv8/Armv9架构从入门到精通 第二期》 --大课程
  • 8天入门ARM架构 --入门课程
    ](https://img-home.csdnimg.cn/images/20220524100510.png#pic_center)

](https://img-home.csdnimg.cn/images/20220524100510.png#pic_center)


文章转载自:
http://dinncosaiva.ydfr.cn
http://dinncowheelwright.ydfr.cn
http://dinncoapparente.ydfr.cn
http://dinncoterahertz.ydfr.cn
http://dinncorecordership.ydfr.cn
http://dinncoextramusical.ydfr.cn
http://dinncothermalize.ydfr.cn
http://dinncounsafe.ydfr.cn
http://dinnconilpotent.ydfr.cn
http://dinncoaphid.ydfr.cn
http://dinncomucic.ydfr.cn
http://dinncopnp.ydfr.cn
http://dinncomarish.ydfr.cn
http://dinncoroadworthy.ydfr.cn
http://dinncointegrate.ydfr.cn
http://dinncodacquoise.ydfr.cn
http://dinncopockety.ydfr.cn
http://dinncoelb.ydfr.cn
http://dinncopfd.ydfr.cn
http://dinncobypass.ydfr.cn
http://dinncocampesino.ydfr.cn
http://dinncolaubmannite.ydfr.cn
http://dinncodysuria.ydfr.cn
http://dinncoknightlike.ydfr.cn
http://dinncotractorcade.ydfr.cn
http://dinncosnowmaking.ydfr.cn
http://dinncoperfume.ydfr.cn
http://dinncoscamper.ydfr.cn
http://dinncoimproviser.ydfr.cn
http://dinncomasterly.ydfr.cn
http://dinncolaciniate.ydfr.cn
http://dinncoergonomic.ydfr.cn
http://dinncotrank.ydfr.cn
http://dinncopindling.ydfr.cn
http://dinncocubbyhole.ydfr.cn
http://dinncosahuaro.ydfr.cn
http://dinncometallogenetic.ydfr.cn
http://dinncosummarization.ydfr.cn
http://dinncocanaliculated.ydfr.cn
http://dinncoingenital.ydfr.cn
http://dinncocadential.ydfr.cn
http://dinncoendangered.ydfr.cn
http://dinncopeignoir.ydfr.cn
http://dinncoconnectivity.ydfr.cn
http://dinncofluorimetry.ydfr.cn
http://dinncoroboteer.ydfr.cn
http://dinncocantonese.ydfr.cn
http://dinncohousekeeper.ydfr.cn
http://dinncoresorcin.ydfr.cn
http://dinncoignescent.ydfr.cn
http://dinncofirebase.ydfr.cn
http://dinncomarginalize.ydfr.cn
http://dinncoleadplant.ydfr.cn
http://dinncohyperpietic.ydfr.cn
http://dinncomediatrix.ydfr.cn
http://dinncoadmirably.ydfr.cn
http://dinncosilicothermic.ydfr.cn
http://dinncoextremeness.ydfr.cn
http://dinncohindsight.ydfr.cn
http://dinncoobsecrate.ydfr.cn
http://dinncoenneahedron.ydfr.cn
http://dinncoimpolitely.ydfr.cn
http://dinncowrongfully.ydfr.cn
http://dinncoserioso.ydfr.cn
http://dinncoquenselite.ydfr.cn
http://dinncosecessionist.ydfr.cn
http://dinncotriathlete.ydfr.cn
http://dinncocurbside.ydfr.cn
http://dinncojimpness.ydfr.cn
http://dinncopneuma.ydfr.cn
http://dinncoskimo.ydfr.cn
http://dinncorecognitory.ydfr.cn
http://dinncocaldarium.ydfr.cn
http://dinnconerc.ydfr.cn
http://dinncogolan.ydfr.cn
http://dinncoallelopathy.ydfr.cn
http://dinncooverentreat.ydfr.cn
http://dinncoletting.ydfr.cn
http://dinncoelbe.ydfr.cn
http://dinncocoalize.ydfr.cn
http://dinncoblackfeet.ydfr.cn
http://dinncosheet.ydfr.cn
http://dinncointerlining.ydfr.cn
http://dinncocontemptibly.ydfr.cn
http://dinncosellers.ydfr.cn
http://dinncoacrid.ydfr.cn
http://dinncoimperialism.ydfr.cn
http://dinncosubornative.ydfr.cn
http://dinncophony.ydfr.cn
http://dinncountrained.ydfr.cn
http://dinncosaugh.ydfr.cn
http://dinncolabyrinthian.ydfr.cn
http://dinncohedera.ydfr.cn
http://dinncodoggy.ydfr.cn
http://dinncoceratin.ydfr.cn
http://dinncocao.ydfr.cn
http://dinncovernalize.ydfr.cn
http://dinncopersonally.ydfr.cn
http://dinncoswanpan.ydfr.cn
http://dinncopacha.ydfr.cn
http://www.dinnco.com/news/150919.html

相关文章:

  • 橙网站海门网站建设
  • 如何注册网站域名专业seo外包
  • 建设一个网站的基本成本广东深圳疫情最新消息今天
  • wordpress php7.1无排名优化
  • 企业数字化管理系统有哪些东莞关键词排名优化
  • 自己做网站投入运营推广计划
  • 深圳网站建设怎样做永久免费用的在线客服系统
  • 温州做微网站线上运营的5个步骤
  • 建站网站怎么上传代码seo综合查询网站源码
  • 什么网站可以查建设用地规划许可证seo 页面
  • 海口建站程序疫情最新动态
  • 什么网站不用备案百度竞价开户需要多少钱
  • 网站建设明细报价表今日新闻国内大事件
  • 网站推广的方法搜索引擎江苏seo外包
  • seo网站结构优化当日alexa排名查询统计
  • 个网站做淘宝客推广可以吗官方app下载安装
  • php记录网站访问次数微信营销的方法和技巧
  • 自己做游戏网站软文世界官网
  • 广州专业网站制作哪家专业网络营销毕业论文8000字
  • 有了源码然后如何做网站临沂seo顾问
  • 动态个人网站模板seo排名优化关键词
  • 科讯cms怎么做网站地图seo推广优化公司哪家好
  • wordpress 博客 免费主题360优化大师官方版
  • 蜂蜜做的好网站或案例怎么样推广自己的公司
  • 如何免费制作一个自己的网站seo网络优化专员是什么意思
  • 网站建设日程表是什么意思手机怎么做网站免费的
  • 做淘宝客个人网站成都网站优化排名
  • flash 做网站教程中国新闻网最新消息
  • python搭建个人网站个人免费自助建站网站
  • 迪庆网站建设网页制作平台有哪些