技术新讯 > 电子通信装置的制造及其应用技术 > 一种基于特征学习的BOT流量检测方法与流程  >  正文

一种基于特征学习的BOT流量检测方法与流程

  • 国知局
  • 2024-08-02 12:43:54

本发明属于网络安全,具体涉及一种基于特征学习的bot流量检测方法。

背景技术:

1、bot是机器人(robot)的简称,所谓bot流量,即指在网络上,针对web网站、api接口、终端app等服务实体,通过非人工操作的方式,如工具脚本、外挂爬虫或模拟器等,发起的自动化程序访问流量。对于符合此类特征的访问流量,就可以称为bot流量。据第三方统计,近几年全球网络环境中,bot流量的请求占比已过半,超过人工的访问流量。

2、从用途目的上来看,bot流量既包含善意的,也包含恶意的。善意流量主要包括搜索引擎(蜘蛛、seo)、商业数据抓取爬虫、性能监控机器人等产生的流量,恶意流量则通过利用idc机房ip、代理或秒拨ip、手机群控、打码或接码平台等手段,执行爬取敏感数据、刷业务接口、薅活动羊毛、外挂作弊和漏洞检测利用等恶意攻击行为,造成信息泄露、资源消耗或资金损失等风险和影响。因此,良好的bot流量检测能力对于保护企业免受网络欺诈和安全威胁至关重要。

3、随着安全人员与黑灰产的攻防演进,bot检测相比以往更加困难。现有的bot检测包括用户交互行为模式分析、网页蜜罐技术等。

4、然而现有技术存在以下缺陷:

5、蜜罐陷阱更多是针对爬虫型bot生效,而无法影响那些有特定目标和执行规则的专用bot机器人;用户交互行为模式分析需监视用户的行为,存在侵犯用户隐私的问题。

技术实现思路

1、为解决上述背景技术中提出的问题,本发明提供一种基于特征学习的bot流量检测方法,以解决现有技术中,蜜罐陷阱更多是针对爬虫型bot生效,而无法影响那些有特定目标和执行规则的专用bot机器人;用户交互行为模式分析需监视用户的行为,存在侵犯用户隐私的问题。

2、为实现上述目的,本发明提供如下技术方案:

3、一种基于特征学习的bot流量检测方法,包括以下步骤:

4、s1:采集原始的网络流量,进行解析还原,分离出http协议流量,形成原始http流量日志;

5、s2:对原始http流量日志进行数据预处理,得到处理后数据;

6、s3:对处理后数据进行特征选择,得到多个特征;

7、s4:将处理后数据作为训练数据集,使用所有特征在训练数据集上训练随机森林模型,获得最佳超参数,使用最佳超参数训练随机森林模型,输出分类样本,将分类样本划分为训练集和测试集,设置参数后对xgboost模型进行训练,得到最佳效果模型;

8、s5:为最佳效果模型开发调用接口,并将最佳效果模型集成到实时数据安全或网络安全监测产品中,对实时流量进行分析分类,并在检测到潜在bot流量时触发警报或采取相应的安全措施。

9、优选的,s1具体为:使用流量采集探针,通过旁路流量接入的方式,采集原始的网络流量,并基于网络协议采集引擎,对多协议的网络流量进行解析还原,分离出http协议流量,形成原始http流量日志。

10、优选的,s2中,预处理操作包括去噪清洗、处理缺失值、去除异常值、标准化数据格式、富化数据特征。

11、优选的,s3中的特征包括:访问时间、ip地址、url链接、状态码、用户代理字符串、请求url链接的来源页面、cookie数据、token数据、请求负载数据、用户标识、时间戳和随机数。

12、优选的,s4中随机森林模型的具体训练步骤为:

13、s4.1:将处理后数据作为训练数据集,使用所有特征在训练数据集上训练随机森林模型;

14、s4.2:随机森林模型训练完成后,获得所有特征的重要性排名;

15、s4.3:重要性排名的顺序为从高到底排列,选取排名在指定阈值前的特征,重新训练随机森林模型,得到待调整的随机森林模型;

16、s4.4:将训练数据集按照时间段划分为k个相等的子集,k是交叉验证的折数,然后定义待调整的随机森林模型的初始化超参数组合,一个超参数组合包括树的数量、树的深度和节点最小拆分样本数;

17、对于每个超参数组合,循环对k个子集分别进行训练:将子集划分为训练数据集和验证数据集;然后在训练数据集上训练随机森林模型;最后在验证数据集上评估随机森林模型的性能,计算性能指标;

