芯片安全和无线电安全底层渗出技术

打印 上一主题 下一主题

主题 530|帖子 530|积分 1605

和传统网络安全差别,硬件安全、芯片安全、无线电安全属于网络底层安全的紧张细分领域,是网络安全的真正基石,更是国家安全的紧张构成部门,“夯实网络底层安全底子,筑牢网络强国安全底座”,是底网安全紧张性的另一真实写照。
硬件黑客与硬件安全攻防人员的博弈将来会愈演愈烈,但因其底层敏感性、封闭性、不可见性等特征,相关攻防渗出技术、思路、工具、漏洞结果很少对外公布或透露,同理,类似深入硬件底层的攻防渗出技术、理念、方法在将来大国博弈、军工电子技术安全、硬件安全、芯片安全、工控安全、物联网安全、车联网安全等方面起着紧张作用,关键时候甚至可起“一两拨千斤”之结果,其“杀伤力”和“威胁力”不容忽视。
常言道,“知彼知己,百战不殆”,本次议题将揭开“硬件黑客”神秘面纱,分享硬件安全、芯片安全偏冷门但又非常紧张的渗出技术–芯片安全故障注入技术,并将其与芯片内部结构、芯片种别、业务属性、固件安全、CPU指令运行机制强关联,深入“骨髓”洞察底层芯片安全的神秘世界,别的本议题还将分享无线电安全底层扫描渗出技术,通过重放攻击、协议逆向还原、无线电跟踪三种差别技术原理破解、干扰某渗出对象,从反面案例提醒各人:无线安全的紧张性和须要性。
![《芯片安全和无线电安全底层渗出技术》](https://img-
blog.csdnimg.cn/img_convert/bd121e6350acee5a4b3a1e183d623896.jpeg)
下面就让我们来回顾看雪·第七届安全开发者峰会(2023 SDC)上 《芯片安全和无线电安全底层渗出技术》 的精彩内容。
0 1
演讲高朋
![《芯片安全和无线电安全底层渗出技术》](https://img-
blog.csdnimg.cn/img_convert/7b306a2730e215af31bcd09cad19cb62.png)
![《芯片安全和无线电安全底层渗出技术》](https://img-
blog.csdnimg.cn/img_convert/79b7ac1db1189c7b13edc6292903a47f.jpeg)
赵亚平
湖南底网安全首创人 &底网安全实验室负责人】
拥有通信技术中级职称,热爱并高度重视电子技术底子学科和网络底层安全,从电子技术最底子做起,拥有硬件测试/集成/开发、通信链路/协议计划、嵌入式开发、汇编计划等传统IT开发经历。依托传统底子学科的研发应用配景,无缝衔接传统网络安全、物联网安全、车联网安全、工控安全等领域。擅长从网络底层视野深度洞察信息安全本质,尤其是硬件安全、芯片安全、固件安全、通信安全、无线电安全等细分领域。曾在某安全机构、上市公司(2022中国民营企业50强)、国企分别担任车联网安全资深专家、工控物联安全资深专家、汽车&工控信息安全总工等紧张岗位。
0 2
演讲内容
![《芯片安全和无线电安全底层渗出技术》](https://img-
blog.csdnimg.cn/img_convert/a8d1fd13d67f07be7d529ebbd3827a7c.png)
以下为速记全文:
各人好,我是来自湖南底网安全的赵亚平。
接下来咱们把网络安全的视野开始往下沉,由于差别行业的人对于网络的底层安全大概有差别的认知。比方说对于做上位机软件开发的人员来讲,最靠近他们的底层大概是各类的
API大概SDK又大概是第三方组件的调用。
比方说对于做操作系统研发的人员而言,最靠近他们的底层大概是各类驱动的调用。如果再往下沉,对于做驱动的开发人员来讲,最靠近他们的底层大概是内里各类芯片的寄存器的设置以及相关的时序。
如果说再往下沉的话,就进入到我们今天要分享的议题,首先是关于芯片安全的底层的渗出技术——故障注入技术。这里说明一下,由于硬件/芯片底层的渗出技术有很多种,比较典范的像侧信道攻击DPA、无线SPA、电磁/激光注入等。我们今天讨论的重点是故障注入技术。
紧接着再往下讨论的是无线电领域,就是无线电安全底层扫描渗出技术。都是从最底层的视野来看这两个议题。首先我们相识一下相关的技术配景。最开始的就是安全基石,由于底层的安全它着实就是传统网络安全大概是数字安全、硬件安全、芯片安全的真正的基石。
如果说底层安全做得不好,你上层的应用大概你的机制搭建的再完美,你的数据的保密性、完整性、抗狡辩性的算法再先进,你的身份认证再强,一旦底层有缺失的话,你的安全依然得不到保障,依然很轻易遭受来自底层的攻击,以是说它是真正的安全基石。
然后它的技术相对的比较封闭,大概平常跟客户沟通过程中做的更多的是关于常规的漏扫和安全检测,但是一旦接触到这种底层的故障注入的话,一般的客户大概不太关心,但是像那些大的企业客户,他们对这个安全则是非常重视。除了从自身的技术理念和它的渗出理念,包罗它的渗出工具比较封闭之外,另有一个原因就是它的被测对象也比较封闭,由于我们注入的对象是芯片或硬件,一般其内部细节很难看到,厂商设置了重重阻拦。以是说它相对比较封闭。
同时它也是相对的“去”SaaS云服务化,不像传统的网络安全渗出。如果说有一台电脑连到互联网,在环球任何一个地方大概都会给对方发起攻击,但是像底层芯片安全的这种渗出测试,它是相对的“去”云端,大概跟云端的交集不是特殊大(但某些场景照旧会有交集),当地化的特征比较多,这也是软件黑客和硬件黑客的重要差别。
然后其测试工具、环境也是相对不太完善,平常我们看到、用到很多的漏扫以及相应的工具大概比较广泛,但是深入到底层的这种故障注入仪,包罗后面分享的无线电的扫描渗出仪,大概各人接触的不太多。
再往后随着网络底层安全的这种意识加强,企业高校以及国家着实现在已经开始越来越重视这块了。跟很多客户对接的时候,接触最多的是大概是常规的漏扫、漏洞发掘、安全渗出检测评估,除此之外,着实已经有不少客户对于这种故障注入类的安全检测渗出,他们已经在开始发力了,发力的方向是从攻防两个维度同时的,如果说渗出的方向为攻击方向的话,他们大概在类似这种攻击武器的渗出方向发力,也有大概是从抗故障注入的防御维度发力。
最后就是硬件黑客和硬件安全攻防人员的博弈,将来必定会愈演愈烈。着实类似的这种故障注入渗出技术以及理念,不但仅在咱们民用行业的一些作用起得非常大,在将来这种大国博弈,尤其是在军工电子技术内里,它着实也是非常的紧张,当然也包罗咱们物联网、车联网、工控这一块。
接着开始讨论一下芯片安全的故障注入技术。这里抛砖引玉,借用了8个提问来贯穿我们议题分享的整个过程。
![《芯片安全和无线电安全底层渗出技术》](https://img-
blog.csdnimg.cn/img_convert/47fcc557964d7dbbb3caeabf2186100a.png)
首先是芯片安全的故障注入界说,差别的人他大概有差别的界说,我们的界说是如许的,就是使用特定的装置大概工具向被测对象在符合的时间符合的位置,发出高度可调、可控、可设置的特定的故障注入信号。
由于我们重要描述的是芯片大概是硬件,如果是针对
SQL注入的话,他们的被测对象大概是SQL服务器,我们这里的被测对象包罗但不限于芯片,硬件终端大概大概是某一个电路,硬件终端的话它就非常广了,像无人机、智能门锁、手机、机器人以及其他各人能想到的一些物联网的设备,包罗什么物联网关、采集器之类的。
发出的故障信号必须是特定的,比方说是毛刺,你这个毛刺如果发出的时间不对的话,对方大概没有任何结果,你发出的参数比方说电压太高大概太低的话,也大概渗出不了什么结果,以是说是特定的故障注入型信号,进而影响其完整性、可用性、保密性的一些渗出测试行为。
然后关于故障注入工具的话,目前行业里边比较多的、最常见的就是专业的硬件故障注入仪,然后像之前风靡一时的特斯拉小线圈(小黑盒),着实也是类似的一种故障注入的工具。
然后再到传统行业EMC的一个测试,比如EFT瞬变、雷击浪涌测试仪,从某种程度上来讲的话,着实也是一种故障注入仪,只不过它跟我们今天要分享的一个维度不太一样,就是我们今天要分享的重点是精准的故障注入而非盲注。
然后再往下就激光电子注入,像近来诺贝尔奖有一个阿秒激光,在将来关于激光的这种注入,对于故障注入大概是侧信道攻击的话,会为虎傅翼。
然后再往下关于后面6个标题,我们会逐一讨论,特点比较多,我们就重点挑蓝色的字来讨论一下,首先是0day的高危漏洞,由于我们被测的对象一般都是芯片大概硬件,如果说一旦测出有标题的话,基本上都是非常严峻的,要么没测出,一旦测出,其标题非常严峻。比如说某一个MCU芯片,如果说被恶意植入了某一段木马,那么一旦测出来的话,这个漏洞着实是非常严峻的。
![《芯片安全和无线电安全底层渗出技术》](https://img-
blog.csdnimg.cn/img_convert/8c34af02a2667867d3257fa30310b27f.png)
然后封闭性、敏感性、偏冷门,所谓的偏冷门,是说各人大概平常不太关心这一块,大概说他即便意识到这一块,也觉得没须要在这一块大做文章,但是故障注入渗出又是非常的紧张,尤其是对于一些敏感底子设施的客户。然后它也是属于侧信道攻击的一个子集。各人大概经常听说过侧信道攻击,着实侧信道攻击严酷来讲它是分很多的细分赛道,只不过我们今天讨论的是属于侧信道攻击的一个子集。
别的就是固件安全强关联,精准的故障注入渗出。抛开盲注的概念,由于我们今天重点讨论的是精准,之以是强调精准,是以CPU大概是MCU的固件运行为基准来参考,以是说真正有杀伤力的故障注入,它肯定会和被测芯片的固件强关联,大概说和它的指令集运行机制强关联,然后它会严峻依赖故障注入的工具,而且人为因素也很大。
比方说同一类被测对象用同样的工具,差别的人测出来的结果大概不太一样。别的它也是属于典范的网络底层的安全领域,对底子技术学科要求也比较高。当然其他网络安全各行各业对底子技术学科要求也都比较高。
别的一个就是它大概会颠覆某些认知,各人大概知道ROM值一般都是只读的,但是在我们渗出领域内里ROM值大概会被改写,这个下面会进一步分析到,接下来我们再讨论一下它的代价,大概说用在那些不怀美意的团队内里,它会给客户造成什么危害?
![《芯片安全和无线电安全底层渗出技术》](https://img-
blog.csdnimg.cn/img_convert/195bd74c18f4297bfd072fc0fafe7545.png)
最开始的就是提供了一种新型的芯片安全0day的漏洞大概是后门的发掘方式。
像我们刚才提到的,如果说某一个芯片它在某一个地点段内里放了1k的木马,正常的用户他是察觉不到的,但是通过硬件故障注入的渗出措施,如果你故障注入精准到位的话,大概会把它的PC的指针值,大概把它的堆栈值改写,又大概导致内存溢出,会让固件无意中跳转到不明确的地方,一旦那个地方是属于埋藏的木马区间内的话,那么随着它的芯片的外围的一些状态改变,比方说功耗特征大概是串口大概其他的一些接口状态会发生改变——由于他的木马运行肯定会执行一些动作,大概就会把木马给发掘出来。
然后第二个就是从底层另一维度可以验证固件安全的可靠性,比方说正常情况下if(a ==
1),执行开门的一个权限,如果说开发人员安全理念强的话,他在编程的时候会多加一层判断条件,if( a == 1 && b == 2)
,那么在这种固件编程情况下,可以更有效地抗故障注入攻击,以是说它也是从另一维度可以验证固件安全的可靠性。
别的它是让传统的暴力破解,大概不再受CPU的算力、加密算法的复杂性所局限。像我相识到的很多的高校,已经开始在做基于FPGA算法的芯片故障注入脆弱性验证。然后还提供了一种新的非常规的RAM敏感数据堆栈溢出、缓冲区溢出的底层渗出路径。
比方说执行一个内存的拷贝指令,你在拷贝的时候那个长度如果在这个瞬间通过故障注入把它那个值给刷写的话,那么大概就出现内存溢出,后果非常严峻。再一个就是对身份认证权限绕过、加解密算法绕过,这个和暴力破解着实有点类同。
最后一个是将渗出的目标从数字信号安全向模拟信号安全蔓延了。各人大概经常讨论的都是一些网络的安全,它着实有一个共同的特征,就是数字安全,然后针对我们今天分享的芯片故障注入,它是真真切切的从数字安全渗出领域蔓延到模拟信号安全领域,也就是说很多的物联设备它会采集模拟信号、各种模拟传感器,然而这种模拟信号对毛刺最敏感,也是最畏惧的。AD采集过程中,一旦有毛刺的话,如果无有效的算法、滤波机制规避,很轻易对它产生一些不好的影响。
这个是针对故障注入分类界说。
![《芯片安全和无线电安全底层渗出技术》](https://img-
blog.csdnimg.cn/img_convert/1afec497133a0187680cffef7fffb69a.png)
重要有4种方式,首先是按照接触方式分类,这个应该好明白,有线和无线。如果是有线的话,需要把故障注入仪类似的各种探头探针大概测试夹,接到被测的设备里边。如果是无线的话,就类似于这种小黑盒,甚至是类似那种像太阳黑子那种电磁脉冲的武器,都是类同于这种无线的故障注入。
如果按照被测芯片的对象来分的话,它重要分为接口通信类的芯片、逻辑门的控制芯片和运算处理芯片。
蓝色的字体是我们今天重点要讨论的运算处理芯片,包罗但不限于CPU、MCU、DSP、FPGA、GPU,然后就是通信接口类芯片,包罗CAN总线、RS485、RS232,I2C、SPI这些外围设备接口芯片,按照故障注入信号的属性来区分的话,它分为毛刺、电压故障注入,时钟故障注入,这个时钟着实包含了这种毛刺掉电,以是说严酷来讲的话,这之间的分别是有模糊的,也包罗协议故障注入。
按照注入目的,它分为盲注和精准的故障注入,我们今天重点要讨论的就是精准,怎样实施精准?能够发出可调可控可设置的特定的故障注入信号固然紧张,当然这仅仅是盲注的特征,就是我随便将故障注入信号“打”进去,不知道会有什么结果,这也是很多的测试场景用到的,但是知道且何时能精准发出是关键,这个就进入到我们精准的故障注入特征。
这里我用词比较保守,要做到绝对的精准,大概世界上有些大牛的厂商能做到,但我照旧不太放心,我们只是说是相对的精准。
要精准实施的话,通过硬件中断加信号联动的高速触发机制,是最适宜做到这种精准的,各人都知道触发中断,一旦是某种中断信号来的话,就让故障注入的条件可以实施。
然后这内里有三个段位,最厉害的段位是能到达这种指令周期级的,我也希望咱们国内有这种厂商能做到,然后一般情况下故障注入它能够准确到函数级,就是能够定位到你执行到某一个函数,把这个故障注入信号打进去,如果说你能在确保函数级别的前提下又能进入到指令集——由于所有的函数它是由指令构成的,但是每一个指令它是由指令周期级来构成的,比方说某一个指令它大概分为三个机器周期。以是说这内里有三个段位,我们的焦点目的不是通过故障注入把对方的设备大概芯片打碎、打飞、打复位,最希望的是通过对其关键的业务精准的渗出——类似于篮球比赛,目的不是恶意犯规,而是要确保精准的盖帽。
我们现在正式进入到故障注入的原理,先相识一下 MCU内部的图片。
![《芯片安全和无线电安全底层渗出技术》](https://img-
blog.csdnimg.cn/img_convert/9abefb2c98b484b921c8d08d57a26d8a.png)
之以是相识这个图片,对于我们网络底层的从业者而言,有一种习惯,就是尽大概的知其然。通过内部的解剖图片,我们故障渗出人员至少可以得到一个信息,通过这个图片知道大概大概是在哪个位置,对其举行故障注入结果大概会最好,以是这个图片照旧有肯定的代价的。
这个是早期的ROM内部结构图。
![《芯片安全和无线电安全底层渗出技术》](https://img-
blog.csdnimg.cn/img_convert/3c49587011a6692a7bf4fe78401b8c42.png)
这个图非常关键,下面讨论基准的焦点都是围绕它,我们最终的目的——比方说要改变它的ROM值的话,着实它这边的字线和位线最终体现出它的指令机器码,也就是说我们最希望通过精准注入,把它的比特值刷写改变掉,也就是后面有一个专利会提到叫做比特故障。
咱们简单相识一下,这个是EEPROM。
![《芯片安全和无线电安全底层渗出技术》](https://img-
blog.csdnimg.cn/img_convert/5a701b4ec79b838d801bc627e4d705bf.png)
同样它也是通过在芯片内里,通过直接大概间接方式和芯片的内核总线举行挂接,在一系列流水线的运行机制下,触发芯片最终会反应到这个字线大概位线里边。
这个是非常经典的6管RAM单位电路,同样也是我们希望最终注入的时候能够改变它的比特值,两个比特位值,甚至它的触发值也能改变掉。
![《芯片安全和无线电安全底层渗出技术》](https://img-
blog.csdnimg.cn/img_convert/03d11dfcbe4b50e46f6e1f465f341ba9.png)
这里我们先简单相识一下这三种芯片的内部结构。
接下来是技术可行性分析。
![《芯片安全和无线电安全底层渗出技术》](https://img-
blog.csdnimg.cn/img_convert/6db0e7d8eb3455914c41ada85580eddc.png)
我们为什么故障注入能够成功,从技术上我们来简单分析一下,第一个就是芯片的集成度很高,在同类材质下,晶体管之间的电容,尤其是每个晶体管单位的对地的旁路电容非常低,这个就给我们故障注入,尤其是毛刺注入创造了条件。
由于毛刺正常注入的话,它的脉冲宽度随着差别厂商的工具差别,可以到皮秒纳秒级,针对这种纳秒级的毛刺脉冲很轻易穿透耦合到芯片内部。
第二个就是现有的 ESD防护器件,它很难防护到这种故障注入,各人大概都知道很多的设备里边外围都有掩护的元器件,什么防浪涌、
TVS管,甚至是ESD的防护器件。
各人可以看一下美国一线品牌力特的一个 ESD的底子器件技术指标(上图所示),它的 ESD的防护器件的相应速率,左边这个图它是200微秒,什么意思呢?
举个例子,100伏的电压要吸收降到10伏的话,它需要200微秒。右边这个图大概相应速率会更快一点,如果说把100伏的电压吸收降到30伏的话,它需要17微秒,但是我们的毛刺故障注入是皮秒、纳秒级,以是这两个ESD保卫的卫士,基本上对故障注入信号没什么结果。
然后第三个就是低功耗,现在很多的芯片厂商都聚焦低功耗计划,对于我们故障注入渗出方来讲的话,着实是一个利好消息,会更加轻易注进去。为什么?由于低功耗意味着低电压,比如说大概传统的的芯片需要5伏供电,现在变成3.3、1.8甚至1.2V,低压的处理器意味着它的门限电平更低,高电平80%,要是3伏供电的话大概高电平门限值也就2.4伏,门限电平越低的话,对于我们注入的毛刺要求就更低了。
第四个流水指令架构,这种
PC指针流水运行机制就更加适合这种故障注入,故障注入触发它的PC指针、堆栈溢出值,非常适合这种注入渗出测试,包罗FPGA,它固然不是那种流水的运行架构,但也适合这种。
第五个就是抗故障注入的软算法和硬件掩护电路的广泛缺失。下面会提到已经有专门的芯片公司专门针对这种抗故障注入的硬件掩护电路申请专利。由于成本很高,以是平凡的芯片它大概在抗故障注入,尤其是专业的抗故障注入没有做相应的储备。
最后一个就是敏感脆弱引脚外露,这个大概用户大概厂商那边也无法保证很多的芯片关键位置不会外漏,这个就是它的可行性。
然后再说一下它的挑战。
![《芯片安全和无线电安全底层渗出技术》](https://img-
blog.csdnimg.cn/img_convert/702f334ea2a3aee5f34fa58545f1d92d.png)
如果说刚才说的可行性,是从“矛”来讨论的话,现在我们来看一下芯片厂商的“盾”。第一个是专业的ESD滤波,防护电路,毛刺它最畏惧的就是滤波,包罗ESD。固然说刚才讨论的
ESD它大概防护不了,但是不排除甚至有一些更高大上的 ESD防护器件,灵敏度更高,能够把你的毛刺给吸收掉。
然后就是芯片的写掩护和读掩护。单纯的注入,它大概也注不了,由于它有专门的写掩护和读掩护的电路。
别的自锁、原子操作机制,这个都是基于硬件的电路来执行,在某种程度上,它着实也是有效的抗故障注入。
然后是指令集的针对性的优化。比方说你的指令集如果计划的不好的话,某一个比特改变之后,那么很轻易变成别的一条指令集,别的那条指令集如果说对你现有的业务有影响的话,它着实也会很轻易造成危害。
再往后专业的算法,这个大概就很好明白了,通过哈希、签名算法机制,像前面刚才提到了金丝雀攻击,它有效的防御就是在入栈和出栈之前,把它的校验的结果入栈的时候算一下,出站的时候再算一下校对,这个着实对于故障注入也是非常有效的。
最后针对抗故障注入的ASIC硬件电路是最恐怖的。下面我们重点说一下这个。
![《芯片安全和无线电安全底层渗出技术》](https://img-
blog.csdnimg.cn/img_convert/2df271ea1b1f7c0aa8487e3a696fd731.png)
这个就是三星专门申请的一个专利,咱们国内也有类似的这种专利。这个专利非常特殊,它的名字叫做包罗安全逻辑的装置和操作该装置的方法,配景技术比较拗口我就不念了。这内里简单总结4点,他们把这种故障注入称之为潜伏故障,专利内里说的是潜伏故障,是特定类的故障,然后潜伏故障很难被现有的人和物发现,同时潜伏故障它比作无声的故障,可以引发多个故障,导致装置能够发生严峻的性能故障。
然后典范的示例就是存储区域的比特故障,这个各人感兴趣的话可以网上下载一下这个专利,非常专业,从比较信号、触发信号、延时信号,完全就是有效防护毛刺的故障注入,非常专业。
注入过程首先把专业的故障注入仪搭在被测对象的指定的位置上,这个位置有大概是被测对象的某一个IO引脚,POWER引脚、通信接口引脚,大概是它的时钟、设置引脚,根据具体的芯片大概硬件来看,然后同时由于我们要做到精准的触发,就把它的触发的信号引过来,给专业的故障注入仪,一旦吸收到指定的报文大概某一个按键按下,触发中断实施故障注入。
![《芯片安全和无线电安全底层渗出技术》](https://img-
blog.csdnimg.cn/img_convert/159daa35a2b0e1435c9ee0676dc08eac.png)
总之中断触发目的就是我们要做到精准的注入,希望到达预期的技术目标,就是希望能够精准的动态改写它的ROM值,然后能够改写它的指定的寄存器的内容,RAM区间值,PC指针值以及它的堆栈、出栈指针值。如果换算成业务目标的话,我们希望能够通过这些技术目标到达我们这些业务目标,比方说芯片的漏洞木马发掘,权限绕过,敏感信息的读取,身份认证绕过等等。
这个是我们之前针对某一台工控设备现实注入的信号图(下图所示)。可以看到左边这个图是正100伏,右边是-100伏,这个是单毛刺。
![《芯片安全和无线电安全底层渗出技术》](https://img-
blog.csdnimg.cn/img_convert/f37da90acab84740ae384f817cca6c7f.png)
这个图是共模毛刺、差模毛刺(下图所示),由于在现实注入的时候,我们希望在两个差别的位置分别打进去,这两个位置可以同时打正的毛刺,也可以同时打负的毛刺,也可以一个打正一个打负,这内里重要是根据芯片内里的
PNP大概NPN的计划类型,分别针对性的把毛刺给打进去。
![《芯片安全和无线电安全底层渗出技术》](https://img-
blog.csdnimg.cn/img_convert/e616c16f8013b391d6f7a5578ca45577.png)
这个是故障注入的掉电注入(下图所示),掉电注入的话这个时间也可以设置,比方说我对某一个芯片掉电的时长可以让他掉电1微秒,大概是让它掉100微秒。
![《芯片安全和无线电安全底层渗出技术》](https://img-
blog.csdnimg.cn/img_convert/3b1af5ca75a9400505b923e29c81a443.png)
针对精准协议触发注入,很多的场合我们要做到准确触发的话,要抓到它特定的报文,比方说针对某一台设备,我通过网络大概串口输123456,它大概是暗码验证的一个业务,即便输入的暗码错误,但是设备在收到123456的话,会执行暗码验证的一个函数。当你在给被测对象发123456的时候,故障注入设备也能收到,那么这个时候通过设置指定的延时,再把故障注入信号打进去。
以是说一个好的故障注入的设备,它着实是具备多协议的采集功能。下面几张图分别是针对以太网、RS232,UART、RS485、CAN总线、LIN总线协议触发注入,比方说按一下车窗,ECU控制器大概会发出一个LIN总线报文。那么故障注入仪在抓到报文的同时,通过不绝的深度测试,延迟指定的时间(纳秒级的精度),目的就是确保和被测的控制装置执行关键函数同步。
![《芯片安全和无线电安全底层渗出技术》](https://img-
blog.csdnimg.cn/img_convert/0814c5405a16e6752c7d64058a5f415f.png)
![《芯片安全和无线电安全底层渗出技术》](https://img-
blog.csdnimg.cn/img_convert/6f6561f987f39e2ec06eb096226646c3.png)
![《芯片安全和无线电安全底层渗出技术》](https://img-
blog.csdnimg.cn/img_convert/422bb8c1967841785c5483c47ff26083.png)
这个是针对边缘触发,由于很多时候大概没有协议,比如说按一下这个按键,它从电路上来讲的话,是高电平变成低电平,大概低电平变成高电平,以是说这也是边缘的一个触发机制。
![《芯片安全和无线电安全底层渗出技术》](https://img-
blog.csdnimg.cn/img_convert/187679142e92c5103aa094fbeb65ba2d.png)
这个就是NFC无线非接通信了,目的也是一样,通过抓到指定的非接NFC协议报文,然后再延迟指定的时间把相应的故障信号给打进去。
![《芯片安全和无线电安全底层渗出技术》](https://img-
blog.csdnimg.cn/img_convert/46f26a386552354aa5830e384f270646.png)
接下来我们看一下 MCU取指时序分析,这个也是非常紧张。正常情况下大概是高级语言到汇编语言再到机器码,那么机器码再往下的话,就是我们重点关注的。这个是以
MCU51内核,来作为它的取指分析的一个对象。
![《芯片安全和无线电安全底层渗出技术》](https://img-
blog.csdnimg.cn/img_convert/5156bca7a2d382e7d0a28fcfe3e12736.png)
简单看一下,有几个重点,首先是12MHZ的振荡器,每一个单周期大概是双周期,芯片内部有一个关键的触发信号,就是ALE信号,
ALE信号是通过振荡器来生成的,上面标了1234时候(如上图所示),比方说针对单周期单字节的机器码。这条指令的话,注入的有效时很明显是在1时候,后面是空读。
如果说对芯片大概设备做时钟掉电注入的话,比方说在1时候让它提前掉电,目的是干啥?目的就是人为改变晶振频率,让ALE提前到来,由于它的ALE信号是通过振荡器的分频来实现的,提前把几个脉冲掉电,就会导致ALE提前到来,ALE提前到来就会让单字节大概是双字节的周期指令机器码提前读。提前读的一个后果就是指令的译码器、寄存器数据大概还未准备好,相应的RAM,比如IO大概是RAM值那边还并没有收到这个触发信号,以是提前读的话会读出错误的结果。
我们重点看一下这张图(如下图所示),它重要是两种架构,一种哈弗,一种是冯·诺依曼的。故障注入重点关注的对象重要是有这么几个区域。首先是用户的RAM区,刚才也说了故障注入我们希望能够精准的改写RAM值,即便不能做到精准,也希望能够做到函数的这种较粗范围内的改写,能对它的业务产生影响。
![《芯片安全和无线电安全底层渗出技术》](https://img-
blog.csdnimg.cn/img_convert/d0c75ccab5e561f12d2759d3576570c6.png)
同时对用户CODE区,也就是FLASH区大概是RAM区,对它注入的时候让它产生比特故障,一旦产生故障的话,那么它的指令集会改变,比如说本来是数据传输类的,有大概会变成跳转类的。然后这内里假设会有一个木马潜伏区,如果这个时候我们把
PC指针值不警惕随机的改写了,假设它跳到那个函数的首地点,那么他被测对象会发生一些差别的现象。最右边就是它的 c代码大概是汇编代码机器码。
举一个最简单的例子,if(password ==
0x36),然后执行这两条语句,汇编代码是如许,机器码是如许。比方说最右边的机器码7898,它这是一条单周期双字节的指令,当设备在执行7898机器码的时候,芯片内部着实就是在针对这个地点的位信号大概字信号对它举行相应的操作,在这个瞬间如果我们把它的比特值改掉的话,正常情况下大概是把98h赋给r0,有大概变成ff赋给r0了,它下面判断的一系列都是错误的,以是这就是故障注入大概会造成的一些后果。
![《芯片安全和无线电安全底层渗出技术》](https://img-
blog.csdnimg.cn/img_convert/8b5e70e8e0111b6f62181704b945f156.png)
这里是留意事项。最开始是白盒的渗出理念,就跟传统的网络渗出一样,首先是嗅探,只不过我们一开始大概从芯片的型号、data
sheet、它的业务具体是干什么用的嗅探相识,然后对其做相应的数据备份。由于很有大概你会把芯片给打碎,很多的芯片它大概有自锁的机制,以是在渗出之前把相应的数据备份好。
别的就是侧信道旁路的零干扰,由于是有线从侧边给搭进去的,那么在搭的时候尽大概不影响现有设备的正常工作。
风险告知——在我们跟客户对接的时候、做深度测试的时候,就把有些风险尽大概的给客户反馈好。
毛刺注入的最小化原则,一开始别直接上几百伏的毛刺,啪一下子大概把设备给打碎了。
最后就是警惕谨慎沉着冷静。
这个是针对某个demo板做的一个演示(如下图所示)。
![《芯片安全和无线电安全底层渗出技术》](https://img-
blog.csdnimg.cn/img_convert/cadf001cb061772e4f63a26870575466.png)
这个演示重要就是基于RS232的一个触发机制,对某demo板精准实施的一个故障注入。大概功能是如许,正常情况下,这个demo版它是一个串口回显的功能,就是我用这台PC机的调试助手给串口发123456,那么它就会给
PC机返回123456。然后接线是如许接的(如下图所示),串口调试助手给串口发的同时,这台故障注入仪也能收到,然后故障注入仪把毛刺信号搭在芯片的吸收端,再把故障注入仪的触发信号给设置好。
当收到64个1的时候, demo板能收到,故障注入仪也能收到。这个调试助手它是200毫秒循环发送一次。
这个提前把环境给搭好了,现在把参数给设置好,设置它的触发的报文,把它滞后时间设置为202毫秒,是由于demo板隔200毫秒收到之后,它大概会有约两毫秒的CPU执行时间。
前面那几秒之以是没有锁住,是由于 PC机固然是200毫秒循环发送一次,但是它大概有1~2毫秒的一个随机的延迟。
好,咱们再看一下别的一个领域,无线电这一块也是非常的紧张。无线电这块我们重要是从底层的链路层来讨论,至于上层的应用层什么加解密什么认证的机制,我们今天一概不讨论。
![《芯片安全和无线电安全底层渗出技术》](https://img-
blog.csdnimg.cn/img_convert/2fc214014bc29cc7b477ccd1c4ce1ffd.png)
首先是这个工具,巧妇难为无米之炊,对于无线电的扫描渗出,必定会借助这个工具。它不像之前其他的工具,在
PC机上装一个软件,直接就能漏扫了,必须要借助外围的一个独立的硬件设备,我们称之为无线电扫描渗出仪。
目前无线电渗出仪它重要是有两种,一种是sdr,就是开源的软件界说无线电,另有一种就是专门针对硬件的无线电,一般都是在军工高性能的场合大概会用到。
sdr软件界说的无线电,它有这么一个特征,硬件大概是厂商已经给你做好了,咱们只需要做软件的编程,会严峻依赖CPU的算力,如算法效率、内存性能,由于是靠软件来编解码的。
然后硬件hdr的话,它重要的特征就是较少的CPU干预,稳定性可靠性强,然后它的传输的速率、解码的效率非常的高。
接下来我们重点讨论一下
IQ的正交信号的处理,不讨论相应的开发工具,像labview、gruradio大概是matlab之类的,我们一概不讨论,甚至它的开发语言我们也不讨论。这个是非常经典的一张图(如下图所示)。传统的无线电发射干脆暴力,很久以前是直接把相应的调制信号和载波信号相乘,然后发出去。
![《芯片安全和无线电安全底层渗出技术》](https://img-
blog.csdnimg.cn/img_convert/e277852123cc52e8b142e7abd3391b22.png)
但是IQ调制不一样,它是分别把调制信号和载波信号各自移向90度,由sin变成cos,然后再分别相加,直接就单边带把射频信号发出去了。
然后关键的技术指标,硬件和算法两个方面。首先是频谱的覆盖范围、射频的失真等,一般我们是从研发人员的角度来看,对于用户的话,他们大概很少会接触到这些性能。还包罗它的通道的带宽,正常的情况下差别的场景差别的带宽,这内里的带宽不像我们家内里上网的那种带宽就是越宽越好,根据现实的场景有大概带宽越窄越好,越窄意味着你的进来的信号更纯净。包罗基带信号的滤波性能、信号增益控制(
AGC和MGC)。
![《芯片安全和无线电安全底层渗出技术》](https://img-
blog.csdnimg.cn/img_convert/3f16de2d3db83658f62eac9e364d0cf9.png)
然后基带信号的线性度、精度……尤其是基带信号的采样率,从某种程度上来看,直接能够决定这台扫描渗出仪的性能。
再往下就是它的驱动算法,这个性能着实也非常紧张,重要体现在软件层方面,这是无线电安全的一些要点,就是频谱的安全。
别的一个就是调制安全和编码安全,这个技术也非常紧张,一种好的优秀的调制解调技术,可以有效的防止同频干扰的攻击,尤其是在波特率以及它的码率传输,这内里体现它的技术气力。
![《芯片安全和无线电安全底层渗出技术》](https://img-
blog.csdnimg.cn/img_convert/3431cb4839858c43ec31a7db5fd4a4b3.png)
通信安全的计划跟传统的安全有点类同,就不展开细说了。
这个是针对某车型的无线信号的逆向分析(如下图所示),可以看到这个车钥匙按一下锁车键的话,它是有4帧,每一帧的间隔是约4毫秒。左边这张图是第一帧的放大图,可以看到基本上是循环的这种
ASK的调制,如果说解码的话,按照 NRZ解码基本上就是101010。右边的这个图是它的局部放大图,433.75兆赫兹,它的编码方式是ASK
100%的解调,然后它的波特率是2.8kbps,我们在测试过程中发现它不太稳定。下面这个图就是它的基带信号的最原始的图。
![《芯片安全和无线电安全底层渗出技术》](https://img-
blog.csdnimg.cn/img_convert/a7e884a7c74b397ec60f249606b4ff36.png)
最后我们通过一个视频来竣事分享。首先演示的是跟踪的视频。这个就是无线电扫描渗出仪,这个是信号的捕获窗口,当我按一下t1钥匙的时候,渗出仪会把相应的信息发到这个窗口里边。
按一下锁车键,上面提示是跟踪到t1,下面的1010跟刚才我们4帧的图片解析出来着实是一致的,这个是t2的钥匙,可以看到也跟踪到
t2的指纹了。现在把干扰也加进来。最开始找车的时候没有干扰,按找车键车会叫。然后把针对t1钥匙的干扰指令下发,意味着t1要是再按找车键的话,它应该是找不着了。
我的分享到此竣事,谢谢。
学习网络安全技术的方法无非三种:
第一种是报网络安全专业,现在叫网络空间安全专业,重要专业课程:步伐计划、盘算机构成原理原理、数据结构、操作系统原理、数据库系统、 盘算机网络、人工智能、天然语言处理、社会盘算、网络安全法律法规、网络安全、内容安全、数字取证、机器学习,多媒体技术,信息检索、舆情分析等。
第二种是自学,就是在网上找资源、找教程,大概是想办法认识一-些大佬,抱紧大腿,不过这种方法很耗时间,而且学习没有规划,大概很长一段时间感觉本身没有进步,轻易劝退。
如果你对网络安全入门感兴趣,那么你需要的话可以点击这里

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

大连全瓷种植牙齿制作中心

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表