首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >广告反作弊实战:如何精准区分代理、VPN 与机房流量?

广告反作弊实战:如何精准区分代理、VPN 与机房流量?

原创
作者头像
用户12585837
发布2026-07-31 10:56:47
发布2026-07-31 10:56:47
1620
举报

在广告投放与风控实践中,我们经常会遇到一个棘手的问题:AF(反作弊)系统已经判定某部分流量存在异常,但它到底是通过代理(Proxy)伪装的,还是 VPN 切换的,抑或是直接来自云机房的数据中心流量?这三者的风险等级和处理策略截然不同,混为一谈要么误杀正常用户,要么放走黑产。

本文将从工程实践角度,梳理一套可落地的区分方法论,核心围绕 IP 网络属性、行为指纹特征、地理时间逻辑三个层次展开。

一、第一层:IP 归属与 ASN 分析(定性基础)

这是最直接、成本最低的区分手段。核心思路是查询 IP 的归属信息,判断其网络类型。

关键字段解析:

  • net_type(网络类型):若值为 数据中心(Data Center)机房,则基本可判定为机房流量。这类 IP 通常归属于云服务提供商的 ASN(自治系统号),如 AWS、阿里云、腾讯云等,常被用于部署自动化脚本或进行批量点击。
  • is_proxy / is_vpn / is_tor 等标识:若这些布尔字段为 true,则表明该 IP 当前或近期被用于代理/VPN 服务。这类标识需要依赖实时更新的威胁情报库,因为代理 IP 池的变化频率极高,静态库几乎无效。

技术选型提醒: 实现这一层能力,可以选择自建 IP 库(如维护 MaxMind GeoIP 的免费版),也可以接入第三方商业数据源(如 Digital Element、IP数据云等)。需要注意,免费库的代理/VPN 标识更新滞后严重,生产环境建议评估数据新鲜度指标。

伪代码示例:

代码语言:javascript
复制
def classify_ip(ip):
    info = ip_database.query(ip)
    if info.net_type == "Data Center":
        return "机房流量"
    if info.is_proxy or info.is_vpn:
        return "代理/VPN 流量"
    return "普通住宅/企业流量"

二、第二层:行为指纹检测(对抗伪装)

仅靠第一层远远不够,因为黑产现在大量使用“住宅代理”——IP 本身是真实家庭宽带,net_type 显示为“住宅”,但实际被用作代理节点。此时需要引入行为指纹检测。

常用检测维度:

  1. 端口与服务特征 主动或被动探测该 IP 的常见代理端口(如 8080、3128、1080 等)是否开放,以及是否有 SOCKS5、HTTP Proxy 等协议响应。Nmap 等工具可以完成基础探测,但在生产环境要注意扫描频率合规问题。
  2. IP 存活时间(IP Survival Time) 这是区分“动态拨号代理”和“静态住宅 IP”的有效指标。通过历史数据追踪该 IP 首次出现到当前的时间差。若 存活时间 < 3天 且请求频次异常高(例如每秒数十次请求),则极大概率是秒拨 IP动态代理,常用于短时刷量。
  3. 请求头与协议一致性 检查 TLS 指纹(如 JA3 指纹)、HTTP User-Agent 与 IP 归属地之间是否存在矛盾。例如,一个来自“美国住宅 IP”的请求,其 TLS 指纹却表现出特定编程语言库的特征(如 Python-Requests/urllib3),则高度可疑。

三、第三层:地理与时间逻辑校验(辅助验证)

这一层不直接判断 IP 类型,但能有效辅助确认是否为“地域伪装”行为,从而反推代理/VPN 的使用。

  • 不可能的地理跳跃检测:若同一设备 ID 或用户 Token 在 5 分钟内,IP 归属地从“中国北京”跳变为“美国纽约”,且两者网络类型均为“住宅”,则几乎可以确定该用户通过 VPN 或代理切换了出口节点。
  • 时区与活跃时间矛盾:分析用户请求时间是否与其 IP 时区对应的本地作息时间严重不符。例如,一个 IP 归属地为“巴西”的用户,持续在巴西时间凌晨 3 点产生大量点击行为,这不符合自然人作息,极有可能是机房自动化任务。

四、综合风险评分模型

在实际工程落地中,我们通常不会基于单一维度做二元判断,而是构建一个综合风险评分(Risk Score) 模型,对不同维度赋予权重,最终得到一个风险分数。

一个简化的评分表参考:

检测维度

低风险(0~30分)

中风险(31~70分)

高风险(71~100分)

网络类型

住宅/企业IP

移动蜂窝网络

数据中心/机房IP

代理/VPN标识

无任何代理标记

历史曾有代理记录

当前活跃的代理/VPN

IP存活时间

>180天

30~180天

<3天

地理跳跃

无跳跃或常驻

同国家内跳跃

跨国跳跃且时差>6h

分级处置策略:

  • 高风险(>80分):直接拦截或拒绝参与竞价,不计费不展示。
  • 中风险(60~80分):触发二次验证(如滑块验证码、短信验证),或对广告请求降价出价以控制成本。
  • 低风险(<60分):正常放行,进入后续业务逻辑。

五、工程落地注意事项

  1. 数据新鲜度至关重要:代理/VPN 的 IP 池更新以小时为单位,建议对 IP 情报数据设置 TTL(如 24 小时强制刷新),并监控数据源的更新频率 SLA。
  2. 避免过度拦截:部分企业出口(如公司总部统一出口)本身就是机房 IP,但流量是真实的员工访问。建议结合业务白名单机制,对已知企业 ASN 进行豁免。
  3. 性能考量:IP 查询和指纹检测不应成为请求链路的瓶颈。建议将 IP 属性预加载到 Redis 缓存中,并采用异步批量查询的方式,将检测耗时控制在 5ms 以内。

结语

区分代理、VPN 与机房流量,本质上是一场与黑产之间的“特征博弈”。没有一招制敌的解决方案,只有不断叠加特征维度、动态调整权重,才能在不误伤正常用户的前提下,有效降低无效流量带来的损失。

上述方法论已在多个日均请求量过亿的广告系统中得到验证,希望能为你的反作弊体系建设提供一些参考。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

目录
  • 一、第一层:IP 归属与 ASN 分析(定性基础)
  • 二、第二层:行为指纹检测(对抗伪装)
  • 三、第三层:地理与时间逻辑校验(辅助验证)
  • 四、综合风险评分模型
  • 五、工程落地注意事项
  • 结语
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档