SEMA:一款基于符号执行的恶意软件分析工具

💡 原文中文,约2600字,阅读约需6分钟。
📝

内容提要

SEMA 是一个基于符号执行的恶意软件分析工具,利用 angr 引擎扩展,通过系统调用依赖关系图(SCDG)创建签名,用于机器学习分类和检测。工作流程包括收集二进制文件、提取执行痕迹、构建 SCDG、提取公共图形并创建签名。工具需要 Python 3 和 Docker 环境,安装后可通过 Web 应用或命令行使用,支持自定义配置。项目遵循 BSD-2-Clause 开源协议。

🎯

关键要点

  • SEMA是一款基于符号执行的恶意软件分析工具,利用angr引擎扩展。
  • SEMA使用系统调用依赖关系图(SCDG)创建签名,用于机器学习分类和检测。
  • 工作流程包括收集二进制文件、提取执行痕迹、构建SCDG、提取公共图形并创建签名。
  • 工具要求Python 3和Docker环境,支持自定义配置。
  • 安装步骤包括克隆项目源码、构建和安装SEMA。
  • 使用Web应用程序启动容器后,可以通过浏览器访问工具。
  • 可以仅使用SemaSCDG,运行相应的Docker命令。
  • 项目遵循BSD-2-Clause开源协议,开发与发布遵循该协议。

延伸问答

SEMA是什么类型的工具?

SEMA是一款基于符号执行的恶意软件分析工具。

SEMA的工作流程包括哪些步骤?

工作流程包括收集二进制文件、提取执行痕迹、构建SCDG、提取公共图形并创建签名。

使用SEMA需要哪些环境和依赖?

SEMA需要Python 3、Docker环境以及一些开发库,如radare2和libgraphviz-dev。

如何安装和使用SEMA?

可以通过克隆项目源码并使用make命令构建和安装SEMA,使用Web应用程序启动容器后可通过浏览器访问。

SEMA支持哪些配置选项?

SEMA支持自定义配置,用户可以修改或创建新的配置文件来运行不同的实验。

SEMA遵循什么样的开源协议?

SEMA遵循BSD-2-Clause开源协议。

➡️

继续阅读