业务安全
产品定位
易盾业务安全针对互联网业务中的黑产攻击,提供从设备层、账号层到交易层的全链路风险防控,保护企业业务不被黑产薅羊毛、刷单、欺诈。
黑产攻击图谱
黑产攻击类型
├── 账号安全
│ ├── 撞库攻击(用泄露的账号密码批量登录)
│ ├── 暴力破解(穷举密码)
│ ├── 批量注册(机器人注册垃圾账号)
│ └── 账号盗用(钓鱼、木马)
├── 营销作弊
│ ├── 薅羊毛(批量领取优惠券)
│ ├── 刷单(虚假交易刷销量)
│ ├── 刷票(抢票、抢购)
│ └── 刷评(虚假好评)
├── 交易欺诈
│ ├── 信用卡欺诈
│ ├── 退款欺诈(虚假退货)
│ └── 洗钱(利用平台转移资金)
└── 爬虫攻击
├── 数据爬取(竞品情报)
└── 接口滥用(高频调用)智能验证码
产品介绍
智能验证码是易盾业务安全的明星产品,通过行为分析 + 设备指纹实现「人机识别」,在保障安全的同时提升用户体验。
验证码类型详解
1. 无感验证(Invisible CAPTCHA)
原理:
用户进入页面时,后台静默采集 200+ 维行为特征
AI 模型实时评分(< 50ms)
正常用户直接通过,无任何感知
适用:低风险操作(浏览、搜索)2. 滑动拼图验证码
原理:
展示一张带缺口的图片
用户拖动滑块填补缺口
分析滑动轨迹(速度、加速度、抖动)
正常人的轨迹有自然的加速-减速曲线
机器人轨迹过于平滑或有明显规律
对抗:
黑产会用 AI 模拟人类轨迹
易盾对抗:动态背景、缺口位置随机、轨迹特征持续更新3. 文字/图标点选验证码
原理:
展示一张图片,要求用户按顺序点击指定文字或图标
需要图像理解能力,机器难以自动化
点击位置、顺序、时间间隔均作为特征
安全级别最高,适用于:支付、修改密码、高风险操作接入示例
Web 接入:
html
<!-- 引入 SDK -->
<script src="https://cstaticdun.126.net/load.min.js"></script>
<script>
initNECaptcha({
captchaId: 'your_captcha_id',
element: '#captcha-container',
mode: 'float', // float: 浮动式 bind: 绑定式
onVerify: function(err, data) {
if (!err) {
// data.validate 是验证凭证,提交到服务端验证
submitForm(data.validate)
}
}
})
</script>服务端验证(Node.js):
javascript
const crypto = require('crypto')
const axios = require('axios')
async function verifyToken(validate, user) {
const params = {
secretId: process.env.YIDUN_SECRET_ID,
secretKey: process.env.YIDUN_SECRET_KEY,
token: validate,
captchaId: process.env.YIDUN_CAPTCHA_ID,
user: user,
timestamp: Date.now(),
nonce: Math.random().toString(36).slice(2)
}
// 生成签名
const sortedParams = Object.keys(params).sort()
.map(k => `${k}=${params[k]}`).join('&')
params.signature = crypto.createHash('md5')
.update(sortedParams + params.secretKey).digest('hex')
const resp = await axios.post(
'https://c.dun.163.com/api/v3/verify',
params
)
return resp.data.result === true
}设备指纹
能力说明
设备指纹为每台设备生成唯一标识,即使用户:
- 清除 Cookie / 本地存储
- 重装 App
- 更换账号
设备指纹仍可识别同一设备,是业务风控的基础能力。
采集维度
Web 端(浏览器指纹):
javascript
// 易盾 Web 设备指纹 SDK 自动采集以下维度
const fingerprint = {
// 浏览器特征
userAgent: navigator.userAgent,
language: navigator.language,
timezone: Intl.DateTimeFormat().resolvedOptions().timeZone,
// 硬件特征
screenResolution: `${screen.width}x${screen.height}`,
colorDepth: screen.colorDepth,
hardwareConcurrency: navigator.hardwareConcurrency,
// 渲染特征(Canvas 指纹)
canvasHash: getCanvasHash(), // 不同硬件渲染结果不同
webglHash: getWebGLHash(),
// 字体列表
fonts: detectFonts(),
// 插件列表
plugins: getPlugins()
}App 端(移动设备指纹):
Android 采集维度
├── IMEI(需权限,Android 10+ 受限)
├── Android ID(重置后变化)
├── 设备序列号
├── MAC 地址(Android 10+ 受限)
├── 硬件特征(CPU、内存、屏幕)
└── 传感器特征(加速度计、陀螺仪校准值)
iOS 采集维度
├── IDFV(同开发者账号下稳定)
├── 设备型号、系统版本
├── 屏幕尺寸、分辨率
└── 传感器特征账号风控
注册风控
注册请求
↓
设备指纹检测
├── 是否为已知黑产设备?
├── 同一设备注册频率是否异常?
└── 是否为模拟器/云手机?
↓
行为特征分析
├── 填写速度是否异常(机器人过快)
├── 表单交互是否自然
└── 验证码是否通过
↓
IP 信誉检测
├── 是否为代理/VPN IP?
├── 同一 IP 注册频率?
└── IP 地理位置是否异常?
↓
风险评分 → 处置(放行/验证/拦截)登录风控
登录异常检测
├── 异地登录(IP 地理位置突变)
├── 异常时间登录(凌晨 3 点)
├── 设备变更(新设备首次登录)
├── 高频登录失败(暴力破解)
└── 撞库特征(大量账号同时登录)
处置策略
├── 低风险:正常登录
├── 中风险:二次验证(短信/邮件)
└── 高风险:封禁 + 告警营销反作弊
优惠券防薅
薅羊毛攻击链路
黑产购买手机号 → 批量注册账号 → 领取优惠券 → 转卖/套现
易盾防御策略
├── 手机号风险检测(是否为虚拟号/黑产号)
├── 设备指纹(同一设备多账号)
├── 行为序列分析(领券行为是否自然)
├── 关联图谱(账号间关联关系)
└── 实时规则(领券频率限制)刷单防控
刷单特征
├── 买家:同一设备/IP 多账号下单
├── 卖家:自买自卖,交易金额异常
└── 物流:虚假物流信息
检测方案
├── 交易图谱分析(买卖双方关联关系)
├── 设备指纹关联(同设备多账号)
├── 行为序列(下单-支付-收货时间异常短)
└── 物流信息核验