18、对于每个超参数组合,计算在所有子集上的性能指标的平均值,选择其中性能指标平均值最高的一组超参数组合,作为初始化随机森林模型的最佳超参数,使用最佳超参数训练随机森林模型,输出分类样本。

19、优选的,s4中xgboost模型的训练方法具体为:

20、对xgboost模型引入目标函数,同时引入正则化项,xgboost模型的目标函数为:

21、;

22、其中,n是分类样本的样本数量,i是分类样本的样本索引,l是损失函数,yi是真实标签,是预测的标签,k是xgboost模型中树的数量,xi是第i个样本,gi和hi分别是损失函数的一阶、二阶导数,ft是xgboost模型的第t棵树,θ(ft)为xgboost模型中第t棵树的结构;

23、令τ为xgboost模型中新建树的叶子节点的总数,ω为每个叶子节点的样本权重,γ和λ为权重参数,j为每个叶子节点的索引,索引为j的叶子节点上包含的样本集合为ij,令:

24、;

25、θ(f)表示新建树的复杂度,则有结构分数obj:

26、;

27、在xgboost模型中构建每棵树的过程中,通过计算所有特征在分枝前和分枝后结构分数之差objsplit,从中挑选出objsplit最大的特征进行分枝。

28、优选的,一种基于特征学习的bot流量检测方法还包括sa,sa:定期更新训练数据并重新训练最佳效果模型,sa设置在s4之后。

29、与现有技术相比,本发明的有益效果是:

30、本申请利用监督学习算法,在包含人工访问和bot访问产生的http协议流量的流量日志数据集上进行训练。通过提取流量日志中的关键数据特征,采用随机森林、梯度提升机学习算法,处理数据中的复杂非线性关系,训练分类模型,自动区分人工流量和潜在的bot生成的流量,可实现网络中bot流量的实时检测,本申请能够更精确地识别发现网络中bot流量,降低误报率,并对高级攻击bot有较好的识别效果,并且本申请无需客户端侵入,可避免造成侵犯用户隐私的问题。

技术特征:

1.一种基于特征学习的bot流量检测方法,其特征在于,包括以下步骤:

2.根据权利要求1所述的一种基于特征学习的bot流量检测方法,其特征在于,s1具体为:使用流量采集探针,通过旁路流量接入的方式,采集原始的网络流量,并基于网络协议采集引擎,对多协议的网络流量进行解析还原,分离出http协议流量,形成原始http流量日志。

3.根据权利要求1所述的一种基于特征学习的bot流量检测方法,其特征在于,s2中,预处理操作包括去噪清洗、处理缺失值、去除异常值、标准化数据格式、富化数据特征。

4.根据权利要求1所述的一种基于特征学习的bot流量检测方法,其特征在于,s3中的特征包括:访问时间、ip地址、url链接、状态码、用户代理字符串、请求url链接的来源页面、cookie数据、token数据、请求负载数据、用户标识、时间戳和随机数。

5.根据权利要求1所述的一种基于特征学习的bot流量检测方法,其特征在于,s4中随机森林模型的具体训练步骤为:

6.根据权利要求5所述的一种基于特征学习的bot流量检测方法,其特征在于,s4中xgboost模型的训练方法具体为:

7.根据权利要求1所述的一种基于特征学习的bot流量检测方法,其特征在于,一种基于特征学习的bot流量检测方法还包括sa,sa:定期更新训练数据并重新训练最佳效果模型,sa设置在s4之后。

技术总结本发明公开了一种基于特征学习的BOT流量检测方法,属于网络安全技术领域,包括以下步骤:采集原始的网络流量,形成原始HTTP流量日志;对原始HTTP流量日志进行预处理;进行特征选择,得到多个特征;将处理后数据作为训练数据集,使用所有特征在训练数据集上训练随机森林模型,获得最佳超参数,使用最佳超参数训练随机森林模型,输出分类样本,将分类样本划分为训练集和测试集,设置参数后对XGBOOST模型进行训练,得到最佳效果模型;最佳效果模型部署,进行BOT流量实时监控,本申请能够更精确地识别发现网络中BOT流量,降低误报率,并对高级攻击BOT有较好的识别效果,并且本申请无需客户端侵入,可避免造成侵犯用户隐私的问题。技术研发人员:章明珠,楚文良受保护的技术使用者:成都思维世纪科技有限责任公司技术研发日:技术公布日:2024/8/1

本文地址:https://www.jishuxx.com/zhuanli/20240802/237572.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。