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

2023-09-15 17:44:14

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本身是存在漏洞的软件程序,它容易成为黑客攻击的目标,一旦黑客攻击成功,那它所管理的网络安全就不能得到保证。

更多推荐

模型分类model

模型可以按照多个维度进行分类,以下是常见的几种模型分类方式:(1)根据应用领域分类:数学模型:基于数学原理和方程式来描述和解决问题,如微积分模型、线性代数模型等。物理模型:基于物理原理和规律来模拟和解释现象,如力学模型、电路模型等。经济模型:用于研究和预测经济系统的行为和变化,如供求模型、消费者行为模型等。生物模型:用

token登录的实现

token登录的实现我这种token只是简单的实现token,就是后端利用UUID生成简单随机码,利用随机码作为在Redis中的键,然后存储的用户信息作为值,在每次合理请求的时候对token的有效时间进行刷新(利用拦截器),以确保用户信息的有效性。为什么要用token使用令牌(Token)进行身份验证和授权是一种常见的

Python vs C#:首先学习哪种编程语言最好?

进入编码可能很困难。最艰难的部分?决定先学什么语言。当谈到Python与C#时,可能很难知道在您的决定中要考虑哪些因素。我们为您提供了有关这些全明星编程语言的所有信息。什么是C#?自2000年作为MicrosoftVisualStudio的一部分开发C#以来,它一直是开发人员(包括新编码人员)的最爱。它标志着技术的一个

JAVA设计模式6:代理模式,用于控制对目标对象的访问

作者主页:Designer小郑作者简介:3年JAVA全栈开发经验,专注JAVA技术、系统定制、远程指导,致力于企业数字化转型,CSDN博客专家,阿里云社区专家博主,蓝桥云课讲师。目录一、什么是代理模式二、代理模式实例2.1静态代理2.2动态代理三、代理模式的应用场景四、代理模式面试题一、什么是代理模式代理模式是一种常用

【算法训练-二叉树 四】【对称与翻转】对称二叉树、翻转二叉树

废话不多说,喊一句号子鼓励自己:程序员永不失业,程序员走向架构!本篇Blog的主题是【二叉树的形态变化】,使用【二叉树】这个基本的数据结构来实现,这个高频题的站点是:CodeTop,筛选条件为:目标公司+最近一年+出现频率排序,由高到低的去牛客TOP101去找,只有两个地方都出现过才做这道题(CodeTop本身汇聚了L

OPCAE扫盲

目录1基本概念1.1服务器/客户端1.2区域1.3报警/条件1.4事件2条件概念2.1子条件2.2OPCConditions属性2.3Condition质量2.4OPCSubConditions属性2.5Condition定义2.6严重性2.7Condition启用/禁用2.8Area启用/禁用2.9Condition

服务器托管费用包含什么?

服务器托管和服务器租用是有一定区别的,那么服务器托管多少钱一年呢?今天就让小编来讲一讲服务器托管费用包含什么吧?服务器的机柜费。因为是服务器托管,所以不需要IDC服务器商提供服务器,只需要给自己的服务器付租用机柜的费用。通常是1U、2U、4U、半柜、整柜几种租用尺寸。(注:1U=4.445厘米,2U=8.89厘米,以此

Aztec交易架构解析

1.引言前序博客有:Aztec的隐私抽象:在尊重EVM合约开发习惯的情况下实现智能合约隐私完全保密的以太坊交易:Aztec网络的隐私架构Aztec.nr:Aztec的隐私智能合约框架——用Noir扩展智能合约功能AccountAbstraction账号抽象——EIP-4337提案Aztec团队认为:隐私用户体验糟透了。

深入解读什么是期权的内在价值和时间价值?

期权品种越来越丰富,对于大家套利对冲都有很多的选择。而有些初学者对时间价值一直不理解,今天呢,就给大家讲一讲深入解读什么是期权的内在价值和时间价值?本文来自:期权酱01在期权交易过程中,想必大家都会有以下几点疑惑:❑我看对行情了,为什么行情上涨或者下跌。认沽和认购都不赚钱?❑什么是期权的内在价值和时间价值?❑一旦被套,

HTTP网络协议与接口测试逻辑

很多测试人员都做过接口测试,但是聊到接口还是会不太清楚。网络协议:但凡要做接口测试,一定要懂网络协议。目前市场主流的网络协议HTTP1.1,Dubbo2,HTTP2.O(相对较少)HTTP1.1网络协议:搞懂打开浏览器访问一个URL会经历的步骤有哪些?(也就是搞懂了HTTP网络协议的基本交互流程)解析URL,将域名解析

性能测试 —— Jmeter 常用三种定时器

1、同步定时器位置:HTTP请求->定时器->SynchronizingTimer当需要进行大量用户的并发测试时,为了让用户能真正的同时执行,添加同步定时器,用户阻塞线程,知道线程数达到预先配置的数值,才开始执行取样器的操作测试绝对并发,比如秒杀,抢购等场景,结果要用聚合报告查看简单案例:模拟50个用户同时访问百度线程

热文推荐