实训二、基于K邻近算法检测Rootkit

1、实训要求

(1)熟悉Rootkit数据集,此数据集是一种特殊的恶意软件。

(2)掌握使用k邻近算法检测Rootkit的流程和具体步骤。

(3)学会尝试使用k邻近算法识别基于telnet链接的Rootkit行为。

(4)学会对k邻近算法检测Rootkit的实验结果进行分析。

2、KNN算法检测Rootkit

2.1 实验任务

Rootkit是一种特殊的恶意软件,它的功能是在安装目标上隐藏自身及指定的文件,进程和网络链接等信息,比较常见的是Rootkit,一般都和木马,后门等其他恶意程序结合使用。基于KDD 99数据集的样本数据,尝试使用KNN算法识别基于telnet连接的Rootkit行为,检测流程如下所示。

2.2 实验数据集

NSL-KDD数据集是网络安全领域相对权威的入侵检测数据集,是KDD 99数据集的改进版本。NSL-KDD数据集的训练集和测试集中不包含冗余记录,使检测更加准确。NSL-KDD作为一种有效的入侵检测基准数据集,可以帮助研究人员比较不同的入侵检测方法。

KDD99官方地址:KDD Cup 1999 Data

提取协议类型为telnet同时攻击类别为Normal或Rootkit的所有记录构造数据集。

NSL-KDD官方地址:NSL-KDD | Datasets | Research | Canadian Institute for Cybersecurity | UNB。本实验用到的文件包括KDDTrain+_20Percent.txt和KDDTest+.txt,如下图所示:

NSL-KDD包含正常流量和四种类别攻击流量,其中rootkit攻击在大类攻击U2R类中,入戏图所示。

为了实现构建本实验的训练数据集和测试数据集,分别从KDDTrain+_20Percent.txt和KDDTest+.txt数据集中分别提出rootkit攻击记录和normal正常流量记录。

2.3 特征工程

2.3.1 特征选择与提取

1、导入Corrected数据集

2、筛选标记为Rootkit和normal且是telnet协议的数据

3、导入kddcup.data_10_percent_corrected数据集

2.3.2 特征归一化

划分数据集

特征归一化

2.4 构建Rootkit攻击检测模型

对测试集进行KNN训练

2.5 对模型进行评估

2.6 实验结果分析

1、划分数据集结果:

2、模型训练结果:

3、算法的比较结果:

通过交叉验证得到准确率:

2.7 总结

本次实验采用KDD99数据集,用KNN算法识别基于telnet连接的Rootkit行为,KDD99数据集是一个用来从正常连接中监测非正常连接的数据集。产出于1999年Thrid International Knowlegde Discovery and Data Mining Tools Competition,其目的是建立一个稳定的的入侵检测系统。而Rootkit是一种特殊的恶意软件,它的功能是在安装目标上隐藏自身及指定的文件,进程和网络链接等信息,比较常见的是Rootkit,一般都和木马,后门等其他恶意程序结合使用。

通过本次实验我掌握使用k邻近算法检测Rootkit的流程和具体步骤,先对KDD99的41维特征筛选出标记为rootkit和normal,并且是telnet协议的特征,在进行向量化,折交叉验证,最后评估其效果。同时我还学会了尝试使用k邻近算法识别基于telnet链接的Rootkit行为。学会了对k邻近算法检测Rootkit的实验结果进行分析。

总的来说,KNN算法可以作为一种有效的方法来检测Rootkit。然而,需要注意的是,算法的性能很大程度上取决于数据的质量和特征的选择。因此,在实际应用中,我们需要不断改进算法,并与其他方法进行比较,以获得更好的检测效果。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值