恶意Bot流量识别分析实践

1、摘要

随着互联网的发展,自动化工具和脚本(Bots)的使用越来越普遍。虽然一些善意 Bots 对于网站的正常运行和数据采集至关重要,但恶意 Bots 可能会对网站带来负面影响,如爬取敏感信息、恶意注册、刷流量等。因此,检测和分析 Bot 流量变得至关重要。

Bot恶意流量检测手段大致可分为前端检测和后端数据分析,前端包括设备指纹获取、浏览器插件信息获取等,后端主要是制定检测模型,与威胁情报、IP信誉等手段结合。在整个恶意流量识别过程中,前端与后端的两者相辅相成。

在这篇文章中,我们将基于网宿自身站点的访问日志分析,探讨如何使用后端基础检测方案来分析识别恶意Bot流量,包括 IP 情报、 User-Agent、 TLS 指纹、 请求头特征等。

2、情报与检测策略

威胁情报是支撑后端检测模型最重要的数据之一,通过这些信息,安全专家可以更好地预防、检测和应对网络攻击。持续更新和共享威胁情报是防范恶意Bot攻击的关键步骤,能够大幅提升整体防御水平,保障网络的稳定和安全。我们可以通过以下方式来检测恶意Bots请求:

IP情报

IP作为互联网的身份标识,一直是黑灰产竞争最激烈的资源。随着防护手段的升级,黑产技术也在快速发展,秒播代理、4G代理代理、动态住宅代理成为当前主流的黑产IP资源,大量应用于各种Bot场景中,包括恶意刷量、注册、抢票、薅羊毛等,由于其代理的隐匿性较高,特征难以被发现,因此对互联网安全存在较高的威胁。因此如何收集IP情报以及使用IP情报在恶意Bot流量检测中显得尤为重要。

特性秒播IP4G代理动态住宅代理
来源数据中心服务器移动运营商4G网络互联网服务提供商(ISP)
隐匿性较低,易被识别为代理IP高,难以被识别为代理IP高,难以被识别为代理IP
动态变化可以快速切换,但仍较易被识别高频率动态变化,隐匿性强动态变化,隐匿性强
带宽和性能高带宽和高性能,适合大规模数据传输带宽有限,性能受移动网络环境影响较低带宽,受家庭网络环境限制
成本较低较高较高
应用场景数据抓取、网络营销、自动化测试账号注册登录、广告点击、投票、反爬虫绕过反爬虫绕过、广告验证、访问受限内容

对IP特征和行为上分析有助于我们持续定位和收集威胁情报:

地理位置过滤:正常用户的访问通常来自全球各地,而恶意Bot可能集中在特定的国家或地区。例如,短时间内来自同一个IP段的访问,如图1所示。

图1 异常IP段

ISP和数据中心过滤:普通用户通常使用家庭宽带或移动网络,而恶意Bot 流量IP通常来自于云厂商或者数据中心,识别这些ISP信息,可以帮助过滤潜在的恶意流量,如图2所示。

图2 数据中心IP

DDoS攻击源:DDoS攻击场景与恶意Bot场景通用需要使用代理或者僵尸网络,同一批恶意IP通常不会只发起一次攻击,而是会被多次使用,如图3所示。

图3 DDoS攻击源

TLS指纹

TLS指纹是一种极其有效的工具,通过对TLS客户端client hello包中的不同字段进行深入分析,我们可以生成独特的JA4指纹并利用这些指纹来识别特定的恶意Bot流量。此前我们已着重对TLS指纹进行深度分析,在本文中不再赘述,感兴趣的读者可以访问文章:https://www.freebuf.com/articles/web/393136.html

TLS策略详情描述
Chrome 指纹异常User_agent为Chrome,但是实际tls指纹不匹配
Firefox 指纹异常User_agent为Firefox,但是实际tls指纹不匹配
MS Edge 指纹异常User_agent为Edge,但是实际tls指纹不匹配
Safari 指纹异常User_agent为Safari,但是实际tls指纹不匹配
IE 指纹异常User_agent为IE,但是实际tls指纹不匹配
Opera 指纹异常User_agent为Opera,但是实际tls指纹不匹配
不常见的指纹tls指纹异常并且很少见

HTTP请求头检测策略

正常用户的请求通常带有丰富的HTTP头信息,包括用户代理(User-Agent)、浏览器版本、操作系统等信息,而恶意爬虫往往使用伪造或异常的User-Agent字符串,甚至可能缺少其他必需的头信息。

3、策略模型

诚然,在Bots对抗场景中,仅基于特征来识别Bots未免有些太小儿科,也容易被攻击者通过通过伪造特征的方式绕过检测手段,因此,多特征模型检测的重要性不言而喻,它不是单一维度的检测,而是基于多维度数据分析进行综合评估,不仅有助于提高识别效率,也同时能降低误报的风险。

在情报和检测策略的基础上,我们可以制定策略的权重和得分,当一个请求发起的时候,根据命中的策略进行评分,本方案设置三个区间:可疑、中风险、高风险,并根据风险等级进行不同的处置动作,各风险等级的分数如下:

