z41nl/malware-analysis-ml

GitHub: z41nl/malware-analysis-ml

基于 EMBER2024 特征提取和 LightGBM 的 Windows PE 恶意软件静态检测工具,支持拖拽式 GUI 和模型重训练。

Stars: 0 | Forks: 0

# 恶意软件检测器 一个使用 EMBER2024 特征提取器 和 **LightGBM** 分类器的 Windows PE (EXE/DLL) 恶意软件检测工具。 ## 开发 使用 opencode mcp 进行开发。(无数据) ## 快速开始 ``` # 安装依赖 pip install -r requirements.txt # 启动 GUI python gui.py ``` 拖放任意 `.exe` 文件,即可将其分类为 MALWARE (恶意软件) 或 COMMON (正常软件) 并输出置信度分数。 ## 项目结构 ``` malware-detector/ ├── gui.py # Tkinter drag-and-drop GUI ├── feature_extractor.py # PE → 2568-dim feature vector (thrember wrapper) ├── thrember_features.py # Official EMBER2024 v3 PEFeatureExtractor ├── train.py # Retrain model from JSONL data ├── models/ │ ├── best_model.joblib # Trained LightGBM (F1=96.38%) │ ├── scaler.joblib # StandardScaler │ └── threshold.txt # Optimal probability threshold ├── data/ │ └── thrember_converted/ # Cached converted training features ├── requirements.txt └── README.md ``` ## 模型 该分类器是一个基于 [EMBER2024 数据集](https://github.com/FutureComputing4AI/EMBER2024) 中 60,000 个样本训练的 **LightGBM** 模型: - **特征**:由 thrember 提取的 2568 维向量(基于 pefile) - **测试 F1 分数**:96.38% - **类别加权**:应用 `scale_pos_weight` 以减少假阴性 - **阈值调优**:在留出的测试数据上找到的最佳决策阈值 ## 重新训练(高级) 要使用不同的数据或超参数重新训练模型: 1. 下载 [EMBER2024 数据集](https://github.com/FutureComputing4AI/EMBER2024) 2. 将 JSONL 文件放置在 `data/ember2024/` 目录下 3. 运行: ``` python train.py ``` 此操作会将 JSONL 转换为 thrember 特征,重新训练 LightGBM,并将更新后的模型和阈值保存到 `models/` 目录中。 ## 环境要求 - Python 3.10+ - 依赖项:`pip install -r requirements.txt` ## 备注 - GUI 使用 **tkinter**(Python 内置)——无需额外的 GUI 框架。 - 如需拖放支持,请安装 `tkinterdnd2`(可选)。 - 模型文件大约为 7 MB(LightGBM)——足够轻量,可以直接包含在仓库中。 # 待办事项 - 从互联网收集恶意软件数据。 - 特定恶意软件 ## malware-analysis-ml 使用基于编程的恶意软件分析基础方法,并结合机器学习 (ML)。 ## opcode opcode_analysis.py https://ieeexplore.ieee.org/document/8560667 https://arxiv.org/abs/2104.03586 https://www.sciencedirect.com/science/article/abs/pii/S0167404814000558 https://pureadmin.qub.ac.uk/ws/portalfiles/portal/149741697/PID5317323.pdf https://publications.eai.eu/index.php/sesa/article/view/117 https://www.hindawi.com/journals/scn/2022/3710968/ https://hal.science/hal-03192097/file/Android_malware_detection.pdf https://onlinelibrary.wiley.com/doi/10.1002/cpe.5308 ## 字节级分析 byte_level_anal.py https://dl.acm.org/doi/10.1145/1599272.1599278 https://www.semanticscholar.org/paper/Malware-detection-using-statistical-analysis-of-Tabish-Shafiq/4828a78f56f40fa5fa35c23e540fc3171117ec12 https://www.researchgate.net/publication/278650019_Byte_Level_n-Gram_Analysis_for_Malware_Detection https://www.researchgate.net/publication/221653252_Malware_detection_using_statistical_analysis_of_byte-level_file_content https://www.sciencedirect.com/science/article/pii/S1877050916001174/pdf?crasolve=1&r=7e9013294a68a7db&ts=1689739408873&rtype=https&vrr=UKN&redir=UKN&redir_fr=UKN&redir_arc=UKN&vhash=UKN&host=d3d3LnNjaWVuY2VkaXJlY3QuY29t&tsoh=d3d3LnNjaWVuY2VkaXJlY3QuY29t&rh=d3d3LnNjaWVuY2VkaXJlY3QuY29t&re=X2JsYW5rXw%3D%3D&ns_h=d3d3LnNjaWVuY2VkaXJlY3QuY29t&ns_e=X2JsYW5rXw%3D%3D&rh_fd=rrr)n%5Ed%60i%5E%60_dm%60%5Eo)%5Ejh&tsoh_fd=rrr)n%5Ed%60i%5E%60_dm%60%5Eo)%5Ejh&iv=dd5e795679bf9755c94e2c98537bac00&token=35373861633537343031353138633131613739646436383133646439363262356366373636323861363136333239393663663533643362633139373565656562623738643534323530613432366262653965313636656366346462663a346339616264363361323733616633353733663365386537&text=61dc6d1e8f652b96df1d3489898606c80bf15a85ed7807ea6859b5b284934aec92b1f71a29758ac3f8fcbb2bbaac706bc2c28601754df7f0f4317938b41ec13f2de30911c9973250fa5c9209c59d449add1c0ee6d62aca492bd9c5176e436d6949401fe0e4a3f361594fe4d97c2b60c8f18e872930c26bd66e642a9d7aa4af2356b573a62d7838fa3cf6692b66929ec7c8edfdd8d1ea7c9bc36d1e1e1d701828175eea1f2322c06b3fa70a1ca8ca6eb982bd82e0e15f95ecf59ef0397b6c5131b5e434bda0780418ffb1ef9a2c13e35e2ee0e65bc1432f683acf4c6515990f41c44e78e44ea31c4da93b61934e94e1d91c8a550edc0c3f948f1231a18730d43ae4e9470e92b99ac54637975850e600a5067b4da0fd76c18a988cf9a333a563fe8da080d8f569a022476781e2c875e119&original=3f6d64353d3938363865333966663236666163376365313865396135396334346537643462267069643d312d73322e302d53313837373035303931363030313137342d6d61696e2e706466 ## 控制流分析 https://en.wikipedia.org/wiki/Control-flow_analysis ## 数据流分析 https://en.wikipedia.org/wiki/Data-flow_analysis https://www.geeksforgeeks.org/data-flow-analysis-compiler/ https://clang.llvm.org/docs/DataFlowAnalysisIntro.html
标签:AMSI绕过, Apex, EMBER数据集, GUI, LightGBM, pefile, PE特征提取, Python, Tkinter, Windows PE, 二分类, 云安全监控, 人工智能, 威胁检测, 数据科学, 无后门, 木马检测, 机器学习, 模型训练, 特征工程, 用户模式Hook绕过, 病毒检测, 资源验证, 逆向工具, 静态分析