akamai 指纹 和 akamai BMP 移动端sensor 风控分析

注:如有侵权,请联系作者进行删除

akamai web 指纹注册分析

  • 1.初始化 aj_type,aj_index = 0,0
  • 2.进行指纹注册
  • 3.注册后达到随机指纹的目的

codes

func TestWebApi_Abck(t *testing.T) {
    var webApi = NewProxyWebApi(MarketCN, &px[0])
    webApi.ViewSensor(AkamaiPcHashId)
    var cf, _ = tools.LoopAkaConf(conser.ProdAkamaiQueueKey, bot.Rds)
    logger.Info(cf.FpRSign)

    var aka = web.NewWebAkaMai()
    aka.Config.Url = URLWebHost
    aka.GenCanvasFp()
    webApi.TryCrackSensor(aka, 3)
    logger.Info(webApi.IsCrackAkamai(), "_abck:", aka.Config.FpRSign)
}

output

2020-01-29 10:09:51.111 [INFO] [web_api_test.go:187] 
2020-01-29 10:09:52.474 [INFO] [web_api_test.go:193] true _abck: -14401568??

akamai bmp 移动端 在干些什么事情

  • 1.收集sensor数据,其中包含陀螺仪,方向传感器之类的,最后通过一系列浮点算法算出数据。(也包括touch,move之类的数据)
  • 2.收集设备信息,cpu性能数据之类的,然后生产一些校验位数据
  • 3.生产aeskey和rsakey,放入到pack数据中进行加密后,通过key来加密sensor数据后暂放缓冲区
  • 4.收集后通过x-acf-sensor-data header 头上传sensor数据,上传后清空,打开sensor收集继续收集,每200多次收集后关闭
那些情况会被android akamai BAN
  • 1.校验位不对
  • 2.时间差不对
  • 3.数据不对

codes deviceInfo

    const len = Tool.charPlus(str); //对的
    deviceInfo += ',';
    deviceInfo += len; //j.l(r0)  OK
    deviceInfo += ',';
    deviceInfo += lodash.random(1280303722, 1295607044); //确实是随机数
    deviceInfo += ',';
    deviceInfo += Math.ceil(timeNow / 2); //时间错/2
    str += deviceInfo;
    //第一个值是定位传感器,(do_en,do_unr,do_dis) 开启,不可靠,关闭
    //第二个是传感器是否开启(do_en,do_dis) 这里面表示是否有xx之类的传感器
    str += '-1,2,-94,-101,'; //TAG

codes sensor

//有数据 一般是一个空置 OK
    str += '-1,2,-94,-117,'; //TAG
    str += motions.str; //

    //r3 方向传感器 AccObs
    let sensorR3 = accR3;
    //sensorR3 = AkamaiMock.DefaultAcc;//使用默认的ACC

    //r0 陀螺仪 TYPE_GYROSCOPE
    let sensorR0 = gyR0;

    //r4.f396a =A r4.f396a,里面包含了许多传感器的数据,模拟器里面是没有这个传感器的数据的
    str += '-1,2,-94,-111,'; //TAG
    str += sensorR3.a.a;

    //TODO 主要重要的数据 A
    //r7.f396a=a
    str += '-1,2,-94,-109,'; //tag
    str += sensorR0.a.a; //
    str += '-1,2,-94,-144,'; //tag
    str += sensorR3.a.c;
    str += '-1,2,-94,-142,'; //tag
    str += sensorR3.a.b;
    str += '-1,2,-94,-145,';
    str += sensorR0.a.c;
    str += '-1,2,-94,-143,'; //tag
    str += sensorR0.a.b;

codes 产生校验位数据

    let total_b = o.d + motions.b + sensorR3.b + sensorR0.b;
    let total_c = sensorR0.c + sensorR3.c + motions.j + o.ch;

QA:为什么firefox 的finger def 插件无效会被ban

  • 1.可能是因为一些常规设备参数问题
  • 2.事件收集不够,达不到通过
  • 3.设备信息会跟finger canvas一起注册,可能会产生关联
  • 4.开始是以为canvas base64->integer 算法是可被逆向的,仔细看过后是不可逆向,说明指纹是注册而已非验证图片校验信息
  • 5.猜测:nike风控大概akamai只是一个gateway的作用,ban普通的bot request

QA:如何做自己的风控系统

自己的电商抢购或者秒杀之类的可以做自己的风控系统,其实市面上的风控系统大部分都只是简单的处理采集过来的数据是否逻辑真实有效,据我所知没有通过大数据模型校验优化

  • 1.收集可靠的事件数据(虽然可被mock)
  • 2.基础校验1:校验时间差,校验数据是否human 来进行一个等级划分(类似人脸评分)
  • 3.利用真实数据来训练模型,通过模型来校验数据真实性
  • 4.无论如何加密,反之有解密手段。
  • 5.同时加入2套风控model,也就是2套风控手段(当然2套都是接入自己的)2套接入后,可同步上传数据,上传数据后可校验2次数据结果,对ip 之类的账号信息进行评分
  • 6.每次账号风控gateway评分后记录到系统,记录每次账号风控违规次数,构建自己的账号信用系统。
下面我将用一系列的方式去code一套自己的风控系统:

1.如何设计自己的bot风控系统(设备信息基础)
2.如何设计自己的bot风控系统(分析那些数据可收集)
3.如何设计自己的bot风控系统(清理和分析数据)
4.如何设计自己的bot风控系统(对请求进行评分和绑定)
5.如何设计自己的bot风控系统(对请求链路细节分析,底层指纹识别)


注:只允许研究、学习目的的分享、使用、修改,不允许任何商业用途。转载请注明出处,感谢。

  • 9
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值