1. 从相关数据集中提取相应的特征,如DNS域名、DNS时间戳、客户端IP、主机IP等。
2. 利用DNS的时间戳这一特征,使用后缀树字符串检测和傅里叶进行检测。(这个在之前的项目中代码已写好)
3. 利用DNS域名、主机IP、客户端IP,生成图拟使用改进的BP算法进行图挖掘,发现潜在的恶意域名。
现在手头上只有纳姐的那个很不得的APT数据和那个很大的2017的模拟流量集,暂定先用户2017的。
-
如果有找到更OK的,就换。
-
如果谢娇那边有打算自己生成数据集,我们这边也可以帮忙跟着一起,到时候就用自己生成的。
根据算法,只要是从DNS数据中提取一下特征:
- 域名
- 客户端IP
- 主机IP
- 时间戳
同时,由于图检测中的输入是图,还需要建立域名-客户端IP-主机IP这么一个关联图
-
主实验
后缀树+傅里叶
-
对比试验
周期检测中的单个检测算法
- 主实验
稍微调研了一下,初步拟定使用这个用域名-客户端IP-主机IP图进行检测的改良过的BPMC算法
当然大家也可以集思广益再做一丢丢的改进啊啥啥的
Multi-Confirmations and DNS Graph Mining for Malicious Domain Detection
https://link.springer.com/chapter/10.1007/978-3-030-22868-2_46#Sec2
- 对比实验
根据论文里的,我们可以用以下做对比试验:
- 用二分图的改进的BP算法
DNS graph mining for malicious domain detection
https://ieeexplore.ieee.org/document/8258515#full-text-header
- 置信度传播算法(belief propagation algorithm)
- 标签传播算法(label propagation algorithm)
当然还需要再继续做调研,看哪些还可以用来做实验(
根据前面拟定采用的四个算法,最终是会产生4个置信度(结果)。所以如果要把他结合起来,就需要机器学习。(我没想到更好的,如果有好的,就用更好的。- -)
这边的话就暂时把这四个整合成一个置信度向量,用那几个常见的机器学习算法或CNN去进行二分类。