跳转到主要内容

自动化恶意软件事件响应和分析

项目描述

amira

PyPI Build Status

AMIRA:自动化恶意软件事件响应与分析

AMIRA是一个用于对OSXCollector输出文件自动进行分析的服务。自动分析通过OSXCollector输出过滤器进行,特别是所谓的“统治一切的一个过滤器”:分析过滤器。AMIRA负责从S3存储桶检索输出文件,运行分析过滤器,然后将分析结果上传回S3(尽管也可以将它们附加到相关的JIRA工单)。

先决条件

tox

以下步骤假定您已经在您的机器上安装了tox

如果尚未安装,请运行

$ sudo pip install tox

OSXCollector输出过滤器配置文件

AMIRA使用OSXCollector输出过滤器进行实际分析,因此您需要在工作目录中有一个有效的osxcollector.yaml配置文件。示例配置文件可以在OSXCollector输出过滤器中找到。

配置文件中提到了文件哈希和域名黑名单的位置。请确保配置文件中提到的黑名单位置在运行AMIRA时也是可用的。

AWS凭证

AMIRA使用boto3与AWS接口。您可以使用以下任一配置选项提供凭证。

凭证应允许从AMIRA配置中指定的SQS队列读取和删除SQS消息,以及读取存储OSXCollector输出文件的S3存储桶中的对象。为了能够将分析结果上传到AMIRA配置文件中指定的S3存储桶,凭证还应允许对此存储桶的写入访问。

AMIRA架构

服务使用S3存储桶事件通知来触发分析。您需要配置一个用于OSXCollector输出文件的S3存储桶,以便当文件被添加到其中时,通知将被发送到SQS队列(如图中的AmiraS3EventNotifications)。AMIRA会定期检查队列中是否有任何新消息,并在接收到消息后从S3存储桶检索OSXCollector输出文件。然后,它将在检索的文件上运行分析过滤器。

分析过滤器按顺序运行OSXCollector输出过滤器包中包含的所有过滤器。其中一些与外部资源通信,例如域名和哈希黑名单(或白名单)和威胁情报API,例如VirusTotalOpenDNS InvestigateShadowServer。原始OSXCollector输出将扩展所有这些信息,分析过滤器运行的最后一个过滤器将所有发现总结为可读形式。过滤器完成后,分析结果将上传到分析结果S3存储桶。

整个过程的概述以及涉及该过程的系统组件如图所示

component diagram

使用AMIRA

AMIRA的主要入口点是amira/amira.py模块。您首先需要通过提供AWS区域名称、包含OSXCollector输出存储桶事件通知的SQS队列以及SQS队列名称来创建AMIRA类的实例。

from amira.amira import AMIRA

amira = AMIRA('us-west-1', 'AmiraS3EventNotifications')

然后,您可以注册分析结果上传器,例如S3结果上传器

from amira.s3 import S3ResultsUploader

s3_results_uploader = S3ResultsUploader('amira-results-bucket')
amira.register_results_uploader(s3_results_uploader)

最后,运行AMIRA

amira.run()

去喝杯咖啡,坐下来放松,等待分析结果出现在S3存储桶中!

项目详情


下载文件

下载您平台上的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。

源分布

amira-2.0.3.tar.gz (9.2 kB 查看哈希)

上传时间

构建分布

amira-2.0.3-py3-none-any.whl (10.6 kB 查看哈希)

上传时间 Python 3

由以下支持