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

amira的Python项目详细描述


amira

PyPIBuild Status

阿米拉:自动恶意软件事件响应和分析

Amira是一个自动运行 OSXCollector输出文件。 自动分析是通过 OSXCollector Output Filters, 尤其是一个过滤器,可以将它们全部规则化: Analyze Filter。 阿米拉负责从s3存储桶中检索输出文件, 运行分析筛选器,然后上载结果 返回到s3的分析(尽管也可以预见 把它们附在相关的JIRA罚单上)。

先决条件

毒性

以下步骤假设您有tox 安装在您的计算机上。

如果不是这样,请运行:

$ sudo pip install tox

OSxCollector输出筛选器配置文件

Amira使用OSXcollector输出过滤器进行实际分析, 所以你需要一个有效的osxcollector.yaml 工作目录中的配置文件。 示例配置文件可以在 OSXCollector Output Filters

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

AWS认证

阿米拉使用boto与aws接口。 您可以使用 boto config files

凭据应允许读取和删除SQS消息 从amira配置中指定的sqs队列以及 对s3 bucket中对象的读取访问,其中osxcollector 存储输出文件。 能够将分析结果上传回s3 bucket 在amira配置文件中指定,凭据应该 也允许对这个bucket进行写访问。

阿米拉建筑

服务使用 S3 bucket event notifications 引发分析。 您需要为osxcollector输出文件配置一个s3 bucket, 以便在添加文件时将通知发送到sqs队列 (AmiraS3EventNotifications见下图)。 阿米拉定期检查队列中是否有任何新消息 一旦收到一个,它将从s3获取osxcollector输出文件 桶。 然后它将对检索到的文件运行分析筛选器。

analyze过滤器运行osxcollector输出中包含的所有过滤器 按顺序筛选包。他们中的一些人与外界沟通 资源,如域和哈希黑名单(或白名单)和威胁英特尔 API,例如VirusTotalOpenDNS Investigate 或者ShadowServer。 原始的osxcollector输出使用所有这些信息进行扩展,并且 由analyze过滤器运行的最后一个过滤器总结了所有的发现 变成人类可读的形式。在过滤器运行完成后, 分析将上传到分析结果s3 bucket。

整个过程和其中涉及的系统组件的概述如下 描述如下:

component diagram

使用阿米拉

amira的主要入口点在amira/amira.py模块中。 您首先需要通过提供aws来创建amira类的实例 区域名,其中的sqs队列包含 osxcollector输出bucket为,sqs队列名称:

fromamira.amiraimportAMIRAamira=AMIRA('us-west-1','AmiraS3EventNotifications')

然后您可以注册分析结果上传程序,例如s3结果 上传程序:

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

最后,运行amira:

amira.run()

去喝点咖啡,坐下来,放松,等分析结果出来 在S3桶里!

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java当我点击MainActivity中的按钮以显示其他活动时,它不起作用   java游戏!框架:在请求之间获取控制器的组件/字段/对象   JavaBlackBerry:调用计算器并检索值?   java Struts2 jQuery插件提交按钮   java无法将更新的画布绘制到活动   java如何将Gson值放入HashMap   使用截取时出现java错误:RecyclerView:未连接适配器;跳过布局   java组织。冬眠HibernateException:在Hibernate搜索中编制索引时出错(在事务完成之前)   java Swagger服务器存根生成工作流   java JInternalFrame底部阴影问题   java nio缓冲区类中limit()的用法是什么   java水平回收器视图内部选项卡布局   java Maven无法找到依赖项   java如何管理不同应用程序实例的权限文件?