无服务器实时及追溯恶意软件检测

BinaryAlert 是一个开源的无服务器 AWS 管道,任何上传到 S3 存储桶的文件都会立即使用一组可配置的 YARA 规则进行扫描。一旦发现任何匹配,就会触发警报,使事件响应团队能够在威胁蔓延之前快速控制威胁。
功能
- 使用 Amazon Web Services (AWS) 构建:部署 BinaryAlert 只需要一个 AWS 账户。
- 广泛的 YARA 支持:添加您自己的 YARA 规则和/或自动从第三方仓库克隆它们。
- 实时:上传到 BinaryAlert(S3 存储桶)的文件会立即排队等待分析。
- 无服务器:所有计算都由 Lambda 函数处理。无需管理服务器意味着更强的安全性以及自动扩展!
- 基础设施即代码:整个基础设施都使用 Terraform 配置文件进行描述,使任何人都能够在几分钟内通过单个命令部署 BinaryAlert。
- 追溯分析:更新 YARA 规则集后,BinaryAlert 将追溯扫描整个文件库以查找任何新的匹配项。
- 易于配置:BinaryAlert 配置在一个 Terraform 变量文件中进行管理。
- 高质量代码:使用 Python3 编写,并进行单元测试和代码风格检查,以确保代码库的整洁和可靠性。
- 低成本:AWS 账单仅基于分析的文件数量。
架构

- 组织收集文件并将其交付到他们的 BinaryAlert S3 存储桶。相关文件可能包括可执行二进制文件、电子邮件附件、文档等。
- 上传到 S3 存储桶的每个文件都会立即排队等待分析。
- 一个调度 Lambda 函数每分钟运行一次,将文件分组到批次中,并并行调用多达数十个分析器。
- 每个分析器使用预编译的 YARA 规则列表扫描其文件。
- YARA 匹配结果保存到 DynamoDB,并将警报发送到 SNS 主题。我们使用 StreamAlert 来调度这些警报,但其他组织也可以通过电子邮件或任何其他受支持的 SNS 订阅来接收警报。
- 对于追溯分析,一个批处理 Lambda 函数将整个 S3 存储桶排队以进行重新分析。
- 如果任何 BinaryAlert 组件的行为异常,可配置的 CloudWatch 警报将触发。这将通知与用于 YARA 匹配警报的主题不同的 SNS 主题。