当前位置: 首页 > news >正文

IMA Integrity Audit Events(完整性审计事件)


IMA 在内核审计子系统(auditd)中新增了一组专用事件类型(不同于 IMA-Measurement 或 IMA-Audit 自身日志),专门记录与“完整性校验失败、TPM 扩展失败、策略加载失败”等关键场景相关的审计痕迹。下面按“事件类别 → 日志格式 → 典型示例 → 排查思路”逐层说明。

一、事件类别总览

触发时机事件名内核审计消息类型是否需要策略规则
文件被篡改或签名/哈希不匹配 integrity violation INTEGRITY_RULE / INTEGRITY_PCR ✅ 需 appraise 或 measure 规则
无法把度量值写进 TPM PCR failure to extend PCR INTEGRITY_PCR ✅ 需 measure 规则
mmap/exec/open 完整性校验失败 failure to mmap/exec/open INTEGRITY_RULE ✅ 需 appraise 规则
计算文件哈希出错(磁盘坏块、权限不足等) failure to calculate hash INTEGRITY_RULE ✅ 需任意规则
加载 IMA 策略失败 policy load failure INTEGRITY_RULE ❌ 与规则无关
启动阶段无法生成 boot_aggregate boot_aggregate failure INTEGRITY_PCR ❌ 与规则无关
 
 
Events that require a measure policy rule include:integrity violationsfailure to extend the TPM PCREvents that require an appraise policy rule include:failure to mmap a filefailure to load or update a IMA policyEvents that require any policy rule include:failure to calculate a file hashEvents that occur independent of policy rules include:failure to calculate the boot_aggregateloading IMA policy rules

 


二、日志字段说明(以 INTEGRITY_PCR 为例)

type=INTEGRITY_PCR msg=audit(1721934216.094:1227):pid=3546 uid=0 auid=1000 ses=2op=invalid_pcr cause=open_writerscomm="grep" name="/var/log/audit/audit.log" dev="sda3"ino=21348467 res=1 errno=0
 
关键字段速查
  • op=cause=:失败原因,常见值
    • open_writers —— 文件先被写打开,后又被读打开,出现 ToMToU 竞争。
    • tomtou —— Time-of-Measure/Time-of-Use 攻击。
    • invalid_signature —— 签名验证失败。
    • unknown_hash_algo —— 不支持的哈希算法。
  • name=:触发事件的文件绝对路径。
  • comm=:触发进程名,便于快速定位。
  • res=1:表示完整性校验失败;res=0 仅记录日志但允许继续访问(log 模式)。

 

官方示例:

type=INTEGRITY_PCR msg=audit(1721934216.094:1227): pid=3546 uid=0 auid=1000 ses=2 subj=unconfined_u:unconfined_r:unconfined_t:s0 op=invalid_pcr cause=open_writers comm="grep" name="/var/log/audit/audit.log" dev="sda3" ino=21348467 res=1 errno=0UID="root" AUID="kgold"

 


三、典型场景与示例

  1. 文件被篡改后执行
    type=INTEGRITY_RULE msg=audit(...):name="/usr/bin/sshd" hash="sha256:bad..." res=1
     
    → 说明 /usr/bin/sshd 哈希与 security.ima 不符,系统拒绝执行。
  2. open_writers 竞争
    type=INTEGRITY_PCR cause=open_writers name="/var/log/audit/audit.log"
     
    → 日志文件在被 auditd 写的同时又被 grep 读,IMA 检测到潜在篡改。
  3. PCR 10 扩展失败
    type=INTEGRITY_PCR cause=tpm_extend_error
     
    → TPM 忙或硬件故障导致度量值无法写 PCR,远程证明将失败。

四、启用与调试方法

  1. 内核配置
    CONFIG_IMA=y
    CONFIG_IMA_AUDIT=y          # 允许 ima_audit=1 参数
     
     
  2. 启动参数(按需打开详细审计)
    ima_audit=1
     
  3. 策略示例(在 /etc/ima/ima-policy 或启动参数里)
    audit func=BPRM_CHECK mask=MAY_EXEC
     
  4. 实时查看
    tail -f /var/log/audit/audit.log | egrep 'INTEGRITY_RULE|INTEGRITY_PCR'
     

五、一句话总结

IMA Integrity Audit Events 把每一次“完整性校验失败”都变成不可抵赖的审计记录,配合 ausearch -m INTEGRITY_RULE 或 SIEM 工具,可快速定位“文件何时、被谁、以何种方式”被篡改,为事后取证和合规审计提供核心证据链。
 
 

 

 
http://www.sczhlp.com/news/1733/

相关文章:

  • 7/30
  • 代码结构设计的思考
  • 2025/7/30 模拟赛总结
  • 73、把姓名转为一列
  • CRMEB会员电商系统集群部署实战:腾讯云镜像优化指南
  • 跨平台文件对比工具中的字体与布局兼容性问题深度解析
  • 5.2 表示程序性能
  • C语言基础-练习:九九乘法表
  • P12247 跳舞机(平衡树+动态规划)
  • 跨域问题处理
  • 15个好用的网络抓包工具,开箱即用
  • linux使用非交互的方式修改指定用户密码
  • 模拟赛day4题解
  • 银河麒麟通过 docker 离线安装 opengauss 数据库(单节点部署)
  • npm 发布工具包
  • Visual Studio 配置Python环境
  • GBase8a在配置文件[gbasedump]前添参数
  • 线段树题单预览
  • GBase8a审计日志相关操作
  • c3工具常用命令
  • 解析 RS485 总线:从技术内核到终端电阻的可靠性密码
  • dify之类工作流的理解
  • Unity Mask遮罩失效问题
  • 详细讲解了Linux定时任务调度的两种任务调度的机制和语法:crond周期任务调度、at一次性任务调度 - 实践
  • suse系统上创建用户和组
  • 新增SSH免密设置
  • 莫比乌斯
  • 图像生成-条件概率与边缘概率-10 - jack
  • GBase8a使用like %%进行模糊查询时,返回结果不符合预期
  • GBase8a查询decimal类型的字段时,返回结果集不符合预期