自动化恶意软件事件响应和分析
项目描述
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,例如VirusTotal、OpenDNS Investigate或ShadowServer。原始OSXCollector输出将扩展所有这些信息,分析过滤器运行的最后一个过滤器将所有发现总结为可读形式。过滤器完成后,分析结果将上传到分析结果S3存储桶。
整个过程的概述以及涉及该过程的系统组件如图所示
使用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存储桶中!
项目详情
下载文件
下载您平台上的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。