大家好,现在更新研讨会视频,欢迎收看:
各位用户大家好,
昨天我们的Webinar顺利结束了。 感谢大家积极参与和提问。
按照约定,我们已经随机抽出了10位幸运提问用户,他们每人将获得RaspberryPi 3 一个。
以下是获奖名单:
恭喜以上获得奖品的朋友们,请你们在4月10日前将您的邮寄地址和联系方式私信发给我,我会给你们发顺丰快递。
在此我想请收到奖品的10位朋友能在社区开个贴给我们分享一下你们的使用,因为我自己也没有,所以想看看大家都是怎么用的。
大家能多分享,下次斑竹就有信心为大家争取更多的有意义的奖励。
没有中奖的朋友们不要灰心,下次中奖的人可能就是你,我们社区是实诚的,请放心。
另外,我将尽快在本帖分享完整的培训PPT,欢迎大家下载,如果有问题,也欢迎发帖提问。
在此感谢大家参与。有问题欢迎随时私信我。
抽奖视频放在附件中了,本来斑竹有一个抽奖软件的,最近过期了,所以只能用Excel随机数来抽了。
如果大家有好的在线抽奖平台或者抽奖软件请推荐我,谢谢
---------------------------------------------------------------------------------------------------------------------------------------------------
各位中文社区的用户,大家好,
最近IoT和嵌入式产品的极大丰富以及发展,带动了大家对Cortex-M系列产品的热情,目前不论是国际厂商还是国内厂商,都逐渐开始将自己的产品进化到了Cortex-M。
那么支持Cortex-M的架构你又了解多少呢?
我相信我们社区的很多用户都是Cortex-M系列产品的使用者或者开发者,不论是ARMv6-M架构的Cortex-M0/M0+,Cortex-M1, 还是ARMv7-M架构的Cortex-M3,Cortex-M4,Cortex-M7。 而今年,ARM的Cortex-M系列产品的架构,已经从更新到了ARMv8-M。 各位可能已经迫不及待地想要了解了吧。 上图里面大家会发现以往只是用在Cortex-A系列产品的Trustzone技术已经进入了我们的眼帘,这明显是现在Cortex-M系列的安全需求大大提升的结果。
为了帮助我们社区的用户能更好地了解ARMv8-M架构,我们特地邀请了ARM上海AE团队的两位经验丰富的工程师,也是我们社区的用户 gdragon和zenonxiu 来给大家做一场网上讲座。并且让他们帮我们答疑解惑,。具体信息如下:
网上讲座:
登录,报名地址,请 点击这里报名
讲座时间:2016年3月31日(星期四)上午,10:00~11:30
目前点击报名有机会赢取星球大战机器人BB-8。
活动结束后,我们也会在社区内公布网上讲座的资料下载。
大家可能知道,一般参加ARM培训都是收费的,而且价格不菲,此次也是ARM为了表示诚意放出的免费课程,一定不要错过啊。
活动时间 2016年3月7日~2016年3月31日(中午12:00截止)
为了同时鼓励社区用户积极学习ARM技术,我们在此开设有奖提问环节,任何中文社区注册用户,只要在此期间,在本帖下方留言,提出一个ARMv8-M相关技术问题,都有机会参加我们的抽奖。此次抽奖奖品为10个RaspberryPi 3 MINI电脑,由ARM英国同事dannicoffey (我们部门UK办公室的90后美女 )友情赞助, 全部奖品将在2016年4月7日统一随机抽出,并公布获奖名单。每个问题可以获得一次抽奖机会,如果提问人数不足10人,全部提问者都可以获得奖品,我们也和工程师进行了确认,所有在本贴提的问题,都一定能获得相应回答,请大家放心。
那有的朋友说了,我对ARMv8-M架构不熟悉,我怎么提问呢?不要担心,gdragon和zenonxiu ,已经为您准备好了他们讲课内容的概述PPT,就在本贴的最下方可以下载,您读了以后就会有所了解,这也是为您提供一个预习的好机会。 熟悉ARMv8-M,让ARM技术为您提供一个事业上升的台阶。
这款Raspberry PI 3 MINI电脑麻雀虽小五脏俱全:
是您工作学习的好帮手
如果有关此次活动有任何问题,请咨询songbin
附上两位专家的简历:
范敏琳(gdragon )- ARM公司应用工程经理
范敏琳先生是资深嵌入式专家,已在ARM工作超过10年,现在带领ARM技术专家团队服务于全球的客户。
修志龙(zenonxiu )- ARM公司应用工程软件团队负责人
修志龙现任为ARM公司应用工程软件团队负责人,他于2009年加入ARM担任应用工程师,为ARM客户提供软件与工具的技术支持、并参与多项培训课程教授。
ARMv8-M的运行速度最大可以达到多少MHZ
Floating-point功能是由专门的浮点协处理器完成的吗?
已记录,等专家回答
记录下来了
各位用户,这个ARMv8-m的研讨会活动,获得了大家的大力支持,截止今天已经有34位用户提了43个问题,非常赞,每位用户都可以得到一次抽奖机会。
另外,我上周末已经收到了人肉快递,10块板子入手。请大家放心,这次发奖速度会超快
看来V8-M的专题就是安全了。
----------------------------------------------
前面提TrustZone的同学特别多,我这里想请教下StackLimit。
1. 能举一个简单的实例吗,假设如果我拿到这款芯片,想测试一下,怎么做呢?
2. 黑客攻击的方法有很多,为什么这里单单添加了StackLimit?是因为黑客应用广泛,还是说是其他黑客技术的基石?还说有ARM有其他类似的IP但不适合这个场合?
3. 加入一项特性总会在初期带来一些新的问题,StackLimit正常工作还好,如果运行过程中出现异常,我们如何排除问题呢?
4. 我的理解是Trustzone制造了一个黑盒子,StackLimit防止了黑客往这个黑盒子里面注入会导致溢出的数据或代码。看起来防护做全了,不知道理解得对不对,只考虑V8-M架构,还有没有其他的攻击方式可以从中获取加密信息?
望指导。
这几个问题提的有深度,记录了
> 理论上,Stack Limit Checking需要编译器在代码中加入特定指令/附加操作方能得以完整实现。
> 1、该功能在开源编译器工具链,如GCC等的MainStream支持情况如何?或者功能发布的预期,e.g. GCC 6?
> 2、此功能在实现中的开销如何?从开发人员的角度而言,如何进行细粒度的控制?比如,某些模块需要禁用,某些模块需要启用,etc。
ARMv8-M的stack limit checking是硬件实现的,对编译器没有特殊要求。至于纯软件方法的实现方法很多,这里实在没法展开。
> Trustzone-M的安全特征应当也是需要AMBA5以及厂商的IP Core协作共同完成的;但这些细节对用户/开发人员是不透明的。
> 3、ARM及其合作伙伴,是否会有相关的认证计划?即从工程师芯片选型的角度考虑,如何判断某款芯片对TrustZone-M的实现,在整体上达到了某个标准?
这个问题非常好噢,这实际上是希望ARM提出一套基于TrustZone-M的安全标准,关于这个标准和认证,Ben,你有什么消息么?
没错。FPU,这个和ARMv7-M是一样的。
很简单,大体步骤如下:
a) 假如当前使用的stack是MSP,读取MSP当前值。
b) 设置Stack Limit寄存器,基本上就是当前值前后加点余量
c) 通过插入汇编的方法(__asm(...)) 手动POP或者PUSH几下,确保肯定超过门限,然后观察现象就可以了。
为什么着重对stack作了保护,这是有深刻的原因的,简单说是因为这样:
a) 高级语言本身高度依赖stack,比如函数调用阿,局部变量分配阿,都离不开栈
b) stack是上下文的容器,简单说,操作系统每个任务的上下文都是保存在自己专用的栈里面,任务的切换就是上下文的切换,本质上就是栈的切换。
c) 各类攻击方法其实就像小孩子研究闹钟,简单说就是这里摔一摔,那里敲一敲看看能不能破坏现有的结构——掉出什么好玩的零件或者玩具。很多时候,正常的运行的系统看起来严丝合缝,就像你的iPhone手机,基本上找不到什么机会打开,但如果能破坏它,比如狠狠摔以下,让手机处于非正常状态,那么原本严丝合缝的系统就会暴露出内部的结构,软件破解也是这样。破坏一个软件系统,最常见的方法就是破坏它运行的命脉——栈。所以保护栈变得非常非常非常重要——因为它是系统的命脉。
至于其他攻击方式,说实话,都没有这么明显,这么critial,或者都建立在先破坏系统的基础之上(比如先破坏系统,获得系统权限,然后再注入代码等等)
应该说,对待一个新的事物,不信任是人之常情。从你的问题来看,你其实不太信任StackLimit,因为你的问题是“StackLimit正常工作还好”,潜台词就是“StackLimit”是什么东西?如果工作不正常把我的系统弄糟糕了怎么办?
破解这种不信任,最重要的就是了解它。我觉得我这里做再多的解释也没法让你信任他——你最多是将信将疑——我建议,当你拿到芯片以后,在看了对应的文档后,亲自去验证下你的想法,用的久了,你就信任它了——就好像老朋友一样了。
至于你这里问的问题:“如果运行过程中出现异常,我们如何排除问题呢?”我想说,这个完全是application-dependent……具体问题具体对待吧,离开环境和背景谈纠错,不过是纸上谈兵,空中楼阁。
当您遇到具体问题时,欢迎发到社区来,大家一起讨论。
- 方法很多。因为黑盒子本质上是一个内外的信息隔离——外界无法知道盒子以内的信息,黑盒子也无法知道外界的信息。从外界往内看,一片漆黑,你觉得安全了?no no no, 太天真了。黑盒子也不知道外界的信息啊?外界可以欺骗黑盒子啊,可以给无效的参数。因为Secure Domain拥有最高的权限,Non-Secure Domain没有,那我们可不可以欺骗Secure Domain去帮我们获得我们原本没有权利读写的内容呢?(这是软件逻辑漏洞)
我只是举个例子。另外,破坏黑盒子还有很多种方法,比如破坏黑盒子的空间连续性或者黑盒子的时间连续性,这里都不方便深入展开讨论。可以给出结论的是,在没有ARMv8-M的时候,黑盒子的空间连续性和时间连续性都是得不到硬件级别的保护的,而ARMv8-M就是加强了这一点,让一个黑盒子真正的成为一个黑盒子。举个例子:
空间连续性保护:黑盒子的代码和数据,你是无论如何没法访问的,甚至有的部分是Excution Only的——只允许取指令,不允许读取这段Memory的内容,等等
时间连续性保护:黑盒子代码正在运行的时候(在secure state运行),突然发生了none-secure的exception,我们的ARMv8-M处理器会把当前secure state下黑盒子的现场完全保护进栈里面,并且把相关的寄存器都抹成0,然后再去处理non-secure的exception
是不是很省心?没有能够解答你所有的问题,但是希望打开了你的思路。
很给力,我的思路也有新突破
感谢分享
主持人好!ARM公司在创新道路上成果辉煌,现在物联网应用很广泛,新的ARMv8-M架构在低功耗和外设方面有何改进?
能够同时集成BLE和WIFI不?谢谢。
大秦兄的问题很好,记录下来了
1.目前 主流的vendor有发布基于arm v8-m的芯片吗?或者比较早的计划是什么时间点。
2.要是能集成NFC芯片那就更好咯