欢迎光临
我们一直在努力

操作系统与虚拟化安全重点 3.6.安全审计

安全审计

    • 一、安全审计的概念
      • 核心定义
      • 三大构成要素
      • 审计的“三目的”
      • 审计的“双保证”
    • 二、安全审计事件的划分标准
      • (一)按审计对象划分
        • 1. 主体审计事件
        • 2. 客体审计事件
      • (二)按审计策略划分
        • 1. 固定事件集
        • 2. 用户事件标准
        • 3. 客体事件标准
        • 4. 按安全级筛选
      • (三)事件筛选机制
    • 三、审计保护方法
      • (一)审计过程保护
        • 1. 独立性原则
        • 2. 内核级保护
      • (二)审计数据保护
        • 1. 防篡改机制
        • 2. 完整性验证
      • (三)管理保护
        • 1. 职责分离
        • 2. 访问控制
        • 3. 物理保护
      • (四)技术保护措施
        • 1. 审计缓冲区保护
        • 2. 防DoS攻击
        • 3. 隐蔽性保护
    • 四、审计工作机制总结
      • 完整流程示意图:
      • 关键控制命令:

一、安全审计的概念

核心定义

安全审计是指对计算机系统中所有与安全相关的行为进行记录、检查和审核的系统性活动。它类似于现实世界中的“监控摄像头+日志记录员”,对系统内的关键操作进行全程跟踪。

