C-FLAT Control-Flow Attestation for Embedded Systems Software

Keywords

远程认证;控制流攻击;嵌入式系统安全

Problem Setting

image-20210519153200738

  • 如果通过认证,则进入授权路径;否则进入无授权路径
    • 授权路径:N1-N2-N5-N4
    • 无授权路径:N1-N3-N6-N4
  • 有控制流漏洞的程序(比如可能存在栈溢出的情况),可能会通过修改某些函数变量的值,间接修改函数返回的地址,这样就会导致程序按非预期的(非授权的)路径运行

System Model

image-20210519160106939

目标:Ver 希望确定远程嵌入式系统 Prv 的运行时控制流

  1. 通过静态分析,生成控制流图
  2. 测量每个可能的控制流路径,并存到数据库
  3. Ver 向 Prv 发起挑战,Prv 执行一个函数,然后计算被执行的 CFG(控制流图)。这样会生成一个经过认证的数字签名,并存至数据库。

小结

这篇论文的主要工作是提出一种认证,这种控制流认证会使系统的安全控制流程被写入数据库,这个数据库(我认为也可以是其他的一些数据结构)会在我们后续的研究中,比如安全状态观测和动态调整流程或许是有用的。

Ref

https://dl.acm.org/doi/10.1145/2976749.2978358



----------- 本文结束 -----------




0%