已阅读5页,还剩6页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于神经网络的入侵检测基于神经网络的入侵检测 闫永刚 南京信息工程大学计算机与软件学院气象信息技术与安全 摘要摘要 该文首先对关键件技术概述 然后从其关键技术进行分析 进而对其所存在的相关 问题进行详细剖析 从而提出了具有智能化 检测未知或变异攻击的能力 可扩展和自适 应性的入侵检测系统概念 关键词关键词 神经网络 入侵检测 Key words neural network intrusion detection 0 引言引言 随着互联网技术的高速发展 计算机网络的结构变得越来越复杂 计算机的工作模式 由传统的以单机为主的模式向基于网络的分布式模式转化 而由此引发的网络入侵的风险 性也随之大大增加 网络安全与信息安全问题成为了人们高度重视的问题 早期对于网络安全主要采取的是保护手段 所采取的主要技术手段有数据加密 认证 授权 访问控制 安全审计等 其核心思想是构建一个绝对安全的系统 但是这些技术存 在有诸多不足和局限性 所以近年来 在重视保护技术发展的同时 入侵检测技术得到了 人们更 1 入侵检测定义入侵检测定义 入侵检测是一种主动的网络安全防御措施 入侵检测技术就是采取技术手段发现入侵 和入侵企图 以便采取有效的措施来堵塞漏洞和修复系统 使用入侵检测技术具有入侵检 测功能的网络安全系统称为入侵检测系统 2 发展历程及国内外研究的现状发展历程及国内外研究的现状 1980 年 Anderson 首先提出了入侵检测的概念 他将入侵尝试或威胁定义为 潜在的 有预谋的 未经授权的访问信息 操作信息 致使系统不可靠或无法使用的企图 他提出 审计追踪可应用于监视入侵威胁 但这一设想的重要性当时并未被理解 但他的这一份报 告被认为是入侵检测的开创性工作 从 1984 年到 1986 年 Denning 和 Neumann 研究并发 展了一个实时入侵检测系统模型 命名为 IDES 入侵检测专家系统 它是一种通过使用统 计方法发现用户异常操作行为并且判断检测攻击的基于主机的入侵检测系统 将异常定义 为 稀少和不寻常 指一些统计特征量不在正常范围内 他们的这个假设是许多 80 年代 入侵检测研究和系统原型的基础 1987 年 Dennying 提出关于这个问题的论文被认为是另 一篇入侵检测的开创之作 1988 年 Morris Internet 蠕虫事件导致了许多 IDS 系统的开 发研制 1988 年 Lunt 等人进一步改进了 9ennying 提出的入侵检测模型 他提出了与系 统平台无关的实时检测方案 1990 年 Heberlein 等人提出基于网络的入侵检测 N8M NSM 可以通过在局域网上主 动地监视网络信息流量来追踪可疑的行为 1991 年 NADIR 提出了收集和合并处理来自多 个主机的审计信息从而用以检测针对一系列主机的协同攻击 1994 年 Hark Crosbie 和 Gene Spafford 建议使用自治代理以便提高 IDS 的可伸缩性 可维护性 效率和容错性 1994 年 Biswanath Hukherjee 等 41 对先前 IDS 的研究做了较为完整的回顾和分析 对各 种 IDS 的系统原型进行了分析和评述 1995 年以后出现了很多不同的新的 IDS 研究方法特 别是智能 IDS 包括神经网络 遗传算法 模糊识别 免疫系统 数据挖掘等 2 1 研究论述内容研究论述内容 基于系统调用的异常检测系统 Anomaly DetectionSystem Based on System Calls 是一个基于主机的 以系统调用短序列为研究对象的异常入侵检测系统 本系统通过对 Host 上的操作系统审计记录的分析来实现发现入侵事件 主要内容 1 入侵检测的信息源 由于 Sun 公司的 Solaris 操作系统是目前流行的 服务器 UNIX 操作系统 其中包含的 BSM 安全模块使得 Solaris 系统满足 TCSEC 标准的 C2 级审计功能要求 因此 在本项目中使用 Sun 公司 Solaris 操作系统上的 BSM 安全模块生 成的 BSM 审计记录作为入侵检测的信息源 2 系统调用 系统调用是操作系统提供给用 户程序调用的一组特殊接口 通常 在操作系统的核心中都设置了一组用于实现各种系统 功能的子程序 也就是系统在其内核里内建的函数 这些函数可以用来完成一些系统级别 的功能 操作系统将它们提供给用户调用 称之为系统调用 System Call 本系统是以 系统调用为研究对象来实现的 3 神经网络 神经网络具有概括和抽象能力 对不完整 输入信息具有一定程度的容错处理能力 神经网络具备高度的学习和自适应能力神经网络 所特有的内在并行计算和存储特性 以上 3 种特性使神经网络可以运用在实际的入侵检测 中 并且克服了传统入侵检测技术的缺乏检测未知或变异攻击的能力 缺乏扩展和自适应 性等缺点 2 2 关键技术分析关键技术分析 2 2 1 监控特权程序行为监控特权程序行为 攻击者入侵系统可以分为远程方式和本地方式 采用本地方式攻击时 攻击者首先需 要登录到系统 然后通过在系统本地的操作对系统实施攻击 对于这一类攻击 攻击者常 常事先己获得系统普通用户权限 比如内部用户或破解了某一普通用户的口令 登录系统 后 为了对系统实施破坏 攻击者需要获取更大的权限 超级用户权限 而提升权限通 常是利用 setuid 程序漏洞 采用缓冲区溢出等方式 在没有普通用户权限的情况下 攻击 者只能采取远程攻击方式 通过远程访问系统提供的服务来实施攻击 系统运行的守护进 程是攻击者进入系统的惟一入口 守护进程的漏洞则为攻击者打开了方便之门 通过这些 漏洞 攻击者可以实现获取超级用户权限 使系统崩溃等恶意目标 由此可以发现 setuid 进程和守护进程是入侵者攻击的主要目标 由于它们具备超级用户权限 统称其为 特权程序 Privileged Process 由于特权程序具有超级用户权限 攻击者利用它们的漏 洞则可以以超级用户身份访问系统资源 这些漏洞将给系统的安全性带来致命的打击 对 特权程序实施监控是防范攻击的重要手段之一 与监控用户行为相比较而言 监控特权程 序行为具有以下优点 首先 特权程序行为的各种可能的变化与用户行为相比较而言要有 限得多 其次 特权程序通常只完成特定的 有限的功能 然而用户可能执行各种类型的 操作 最后 特权程序的行为在时间上是相对稳定的 特别是与用户行为相比 用户行 为不仅执行的操作变化多端 而且随着时间的不同用户行为可能会产生很大的变化 而特 权程序的行为 至少是它们的功能 通常不会随着时间发生很大改变 特权程序 尤其是 那些监听特定端口的特权程序 形成了外部探测和入侵的自然边界 综上所述 对于特权 程序的监控是入侵检测的一个重要研究方向 2 2 2 从审计记录中抽取特权程序从审计记录中抽取特权程序 BSM 数据包含了评估阶段 Pascal 机器上 BSM 模块记录的所有进程的审计信息 而本文 的检测系统只关心特权程序的信息 所以说 需要对 BSM 数据进行过滤 根据特权程序的 特点进行抽取 分析审计记录的各个字段结构 2 2 3 系统调用段序列的获取系统调用段序列的获取 系统调用是进程在用户态与核心态之间切换的桥梁 用户进程在用户态只能访问有限 的资源 入侵一般不会发生在用户空间 然而进程通过系统调用切换到核心态后 能访问 更多的资源 如果误用这些资源足以对整个系统构成危害 所以 很多入侵都是发生在进 程的核心态 如缓冲区溢出 如果把程序运行产生的系统调用序列记录下来 就为入侵过 程记下了最为详细的日志 因此 可以通过分析特权程序的系统调用 来检测入侵行为 把系统用作为研究对象 用户程序可以通过这组特殊接口来获得操作系统内核提供的服务 比如用户可以通过 文件系统相关的调用请求系统打开文件 关闭文件或读写文件 系统服务之所以需要通过 系统调用提供功能给用户空间的根本原因是为了对系统的保护 因为系统的运行空间分为 内核空间与用户空间 它们各自运行在不同的级别中 逻辑上是相互隔离的 所以用户进 程在通常情况下不允许访问内核数据 也无法使用内核函数 它们只能在用户空间操作用 户数据 调用用户空间中的函数 但是在很多情况下 用户进程需要获得系统服务 这时 就必须利用系统提供给用户的特殊接口 系统调用 它的特殊性主要在于规定了用户进程 进入内核的具体位置 换句话说 用户访问内核的路径是事先规定好的 只能在规定位置 进入内核 每当用户在程序中需要操作系统提供的某种服务时 便可利用一条系统调用命 令 去调用系统过程 它一般运行在核心态 通过软中断进入 返回时通常需要重新调度 因此不一定直接返回到调用过程 每一个系统调用都对应着一个数字 这些数字是用来代表这些系统调用的 例如在 Linux 系统中 内核通过 0 x80 中断来管理这些系统调用 这些系统调用对应的数字和一些 参数都在调用的时候送到某些寄存器里面 系统调用的数字实际上是一个序列号 表示其 在系统的一个数组 sys call table 中的位置 程序运行过程中所使用的系统调用序列表 现出一些重要的性质 主要包括 进程运行过程中所使用的系统调用序列具有一定的稳定性 表现为系统调用短序列 系统调用序列的片段 具有一定的稳定性 刻画系统调用的系统调用短序列的数量变化不会很大 趋向于一个定值 运用系统调用短序列可以描述系统调用的特征 以上特征表明 系统调用短序列可 以用于刻画进程的特征 并可以用于构建正常行为特征库 以区分系统中不同进程和入侵 行为等 因此 基于系统调用可以建立入侵检测模型 以上特征表明 系统调用短序列可以用于刻画进程的特征 并可以用于构建正常行为 特征库 以区分系统中不同进程和入侵行为等 因此 基于系统调用可以建立入侵检测模 型 2 2 4 系统调用短序列特征向量的提取系统调用短序列特征向量的提取 将系统调用短序列转化为 BP 神经网络模型可以识别的输入 用以训练网络和检测异 常的系统调用 设 a 和 b 为长度为 k 的两个序列 a表示序列 a 的第 i 个位置 d a b 表 i 示序列 a 与 b 的距离 在模式匹配时 对测试集中的每个子序 u 列定义一个它与模式表的 最小距离 d min d u p 其中 p 是模式表中的任意模式 从定义可以看出 d越大 min u min u 则发生的入侵可能性越大 在实际中 d min u 的最大观察值用做入侵的测度 它是最强的异常 信号体现 异常信号 S 定义为 S max d 其中为任意的子序列 在理想情况下 min u 只要 S 大于 0 就可以认为是入侵 然而在实际中检测序列与模式表中的序列完全匹配的限 制太强 一次定义一个阈值 如果 S 值大于该阈值就认为发生异常 在本系统中我们采用 3 种距离向量分别进行实验 并且比较了这 3 种方法的优劣 在 实验中采用了如下 3 种实验算法 假设有点 X x1 x2 xn 点 Y y1 y2 yn 海明距离 Hamming metric 公式 d X Y 1 ghammin n i yixifi 1 如果 xi yi 则 f xi yi 1 否则 f xi yi 0 ii 堪培拉距离 Canberra metric 公式 d X Y 2 can n i yixi yixi 1 欧基里德距离 Euclidean distance metric 公式 d 3 eu n i yixi 1 假设 X 1 1 1 0 0 和 Y 0 1 1 0 0 则 d 2 d 1 d 1 ghammincaneu 2 2 5 神经网络模型的建立神经网络模型的建立 选择神经网络的目的就是要利用它的自学习性和自组织能力 适合于学习被观察输入 与理想输出之间的关系 因而可使网络能在学习和训练过程中 自适应地发展和总结输入 信号的本质特征 输入信号的规律性等 从而使系统能够发展知识 进而超过原有的知识 从而系统可以在数据不完整和易变的情况下 仍然能得到一个全面的特征轮廓 这种方法比以前的方法更精确 更简洁 而且与用户反复地更改其工作习惯无关 并能 克服当恶意用户察觉到被检测时故意逐渐改变其行为 而使其入侵的行为被编码到正常的 行为轮廓中去的缺点 算法的选择与网络功能设计息息相关 当要完成分类的功能时 最 简单的考虑就是用反向误差传播网络 BP 神经网络 BP 算法进行训练的多层前馈网络称 为 BP 神经网络 它是一种多层前馈型神经网络 采用反向传播学习算法 BP 网络是目前 最广泛使用的神经网络学习算法之一 BP 神经网络含有输入层 输出层以及处于输入输出 层之间的隐含层 隐含层可以有单层或多层 BP 网络是强有力的学习系统 其结构简单易 于编程 3 BP 网络的原理网络的原理 BP 网络模型如图 3 1 所示 它含有输人层 输出层以及处于输入输出层之间的中间层 中 间层有单层或多层 在隐层中的神经元也称隐单元 隐层虽然和外界不连接 但是 它们 的状态则影响输入输出之间的关系 这也是说 改变隐层的权系数 可以改变整个多层神 经网络的性能 1 正向传播 输入的样本从输入层经过隐单元一层一层地进行处理 通过所有的隐层之后 则传向 输出层 在逐层处理的过程中 每一层神经元的状态只对下一层神经元的状态产生影响 在输出层把现行输出和期望输出进行比较 如果现行输出不等于期望输出 则进入反向传 播过程 2 反向传播 反向传播时 把误差信号按原来正向传播的通路反向传回 并对每个隐层的各个神经 元的权系数进行修改 以期望误差信号趋向最小 3 1 BP 算法的数学表达算法的数学表达 BP 算法实质是求取误差函数的最小值问题 若一个 BP 网络的输入 隐层的激活函数 输出层的激活函数和实际输出相对理想输出的误差如下所示 则输出层的权修改量和激活阙修改量分别为 隐藏层的权修改量和激活阙修改量分别为 3 2 BP 网络训练 神经网络的训练流程图如图 3 2 所示 输入层隐含层输出层 图 3 1 BP 神经网络结构图 连接权及阀值变化 误差学习次数 N 学习模式提供给网络 计算中间层各单元的输入输出 计算输出层各单元的输入输出 计算中间层各单元的误差 更新学习模式 调整中间层各单元之间的连接权及中间层各单元的输 出数值 计算输出层各单元的误差 开始 全部模式训练完 结束 否 否 图 3 2 BP 神经网络训练流程图 读取训练模式库中的所有模式 将其转化为输入向量值 Ak 将 Ak 和 Y 0 提供给神 经网络进行训练 反复训练模式库中的模式 直到网络收敛或者训练次数超过 N 最后 应用训练完成的神经网络来预测可能出现的序列 以此进行异常分析 3 3 漏桶算法漏桶算法 Leaky Bucket 使用漏桶算法对 BP 网络输出的数据进行处理 设定适当的阈值来产生报警 神经网络 的检测只能识别该系统调用短序列是否异常 而不能说明该程序是否异常 更加不能判定 该 Session 是否异常 通过前面的局部性理论学习知道 系统调用序列的异常在时间上往 往是聚集在一起的 具有局部性 漏桶算法很好地描述了这种异常在时间上的局部性 因 为漏桶算法有记忆功能 漏桶算法的流程图如图 3 3 所示 漏桶算法可以保存当前时间的异常累积效果 可以很好地表现程序发生异常的局部性 原理 如果漏桶水满溢出 则说明进程发生异常 每次漏下 k 的值小于一次加水 q 的值 否则漏桶不可能发生溢出事件 当神经网络输出结果判定对应系统调用短序列为异常 则 发生一次加水事件 整个入侵检测系统的检测模块流程图如图 3 4 所示 可以发现 当新 生成一个特权程序时 就会生成对应特权程序的神经网络检测器 然后对新特权程序产生 的系统调用序列进行检测 如果输出结果为 0 那么认为该系统调用短序列是正常行为 如果输出结果为 1 那么认为该系统调用短序列发生异常 最后将结果输入到漏桶算法中 如果认为发生异常 则在漏桶算法中进行报警 提醒系统管理员或者直接将该进程杀死 漏桶 n 1 神经网络检测器 n 1 生成神经网络检测器 n 1 漏桶 i 神经网络检测器 i 依据进程号 i 选择 检测器 提取特权程序系统调 用段序列 开始 结束 文件结束 新特权进 程 是 是 图 3 4 入侵检测系统的检测模块流程图 t 0 报警 发生一次入侵 t 1 k 初始化漏桶大小 1 当前漏桶容 量 t 漏下率 k 一次加水 q t 1 q 进程结束 匹配 t1 开始 结束 取新系统调用短序列 是 是是 否 否 是 图 3 3 漏桶算法流程图 3 4 ROC 曲线分析曲线分析 ROC Receiver Operator Characteristic 曲线是用来比较检测模型性能的有力途径 ROC 曲线是显示检测率和误报率的变化曲线图 这个图的纵轴方向表示检测率 横轴方向 表示误报率 ROC 曲线上的每一点表示在一个特定的门限阈值 s 下相应的一对误报率和检 测率 改变门限阈值 Threshold s 就可以得到一条 ROC 曲线 ROC 曲线越靠近左上角 表示 100 的检测率和 0 的误报率 表示它的检测性能越好 检测率和误报率这两者的 关系取决于 IDS 的阈值的设定 阈值设置偏低 那么检测率和误报率都会比较高 阈值设 置偏高 虽然不容易产生误报 但同时检测的性能也会较差 如何在检测率以及误报率之 间取得一个平衡是 IDS 研究人员的一个重要课题 这两个参数也就成为 IDS 评估的重要指 标 图 3 4 为 检测模块流程图 在本系统的开发过程中 针对不同的进程行为训练不用的 BP 网络 对同一个进程分别 训练拥有不同的隐层数目 10 15 20 25 30 35 40 50 60 的 BP 网络 用 ROC 曲 线对检测结果进行分析 保留效果最好的网络用于检测异常的系统调用 3 5 国内发展应用的前景国内发展应用的前景 对于入侵检测系统的研究与开发 虽然应用不尽相同 但本文所阐述的系统体系的可 移植性很强 一旦成功地实现了第一步 以后的应用推广将非常顺利 经济及社会效益将 十分显著 预计在几年之内将在黑客攻击防范 信息敏感部门的网络安全保护以及病毒防 护等方向有很好的应用前景 4 总结总结 基于系统调用的异常检测系统课题对于促进我国网络安全技术和软件产业的发展具有 重要意义 并具有广阔的应用前景和良好的社会经济效益 高效的入侵检测系统符合目前 网络安全的实际需求 入侵检测系统是国家和地方重点推广实施的信息基础设施的关键系 统 也具有广阔的应用前景 其推广应用有利于促进地方网络应用的发展 虽然入侵检测方法的研究已经有 20 多年的历程 但是 IDS 仍有许多地方需要提高 根 据国外权威机构近来发布的入侵检测产品评测报告 目前主流的入侵检测系统大都存在以 下 3 个问题 存在过多的报警信息 即使在没有直接针对入侵检测系统本身的恶意攻击 时 入侵检测系统也会发出大量报警 入侵检测系统自身的抗强力攻击能力差 缺乏 检测高水平攻击者的有效手段 现有的入侵检测系统一般都设置了阈值 只要攻击者将网 络探测 攻击速度和频率控制在阈值之下 入侵检测系统就不会报警 分析以上问题 不具备检测新攻击类型的能力 是因为以往的检测方法常常使用误用 检测技术 误用检测的本质决定了它检测不到未见过的攻击类型 而异常检测就可以很好 地解决这个问题 但是异常检测会导致第二个问题 就是误报率比较高 保持误报率同时 具备检测新类型攻击的能力对异常检测系统来说是一个很大的挑战 IDS 的配置问题其实 也是 IDS 检测率和误报率这对矛盾的选择问题 总之 IDS 技术处于快速发展过程中 但是还不成熟 需要大量的工作和探索 而我 们正是在解决上述存在问题的基础上提出了本系统的研究体系 具有智能化 检测未知
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 卖出房子一半的协议书
- 印尼店铺租赁合同范本
- 借车协议代替租车合同
- 代加工鞋购买合同范本
- 俩兄弟建房子合同范本
- 创维光伏经营合同范本
- 农村货物搬运合同范本
- 公寓业主租户合同范本
- 创业股民投资合同范本
- 合同变更固定合同范本
- 酒精体积分数质量分数密度对照表优质资料
- 128485-海南省建筑工程费用定额-NEW
- TD-T 1055-2019 第三次全国国土调查技术规程
- 灭火器与消火栓使用培训
- 平安保险退保申请书
- 2023年成都轨道交通集团有限公司招聘笔试题库及答案解析
- 高考语文复习-诗歌专题训练-曾巩诗歌
- GB/T 14486-2008塑料模塑件尺寸公差
- 波利亚的数学解题理论及其在初中数与代数应用题教学中的应用
- 薛定谔方程课件
- 广东省推进粤港澳大湾区国际科技创新中心建设重点任务实施方案
评论
0/150
提交评论