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开源协议。
➡️