欢迎来到第壹文秘! | 帮助中心 分享价值,成长自我!
第壹文秘
全部分类
  • 幼儿/小学教育>
  • 中学教育>
  • 高等教育>
  • 研究生考试>
  • 外语学习>
  • 资格/认证考试>
  • 论文>
  • IT计算机>
  • 法律/法学>
  • 建筑/环境>
  • 通信/电子>
  • 医学/心理学>
  • ImageVerifierCode 换一换
    首页 第壹文秘 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    2022客户端安全风控技术.docx

    • 资源ID:1031103       资源大小:886.35KB        全文页数:45页
    • 资源格式: DOCX        下载积分:5金币
    快捷下载 游客一键下载
    账号登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    下载资源需要5金币
    邮箱/手机:
    温馨提示:
    快捷下载时,如果您不填写信息,系统将为您自动创建临时账号,适用于临时下载。
    如果您填写信息,用户名和密码都是您填写的【邮箱或者手机号】(系统自动生成),方便查询和重复下载。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    2022客户端安全风控技术.docx

    风控技术客户端安全难题困扰公开资料或多或少存在不足传统方案老,攻击下限底,对抗难度大;效率、稳定、可信等缺乏大量验证安全、调优、合规J办同难度高现实环境极其复杂,没有银色子弹安全固重要,业务更优先;最小化原则,不可侵犯隐私并非所有设计都能符合预期;没有“一劳永逸”的解决方案;"现网教你做人"孤岛的执行流程设计异构调用栈,操控函数的执行流程实现孤岛的可行性条件(最好)使用寄存器传参栈回溯实现方式简单在arr32位汇编中:进入子函数时,使用R0R3传参;退出子函数时,使用RO(R1)表示返回值AAPCS(ARMArchitectureProcedureCallStandard):C1.ANG编译(GcC不支持)ARM模式:寄存器Rll表示栈顶ThUmb模式(默认):寄存器R7表示栈顶在arm32位汇编中:进入子函数时,使用R0R3传参;退出子函数时,使用RO(R1)表示返回值(Ildb)dis-p1ibnative-lib.so'test_main:_attribute_(noinline)unsignedintfunc_l(unsignedintpl,boolp2)pid_tpid=O;讦92)pid=getpid();return(pl+pid);)->0x8dl6eef8Ox8dl6eefa0x8dl6eefc0x8dl6ef00<+6>:<+8>:<+10>:<+14>:movsmovsbl×strr,#0x3rl,#0x1Iibnative-1ib.sofunc_lr,spl#0x4_attribute_(noinline)voidtest_main()unsignedlongret=func_l(3,true);return;(Ildb)call(void*)getpid(void*)$0=0x00000c9b(Hdb)p/x(int)($0)+3)(int)$1=0×00000c9e(Ildb)dis-p1ibnative-1ib.sotest_main:0x8dl6eefc<+10>:blx0x8dl6ef00<+14>:StrIibnative-1ib.so_func_lr,sp,#0x4(Ildb)regreadrr=0×00000c9eAAPCS(ARMArchitectureProcedureCallStandard):C1.ANG编译(GCC不支持)ARM模式:寄存器Rll表示栈顶(Ildb)dis-aSpclibnafive-lib.so'func_l:ThUmb模式(默认):寄存器R7表示栈顶0x8dlcde8c<+0>:pushr7,-lr)0xb3642d90<+0>:pushl0x8dlcde8e<+2>:movr7,三P0xb3642d91<+l>:movl0x8dlcde90<+4>:subsp,#0x180xb3642d93<+3>:pushl/./.0×8dlcdebe<+50>:addsp.#0x180xb3642de5<+85>:POPl0×8dlcdec0<+52>:POP(r7l,pc0×b3642de6<+86>:PoPl0xb3642de7<+87>:retl%ebx%ebp(Ildb)dis-aSpcflibnative-lib.so'func_l:%ebp%esp,%ebp%eb×AAPCS(ARMArchitectureProcedureCallStandard):C1.ANG编译(GCC不支持)ARM模式:寄存器Rll表示栈顶ThUmb模式(默认):寄存器R7表示栈顶(Ildb)CKS-aSpcIibnative-Iib.so'func_l:0×8dlcde8c<+0>:push0×8dlcde8e<+2>:mov0x8dlcde90<+4>:sub/.0×8dlcdebe<+50>:add0x8dlcdec0<+52>:POPr7flr)r7,spsp,#0x18sp,#0x18r7,pc)0xb3642d90<+0>:pushl0xb3642d91<+l>:movl0×b3642d93<+3>:pushl/.0×b3642de5<+85>:POPl0×b3642de6<+86>:POPl0×b3642de7<+87>:retl(Ildb)dis-aSpcflibnafive-lib.so'func_l:%ebp%esp,%ebp%ebx%eb×%ebp1.owAddressR7(ebp)Higharm32汇编示_attribute_(noinline)unsignedintfunc_l(unsignedintpllboolp2)pid_tpaid=0;if(p2)pid=getpid();return(pl+pid);_attribute_(noinline)voidtest_main()unsignedlongret=func_l(3,true);return;extern"C"void_init(void)test_main();现# 0:0×8dlc7ea0libnafive-lib.so'funcl(pl=3tp2=true)atnative-lib.cpp:26# 1:0×8dlc7ed011bnative-1ib.so'test-fnain()atnative-lib.cpp:33# 2:0x8dlc7eeeIibnative-Iib-So':三init()atnative-lib.cpp:42# 3:0xb6f7e72elinker(Ildb)btathread#1,name='com.test,lstopreason=breakpoint1.14frameframeframeframe(Ildb)regreadr7r7三OXbef22550(Ildb)memread.0xbef22550-C8OXbef22550:6025f2bedl7eIc8d(Ildb)p/x(0x8dlc-edl&-0xl)(unsignedint)$0=IOx8dlc7edOI(Ildb)memread0xbef22560-c8O×bef22S6O:7825f2beef7eIc8d(Ildb)p/x(0×8dlcefef&-0xl)(unsignedint)$1-IOXSdI<efee(Ildb)memreadOxbef22578-c8Oxbef22578:78c6f8b62fe7f7b6(Ildb)p/x(0xb6f7e72f&0xl)(unsignedint)$2=1xb6f7o72oI1.owAddressarm32汇编示例异构栈编码JN1.on1.Oad函数需要跳转的新函数获取原始的栈信息并保存获取需要跳转的新函数入口清空原始栈顶,重置函数返回地址并设置为需要跳转的新函数入口函数返回二寄存器Ro既作为返回值又作为下一个函数的第一个参数return(nt)(void*)(&g_st_data);unsignedlongfp;_asm_volatile_(11mov%0,r7n',:,三r,'(fp);g-st.data.fp_=6(unsignedlongft)(fp);g_st_data.lr一=a(unsignedIOnga)(fpSizeof(void*);/cleartheoriginalbacktracec,(unsignedlong-)(fp)*(unsgnedlong*)(fpSizeof(void*)(unsignedlong)umped.pc;从第一个参数中读取原始栈信息,以及用于初始化的其它参数执行完成原计划的预设功能还原原始栈信息函数返回,将跳转到JN1.On1.Oad原本应该返回的地址,继续施行工作fr(unsignedlong*)(fp)=p-data->fp_:(unsignedlong*)(fp+szeof(void6)StData*p.data二(stData*)argsO;JavaVM-vm二(JavaVM*)p-data->p0_;arm32汇编示U"returnresult./cleartheoriginalbacktrace(unsignedlong*)(fp)-0;/setold1.Rtonew1.R(unsignedIOng0(fp+sizof(void*),(unsignedIOnR)junped_pc.rtum5nt)(void#(&g_st_data).fJN1.OnIoad-'三Variables*1.1.DB-),(Ildb)bt.*thread«1,name'corn.czl.labxx'fram«0:0x8dlc480cIibcsl.labstopreason-breakpoint2.1o.9.so:JNI-On1.oad(%三OxbT22fdO,rsrv<d三OxOOOOOOOO)atjni>tein.cpp:154arm32汇gIII1.l1._attribut_(<destructor(201)op-JNIeOn1.oad(oidargs)args:OxSdlcdl78/<etthePiraffletersstDatap.data(stData*)args;OxSdlcd!"SJavaVMvm<JavaVK)p.data->pO.;怙:DMbOedoJKIEcv.Qny.NU1.1.jinxresult;fjumpJNI_On1.oad三Variables-eElIlDB'pJI)bt-thread三1.nan*,cc0.csl.labxx',stoprasonbreakpoint1.1frwo9三0:0x8dlc4560Iibczl.Iabo.9.sojiap.JNI.On1.oacKjirgsOOxScllcdlTS)frame三1:0x8dlcdl78Iibesl.labo.9.so'i-Jv三4(Ildb)atjniMan.cpp:62

    注意事项

    本文(2022客户端安全风控技术.docx)为本站会员(p**)主动上传,第壹文秘仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知第壹文秘(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2023 1wenmi网站版权所有

    经营许可证编号:宁ICP备2022001189号-1

    本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。第壹文秘仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知第壹文秘网,我们立即给予删除!

    收起
    展开