项目介绍

  • 本项目为基于神经网络的流量异常检测——Traffic Anomaly Detection based on Neural Network
  • 随着网络规模的不断扩大,危害系统资源的危险也在增加,而入侵检测系统(IDS)有助于检测恶意入侵的机制,本项目使用基于网络的IDS,结合流行的深度神经网络,实现基于深度神经网络的流量异常检测(DNN-IDS)

研究内容

  • 网络入侵检测系统(NIDS)被创建用来有效地防御各种类型的网络攻击,并进一步保护网络系统正常运行。目前主要的研究方向是基于异常的检测方法,通过分析网络流量来学习正常和异常行为,尝试将神经网络模型应用到入侵检测中,来解决高误报率的问题

技术要求

  • 预处理数据集
    • 数据集选择CICIDS2017,这是加拿大网络安全研究所于2017年发布的数据集
    • 使用Pandas对CICIDS2017数据集进行数据预处理,清洗数据集并标准化
  • 使用DNN或LSTM进行建模
    • 利用内嵌于TensorFlow中的Keras建立神经网络模型
  • TensorFlow开源机器学习平台
  • 优化模型,调整超参数

模型设计流程

  • 数据预处理
    • 整合数据
    • 选取特征,转换特征的数据类型(Pandas)
    • 数据集分割、标准化(Scikit-learn)
  • 模型构建
    • 构造输入(to tf.data.Dataset)
    • 网络结构
    • 编译、训练模型
  • 模型优化
    • 合适的激活函数
    • 合适的网络结构
    • 模型的可视化与复用