可疑:0-20分
中风险:20-60分
高风险:大于60分

Bot对抗过程中,除了识别准确率之外,误报率是衡量一个模型是否可靠的重要性指标,虽然恶意Bot流量给网站带来很大的影响,但是误报可能给业务带来灾难性的后果,因此Bot检测模型设计的时候,在保证准确率的同时更应尽量避免误报的发生。

使用评分方式来设计模型的好处在于具备一定的容错率,通常情况下一个恶意的Bot请求会有多个异常特征,而正常的请求不可能具备多个异常特征。因此在进行高风险处置的情况下,准确性较高,误报率较低。

图4 检测模型

4、流量分析

数据过滤

通过第三步的检测模型,对线上流量进行统计分析,选取部分模型结果为高风险的IP进行验证,筛选的高风险IP对应的得分如图5所示:

图5高风险IP

数据验证

验证模型输出结果的准确性以及是否误报,借助国内知名威胁情报中心对高风险IP进行查询,结果如图所示,7个IP中2个为恶意,3个可疑,2个未知。

图6 威胁情报查询

为了进一步验证准确性,将2个未知风险IP:111.170.14.*(IDC服务器)、106.15.73.*(阿里云IP) 进一步分析。

通过异常指纹情报库查询发现IP:111.170.14.* 在6月7号-6月9号出现过异常指纹特征,并伪造了Chrome95、69、114,如图7所示。IP 106.15.73.* 则更为活跃,并伪造了多种类型的浏览器进行异常访问,如图8所示。

图7 异常指纹情报

图8 异常指纹情报

通过上述模型过滤,可以得出风险较高的请求,通过结合其他处置动作,例如验证码等操作,可以有效过滤恶意流量,从而保障业务的安全和稳定。

5、结语

在当今数字化时代,恶意Bot流量已成为威胁网络安全和数据隐私的主要挑战之一。通过对IP地址、请求头和TLS指纹的综合分析,我们能够更有效地识别和防范恶意Bot的活动。这些技术手段不仅有助于提升网站和应用的安全性,还能优化用户体验,防止合法用户受到不必要的影响。

在本文中,我们探讨了如何利用这些关键数据点来检测和分析恶意Bot流量。通过详细的案例研究和实验,我们展示了多层次防御机制的重要性,以及不同方法的协同作用。虽然恶意Bot的技术手段不断进化,但通过持续的研究和技术创新,我们有能力保持在这场网络安全攻防战中的主动地位。

未来的研究方向可能包括更多的机器学习算法应用、更精细的指纹识别技术,以及跨平台的协同防御机制。我们相信,随着技术的不断进步和安全社区的共同努力,互联网将变得更加安全和可靠。

总的来说,恶意Bot流量的分析和防护是一项复杂但至关重要的任务。通过不断更新和优化我们的检测和防御策略,我们能够更好地保护网络环境,确保互联网的健康发展。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/432742.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

11. Map和Set

一、二叉搜索树 1. 概念 二叉搜索树又称二叉排序树,它或者是一棵空树,或者是具有以下性质的二叉树: 若它的左子树不为空,则左子树上所有节点的值都小于根节点的值若它的右子树不为空,则右子树上所有节点的值都大于根…

基于JAVA+SpringBoot+Vue的健身房管理系统1

基于JAVASpringBootVue的健身房管理系统1 前言 ✌全网粉丝20W,csdn特邀作者、博客专家、CSDN[新星计划]导师、java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ 🍅文末附源码下载链接🍅 哈喽…

阿里云kafka消息写入topic失败

1. 问题现象描述 20240918,14:22,测试反馈说kafka有问题,生产者写入消息的时候报错,并发了一张日志截图,主要报错如下: to topic xxxx: org.apache.kafka.common.errors.TimeoutException: Expiring 1 record(s) for x…

Flutter为Android添加签名并打包

前言 我们需要将App进行数字签名才能发布到商店里。在这里就具体描述一下如果给App添加签名 为App签名 创建一个用户上传的秘钥库 如果你已经有一个秘钥库了,可以直接跳到下一步,如果没有则按照下面的指令创建一个 keytool 可能不在我们的系统路径中…

客户端数页面异步填充器-———未来之窗行业应用跨平台架构

一、创生 在前端代码的神秘世界里,jq赋值渲染方法曾被视为法宝。然而,随着数据量增大和应用复杂,它的缺点逐渐显现。 在大数据量的激战中,逐个用 val() 赋值会导致性能骤降,频繁操作 DOM 时,页面重绘和重排…

论文复现我能行:Dynamic Movement Primitives: Volumetric Obstacle Avoidance

一、论文介绍 论文题目:《Dynamic Movement Primitives: Volumetric Obstacle Avoidance Using Dynamic Potential Functions》,Journal of Intelligent & Robotic Systems 该论文在2019年ICRA《Dynamic Movement Primitives: Volumetric Obstacle…

即插即用篇 | DenseNet卷土重来! YOLOv8 引入全新密集连接卷积网络 | ECCV 2024

