DX-AFIS(Anti-Fraud Intelligence Service)风险评分产品是通过对全网欺诈行为的情报收集与分析,基于大数据挖掘并整合风险数据,为客户提供精确的手机号/IP/设备指纹等维度的风险评分,可有效识别业务环节的各类欺诈风险,为客户系统赋能快速提升风险管控能力。
目前该产品包括亿级风险IP评分、数千万级的风险手机号评分,后续将新增设备指纹风险评分。
通过对全网业务安全威胁的情报收集与分析,基于大数据挖掘为客户提供精确的手机号风险评分,可有效识别虚假注册、羊毛党、恶意操作、刷单、爬虫、黄牛、恶意广告消耗等业务安全风险,为客户系统赋能,快速提升风险管控能力。
顶象风险手机号的收集途径包括从顶象服务广泛客户的SaaS风控平台的安全策略识别、黑产链条关键环节情报收集(比如黑卡卡商购买号段、接码平台使用号码等)、公开手机号信息多维度分析、第三方数据综合规则判定等方面进行持续的收集与分析,并采用启发式识别策略、黑白名单交叉验证、多维度关联分析与数据关联分团等机制,产生持续更新的手机号风险评分。
基于对IP地址的多维度探测分析与风险行为关联分析,为客户提供IP风险评分,结合业务场景可实现独立有效的风险防控支持,或是在多维度风险决策系统中提供数据支撑,可有效识别虚假注册、羊毛党、营销作弊、虚假交易、刷单、爬虫、恶意秒杀等业务安全风险。
顶象风险IP的收集途径包括从顶象服务广泛客户的SaaS风控平台的安全策略识别中发现的风险IP、黑产链条关键环节情报收集(代理IP、动态拨号VPS、垃圾邮件IP、僵尸网络IP等)、公开IP信息多维度分析(IP地址类型、地域等)、合作方IP历史行为跟踪等方面进行持续的收集与分析,并采用启发式识别策略、黑白名单交叉验证、多维度关联分析与数据关联分团等机制,产生持续更新的IP地址风险评分。
/**
* 服务地址
**/
public static final String url = "https://sec2.dingxiang-inc.com/afis/event.do";
/**
* 应用AppId,公钥
**/
public static final String appId = "你的AppId";
/**
* 应用AppSecret,私钥
**/
public static final String appSecret = "你的AppSecret";
/**创建一个请求数据实例**/
DXAFRequest dxafRequest = new DXAFRequest();
/**放入请求数据**/
dxafRequest.setTarget("1,2");
dxafRequest.setPhoneNumber("0086173xxxx8480");
dxafRequest.setUserIP("188.88.88.88");
/**创建一个客户端实例**/
DSClient dsClient = new DSClient(url, appId, appSecret);
/**获取结果**/
DXAFResponse dxafResponse = dsClient.queryRisk(dxafRequest);
if (ReturnCodeConstant.SUCCESS.equals(dxafResponse.getReturnCode())) {
Map<String, RiskResult> result = dxafResponse.getResult();
// 根据请求的target取得对应返回结果
RiskResult phoneRiskResult = result.get("phone");
// 得分,大于80分为高风险,建议采取措施;大于60分为中风险,结合具体情况作出处理;小于60分为低风险,10分表示白名单
int phoneRiskScore = phoneRiskResult.getScore();
// 是否命中,1表示命中风险;0表示未命中风险;-1表示数据计算过程发生异常,未能计算出有效结果
int phoneHit = phoneRiskResult.getHit();
// 数据最后一次的更新时间
Date phoneUpdateTime = phoneRiskResult.getUpdateTime();
RiskResult ipRiskResult = result.get("ip");
int ipRiskScore = ipRiskResult.getScore();
int ipHit = ipRiskResult.getHit();
Date ipUpdateTime = ipRiskResult.getUpdateTime();
} else {
// ... 根据不同的错误码进行不同的业务处理
if (ReturnMsgEnum.INVALID_REQUEST_PARAM.getDescription().equals(dxafResponse.getErrMsg())) {
}
// ...
}