人工智能安全-5-网络入侵检测

0 提纲

  • 概述
  • 数据集
  • 数据预处理
  • 特征工程
  • 天池AI上的实践
  • 棘手问题

1 概述

入侵检测是网络安全中的经典问题,入侵是指攻击者违反系统安全策略,试图破坏计算资源的完整性、机密性或可用性的任何行为。不管是哪种类型的入侵检测系统(IDS),其工作过程大体是相同的,可以分为三个主要的环节,即信息收集、分类检测和决策,其中,分类检测和决策环节是IDS的关键,都需要一定的人工智能技术来支持。

IDS有多种不同的划分方法,可以根据信息来源、检测方法、体系结构进行分类。

根据信息来源可分为:

  • 基于主机IDS;
  • 基于网络的IDS;
  • 混合IDS。

根据检测方法可分为:

  • 异常检测;
  • 误用检测;

根据体系结构的不同,可以分为:

  • 集中式IDS;
  • 分布式IDS。

2 数据集

对于网络入侵检测,采用网络嗅探、网络数据包截获等方法获得流量数据。对于主机型入侵检测,采用的方法比较灵活,既可以是操作系统的各种日志,也可以是某些应用系统的日志,也可以通过开发驻留于主机的应用软件等方法获得主机数据。

NSL-KDD数据集是通过网络数据包提取而成,由Tavallaee等人于2009年构建

NSL-KDD共使用41个特征来描述每条流量,这些特征可以分为三组,即:

  • (1)基本特征(basic features),从TCP/IP连接中提取。
  • (2)流量特征(traffic features),与同一主机或同一服务相关。
  • (3)内容特征(content features),反映了数据包中的内容。

除此之外,每条流量都带有一个标签,即normal和anomaly,表示相应的流量为正常或异常。

从https://www.unb.ca/cic/datasets/nsl.html下载数据文件

KDDTrain+.txt文件说明:是完整的NSL-KDD训练集,除了41个特征外,还包括数据包类型的标签和难度等级。

3 数据预处理

对于分类任务来说,由于原始数据可能存在异常、缺失值,不同特征的取值范围差异大等问题,对于机器学习会产生影响,因此,在进行机器学习模型训练之前,需要先对数据进行预处理。主要的过程包括:

  • 数据清洗,主要工作包括缺失值和异常值处理;
  • 去量纲:使不同取值范围的特征值转换到同一规格,一般是0,1、-1,+1等。常见的去量纲方法有归一化和标准化;
  • 离散化:等宽法、等频法和基于聚类的方法等。

4 特征工程

针对网络入侵检测应用,其特征数据通常来自多个不同软硬件设备、不同应用系统、不同的日志系统,但是都与攻击行为有一定联系。由此可能导致特征之间存在一定的相关性。例如,针对某个端口的大量并发连接请求,也必然引起内存使用量的增加。又如,Web服务器通常使用默认端口80进行监听,不同服务器一般有默认端口,由此服务器类型和端口就存在一定的相关性。因此,构造合适的特征空间也是很有必要的。

特征选择和特征抽取是特征工程的两个重要的方面,目的都是寻找合适的样本表示空间。它们的最大区别是是否生成新的属性。

  • 特征提取通过变换的方法获得了新的特征空间,如PCA、NMF等;
  • 特征选择只是从原始特征集中选择出部分子集,没有生成新的特征,主要有Filter(筛选)式、Wrapper(包裹)式和Embedded(嵌入)式。

5 天池AI上的实践

在sklearn框架内,以NSL-KDD数据集为例,选择其中的部分数据构造了二分类问题、多分类问题。

  • 在二分类中,训练集共有125973条记录,类别是正常和异常两类。经过去除缺失值记录、归一化等数据处理后,进行特征选择,然后以SVM、决策树、逻辑回归和随机森林作为分类器进行了训练。对另外的测试数据文件进行测试。
  • 在线实验入口:https://tianchi.aliyun.com/course/990

6 棘手问题

(1)误报率高、漏报率高。各种机器学习模型仍存在较高的误报率和漏报率,并且对于参数敏感。特别是,对于未知的入侵行为的感知能力弱,已成为制约入侵检测发展的关键技术问题。

(2)自学习能力差。添加IDS检测规则常依赖于手工方式且更新缓慢,限制了IDS的可用性。

(3)从检测到决策的困难。入侵检测的最终目标是为安全防御提供支持,而检测技术中的误报率漏报率问题,使得自动化决策可能影响正常数据的流动,也可能导致未能及时阻断入侵行为。

(4)自身易受攻击。IDS本身是存在漏洞的软件程序,它容易成为黑客攻击的目标,一旦黑客攻击成功,那它所管理的网络安全就不能得到保证。

相关推荐
阿里云大数据AI技术7 小时前
阿里云 Milvus 磁盘索引新利器:百万级Topk高性能召回
人工智能
独立开发者阿乐7 小时前
llms.txt 是什么?为什么 AI 爬虫需要这个文件
人工智能·爬虫·geo优化·ai爬虫·llms.txt·ai收录·robots.txt
Eloudy7 小时前
MLNX_OFED 的 install.pl 安装流程分析
网络·rdma·roce
福兮说7 小时前
秋招简历让 AI 写了一版:它替我加了 JWT,还把课程设计写成了「高并发」
人工智能·课程设计·秋招·求职·简历
ZDN_is_beauty7 小时前
深度学习2-卷积神经网络
人工智能·深度学习·cnn
QQ机器人_插件7 小时前
鲲鹏恒控的跨平台交付 —— Windows 上组态,Linux 上运行
人工智能
XMAIPC_Robot7 小时前
储能控制器产品化:ARM+FPGA整机高低温、EMC可靠性测试实战总结
arm开发·人工智能·fpga开发·arm+fpga·rk3588+fpga
Martina_03217 小时前
AI生成的海岸城市一移动镜头,水面反射就跳?用6步统一反射探针、SSR与平面反射
图像处理·人工智能·平面·3d·ai·自然语言处理·游戏策划
步行cgn7 小时前
Spring AOP 实战:安全日志
python·安全·spring
Matlab程序猿7 小时前
【MATLAB源码-第459期】基于matlab的D-H模型与阻尼最小二乘逆运动学的六自由度机械臂五次轨迹规划及动力学前馈PD控制仿真。
人工智能·算法·matlab·d-h建模·六自由度串联机械臂