本改进已同步到YOLO-Magic框架! 本文重新审视了密集连接卷积网络(DenseNets),并揭示了其在主流的ResNet风格架构中被低估的有效性。我们认为,由于未触及的训练方法和传统设计元素没有完全展现其能力,DenseNets的潜力被忽视了。我们的初步研究表明,通过连接实现的密集连接…

R语言中的shiny框架

R语言中的shiny框架 Shiny 的基本概念基本用法示例常见用法示例1. 输入控件2. 输出控件3. 动态 UI4. 数据传递和反应式编程 高级功能1. 使用 shinyjs2. 使用 shinythemes Shiny 是一个 R 语言的框架,用于构建交互式的网页应用,可以让用户以最少的 HTML、…

彻底理解前端模块化

目录 引入历史问题 CommonJSexports导出module.exports导出require导入加载过程缺点 AMD规范(基本不用)require.js使⽤ CMD规范(基本不用)SeaJS的使⽤ ES Module简单使用export关键字import关键字export和import结合default⽤法im…

MySQL多版本并发控制MVCC实现原理

MVCC MVCC 是多版本并发控制方法,用来解决读和写之间的冲突,比如脏读、不可重复读问题,MVCC主要针对读操作做限制,保证每次读取到的数据都是本次读取之前的已经提交事务所修改的。 概述 当一个事务要对数据库中的数据进行selec…

论文不会写怎么办?推荐这5款AI论文工具帮你一键搞定!

在当今的学术研究和写作领域,AI论文工具已经成为不可或缺的助手。这些工具不仅能够提高写作效率,还能帮助研究者生成高质量的论文。本文将推荐五款优秀的AI论文工具,并特别推荐千笔-AIPassPaper,以帮助读者更好地完成学术写作任务…

[笔记]某视觉三维定位系统参数表

表中的参数是彼此关联的,其实是就是视频解算的速度。里面的1秒直接对应1FPS300m秒直接对应3FPS0-20m的识别范围,与摄像头分辨率、视在焦距与摄像头基线有明确的对应关系。它的矩阵非正方。怀疑一组用于远距,一组用于近距,属于固定…

ZYNQ:开发环境搭建

资料下载 http://47.111.11.73/docs/boards/fpga/zdyz_qimxing(V2).html Vivado软件是什么? Vivado软件是Xilinx(赛灵思)公司推出的一款集成设计环境(IDE),主要用于FPGA(现场可编程门阵列&am…

Django5 使用pyinstaller打包成 exe服务

首先:确保当前的django项目可以完美运行,再进行后续操作 python manage.py runserver第一步 安装 pyinstaller pip install pyinstaller第二步 创建spec 文件 pyinstaller --name manage --onefile manage.pypyinstaller:这是调用 PyInsta…

Electron-vue asar 局部打包优化处理方案——绕开每次npm run build 超级慢的打包问题

背景 因为组员对于 Electron 打包过程存在比较迷糊的状态,且自己也没主动探索 Electron-vue 打包细节,导致每次打包过程都消耗 5-6 分钟的时间,在需要测试生产打包时,极其浪费时间,为此针对 Electron-vue 打包的几个环…

Cilium + ebpf 系列文章-什么是ebpf?(一)

前言: 这篇非常非常干,很有可能读不懂。 这里非常非常推荐,建议使用Cilium官网的lab来辅助学习!!!Resources Library - IsovalentExplore Isovalents Resource Library, your one-stop destination for ins…

刷题计划 day10 栈与队列上【用栈实现队列】【用队列实现栈】【有效的括号】【删除字符串中的所有相邻重复项】

⚡刷题计划day10栈与队列继续,可以点个免费的赞哦~ 往期可看专栏,关注不迷路, 您的支持是我的最大动力🌹~ 目录 ⚡刷题计划day10继续,可以点个免费的赞哦~ 往期可看专栏,关注不迷路, 您的…

【中级通信工程师】终端与业务(三):电信业务

【零基础3天通关中级通信工程师】 终端与业务(三):电信业务 本文是中级通信工程师考试《终端与业务》科目第三章《电信业务》的复习资料和真题汇总。终端与业务是通信考试里最简单的科目,有效复习通过率可达90%以上,本文结合了高频考点和近几…

数字化转型:开启未来发展新引擎

在当今飞速发展的时代,数字化转型已成为企业、组织乃至整个社会发展的关键趋势。 信息技术的迅猛发展,如互联网、大数据、人工智能等,为数字化转型提供了强大支撑。市场竞争的加剧,也促使企业不断寻求提升竞争力的方法&#xff0c…

【CSS/HTML】圣杯布局和双飞翼布局实现两侧宽度固定,中间宽度自适应及其他扩展实现

前沿简介 圣杯布局和双飞翼布局是前端重要的布局方式。两者的功能相同,都是为了实现一个两侧宽度固定,中间宽度自适应的三栏布局。 圣杯布局来源于文章In Search of the Holy Grail,双飞翼布局来源于淘宝UED。 两者的实现方式有差异,但是都…