
【ARM 芯片 安全与攻击专栏】
文章平均质量分 90
1. ARM 安全系列文章
2. 各种加解密详细介绍
3. 各种攻击方法介绍
优惠券已抵扣
余额抵扣
还需支付
¥129.90
¥299.90
购买须知?
本专栏为图文内容,最终完结不会低于15篇文章。
订阅专栏,享有专栏所有文章阅读权限。
本专栏为虚拟商品,基于网络商品和虚拟商品的性质和特征,专栏一经购买无正当理由不予退款,不支持升级,敬请谅解。
主公讲 ARM
竹杖芒鞋轻胜马,谁怕?一蓑烟雨任平生
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
【ARM 芯片 安全与攻击 5.2.1 -- 侧信道与隐蔽信道的区别】
侧信道攻击是一种利用计算设备在执行某些操作时泄漏的物理信息(如时间、功耗、电磁辐射、声音等)来推测内部状态或敏感数据的攻击方法。这种攻击方式不依赖于传统的密码学分析,而是通过观察和分析设备的物理实施。隐蔽信道是一种通过非预期的通信路径在计算系统中传递信息的技术。它不依赖于正常的协议和通信路径,而是利用系统中的其他资源或特性进行信息传递。隐蔽信道主要用于在系统中创建未授权的通信路径,通常用于数据泄露或隐蔽通信。原创 2024-08-20 21:54:22 · 691 阅读 · 0 评论 -
【ARM 芯片 安全与攻击 5.7 -- 栈溢出攻击】
栈溢出攻击是一种通过向程序输入超出其栈缓冲区(stack buffer)容量的数据,从而覆盖内存中的其他数据或控制结构,进而执行任意代码的攻击方法。栈溢出攻击通常利用编程中的不安全函数(如strcpygets等)以及缺乏边界检查的代码。原创 2024-08-18 10:51:09 · 235 阅读 · 0 评论 -
【ARM 芯片 安全与攻击 5.7 -- 码重用攻击】
代码重用攻击(Code Reuse Attack, CRA)是一种利用现有的合法代码片段来执行恶意行为的攻击方法。由于现代操作系统和处理器通常会采用数据执行保护(DEP)等安全机制,直接在堆栈或堆上执行注入的恶意代码变得困难。代码重用攻击通过拼接或链接现有的代码片段来实现恶意目的,从而绕过这些安全机制。返回导向编程(Return-Oriented Programming, ROP)原创 2024-08-18 10:50:07 · 235 阅读 · 0 评论 -
【ARM 芯片 安全与攻击 6.1 -- PAC 与 BTI 的区别】
是在 ARMv8.3-A 架构中引入的一种硬件安全特性。PAC 通过对指针生成和验证加密签名,确保指针的完整性和真实性,从而防止代码重用攻击(如 ROP 和 JOP)。是在 ARMv8.5-A 架构中引入的一种硬件安全特性。BTI 旨在防止间接分支目标被滥用,从而防御控制流篡改攻击(如 ROP 和 JOP)。目的PAC旨在保护指针的完整性,防止指针被篡改。BTI旨在保护代码的控制流完整性,防止非法跳转到未授权的代码位置。工作原理PAC通过生成和验证指针的签名(PAC)来确保指针的有效性。BTI。原创 2024-08-17 15:17:17 · 563 阅读 · 0 评论 -
【ARM 芯片 安全与攻击 6 -- ARM 中的 PAC 是什么?】
Pointer Authentication (PAC) 是 ARMv8.3-A 架构引入的一种硬件安全特性,旨在防止代码重用攻击(如返回导向编程(ROP)和跳转导向编程(JOP))。PAC 通过对指针(函数指针、数据指针等)生成和验证加密签名,确保指针的完整性和真实性,从而增强系统的安全性。原创 2024-08-17 15:15:59 · 533 阅读 · 0 评论 -
【ARM 芯片 安全与攻击 5.6 -- 侧信道与隐蔽信道的区别】
侧信道攻击是一种利用计算设备在执行某些操作时泄漏的物理信息(如时间、功耗、电磁辐射、声音等)来推测内部状态或敏感数据的攻击方法。这种攻击方式不依赖于传统的密码学分析,而是通过观察和分析设备的物理实施。隐蔽信道是一种通过非预期的通信路径在计算系统中传递信息的技术。它不依赖于正常的协议和通信路径,而是利用系统中的其他资源或特性进行信息传递。隐蔽信道主要用于在系统中创建未授权的通信路径,通常用于数据泄露或隐蔽通信。原创 2024-08-17 14:47:14 · 400 阅读 · 0 评论 -
【ARM 芯片 安全与攻击 5.4 -- Meltdown 攻击与防御介绍】
Meltdown 攻击是一种利用处理器乱序执行(out-of-order execution)机制的侧信道攻击。它允许非特权用户访问被保护的内存区域,例如内核空间内存。Meltdown 攻击主要影响了许多现代的高性能处理器,包括 Intel 和部分 ARM 处理器。原创 2024-08-17 14:23:14 · 430 阅读 · 0 评论 -
【ARM 芯片 安全与攻击 5.3 -- Spectre 攻击与防御介绍】
Spectre 攻击是一种基于推测执行(speculative execution)机制的侧信道攻击。现代处理器为了提高性能,会在分支预测时提前执行一些指令,这些指令可能在将来被证明是不必要的。Spectre 攻击利用这一推测执行的特性,诱导处理器执行不应执行的代码路径,并通过侧信道泄漏敏感数据。原创 2024-08-17 14:07:09 · 481 阅读 · 0 评论 -
【ARM 芯片 安全与攻击 5.1 -- 瞬态攻击(Transient Execution Attack)】
瞬态攻击,包括推测执行攻击和乱序执行攻击,利用现代处理器的优化机制来窃取敏感数据。通过了解这些攻击的原理和示例,尤其是它们在 ARM 处理器中的应用,开发者和安全研究人员可以采取适当的防御措施来保护系统和数据的安全。瞬态攻击(Transient Execution Attack)是一种利用现代处理器中瞬态执行(transient execution)机制的漏洞进行攻击的方法。Spectre 攻击利用推测执行来读取不应访问的数据。推测执行攻击是瞬态攻击的一种,通过利用处理器的推测执行特性来泄漏数据。原创 2024-08-17 13:59:15 · 437 阅读 · 0 评论 -
【ARM 芯片 安全与攻击 5 -- 测信道攻击(Side-channel Attack)】
测信道攻击(Side-channel Attack)是一类基于从计算设备的物理实施中获取信息来破解密码系统的攻击。电磁泄漏:设备工作时产生的电磁波。电源分析:设备工作时的电源消耗变化。时间分析:设备执行操作所需的时间。声学分析:设备工作时产生的噪音。热分析:设备工作时的温度变化。测信道攻击的根本在于利用这些物理特性来推测设备的内部状态或操作,为攻击者提供超越传统密码分析方法的新途径。原创 2024-08-17 13:52:01 · 638 阅读 · 0 评论 -
【ARM 芯片 安全与攻击 5.2 -- 芯片中侧信道攻击与防御方法介绍】
Speculation Barriers,是一种防止处理器在投机执行中泄漏敏感信息的技术。通过使用特定的指令或编译器插桩,Speculation Barriers 可以阻止处理器在某些分支预测错误的情况下继续执行,从而防止潜在的侧信道攻击。PAN(Privileged Access Never)是一种 ARM 处理器中的安全特性,旨在防止恶意软件通过操作系统漏洞获取不该获取的数据。PAN 确保内核模式下的代码不能访问用户模式下的内存,反之亦然。原创 2024-08-17 13:47:38 · 549 阅读 · 0 评论 -
【ARM 芯片 安全与攻击 3.7 -- SM4 对称加密算】
SM4是一种分组对称加密标准,由中国国家密码管理局所制定,属于国家商用密码算法系列之一。它在国内广泛用于金融、电子政务等领域的数据保护。分组长度:128位。密钥长度:128位。轮数:32轮。加密与解密:使用相同的算法结构(轮函数和轮密钥生成算法相同),密钥调度算法产生的轮密钥顺序相反。SM 系列主要分为 SM2、SM3、SM4。其中SM2为非对称加密算法SM3为哈希摘要算法SM4为对称加密算法。原创 2024-06-15 12:26:18 · 1738 阅读 · 0 评论 -
【ARM 芯片 安全与攻击 3.4 -- 安全证书介绍】
安全证书,通常指的是数字证书(Digital Certificate),是由可信任的第三方机构(称为证书颁发机构,Certificate Authority,简称 CA)发行的一种证明文件。一个 DER 格式的证书通常无法在文本编辑器中打开,因为它是二进制编码的。一个具体的例子是 Let’s Encrypt,这是一个提供免费 SSL/TLS 证书的 CA。,根据你的证书和私钥在文件中的存放方式,可能还需要额外的命令来处理它们(例如,从 PKCS#12 容器中提取私钥和证书)。原创 2023-12-22 10:00:11 · 1665 阅读 · 0 评论 -
【ARM 芯片 安全与攻击 -- 常见非对称加解密算法并应用举例】
在实际应用中,通常结合对称加密算法使用:非对称加密用来加密对称密钥(也称为会话密钥),而对称密钥则用来加密实际的数据。这种方法结合了两种算法的优势:非对称加密的安全性和对称加密的速度。非对称加密算法,也称为公钥加密算法,使用一对密钥:一个公钥和一个私钥。公钥用于加密数据,私钥用于解密数据。对于需要长期安全的应用,推荐使用RSA-2048位以上,或者基于椭圆曲线的算法。,它们提供了高层的API,简化了加密和解密的过程。在使用非对称加密算法时,通常需要借助专门的加密库,如Python中的。原创 2023-12-21 10:20:09 · 866 阅读 · 0 评论 -
【ARM 芯片 安全与攻击 3.5 -- 常见的摘要算法并应用举例】
摘要算法,也称为哈希算法(Hash Algorithm),是一种将任意长度的数据映射为固定长度摘要信息的函数,广泛用于数据完整性验证、密码存储和数字签名等场景。原创 2023-12-21 07:43:29 · 528 阅读 · 0 评论 -
【ARM 芯片 安全与攻击 3.3 -- DES3 详细介绍并举例应用】
DES3,全称为 Triple Data Encryption Algorithm (TDEA) 或 Triple DES,是一种对称密钥加密算法。它是对原始 Data Encryption Standard (DES) 加密算法的一种增强,通过三重加密过程来提高安全性。DES 由于其 56 位的密钥在现代计算能力面前显得太弱而被破解,因此开发了 DES3 作为更安全的替代方案。原创 2023-12-20 10:23:27 · 1501 阅读 · 0 评论 -
【ARM 芯片 安全与攻击 3.2 -- Base64 介绍】
Base64 是一种基于 64 个可打印字符来表示二进制数据的编码方法。由于直接处理二进制数据在某些场合可能会出现问题(比如在电子邮件或网页中),因此需要一种方式来将二进制数据编码为纯文本格式。Base64 是一种常用的编码方式,它能将二进制数据转换为由 ASCII 字符组成的字符串。原创 2023-12-20 10:03:15 · 702 阅读 · 0 评论 -
【ARM 芯片 安全与攻击 3.1 -- 数字签名算法 ECDSA】
ECDSA(Elliptic Curve Digital Signature Algorithm)是一种使用椭圆曲线密码学(Elliptic Curve Cryptography,简称 ECC)的数字签名算法。ECDSA 于 1992 年被提出,并已成为现代加密通信中的重要组成部分。它主要用于确保数据完整性,验证数据的来源,并防止数据在传输过程中被篡改。原创 2023-12-19 14:06:30 · 1154 阅读 · 0 评论 -
【ARM64 ATF 系列 3.2 -- SoC Strap pin 介绍】
在系统级芯片(SoC)设计中,“strap pin”(或称为"strap")是一种特殊类型的引脚,它用于在SoC的启动或复位阶段设置特定的硬件配置或模式。这些设置通常是非易失性的,可以在SoC的后续操作期间保持不变。Strap pins通常由外部电阻、跳线或开关设置,以便在SoC上电前选定特定的配置选项。Strap pins对于ARM架构的SoC同样适用。引导模式(Boot Mode)原创 2023-12-05 16:36:50 · 2872 阅读 · 0 评论 -
【ARM64 ATF 系列 3.1 -- cpu 复位,解复位及 reset 三者之间的关系】
在 ARM CPU 架构中,复位(Reset)、解复位(Deassert Reset)以及 Reset 信号是密切相关的概念,涉及到处理器的启动、初始化和恢复到已知状态的过程。原创 2023-12-04 20:26:10 · 1958 阅读 · 0 评论 -
【ARM 芯片 安全与攻击 4 -- fuse program | fuse sense | fuse distribution | fuse sram override 与 Life Cycle】
在 SoC(System on Chip)中,术语 “fuse” 通常涉及到一种安全功能,它用于存储重要的配置信息或密钥,这些信息在 SoC 制造后期或在第一次启动时被 “烧录” 到芯片中。原创 2023-11-30 14:57:41 · 1537 阅读 · 0 评论 -
【ARM 安全系列介绍 1 -- 奇偶校验与海明码校验详细介绍】
奇偶校验是一种错误检测方法,广泛应用于计算机内部以及数据通信领域。其基本原理是为了使得一组数据(通常是一字节8位)中的“1”的个数为偶数或奇数。偶校验:确保数据中“1”的个数为偶数。如果“1”的个数是奇数,则添加一个“1”进行校验;如果“1”的个数已经是偶数,则添加一个“0”进行校验。奇校验:确保数据中“1”的个数为奇数。如果“1”的个数是偶数,则添加一个“1”进行校验;如果“1”的个数已经是奇数,则添加一个“0”进行校验。举个例子比如我们有一个字节的数据,二进制表示为1001 1100。原创 2023-11-06 10:42:04 · 648 阅读 · 0 评论 -
【ARM64 ATF 系列 2.1 - ATF 与 kernel 中从处理器启动】
进程(这些都是一些处理器强相关的初始化代码,一些通用的初始化都已经被主处理器初始化完),当 cpu 负载均衡 的时候会放置一些进程到这些从处理器,然后进程就可以再这些从处理器上欢快的运行。中主要是响应内核的smc的请求,然后做开核处理,也就是实际的开核动作,但是从处理器最后还是要回到内核中执行。操作集的设置,操作集中我们可以看到对核电源的管理的接口如:核上电,下电,挂起等,我们主要关注上电。),存在 cpu 寄存器的值,异常返回的时候写写到对应的寄存器中,然后。引导处理器完成初始化内核后,启动从处理器。原创 2023-08-10 10:29:31 · 1231 阅读 · 0 评论 -
【ARM64 ATF 系列 3 -- ARM64 warm reset 与 cold reset】
复位后程序起始执行地址是预先定义的,直接从这个预先定义的地址处开始执行。如果系统走的是cold reset,那么BL1->BL2->bl31_entrypoint。处理器收到复位信号后,依据处理器的具体实现进入所支持的。的时候 cpu 执行的函数地址就来自于这个寄存器。功能模块也一同复位,热复位在默认情况则不会复位。在32模式下的映射,写此寄存器将触发热复位。(可能是EL3/EL2,甚至EL1),模式出来的时候,一般是在。的寄存器,通过以下指令访问。出来之后,走的应该也是。寄存器,系统就会进入。原创 2023-08-10 10:28:08 · 1484 阅读 · 1 评论 -
【ARM64 ATF 系列 2 -- ATF SMC 异常处理流程 2】
Linux kernel 运行在 Non-Secure EL1,如果要进入TEE,首先需要调用汇编指令 进入 EL3,由 monitor(ATF)来完成 Non-Secure world到 Secure world的切换。在 mtk 平台上函数 是进入EL3 的入口函数,它调用 smc 指令并通过传入四个参数。其中中是多个位域的一个编码,根据它可以找到哪个service以及service中的哪一项服务。前面运行指令smc触发一个同步异常,进入EL3异常向量表对应同步异常入口,如下()函数 主要做了下原创 2023-08-07 18:38:24 · 844 阅读 · 0 评论 -
【ARM64 ATF 系列 1 -- ATF 中断向量表及SMC 处理流程】
这个函数的作用根据函数名,应该是保存并更新EL1系统寄存器的页表遍历(Page Table Walk, PTW)相关的值。这段代码的主要作用是打开Abort 中断,并将一些寄存器值存储到堆栈中以备后续的异常处理程序使用,同时也标志着异常处理程序正在 EL3执行级别中运行。这段代码的主要作用是,在处理异常时,如果启用了异步异常的规避措施,就保存当前的状态,调用特定的函数进行处理,然后恢复之前的状态。的值存储到堆栈中,以便释放这两个寄存器供后续的指令使用。如果启用了,就会执行一系列的指令。原创 2023-08-07 17:04:29 · 1720 阅读 · 0 评论 -
【ARM 芯片 安全与攻击 3.7 -- 加解密在 HTTPS 中的使用】
如何实现完整性呢?在TLS 中,实现完整性的手段主要是 摘要算法(Digest Algorithm)。哪怕你在文件中改变一个标点符号,增加一个空格,生成的文件摘要也会完全不同。: 属于密码哈希算法(cryptographic hash algorithm)的一种,MD5 可用于从任意长度的字符串创建 128 位字符串值。MD5 最常用于验证文件的完整性。什么是加盐?在密码学中,盐就是一项随机数据,用作哈希数据,密码或密码的单向函数的附加输入。盐用于保护存储中的密码。原创 2022-12-16 11:40:20 · 585 阅读 · 0 评论 -
【ARM 芯片 安全与攻击 3-- Openssl 常用加密算法】
一个n位的哈希函数就是一个从任意长的消息到 n位哈希值的映射,一个n位的加密哈希函数就是一个单向的、避免碰撞的n位哈希函数。这样的函数是目前在数字签名和密码保护当中极为重要的手段。当前比较流行的哈希函数主要有128 位的MD4和MD5和160位的SHA-11)对字符串进行md5摘要对字符串‘abc’进行md5使用 md5 进行签名的时候可以指定其他摘要算法, 太别扭了。建议做摘要和签名验证时使用 dgst 指令。1). 对字符串‘abc’进行sha1对文件进行sha1摘要计算:安全散列算法2。原创 2022-11-29 20:21:42 · 2763 阅读 · 0 评论 -
【ARM 安全系列介绍 5-- ARM TrustZone】
它的目标是希望 TrustZone 能把一些安全性要求高的代码放在安全区域里执行,ARM 把 TrustZone 固化在硬件里的道理是,系统的安全性不能全靠软件来保证,而且改写现有的不安全的软件,使之更安全也不大可行。TrustZone是体系结构的扩展,系统软件可以利用这一扩展提供安全支持,TrustZone本身并不能实现安全保障功能,但这一解决方案硬件实现不复杂,也不增加许多功耗,仍是具有很好性价比的安全嵌入式解决方案。ARM建议的方案是,把中断也分为安全的和非安全的,安全代码只能被安全中断打断。原创 2022-11-29 20:00:23 · 147 阅读 · 0 评论 -
【ARM64 ATF 系列 3.1 -- OpenTee】
TEE是智能手机主处理器中的一块安全区域,保证代码和数据的机密性和完整性。TEE中的数据不会被REE中的程序非法访问。TEE 中的可信应用(TA)在隔离的环境中运行,其安全性比手机主操作系统(Rich OS,比如Android)高,并且提供比SE更丰富的功能。TEE的规范由GlobalPlatform组织定义。ARM 中 TrustZone 技术可用于实现TEE。具体可参考ARM官网上对TrustZone的介绍。OP-TEE是ST和Linaro合作开发的TEE开源实现。它的前世今生。原创 2022-11-29 19:48:17 · 1276 阅读 · 0 评论 -
【ARM 芯片 安全与攻击 2-- Cold reset and warm reset】
复位后程序起始执行地址是预先定义的,直接从这个预先定义的地址处开始执行。在启动过程中,处理器的地位不是平等的;PSCI简单点来说也是需要主处理器给从处理器一个启动地址,然后从处理器从这个地址执行指令。中会响应这种请求,通过平台的开核操作来启动从处理器并且设置从处理的一些寄存器。引导处理器完成初始化内核后,启动从处理器。不仅可以启动从处理器,还可以关闭,挂起等其他核操作,现在基本上。处理器收到复位信号后,依据处理器的具体实现进入所支持的。实际上,所有的从处理器启动后都会从。方式启动从核,取而代之的是。原创 2022-11-29 16:10:45 · 277 阅读 · 0 评论