基于机器学习算法APT 检测

项目环境概述

以机器学习的方式,可以通过多种模型对 APT 组织所使用的恶意代码进行训练学习,同时由于训练的多样化,检测效果也会比家好。本项目采用的随机森林以及不同采样策略进行模型训练。详细设计见md文件。

1.系统描述

本系统主要是针对大量APT恶意代码进行学习,通过学习后从而对更多的APT恶意代码能够检测分类。

2.系统功能

对APT组织所使用的恶意代码进行动态分析,提取动态分析结果中的关键特征,使用随机森林并采用不同采样策略进行模型训练,最后能对恶意代码所属APT进行检测。

3.系统环境
3.1 硬件环境

i7以上CPU+4G内存+320G硬盘

3.2 软件环境

Ubuntu18.04操作系统

3.3 网络环境
4.一般约束

工具性能性能约束,开发技术支持,软件约束范围等。

完整代码:

https://mp.csdn.net/mp_download/manage/download/UpDetailed

三、软件业务需求描述

1.软件需求

软件需求 A

需求编号

01

需求名称

对 APT 使用恶意代码分析

需求说明

将恶意代码转换成能进行学习的数据结构

需求属性

数据流程

通过给定的恶意代码将其二进制转换为 01 图

展现类型

一系列衡量代码的 01 转换图

是否补录

存储周期

3 周

需求数据精度

权限需求

管理员

软件需求 B

需求编号

02

需求名称

提取动态分析中的关键特征

需求说明

由于代码可能过于庞大,因此部分需要进行提取

需求属性

更新频度

2 天

数据流程

经过上一步的分析,对数据结构进行删减

展现类型

一系列衡量代码的 01 转换图

是否补录

存储周期

3 周

需求数据精度

权限需求

管理员

软件需求 C

需求编号

03

需求名称

模型训练

需求说明

使用随机森林并采用不同采样策略进行训练(小样本)

需求属性

更新频度

每天多次,训练时间应较短

数据流程

确定好模型以及输入进行训练和参数调优

展现类型

分类的准确率以及训练时间

存储周期

3 周

权限需求

管理员

软件需求 D

需求编号

04

需求名称

模型预测

需求说明

测试所训练的模型,对给定恶意代码所属 APT 组织进行判定

需求属性

更新频度

数据流程

模型训练好后对待测代码进行判定即可

展现类型

预测结果

是否补录

存储周期

3 周

权限需求

管理员

输入参数

输入参数名称

参数类型

缺省数值

有无显示同级的要求

备注

待预测恶意代码

恶意代码二进制表示

软件需求 E

需求编号

05

需求名称

可视化界面

需求说明

基本可视化,方便用户查询

需求属性

更新频度

数据流程

模型预测好存入数据库后直接进行回显

展现类型

预测结果

是否补录

存储周期

3 周

权限需求

管理员

四、技术需求描述
1.初始数据质量标准

由于数据会直接导致模型的好坏,因此初始数据噪声值应尽量小,数据量尽可能大

2.高性能

预测时响应速度小于1s

3.可移植性

不同操作系统均能进行训练预测。

4.可扩展性

对于不同输入数据规模,能够对相应的样本进行预测,同时能使用不同的数据进行预测。

5.可维护性

模型参数丢失以及数据库信息损失能及时回补

五、开发模型选择

开发模型我们选择瀑布式模型,主要原因是有利于软件开发过程中人员的组织、管理,有利于软件开发方法和工具的研究,从而提高了大型软件项目开发的质量和效率。

概要设计


1.引言

1.1 编写目的

本说明书目的在于明确说明系统所需环境、各模块的实现方式,以及指导开发员进行编码。

1.2 预期读者

本说明书预期读者包括:

● 项目经理;

● 开发人员;

● 测试人员;

● 文档编写人员;

2. 技术设计

2.1 系统运行环境

分类

名称

版本

语种

主机操作系统

Ubuntu

18.04

英文

客户机操作系统

Windows 7

SP1

简体中文

沙箱环境

Cuckoo

2.0.7

英文

数据库平台

Gauss DB

-

简体中文

主机主要开发平台

Python

python2.7 & python3.6

英文

客户机主要开发平台

Python

python2.7

英文

开发主要环境

Anaconda(tenserflow)

3 (2.X)

简体中文

2.2 主要硬件环境

分类

配置需求

数据库服务器

8vCPU 2.6GHzMem:8GBHD:40G

本地开发计算机

4-6vCPU Mem:≥8GBHD:≥128GB

3. 模块设计

4. 图形化界面设计

4.1 结构设计
4.2 实际界面设计

5. 数据库设计

5.1 实际设计情况

通过实际操作与测试,最终选择数据库仅进行存储已经预测完的文件相关信息的功能。

具体设计如下:

5.2 数据库表结构说明

fileName:上传文件的文件名。

model:文件预测时选择的模型编号。

accuracy1、2、3、4:分别对应着训练集中的 4 个组织的相关程度。

label:预测后,

完整代码:

https://mp.csdn.net/mp_download/manage/download/UpDetailed

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序员奇奇

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值