-
1. 恶意代码映射为基因图谱
-
检测方法
- 1. 恶意代码,转0/1码,映射为灰度图像,并提取灰度图像特征
- 2. 利用恶意代码灰度图特征进行聚类,并将聚类结果进行恶意代码家族标注
- 3. 构建CNN网络,设置网络结构参数和训练参数
- 4. 利用恶意代码家族灰度图像训练网络,构建检测模型
- 5. 使用模型检测恶意代码及其变种
-
2. 流量会话映射成基因图谱
-
检测方法
-
1. 将聚类后的恶意代码家族的海量样本送入沙箱进行网络会话,基因特征提取,即将会话头部1k个字节(预处理后)映射为图像
- HTTP和DNS协议会话除外
- 2. 建立检测模型
- 3. 使用第一步的训练数据训练模型
- 4. 在现网中获取实时网络会话基因特征,使用模型检测恶意外码、未知协议
-
3. DGA域名深度学习检测Fast-Flux僵尸主机
-
Fast-Flux
- DNS RR上设定非常短的TTL,在IP集合中频繁替换,这类IP是受控主机
-
DGA
- 域名生成算法,malware代码里不写入域名字符串,使用私有的随机字符串生成算法
-
检测方法
- 结合静态、动态特征的LSTM模型,捕捉防护目标网络内的DNS查询
-
案例
- 检测僵尸主机
-
4. 频繁模式挖掘算法构建恶意行为模式库
-
检测方法
- 1. 将各家族恶意代码送入沙箱,提取主机行为和网络行为特征
- 2. 利用频繁模式挖掘算法输出频繁项
- 3. 安全专家对频繁项集人工定义,剪出合法频繁项,输出恶意行为模式
- 4. 在沙箱运行过程中,提取主机行为和网络行为,与行为模式库对比检测
-
案例
- WannaCry蠕虫病毒行为检测
-
5. 机器学习模型检测恶意代码加密通讯
-
加密流量特征
-
DNS特征
- 域名特征,Alex排名,TTL等
-
TLS元数据
- 密码套件,TLS版本,客户端公钥长度等未加密的元数据
-
HTTP特征
- HTTP URL,HTTP accept-encoding,HTTP field location,HTTP server nginx,HTTP Code 404等
-
包的特征信息
- 数据流前n个数据包的序列长度,时间序列(SPLT),信息熵等
-
模型建立方法
- 基本流程
-
6. 基于步态指纹和深度学习检测算法检测暗网流量
-
基于时序的步态指纹特征向量
- 1. 会话中数据包到达的时间戳序列
- 2. 会话中数据包发送的时间戳序列
- 3. 会话中数据包的大小序列
- 4. 会话中每秒包数,每秒字节数等
- 5. 会话状态序列,active/idle序列
- ...
-
模型建立方法
-
1. 数据获取
-
建立Ror流量捕获环境,分别使用不同的应用进行数据传输
- 浏览器
- 邮件
- 聊天工具
- 视频流、音频流
- 文件传输
- P2P,VoIP等
- 在非Tor环境进行同类别应用的数据传输,分别提取不太指纹特征数据
- ...
-
7. DNS隐秘信道检测
-
常用承载数据的记录类型
- 域名(主机名),TXT,A,CNAME等
-
常用编码或加密方法
- Base64,Base32
- 8-bit,16进制
- NetBIOS
-
已知DNS隧道工具
- DeNiSe,dns2tcp,DNScapy,DNScat-p,DNSCat-B,JHeyoka,iodine,NSTX,OzymanDNS,psudp, squeeza,tcp-over-dns,TUNS,恶意代码使用的DNS隐秘隧道
-
基于窗口的DNS隐秘隧道特征向量
- 1. 特定域名的两个连续数据包之间的时间(均值)
- 2. DNS隧道空间,去除二级域名的子域名长度(偏度)
- 3. 回应包的长度(方差)
- 4. qname中数字字符占比(方差)
- 5. 查询与响应包之间的时间(均值)
- ...