Skip to content

毕方智能云沙箱(Bold-Falcon)是一个开源的自动化恶意软件分析系统;

License

Notifications You must be signed in to change notification settings

PowerLZY/Bold-Falcon

Repository files navigation

                  ____        _     _       _____     _                 
                 | __ )  ___ | | __| |     |  ___|_ _| | ___ ___  _ __  
                 |  _ \ / _ \| |/ _` |_____| |_ / _` | |/ __/ _ \| '_ \ 
                 | |_) | (_) | | (_| |_____|  _| (_| | | (_| (_) | | | |
                 |____/ \___/|_|\__,_|     |_|  \__,_|_|\___\___/|_| |_|

毕方智能云沙箱

毕方智能云沙箱(Bold-Falcon)是一个开源的自动化恶意软件分析系统。它用于自动运行和分析文件,并收集全面的分析结果,概述恶意软件在独立操作系统中运行时所做的工作。我们的工作是二次开发开源cuckoo沙箱,包括更新项目结构重写整个前端的用户交互添加基于机器学习的检测模块, 使恶意软件分析系统可以思考

说明文档 https://powerlzy.github.io/Bold-Falcon/

开发文档 https://boldfalcon.readthedocs.io

下载源码

$ git clone https://github.com/PowerLZY/Bold-Falcon

开源资料

源码分析

开源样本

如果你想要获取更多的恶意样本请访问查询:

推荐:

其他:

如果你想要获取更多的良性样本请在如下等网络自行爬取:

项目结构更新

  • 整理工程目录打包lib:(common,core),Modules(辅助功能、虚拟机、处理、签名、机器学习模型检测)
  • 省略\CWD目录:添加 analyzer、db、examples、Mal_sample、sample_data、storage、log等目录

最近更新

  • 学习内容

    • 预训练TF-IDF模型加载优化 100s -> 2s
    • Linux沙箱及检测方案
    • ATT&CK Navigator layer for Cuckoo's TTPs.pyattack
    • 添加 《Dynamic Malware Analysis with Feature Engineering and Feature Learning》 动态分析检测模型
    • 添加 MaliciousMacroBot(mmbot)office宏病毒检测方案
  • 设计文档

    • 参考文献记录(设计依据)
    • 国内沙箱深度调研
    • 图标+起名
  • 家族签名模块

  • 机器学习模块

    • 数据集:kaggle microsoft 10000个软件、挖矿软件 6000个;
    • 报告显示内容:模型检测图展示、使用特征展示、预测威胁得分;
    • 静态检测引擎:string、malconv;
    • 动态检测引擎:API调用序列;
    • 定义基类Dectection、Instance等;
    • 添加Smaple——malware,200个json report样本;
    • 添加 《Dynamic Malware Analysis with Feature Engineering and Feature Learning》 动态分析检测模型
  • 后期需求

    • 环境打包,Docker\shells安装
    • blog解析文档编写
    • 虚拟机管理:libvirt+高并发虚拟机
    • 沙箱内存管理:MemScrimper: Time- and Space-Efficient Storage of Malware Sandbox Memory Dumps (2018 DIVMA)
    • 3.3.5 REST API(Cuckoo docs) wsgi应用程序

常见问题

  • Machine * status gurumeditation
    • 找到虚拟机安装目录下VBox.log日志文件
    • 在日志文件中找到ProcessID, kill - 9 ProcessID
  • python 2/3 joblib.dump() 和 joblib.load()
    • 不同python版本的pickle.dump()和pickle.load()是可以相互转换和支持的
    • 在python3中,您应该使用较低的协议号来编写pickle数据 pickle.dump(your_object, your_file, protocol=2)
  • Pytorch Cpu 导入 Gpu 训练的模型
    • model.load(model_path, map_location='cpu')
  • Sphinx-readthedocs 开发文档自动生成
    • sphinx-quickstart
    • sphinx-apidoc -o ./source ../Bold-Falcon
    • python -m sphinx -T -E -b html -d _build/doctrees -D language=en . _build/html