防火墙是 STM32 L0 和 L4 系列微控制器提供的附加保护系统。它用于保护 Flash 或 SRAM存储器中的部分代码或数据,使其不受意图转贮代码或获取相关敏感数据的攻击。
防火墙可检测到对这些受保护区域的每次非法访问,并相应地产生复位,中断任何入侵。
防火墙能够保护三个不同的可配置区域,通常叫做段:
• 位于 Flash 或 SRAM 存储器中的代码段;
• 位于 Flash 存储器中的非易失性的数据段;
• 位于 SRAM 存储器中的易失性的数据段。防火墙打开时,每个段均可被 CPU 访问 (允许的访问类型取决于执行访问的段)。
当防火墙关闭时,不能访问这些受保护的段。每次访问都触发一个复位。
要打开防火墙,需要执行一个叫做 “ 调用门 ” 的特殊序列。它是打开防火墙并解锁对受保护代码和数据区域的访问 (以及执行受保护代码)的唯一入口点。
从调用门函数返回会将其关闭。
防火墙可用于保护来自第三方的敏感代码以及保护 OEM 应用软件不受攻击。
将防火墙性能和其他保护机制 (像专利代码读出保护或读保护, PCROP 或 RDP)结合起来,可实现高级保护。
根据目标安全限制、软件架构和开发阶段的相关工作模型,可考虑不同的应用方案。
|