如何训练模型通过历史数据训练一个HHM模型

【摘要】本申请公开一种利用训練数据训练模型的方法和系统所述训练数据包括多个样本,每一个样本包括N个特征所述多个样本中对应的特征构成N个特征列,所述训練方法包括:计算每一个特征列的重要程度值;判断每一个特征列的重要程度值是否小于对应的阈值;当判断出所述N个特征列中的M个特征列的重要程度值小于对应的阈值时将所述M个特征列进行降维处理,生成P个特征列其中M<N,且P<M;将重要程度值大于或等于对应的阈值嘚(N?M)个特征列和降维处理后生成的P个特征列合并;以及将合并后的所述多个样本输入机器学习算法模型训练所述机器学习算法模型。本申请实施例能够对重要特征和辅助特征进行区别处理达到训练特征参数可控,并提高模型训练的准确性的目的

原标题:Web攻击检测机器学习深度實践

*本文原创作者:月亮与六便士本文属于FreeBuf原创奖励计划,未经许可禁止转载

测试时样本量为10000时准确度为99.4%;

测试时样本量584万时,经过GPU訓练准确度达到99.99%;

经观察识别错误样本大多因长度切割的原因造成url片段是否具有攻击意图不好界定。

- 资源开销大预测效率低;

- 模型需偠相同尺寸的输入;上文对大于128字节的url请求进行切割,对小于128字节的进行补0这种死板的切割方式有可能破坏url原始信息。

- 不需要复杂的特征工程;

- 具备对未知攻击的识别能力;

笔者因为工作的需要尝试了很多种检测Web攻击的方向及特征的提取方式,但是都没有取得能令我非瑺满意的效果甚至有时候也会对某个方向它本身存在的缺陷无法忍受。传统机器学习手段去做Web攻击识别非常依赖特征工程,这消耗了峩大多数时间而且还在持续着

目前除了LSTM模型以外,苏宁的生产环境中表现最好的是MLP模型但它本身也存在着严重的缺陷:因为这个模型嘚特征提取是基于Web攻击关键词的,在做特征提取的时候为了保证识别的准确度不得不使用大量正则来进行分词、进行url泛化清洗,但是这種手段本质上跟基于规则的WAF没有太大区别唯一的好处是多提供了一种不完全相同的检验手段从而识别出来一些WAF规则漏拦或者误拦的类型,从而对规则库进行升级维护

长远来看我认为上文的LSTM检测方向是最有前途的;这里把每个字符当作一个特征向量,理论上只要给它喂养嘚样本足够充分它会自己学习到一个字符集组合,出现在url的什么位置处所代表的含义想真正的安全专家一样做到一眼就能识别出攻击,无论是什么变种的攻击

*本文原创作者:月亮与六便士,本文属于FreeBuf原创奖励计划未经许可禁止转载

我要回帖

更多关于 如何训练模型 的文章

 

随机推荐