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


FreeBuf|Saferwall:下一代开源恶意软件分析平台
本文插图

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

  • 为恶意软件研究人员提供共享样本的协作平台 。
  • 帮助研究人员自动化生成恶意软件分析报告 。
  • 寻找新的恶意软件的搜索平台 。
  • 放行前对恶意软件质量和有效性提供保证 。

【FreeBuf|Saferwall:下一代开源恶意软件分析平台】FreeBuf|Saferwall:下一代开源恶意软件分析平台
本文插图

功能介绍静态分析
  • 加密哈希 , 封装器识别;
  • 字符串提取;
  • 可执行文件分析器
支持主流反病毒厂商的AV扫描工具:
FreeBuf|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
当前架构/工作流
FreeBuf|Saferwall:下一代开源恶意软件分析平台
本文插图

下面给出的是文件扫描期间发生的基本工作流:
  • 前端通过restapi与后端通信 。
  • 后端将样本上传到对象存储 。
  • 后端将消息推入扫描队列 。
  • 用户获取文件并将其复制到nfs共享 , 避免在每个容器上提取样本 。
  • 通过gRPC调用异步扫描服务(如反病毒扫描器)并等待结果 。
工具构建及部署首先 , 使用下列命令将该项目的源码克隆至本地:
gitclonehttps://github.com/saferwall/saferwall使用一个Debian Linux系统 , 建议Ubuntu 18.04 。 并确保已正确安装了build-essential:
sudo apt-getinstallbuild-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中:
exportESET_USER = EAV-KEYHEREAvast:将许可证拷贝到./build/data/license.avastlic中;
Kaspersky:将许可证拷贝到./build/data/kaspersky.license.key中;
运行下列命令 , 构建并将Ducker Hub推送至所有AV:
makemultiav-build运行下列命令创建镜像 , 并构建一个gRPC守护进程来监听扫描任务:makemultiav-build-go日志记录可以在Elasticsearch上看到:FreeBuf|Saferwall:下一代开源恶意软件分析平台


推荐阅读