news 2026/6/14 3:55:28

auditd-attack社区贡献指南:如何为开源安全项目添加新的审计规则与检测技术

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
auditd-attack社区贡献指南:如何为开源安全项目添加新的审计规则与检测技术

auditd-attack社区贡献指南:如何为开源安全项目添加新的审计规则与检测技术

【免费下载链接】auditd-attackA Linux Auditd rule set mapped to MITRE's Attack Framework项目地址: https://gitcode.com/gh_mirrors/au/auditd-attack

auditd-attack是一个将Linux Auditd规则集映射到MITRE ATT&CK框架的开源安全项目,旨在帮助安全团队更有效地检测和响应Linux系统上的各类攻击行为。本指南将为你提供完整的社区贡献流程,从环境搭建到规则提交的每一步都有详细说明,让你轻松成为开源安全项目的贡献者。

为什么选择auditd-attack?

在当今复杂的网络安全环境中,及时发现和响应攻击行为至关重要。auditd-attack项目通过将审计规则与MITRE ATT&CK框架相结合,为Linux系统提供了强大的攻击检测能力。该项目具有以下优势:

  • MITRE ATT&CK映射:所有规则都与ATT&CK框架中的战术和技术相对应,便于安全团队理解攻击意图
  • 全面覆盖:涵盖了从初始访问到数据渗出的整个攻击生命周期
  • 持续更新:社区驱动的规则更新机制,确保能够应对最新的攻击技术

图1:auditd-attack项目使用的MITRE ATT&CK框架映射图,展示了各攻击战术与技术的覆盖情况

准备贡献环境

在开始贡献之前,你需要准备好以下环境和工具:

1. 安装必要依赖

# Ubuntu/Debian系统 sudo apt-get update && sudo apt-get install auditd git # CentOS/RHEL系统 sudo yum install auditd git

2. 克隆项目仓库

git clone https://gitcode.com/gh_mirrors/au/auditd-attack cd auditd-attack

3. 了解项目结构

项目主要包含以下关键文件:

  • auditd-attack.rules:主规则文件,包含所有ATT&CK映射的审计规则
  • base_config.rules:基础配置规则,包含审计系统的基本设置
  • layer-2.json:MITRE ATT&CK框架层定义,指定了项目覆盖的技术和战术

贡献新规则的完整流程

步骤1:确定要覆盖的ATT&CK技术

首先,你需要确定要添加规则的ATT&CK技术。可以通过查看layer-2.json文件了解当前已覆盖的技术,或访问MITRE官方网站了解最新的ATT&CK技术。

选择技术时,建议考虑以下因素:

  • 技术的普遍性和危害性
  • 当前是否已有相关规则
  • 规则的可实现性和性能影响

步骤2:编写审计规则

审计规则应遵循项目现有的格式和最佳实践。以下是编写规则的基本指南:

规则格式
# 规则描述 - T1234_技术名称 -w /path/to/file -p permissions -k T1234_技术名称
示例规则

例如,为检测"T1078 有效账户"技术,可以添加:

# 监控sudoers文件修改 - T1078_Valid_Accounts -w /etc/sudoers -p wa -k T1078_Valid_Accounts

更多规则示例可以参考auditd-attack.rules文件中的现有规则。

规则编写最佳实践
  1. 明确的规则名称:规则名称应包含ATT&CK技术ID和描述性名称
  2. 适当的权限监控:根据文件或命令的敏感性选择合适的权限监控(r:读, w:写, x:执行, a:属性更改)
  3. 性能考虑:避免过度监控高频访问的文件或目录
  4. 注释说明:为每个规则添加清晰的注释,说明其目的和检测的技术

步骤3:测试新规则

添加规则后,必须进行充分测试以确保其有效性和性能影响:

加载测试规则
# 备份当前规则 sudo cp /etc/audit/rules.d/audit.rules /etc/audit/rules.d/audit.rules.bak # 复制测试规则 sudo cp auditd-attack.rules /etc/audit/rules.d/audit.rules # 重启auditd服务 sudo systemctl restart auditd
验证规则是否生效
# 查看已加载的规则 sudo auditctl -l | grep "T1234_技术名称" # 测试触发规则的操作,然后检查审计日志 sudo ausearch -k T1234_技术名称

步骤4:提交贡献

当你完成规则编写和测试后,可以通过以下步骤提交贡献:

  1. 创建新的分支
git checkout -b feature/add-T1234-rule
  1. 提交修改
git add auditd-attack.rules git commit -m "Add detection rule for T1234 ATT&CK technique"
  1. 推送到远程仓库并创建Pull Request

高级贡献:添加新的检测技术

除了基本规则外,你还可以贡献更高级的检测技术,如:

1. 复杂行为检测

通过组合多个规则来检测特定的攻击行为序列。例如,检测可疑的文件下载和执行:

# 监控wget/curl下载 - T1105_remote_file_copy -w /usr/bin/wget -p x -k T1105_remote_file_copy -w /usr/bin/curl -p x -k T1105_remote_file_copy # 监控临时目录执行 - T1059_CommandLine_Interface -a exit,always -F dir=/tmp -F perm=x -k T1059_CommandLine_Interface

2. 性能优化

如果发现某些规则导致系统性能问题,可以提出优化建议,如:

  • 添加过滤器减少不必要的日志
  • 调整缓冲大小(base_config.rules中的-b参数)
  • 优化规则顺序,利用auditd的"首匹配"特性

3. ATT&CK框架更新

当MITRE ATT&CK框架更新时,可以更新layer-2.json文件以反映新的技术和战术。

贡献者最佳实践

为了确保你的贡献能够顺利被接受,请遵循以下最佳实践:

  1. 遵循项目规范:保持与现有代码风格和规则格式的一致性
  2. 提供充分测试:在PR中说明你如何测试规则,以及测试结果
  3. 关注性能影响:避免添加可能导致高CPU或磁盘IO的规则
  4. 保持沟通:如果有疑问,先在项目issue中讨论
  5. 更新文档:如果添加了新的重要功能,记得更新README.md

常见问题解答

Q: 如何确定某个攻击技术是否已有对应的规则?

A: 可以通过搜索auditd-attack.rules文件中的技术ID(如T1000)来检查,或查看layer-2.json文件中的技术列表。

Q: 我的规则被拒绝了,应该怎么办?

A: 不要灰心!维护者通常会提供具体的改进建议。根据反馈修改后,可以再次提交PR。

Q: 我没有安全背景,能贡献吗?

A: 当然可以!项目欢迎各种背景的贡献者,包括文档改进、测试和代码优化等。

总结

通过贡献auditd-attack项目,你不仅可以提升自己的安全技能,还能为全球Linux用户提供更强大的攻击检测能力。无论你是安全专家还是开源新手,都能在这里找到适合自己的贡献方式。立即行动,加入我们的社区,共同打造更安全的Linux环境!

【免费下载链接】auditd-attackA Linux Auditd rule set mapped to MITRE's Attack Framework项目地址: https://gitcode.com/gh_mirrors/au/auditd-attack

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/14 3:55:07

别再死记硬背了!用大白话和一张图讲透BatchNorm和LayerNorm的区别

用班级成绩单与个人档案拆解BatchNorm与LayerNorm的本质差异在深度学习模型优化的工具箱里,归一化技术如同隐形的调音师,默默调整着神经网络各层数据的分布。当我们翻阅各类论文和教程时,BatchNorm(BN)和LayerNorm&…

作者头像 李华
网站建设 2026/6/14 3:55:06

Laravel Form Components验证集成:如何优雅处理表单错误信息

Laravel Form Components验证集成:如何优雅处理表单错误信息 【免费下载链接】laravel-form-components A set of Blade components to rapidly build forms with Tailwind CSS (v1.0 and v2.0) and Bootstrap 4/5. Supports validation, model binding, default va…

作者头像 李华
网站建设 2026/6/14 3:52:20

从0到1:使用PyFuze构建跨平台Python命令行工具

从0到1:使用PyFuze构建跨平台Python命令行工具 【免费下载链接】pyfuze Package Python projects into executables 项目地址: https://gitcode.com/gh_mirrors/py/pyfuze PyFuze是一款强大的Python项目打包工具,能够将Python项目转换为可执行文件…

作者头像 李华
网站建设 2026/6/14 3:54:49

数据科学转行生存手册:从问题翻译官到作品即简历

1. 这不是“速成指南”,而是我带过37个转行学员后亲手拆解的生存手册刚入行那会儿,我每天早上六点起床,在出租屋小桌前打开Jupyter Notebook,对着Kaggle Titanic数据集反复跑模型——但跑了三个月,连特征工程都做不干净…

作者头像 李华
网站建设 2026/6/12 23:15:24

贝叶斯AB测试与Uplift建模实战:从转化率决策到个性化干预

我理解您的严格要求,也完全认同内容安全、专业深度与表达真实性的绝对优先级。以下是一篇完全符合您所设定全部规范的高质量博文——它严格规避所有敏感词与AI套路化表达,以一名在数据科学一线深耕十年、常年主导A/B测试与因果推断落地的资深从业者口吻撰…

作者头像 李华