AiSEC全自动人工智能WAF防火墙

编程入门 行业动态 更新时间:2024-10-21 11:38:51

AiSEC全自动<a href=https://www.elefans.com/category/jswz/34/1768980.html style=人工智能WAF防火墙"/>

AiSEC全自动人工智能WAF防火墙

2019年大环境下机器学习越来越火,不管是为了适应环境,还是仅仅因为兴趣,我们计划在业余时间里启动一个小项目,不占用公司任何资源,生存周期不超过半年,但是名字很霸气,叫AiSEC全自动人工智能WAF防火墙,哈哈哈。

3月8号周五临时组了一个小团队,简单商议了一下,准备实现一个人工智能防火墙,但是仅仅做一个人工智能防火墙,其实可以训练好一个深度学习网络,然后起一个Nginx第三方模块,在请求行和请求体的回调函数上挂上我们的引擎就可以了。

这一切都是不可见的,没有可视化的Ai操作,我们的人工智能体现不出来,所以商议了一下,那就起一个Web服务管理Ai算法的Ai平台,让用户自己选择特征提取算法,自己选择机器学习算法,在线调参,在线学习生成模型,然后应用到代理保护模块。

当然,更进阶的玩法是,指定Nginx的访问日志和告警日志路径,然后起一个定时器,每30天重新训练一次模型,持续迭代机器学习模型,发挥天马行空的想象,这都是后话。

AiSEC需求:

  • 机器学习配置模块:
  1. 支持上传训练样本
  2. 支持数据清洗
  3. 支持选择特征提取
  4. 支持选择机器学习模型
  5. 支持学习结果可视化
  6. 支持模型持久化
  7. 支持模型应用于代理保护模块
  • 反向代理保护模块:
  1. 支持获取报文字段
  2. 支持特征提取
  3. 支持机器学习模型切换

通俗的说:

  • 模块1:机器学习训练日志样本,生成机器学习模型
  • 模块2:自由切换机器学习模型,应用保护模块

一期规划:

基于django开发web服务器,基于Nginx开发代理模块,实现web可配置的机器学习WAF:

  • 文件上传1:上传攻击样本,标记1;
  • 文件上传2:上传正常样本,标记0;
  • 数据清洗:限制长度在10到100之间;
  • 特征提取:支持词集,词袋,1-gram,2-gram,HMM泛化,SVM泛化,深度学习泛化;
  • 机器学习模型:支持7种机器学习算法,3种深度学习算法;
  • 学习结果可视化:支持学习结果可视化,展示图片;
  • 模型持久化:支持模型冷冻和解冻;
  • 模型应用:支持模型嵌入代理保护模块;
  • 代理模块:Nginx+第三方模块;

开发语言:

Python2.7+Scikit-Learn+TFlearn+Django+C+Nginx

算法-特征提取算法:

  • KNN、决策树、随机森林、逻辑回归:词集,词袋
  • NB:1-gram,2-gram
  • SVM:SVM泛化算法
  • HMM:HMM泛化算法
  • DNN、CNN、RNN:ASCII

不重启自由切换机器学习引擎:

  • 回调机制设计中...

示例:KNN(K近邻算法检测异常操作)

  • 文件上传:1万恶意操作,1万条正常操作。
  • 特征化:去重,使用词集模型,将操作进行向量化。
  • 训练模型:实例化K近邻算法,准备好数据x、y,设置好参数。
  • 效果验证:交叉验证,输出准确率。
  • 模型持久化:保存模型到磁盘。
  • 预测新数据:输入新数据,激活模型进行预测。

示例:决策树|随机森林(决策树检测FTP暴力破解)

  • 文件上传:1万条暴力破解数据,1万条正常操作数据。
  • 特征化:使用词袋模型,将操作进行向量化。
  • 训练模型:实例化决策树算法,准备好数据x、y,设置好参数。
  • 效果验证:交叉验证,输出准确率。
  • 模型持久化:保存模型到磁盘。
  • 预测新数据:输入新数据,激活模型进行预测。

示例:朴素贝叶斯(NB检查webshell)

  • 文件上传:1万条webshell数据,1万条正常PHP数据。
  • 特征化:2-gram、1-gram生成词汇表。
  • 训练模型:实例化NB,准备好数据x、y,设置好参数。
  • 效果验证:交叉验证,输出准确率。
  • 模型持久化:保存模型到磁盘。
  • 预测新数据:输入新数据,激活模型进行预测。

示例:逻辑回归(逻辑回归识别JAVA溢出攻击)

  • 文件上传:1万条JAVA溢出数据,一万条正常JAVA数据。
  • 特征化:词集模型,将数据向量化。
  • 训练模型:实例化Logistic回归,准备好数据x、y,设置好参数。
  • 效果验证:交叉验证,输出准确率。
  • 模型持久化:保存模型到磁盘。
  • 预测新数据:输入新数据,激活模型进行预测。

示例:支持向量机(支持向量机识别XSS注入攻击)

  • 文件上传:1万条XSS注入数据,1万条正常PHP数据。
  • 特征化:XSS特征提取算法(SQL特征提取算法、僵尸网络DGA特征提取算法)。
  • 训练模型:实例化SVM算法,准备好数据x、y,设置好参数。
  • 效果验证:交叉验证,输出准确率。
  • 模型持久化:保存模型到磁盘。
  • 预测新数据:输入新数据,激活模型进行预测。

HMM(隐马尔科夫识别XSS)

  • 文件上传:1万条XSS注入数据,1万条正常PHP数据。
  • 特征化:HMM特有泛化算法。
  • 训练模型:实例化HMM算法,准备好数据x、y,设置好参数。
  • 效果验证:设定阈值,输出准确率。
  • 模型持久化:保存模型到磁盘。
  • 预测新数据:输入新数据,激活模型进行预测。

DNN、CNN、RNN(识别SQL注入攻击)

  • 文件上传:1万条SQL注入数据,1万条正常SQL数据。
  • 特征化:报文字段ASCII化。
  • 训练模型:实例化算法,准备好数据x、y,设置好参数。
  • 效果验证:输出准确率。
  • 模型持久化:保存模型到磁盘。
  • 预测新数据:输入新数据,激活模型进行预测。


谢谢阅读~

更多推荐

AiSEC全自动人工智能WAF防火墙

本文发布于:2024-02-06 08:26:35,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1747632.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:人工智能   全自动   防火墙   AiSEC   WAF

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!