三大构成要素

  • 记录(Recording)

    • 在系统调用入口/出口处设置审计点
    • 捕获事件类型、主体信息、客体信息、操作结果等
    • 例如:用户A在2023.10.10 14:30 通过open()系统调用访问了文件/etc/passwd
  • 检查(Examining)

    • 对已记录的审计日志进行分析
    • 检测异常模式、违规行为
    • 例如:发现某个用户账号在凌晨3点频繁尝试登录失败
  • 审核(Reviewing)

    • 由审计员定期审查审计记录
    • 评估安全策略的有效性
    • 为安全事件调查提供依据
  • 审计的“三目的”

  • 检测与阻止入侵:识别非法用户的攻击行为
  • 发现误操作:监控合法用户的不当操作
  • 提供证据:为事故调查、责任认定提供可靠依据
  • 审计的“双保证”

    为了确保审计有效,必须满足:

  • 完整性保证:审计所有必要事件,不能有遗漏
  • 可信性保证:审计过程本身受保护,日志不被篡改

  • 二、安全审计事件的划分标准

    (一)按审计对象划分

    1. 主体审计事件
    • 审计对象:系统中的活动实体
      • 用户(如:zhangsan)
      • 进程(如:进程ID 1234代表zhangsan执行ls命令)
    • 关注焦点:“谁”做了什么
    • 典型事件:
      • 权限变更:setuid, setgid(提升权限)
      • 进程操作:exec, fork(执行程序、创建子进程)
      • 系统控制:reboot, mount(重启、挂载设备)
      • 文件链接:link, unlink(创建/删除硬链接)
    • 记录内容:事件类型:exec
      进程ID:1234
      程序名:/bin/bash
      真实用户ID:1001(zhangsan)
      有效用户ID:1001
      当前安全级:机密
      时间戳:2023-10-10 14:30:00
      结果:成功
    2. 客体审计事件
    • 审计对象:系统中的被动实体
      • 文件(如:/etc/shadow)
      • 消息队列、信号量、共享内存
      • 网络端口、设备文件
    • 关注焦点:对“什么对象”做了什么操作
    • 典型事件:
      • 文件属性修改:chmod, chown(改权限、改所有者)
      • 文件创建/删除:create, unlink
      • 文件控制:fcntl, ioctl(特殊控制操作)
    • 记录内容:事件类型:chmod
      客体路径:/home/zhangsan/secret.txt
      客体所有者:1001
      客体安全级:绝密
      修改前权限:rw-r–r–
      修改后权限:rw——-
      操作者:1001(zhangsan)
      时间戳:2023-10-10 14:35:00

    重要说明:某些事件既是主体事件也是客体事件。例如chmod,既记录了“谁修改了权限”(主体),也记录了“哪个文件被改了权限”(客体)。

    (二)按审计策略划分

    1. 固定事件集
    • 特点:必须审计,不可关闭
    • 内容:与系统安全高度相关的事件
      • 用户账号变更:useradd, userdel
      • 权限提升:su, sudo
      • 系统关键操作:reboot, shutdown
    2. 用户事件标准
    • 特点:为特定用户定制
    • 示例:
      • 对管理员root:审计所有操作
      • 对普通用户zhangsan:只审计文件删除和权限修改
    3. 客体事件标准
    • 特点:为特定对象定制
    • 示例:
      • 对敏感文件/etc/shadow:审计所有访问尝试
      • 对普通文件/tmp/test.txt:不审计或仅审计写操作
    4. 按安全级筛选
    • 连续安全级:在某个安全级别范围内的操作都审计
      • 示例:审计所有“机密级及以上”的文件访问
    • 离散安全级:只审计特定几个安全级别的操作
      • 示例:只审计“绝密”和“机密”级,不审计“公开”级

    (三)事件筛选机制

    筛选维度具体方法示例
    按主体筛选 特定用户/进程 只审计root的操作
    按客体筛选 特定文件/目录 只审计/etc/目录下的操作
    按属性筛选 特定类型/权限 只审计setuid程序执行
    按安全级筛选 安全级别范围 只审计“机密级及以上”操作
    按结果筛选 成功/失败 只审计失败登录尝试

    三、审计保护方法

    (一)审计过程保护

    1. 独立性原则
    • 审计系统应独立于被审计系统
    • 审计进程与其他系统进程隔离
    • 审计数据独立存储,不依赖系统日志
    2. 内核级保护
    • 审计点在内核中实现
    • 审计缓冲区在内核空间,用户程序无法直接访问
    • 即使系统被入侵,内核级审计仍可能记录攻击行为

    (二)审计数据保护

    1. 防篡改机制
    • 只读存储:审计日志一旦写入,立即设为只读
    • 加密存储:对审计日志加密,防止内容泄露
    • 数字签名:对每条记录签名,篡改即可发现
    • 写入一次介质:使用WORM(一次写入多次读取)存储
    2. 完整性验证
    • 哈希链技术:每条记录包含上条记录的哈希值记录1 → 哈希(记录1) → 记录2 → 哈希(记录2) → …
      修改任何一条,后续所有哈希都不匹配
    • 定期校验:审计员定期检查日志完整性

    (三)管理保护

    1. 职责分离
    • 审计员 ≠ 系统管理员
      • 系统管理员:负责系统运行维护
      • 审计员:负责审计系统配置和日志审查
      • 二者权限分离,防止管理员删除自己的操作记录
    • 双人原则:关键审计操作需两人共同完成
    2. 访问控制
    • 最小权限原则:只有审计员能访问审计日志
    • 多因素认证:审计员登录需多重验证
    • 操作审计:对审计员的操作也进行审计(“审计的审计”)
    3. 物理保护
    • 审计服务器物理隔离
    • 审计存储介质单独保管
    • 防止物理破坏和窃取

    (四)技术保护措施

    1. 审计缓冲区保护
    • 使用循环缓冲区:避免缓冲区溢出攻击
    • 缓冲区满时立即持久化:防止数据丢失
    • 唤醒机制:审计进程睡眠,缓冲区满时被唤醒写盘
    2. 防DoS攻击
    • 审计操作低优先级:避免审计影响系统性能
    • 流量控制:在高负载时采样审计,而非全量记录
    • 分级存储:近期日志在线存储,历史日志离线归档
    3. 隐蔽性保护
    • 审计进程隐藏进程信息
    • 审计日志无明确标记(文件名不起眼)
    • 审计通信加密传输

    四、审计工作机制总结

    完整流程示意图:

    用户操作 → 系统调用 → [入口审计点] → 判断是否审计 → 设置审计状态

    执行系统服务

    [出口审计点] → 收集审计信息 → 写入内核缓冲区

    缓冲区满 → 唤醒审计进程 → 写入磁盘日志文件

    审计员定期审查 → 生成审计报告

    关键控制命令:

    • audit on/off:开启/关闭审计
    • audit add_event:增加审计事件类型
    • audit set_user:设置用户审计策略
    • audit view_log:查看审计日志

    赞(0)
    未经允许不得转载:171主机测评 » 操作系统与虚拟化安全重点 3.6.安全审计
    分享到: 更多 (0)

    评论 抢沙发

    • 昵称 (必填)
    • 邮箱 (必填)
    • 网址