Saferwall:下一代开源恶意软件分析平台

  • A+
所属分类:安全工具

Saferwall:下一代开源恶意软件分析平台

Saferwall

Saferwall是一款开源的恶意软件分析平台,该工具旨在给安全社区提供以下内容:

  • 为恶意软件研究人员提供共享样本的协作平台。

  • 帮助研究人员自动化生成恶意软件分析报告。

  • 寻找新的恶意软件的搜索平台。

  • 放行前对恶意软件质量和有效性提供保证。

Saferwall:下一代开源恶意软件分析平台

功能介绍

静态分析

  • 加密哈希,封装器识别;

  • 字符串提取;

  • 可执行文件分析器

支持主流反病毒厂商的AV扫描工具:

Saferwall:下一代开源恶意软件分析平台

工具安装

Saferwall利用了Kubernetes来实现其高可用性、可扩展性以及背后巨大的生态系统。你可以选择将Saferwall部署到云端并在Kubernetes中运行,你也可以将其部署到自己的服务器中进行托管。

为了方便广大用户部署、启动和运行生产级的Kubernetes集群,我们还使用了kops。该工具能够自动提供一个托管在AWS、GCE、DigitalOcean或OpenStack上的Kubernetes集群,或者也可以直接在裸机上运行。目前,AWS是Saferwall官方支持的平台。

工具架构/组件

  • Golang

  • 后端:

    Echo

  • 前端:

    VueJS + Bulma

  • 消息:

    NSQ

  • 数据库:

    Couchbase

  • 日志:

    FileBeat + ElasticSearch + Kibanna

  • Minio:

    对象存储

  • 部署:

    Helm+ Kubernetes

当前架构/工作流

Saferwall:下一代开源恶意软件分析平台

下面给出的是文件扫描期间发生的基本工作流:

  • 前端通过restapi与后端通信。

  • 后端将样本上传到对象存储。

  • 后端将消息推入扫描队列。

  • 用户获取文件并将其复制到nfs共享,避免在每个容器上提取样本。

  • 通过gRPC调用异步扫描服务(如反病毒扫描器)并等待结果。

工具构建及部署

首先,使用下列命令将该项目的源码克隆至本地:

git clone https://github.com/saferwall/saferwall

使用一个Debian Linux系统,建议Ubuntu 18.04。并确保已正确安装了build-essential:

sudo apt-get install build-essential curl

将example.env改为.env,这个文件将存储项目的配置信息。

如需在AWS等云端环境部署和使用Saferwall,可以参考这篇【文档:https://github.com/saferwall/saferwall/blob/master/docs/BUILDING.md】。

构建AV镜像

编辑.env文件,并根据AV产品填写敏感凭据。

Eset:将许可证拷贝到./build/data/ERA-Endpoint.lic和.env中:

export ESET_USER = EAV-KEYHERE
export ESET_PWD = passwordhere

Avast:将许可证拷贝到./build/data/license.avastlic中;

Kaspersky:将许可证拷贝到./build/data/kaspersky.license.key中;

运行下列命令,构建并将Ducker Hub推送至所有AV:

make multiav-build
运行下列命令创建镜像,并构建一个gRPC守护进程来监听扫描任务:
make multiav-build-go
日志记录可以在Elasticsearch上看到:Saferwall:下一代开源恶意软件分析平台

项目地址

Saferwall:【https://github.com/saferwall/saferwall

Saferwall:下一代开源恶意软件分析平台

精彩推荐





Saferwall:下一代开源恶意软件分析平台
Saferwall:下一代开源恶意软件分析平台Saferwall:下一代开源恶意软件分析平台

Saferwall:下一代开源恶意软件分析平台

Saferwall:下一代开源恶意软件分析平台

Saferwall:下一代开源恶意软件分析平台

Saferwall:下一代开源恶意软件分析平台

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: