移动金融应用安全风险分析及解决方案 - 梆梆安全
- 格式:pdf
- 大小:2.11 MB
- 文档页数:39
移动应用安全问题及其解决方案随着智能手机和移动应用的普及,人们的生活和工作也越来越依赖于移动互联网。
但是,与此同时,各种移动应用的安全问题也随之产生。
比如,个人敏感信息被泄露、应用下载包含恶意软件、应用间数据共享涉及隐私泄露等。
本文将探讨移动应用安全问题及其解决方案。
移动应用安全问题1. 数据泄露许多移动应用需要访问用户的敏感信息,如通讯录、照片、银行卡等。
如果这些数据被恶意应用或黑客窃取,将对用户造成极大的威胁。
一段时间前就曝光了一款名为“学生优惠”的应用,这款应用会窃取用户的微信账号和密码。
类似的事件还有很多。
2. 不充分的加密和认证为了保护数据安全,许多应用使用了加密技术。
但是,如果加密算法不够强大或不正确,攻击者可以轻易破解加密。
此外,许多应用在身份验证和会话管理方面存在不足之处,这也会导致数据泄露。
3. 恶意软件许多应用下载、更新和安装过程中可能包含恶意软件。
在某些情况下,软件会自动向用户的联系人发送恶意链接或短信,以诈骗或传播病毒。
移动应用安全解决方案1. 使用安全的网络使用非安全网络连接下载或更新应用程序可能会导致恶意软件或病毒的传播。
因此,用户应该尽可能使用网络加密,并避免使用公共无线网络。
2. 密码保护和加密开发人员应该使用加密技术来保护应用程序中的敏感数据,如用户的位置、银行信息等。
此外,用户的密码还应该尽可能地保密。
3. 及时更新在应用更新期间,开发人员应该检查应用是否包含恶意代码。
如果应用程序过期或存在漏洞,也应该尽早进行更新。
4. 保护隐私为了确保用户隐私,开发人员应该尽可能减少应用间数据共享。
当然,这也涉及到维护帐户和收集数据的方式。
5. 审查应用程序用户可以查看应用程序的评级和审查,以确定是否可以信任它。
他们还可以使用应用认证和故障排除工具,以检查应用安全性和漏洞。
总之,移动应用安全问题是一件非常严峻的问题。
然而,开发人员和用户可以采取多种措施来确保应用的安全。
只有多方努力,才能够在移动应用程序安全领域取得持久的进展。
移动金融行业安全现状分析2015年1月13日,央行印发《关于推动移动金融技术创新健康发展的指导意见》,强调移动金融是丰富金融服务渠道、创新金融产品和服务模式、发展普惠金融的有效途径和方法;第十二届全国人大三次会议上,李克强指出近几年“互联网+”对中国经济的推动产生了深远影响。
在种种有利背景之下,移动金融已经成为一片红海,移动金融开始出现井喷式发展,移动支付、手机银行、移动理财工具、手机购物客户端等各类移动金融工具纷纷涌现。
然而移动金融工具在带来便利的同时,也暗藏风险。
账户密码被窃取,手机绑定银行卡被盗刷,资金被转移,手机被植入木马病毒等安全问题层出不穷。
统计显示:曾经有安全机构对国内100家金融机构移动应用的安全性进行了统计,发现将近三分之一的移动金融应用拥有超过9个以上的安全漏洞。
国内某大型应用开发商开发的手机银行更是被发现超过400个安全漏洞,其中137个为高危漏洞。
越权访问、客户端敏感信息泄露、越权修改数据、应用功能设计缺陷、中间人攻击缺陷、登录设计缺陷、服务器端不安全配置等是移动金融存在的主要安全问题,其中高等风险漏洞就超过了一半以上。
在移动金融发展的大背景下,金融数据丢失、网络攻击、移动客户端安全指数低、资金被盗等各种现象让金融企业防不胜防。
在这种情况下,爱加密推出了移动金融支付安全解决方案,解决了移动金融行业的燃眉之急。
解决方案:(一)手机银行类App解决方案A. 漏洞分析1)数据存储安全性分析2)账号、密码等敏感数据内存分析3)证书安全、交易安全性分析4)界面劫持与截取分析5)服务器地址被盗取和篡改分析6)钓鱼攻击、数据包截获分析7)网络监听、键盘输入监听分析8)内存修改、动态注入分析9)手机银行安全认证体系整体安全检测分析B. 应用保护1).DEX三重保护a. Dex加壳保护b. Dex指令动态加载c. 源码混淆保护2).so文件加密(爱加密独有so文件加密保护技术)a.爱加密so文件进行优化压缩b. 爱加密so文件源码进行加密隐藏c.加密后so文件能够有效的防止IDA等工具逆向分析C. 定制保护1)防止界面截取、输入法攻击引起的隐私信息泄露保护;2) 防止解包、打包、源码转译3) 源码优化4) 本地储存加密;5) 网络协议加固;6) 移交安全性及交易安全性保护7) 证书安全D. 渠道监测1)渠道数据监控监控国内外428个App渠道信息,实时监控渠道相关信息2)精准识别渠道正盗版提供正版盗版App信息精准对比,反馈详细信息到用户后台3)盗版App详情分析分析项目涵盖所有路径文件及代码,清晰查看修改项目或第三方代码4)一键生成报告提供一键生成报告功能,全面记录App盗版分析数据典型案例:平安天下通描述:平安天下通是首款领先的金融行业即时通讯应用,具备即时通讯软件免费通讯、好玩易用等品质,在轻松社交的同时更不断提供各类金融产品/资讯/服务。
移动金融App安全分析及监管措施摘要:随着移动互联网技术的快速发展,越来越多的金融机构将借贷、支付、交易场景转移到线上,大量的移动金融App应运而生。
本文研究了移动金融App的安全现状,针对目前金融App面临的安全漏洞、恶意程序、SDK隐患以及违规索权等风险问题,分析了其主要成因,并从安全监管、权益保护、违规惩戒、协同监管等方面提出了金融App安全规范的措施建议。
关键词:移动金融;安全风险;监管措施一、移动金融App的发展现状现今,智能手机已经成为人们生活中不可或缺的重要组成部分,很多传统的生活、工作、业务模式已实现了向移动智能端迁移,并催生了大量的移动客户端应用软件(App),其中就包括金融类App。
对于互联网金融来说,金融类App就像传统银行网点的业务柜台,可以实现所有信息在金融机构与客户之间的交换,极大地提升了金融业务办理的便捷性和可得性。
据《2019年金融行业移动App安全观测报告》(以下简称《报告》)统计,截至2019年10月,我国移动金融App已达到13.3万款,约占整个移动App市场份额的5%,并仍处于高速增长阶段。
可见,移动金融App已经深入应用到大众生活的方方面面。
然而这些App或多或少也存在安全问题。
2019年12月,公安部门集中查处整改的100款违法违规App及其运营企业中,银行和贷款等金融App成为“重灾区”,其中不乏执照经营的银行业金融机构。
可见,移动金融App的安全问题不容乐观。
二、移动金融App的安全风险(一)高危安全漏洞普遍存在。
《报告》显示,通过对232个安卓应用市场中超13万款金融类App的监测发现,73.23%存在不同程度的安全漏洞,70.22%存在高危漏洞,平均每款移动金融类App存在20.3个安全漏洞,且6.7个是高危漏洞;攻击者可利用这些漏洞窃取客户数据、植入恶意代码、进行App仿冒、攻击正常服务等,具有严重的安全威胁。
从金融App类型来看,互联网第三方支付和信托类App的高危漏洞最为突出,投资理财、保险等金融App高危漏洞也相对严重。
移动金融应用的安全隐患分析和防范措施随着移动互联网的发展和普及,越来越多的人开始使用移动金融应用进行理财、支付和交易等操作。
然而,随之而来的是安全隐患的增加,诸如信息泄露、账户被盗等问题逐渐浮现。
因此,本文聚焦于移动金融应用的安全隐患分析和防范措施,以增强用户对移动金融应用的安全意识和保障用户的合法权益。
一、移动金融应用的安全隐患1.1 恶意软件攻击恶意软件指能够窃取个人信息、控制设备或者进行盗取资产等非法操作的软件。
恶意软件往往伪装成合法软件的形式进行诱导用户下载并获取授权,以便渗透用户设备并获取用户的隐私资料,从而布下攻击。
1.2 假冒网站欺诈假冒网站欺诈指不法分子通过仿冒官方网站、伪造交易页面的方式获取用户的账号信息,进而篡改或者窃取用户的资产。
假冒网站通常外观与官方网站颇为相似,为了避免被用户发现,甚至会对细节进行精雕细琢。
1.3 Wi-Fi欺骗Wi-Fi欺骗是一种通过利用公共无线网络劫持用户数据流量来收集用户隐私信息或者进行诈骗的方式。
不法者会制造环境,让用户接入公共Wi-Fi网络,并通过恶意软件或中间人攻击等方式获取用户的隐私信息,从而对用户的资产进行攻击。
1.4 短信诈骗短信诈骗是通过发起短信或者彩信向用户发送欺诈性信息的方式实施网络诈骗的行业。
大多数短信诈骗会伪装成用户信任的银行或互联网公司,以轻松获取用户的关注并达到攻击目的。
二、移动金融应用的防范措施2.1 安装可靠的安全软件安装可靠的安全软件是防范恶意软件攻击的有效措施。
安全软件可以帮助用户检测设备中可能存在的恶意软件,及时清除恶意软件,保障账户和隐私安全。
2.2 保持警惕,辨别真伪用户在使用移动金融应用的过程中,要时刻保持警惕并辨别真伪。
任何时候都不要轻易点击不明来源的链接或者下载未知的软件,避免落入不法分子的陷阱。
2.3 远离公共 Wi-Fi公共Wi-Fi 的使用是导致 Wi-Fi欺骗的常见原因之一。
因此,用户在使用移动金融应用时,应尽量避免使用公共Wi-Fi,并使用数据流量的方式进行操作。
移动互联网金融安全问题与对策分析随着信息科技和电子商务的迅猛发展,移动互联网金融也应运而生。
移动互联网金融的崛起,既为人们提供了更加便捷的金融服务,也带来了风险和安全问题。
本文将从移动互联网金融的安全问题、风险特点和对策入手,分析并探讨移动互联网金融的安全问题与对策。
移动互联网金融的安全问题移动互联网金融作为一种新型的金融服务方式,相较于传统银行和金融机构,其特点是信息化、高速度、高风险、高匿名性,因此安全问题更加突出。
具体表现在以下几个方面:1. 风险类型复杂。
由于移动互联网金融的投资和融资方式多样性,包括网络借贷、股权众筹、基金理财等多种方式,因此存在大量的不同类型的风险,包括信用风险、流动性风险、市场风险、网络安全风险等。
2. 风险防范措施滞后。
移动互联网金融的技术和管理手段还未完全成熟,尤其是安全防范方面,仍存在缺乏完善的措施和标准。
此外,很多用户在使用移动互联网金融服务时,缺乏正确的风险认识,用户的自我保护意识不够。
3. 风险扩散效应强。
由于移动互联网金融的特点是网络化和全球化,一旦出现问题,可能会产生更大的波及效应,不仅影响到单个用户和企业,还有可能导致市场和金融系统的风险扩散。
移动互联网金融的风险特点移动互联网金融的风险特点,主要体现为以下几个方面:1. 风险传递速度快。
由于移动互联网金融的交易速度快,当风险出现时,可能会在极短时间内传递到整个市场,影响更加普遍和深远。
2. 风险难以控制。
由于移动互联网金融的投融资主体众多,且交易方式不同,因此当风险出现时,难以控制和化解,往往会对更多的用户和企业产生影响。
3. 风险责任难以界定。
由于移动互联网金融的服务流程比较复杂,同时存在网络攻击等多种风险,因此当出现风险时,可能很难确定责任方。
移动互联网金融的对策为了保障移动互联网金融的安全,需要从技术和管理两方面入手,采取切实有效的对策。
具体措施包括以下几个方面:1. 技术方面(1)优化技术架构,提高金融安全性,包括云计算、大数据、人工智能等技术的应用。
金融行业安全风险的整改建议引言金融行业是现代社会经济运行的重要支撑,但同时也面临着诸多安全风险。
为了保障金融体系的稳定运营和客户信息的安全,金融机构应积极采取措施来整改潜在风险。
本文将提出金融行业安全风险的整改建议,旨在帮助金融机构更好地应对各类安全威胁。
一、内部操作风险1. 完善内部控制体系确保合规性和规范性的内部操作程序,加强对员工的培训和监督。
严格审查并减少员工权限滥用的可能性,尤其是具有系统开发和数据访问权力的人员。
2. 强化数据保护意识加密关键数据和敏感信息,在存储、传输过程中使用可靠的加密手段。
设置访问权限管理,并实施持续监测和审计机制,及时发现异常操作或窃取行为。
3. 实施合适的身份验证机制不仅要依赖传统密码验证,在必要时引入生物特征认证技术、双因素认证等高级身份验证手段,加强对客户身份的确认和识别。
二、网络安全风险1. 加强网络防护系统建设金融机构应建立完善的网络安全基础设施,包括入侵检测与防范系统、防火墙、反病毒软件等,并定期更新和升级这些系统。
同时,持续监控网络流量,及时发现并应对潜在的攻击行为。
2. 强化外部威胁感知能力与相关安全厂商合作,获取及时的关于恶意软件、网络漏洞等威胁情报,并进行及时修复和升级。
3. 增强员工网络安全意识培训金融机构需要提供针对不同岗位的网络安全培训,增加员工对于电子邮件钓鱼、密码保护等方面的认知和警惕性。
同时,建立定期模拟演练机制以提高员工在实际攻击中的应变能力。
三、业务风险1. 加强合规性管理金融机构应确保符合相关法规和监管要求,在销售产品和服务过程中遵循适当的合规性审查程序,降低经营风险。
2. 增加数据分析和风控手段利用大数据分析技术,对客户行为、交易记录等进行实时监测和预警处理。
金融机构也应加强内外部风险识别和量化评估手段,及时介入处置风险问题。
3. 建立弹性机制金融机构在面临不可预计事件时,应有足够的灵活性和快速反应能力,建立灾备计划、业务恢复方案等保障稳定运作。
金融业移动应用中交易安全性的分析与优化
近年来,随着移动互联网的快速发展,金融业的移动应用不断涌现,方便了人
们的生活,提高了金融服务的效率。
然而随之而来的是移动应用中交易安全性问题的增加。
本文将会对这个问题进行分析,并提出相应的优化建议。
首先,我们需要了解金融业移动应用中的交易安全性问题。
金融业移动应用涉
及到用户的个人隐私信息,如银行卡号、密码等,这些信息一旦泄露便会给用户造成不可逆的损失。
同时,黑客们不断更新攻击手段,对金融业移动应用的安全性构成了威胁。
那么如何保障金融业移动应用中的交易安全性呢?首先,我们需要对移动应用
的漏洞进行全面的检测,并及时修复。
其次,用户在使用金融业移动应用时需要加强自我保护意识,如不要将银行卡号和密码等个人敏感信息随意透露给第三方,避免使用公共无线网络等不安全环境进行交易。
同时,金融机构也需要严格管理员工的权限,并对员工进行相关培训,强化安全意识。
除此之外,我们还可以通过提高技术手段来保障金融业移动应用的安全性。
比如,采用人脸识别、指纹识别等生物认证技术,提高交易的安全性。
此外,金融机构可以采用风险评估模型,对高风险用户、高风险交易进行监控,并采取相应措施,以降低交易风险。
以上是对金融业移动应用中交易安全性问题的分析,并提出了相应的优化建议。
在未来,我们应该始终关注移动应用安全问题,并采取措施保障用户的个人信息和资产安全。
移动互联网时代下的金融安全问题分析随着手机的普及以及网络技术的飞速发展,移动互联网已经成为了金融行业的重要一环。
这种新型的金融形态在为人们提供了极大的便利性的同时,也为金融安全带来了一定的挑战。
本文将剖析移动互联网时代下的金融安全问题,并提出相应的解决措施。
一、移动互联网时代下的金融安全威胁1. 黑客攻击随着移动支付的普及,人们的资金流转都越来越依赖于电子设备。
然而,由于移动互联网上的金融信息都是以数据的形式进行传输,会给黑客提供攻击的机会。
黑客可以通过各种手段窃取用户的银行卡信息、支付密码,甚至可以通过木马病毒等手段攻破用户的手机系统。
2. 钓鱼网站钓鱼是指攻击者伪装成合法机构冒用其名义发送虚假信息,诱使用户上当受骗并泄漏个人信息、密码等敏感信息的一种网络攻击方式。
在移动支付场景下,钓鱼攻击往往会利用用户的不重视心理,通过短信、邮件、社交媒体等途径诱导用户点击恶意链接,进而导致个人信息泄露、财产损失等问题。
3. 安全管理松散在许多移动支付平台中,对于安全管理的措施并不完备,缺乏有效的技术手段来防范黑客攻击和钓鱼。
造成这一现象的主要原因是移动支付平台多数为创业企业,缺乏资金和技术储备,往往只能提供关键信息的简单加密和传输,而未能实现更加高端的安全措施。
二、移动互联网时代下的金融安全解决措施1. 坚持完善移动支付安全体系对于移动支付平台,必须在技术上加强防御措施,制定科学的安全管理制度,完善和加强对用户的身份认证和账号管理等方面的工作。
对于商家和平台,要推进诚信体系建设,并加强对数据的监管、保护和风险预防等方面的工作。
2. 建立协调机制金融机构、政府部门和移动支付平台等要建立起互相沟通和协调的机制。
政府部门可以通过强制性法规对移动支付平台进行监管,加强平台技术管理和安全防范;金融机构可以扮演第三方监管机构的角色,加强对移动支付平台的审核和核查工作;而移动支付平台则要积极响应政府和金融机构的要求,加强自身的风险防范和用户信息保护工作。
移动金融应用安全风险及解决方案梆梆安全内容移动金融应用的安全评估移动金融应用的安全风险移动金融的解决方案010203安全评估•安全评估–由具备高技能和高素质的安全服务人员发起、并模拟常见黑客所使用的攻击手段对目标系统进行模拟入侵–目的在于充分挖掘和暴露系统的弱点,从而让管理人员了解其系统所面临的威胁。
–渗透测试工作往往作为风险评估的一个重要环节,为风险评估提供重要的原始参考数据移动金融应用的安全评估-方法及标准•基于数据生命周期的安全测试,对手机银行客户端的程序、数据、通信、业务、系统环境等进行全面安全测试,检测数据的输入、处理、输出以及数据运行时的系统环境的安全性•手机银行客户安全测试标准依据中国人民银行发布的中国金融移动支付系列技术标准中的–《中国金融移动支付检测规范第3部分:客户端软件》移动金融应用的安全评估-工具•反编译及重打包–dex2jar、baksmali、IDA pro、apktool •调试工具–gdb等•代码注入工具–Xposed、Substrate 等•网络–Burp suite等移动金融应用的安全评估-测试内容采用黑盒渗透攻击和白盒代码审计的方式发现移动应用的安全缺陷及安全漏洞评估内容描述程序安全安装与卸载、人机交互、登陆检测、发布规范、第三方SDK安全等方面代码安全是否具有防逆向、防动态注入、防篡改等能力数据安全应用的数据录入、数据访问、数据存储、数据传输、数据显示是否存在安全风险组件安全移动应用暴露的组件是否可以被恶意攻击通信安全检查客户端软件和服务器间的通信协议是否安全,能否被攻击业务安全移动应用的核心业务是否存在安全缺陷。
例如银行客户端,针对转账的过程应进行安全性检测,检测是否有可能进行转账的篡改系统安全移动应用的运行环境是否安全反编译测试将二进制程序转换成人们易读的一种描述语言的形式,是逆向工程中的常见手段。
反编译的结果是易读的代码,这样就暴露了客户端的所有逻辑,比如与服务端的通讯方式,加解密算法、密钥,转账业务流程、软键盘技术实现等等。
测试结果:代码没有做保护,左图是主界面转账与存入的代码片段截图:重打包测试对客户端程序添加或修改代码,修改客户端资源图片,配置信息,图标等,再生成新的客户端程序,实现应用钓鱼。
对金融客户端,可能添加病毒代码、广告SDK,推广自己的产品;添加恶意代码窃取登录账号密码、支付密码、拦截验证码短信,修改转账目标账号、金额等等。
动态调试测试指攻击者利用调试器跟踪目标程序运行,查看、修改内存代码和数据,分析程序逻辑,进行攻击和破解等行为。
对于金融行业客户端,该风险可修改客户端业务操作时的数据,比如账号、金额等。
测试情况说明:进行可被调试,获取、修改内存数据等,挂载进程,查看、修改内存数据:通过OS特定技术,将代码写入到目标进程并让其执行的技术。
攻击者可以将一段恶意代码写到目标进程,这段代码可以加载其它可执行程序,进而实施hook,监控程序运行行为、获取敏感信息等。
对于金融客户端,可通过代码注入技术,将恶意代码注入到客户端中,窃取输入的登录账号、密码、支付密码,修改转账的目标账号、金额,窃取通讯数据等。
代码注入测试由安全评估得出的移动金融安全现状观点:1.根据我们的安全实验室统计测试,国内大多数移动金融App这几项安全测试都是未通过的,移动安全机制存在缺失2. 未通过这些安全测试,意味着移动金融客户端可能面临下面业务风险内容移动金融应用的安全评估移动金融应用的安全风险移动金融的解决方案010203移动金融应用的安全风险•用户信息安全风险•交易安全风险•二次打包风险•暴露移动端和服务端漏洞风险用户信息安全风险还有以下多种攻击方式可能导致用户信息泄露攻击方式攻击方式1界面劫持攻击攻击方式2篡改/二次打包攻击方式3键盘劫持攻击方式4键盘录屏记录攻击方式5Hook攻击测试账号密码、Token本地存储攻击方式6攻击方式7中间人攻击经过对apk 反编译后的smali 代码分析得知,账户登录时通过软键盘键入的密码信息存储到一个List 变量中,然后被com.logansoft.zcbao.view.a.n 类中的a 方法调用(作为参数),然后对List 中的密码信息进行变换和加密。
某移动基金渗透测试案例-HOOK 攻击测试:检测是否可以采用hook拦截技术截获关键参数,实现账号、密码、证件号、手机号等数据的窃取、篡改。
某手机银行动态篡改攻击-POC通过劫持网络传输函数,在数据加密前动态修改提交到服务器的交易请求:修改收款人账号修改收款人姓名修改转账金额以下诸多环节都可能存在交易安全攻击风险可能的风险环节点1用户开户签约、注册、登录、资料变更等流程安全控制机制2业务交易流程安全控制机制3支付流程安全控制机制4业务交易监控和处置机制5其他重要流程安全控制根据梆梆安全大数据监控系统统计,许多知名移动金融App都遭遇过篡改和病毒二次打包可通过反编译apk,添加相应代码获取登录时的账号和密码信息,截图如下:某移动基金渗透测试案例-篡改/二次打包测试:对客户端程序添加或修改代码,修改客户端资源图片,配置信息,图标等,再生成新的客户端程序,实现应用钓鱼。
对金融客户端,可能添加病毒代码、广告SDk ,推广自己的产品;添加恶意代码窃取登录账号密码、支付密码、拦截验证码短信,修改转账目标账号、金额等等。
如上图所示,在源代码基础上加入了parand包,通过反编译逆向分析,可以发现移动金融客户端的很多代码缺陷和逻辑漏洞。
1. 在处理取出业务时,客户端先向服务器请求账户所绑定的银行卡交易账户信息。
URL 请求为**(略2. 经测试发现,可以通过枚举cusNo 来获得对应账户所绑定的银行卡信息,造成严重的用户信息泄露,例如cusNo 为2000098909某移动基金渗透测试案例:检查客户端软件在交易时账号信息获取、支付和取现等业务逻辑是否存在漏洞。
内容移动金融应用的安全评估移动金融应用的安全风险移动金融的解决方案010203移动金融客户端的解决方案•安全开发规范及安全评估-开发者应遵循移动应用的安全开发规范,进行移动金融应用客户端的开发-使用一些成熟的安全组件,如软键盘SDK、清场等-定期对客户端进行安全评估•安全加固-发布前加固应用,保证代码安全•上线后的渠道监控-监控第三方应用市场,及时发现各种盗版、钓鱼、山寨等恶意应用安全加固技术代码加密阻止代码被反编译反调试阻止APP运行时被动态注入完整性校验阻止APP被重新打包安全加固技术-第一代加固技术第一代加固技术基于类加载的技术•classes.dex被完整加密,放到APK的资源中•运行时修改程序入口,将classes.dex在内存中解密并让Dalvik 虚拟机加载执行第一代安全加固技术-加固前后的变化DEFCON 22DEFCON 22上对梆梆1.0的分析“Android Hacker Protection Level 0”https:///images/defcon-22/dc-22-presentations/Strazzere-Sawyer/DEFCON-22-Strazzere-and-Sawyer-Android-Hacker-Protection-Level-UPDATED.pdf第一代安全加固技术-存在的问题●难以对抗动态分析-内存中存在连续完整的解密后的代码,可通过内存dump的方式得到解密代码●针对内存dump,各家加固厂商都会打一些patch-Dex加载完毕后,抹掉或者混淆内存中dex的头部或者尾部信息(爱加密)-检查Xposed框架是否存在,如存在,加固应用不运行(360)-…●这些patch都是治标不治本的措施,无法从本质上解决内存dump的问题-例如:通过修改Dalvik虚拟机,在载入dex时候进行dump,而不是在Dex已加载完成之后●利用java虚拟机执行方法的机制-Java虚拟机在第一次执行某个类的某个方法前,才真正开始加载这个方法的代码●第二代加固技术-加密粒度从Dex文件变为方法级别-按需解密-解密后代码在内存中不连续•基于方法替换方式将原APK中的所有方法的代码提取出来,单独加密当Dalvik要执行某个方法是,加固引擎才解密该方法,并将解密后的代码交给虚拟机执行引擎执行•优点内存中无完整的解密代码每个方法单独解密,内存中无完整的解密代码如果某个方法没有执行,不会解密在内存中dump代码的成本代价很高method public onCreate(Landroid/os/Bundle;)V.locals 2.parameter "savedInstanceState".prologueinvoke-super {p0, p1}, Landroid/app/Activity;->onCreate(Landroid/os/Bundle;)Vnew-instance v0, Landroid/widget/TextView;invoke-direct {v0, p0}, Landroid/widget/TextView;-><init>(Landroid/content/Context;)Vreturn-void.end method method public onCreate(Landroid/os/Bundle;)V .locals 2.parameter "savedInstanceState".prologue nop nop nop nop nop return-void .end method原来的APK 中的方法加固后的APK 中的方法实际代码被单独加密处理原APK 中方法的代码被空指令替换APK的广度防御-资源、编程框架、So库◆资源文件-对APK中资源(图片,XML等文件)进行加密保护◆采用编程框架开发的程序进行加密保护-DLL (C# Unity3D)-Lua-HTML/Javascript(IBM worklight、PhoneGap等)-Flash-…◆So库-二进制C/C++的加壳保护梆梆安全的加固技术•APK由以下几个部分组成•classes.dex-所有的Java代码•so库-利用C/C++开发的库文件•资源文件-图片、xml配置文件等-使用框架开发的脚本文件-Html5 (phoneGap、IBM worklight等)-lua-C# (Unity3D游戏引擎)-…•梆梆Android保护技术针对APK中的所有类型的文件都可以进行保护上线后的渠道监控●目的-监控第三方应用市场,及时发现盗版、山寨、钓鱼应用等●技术原理-爬虫技术抓取第三方的应用程序-应用相似度分析引擎判断是否有盗版和山寨基本信息相似度比较引擎资源相似度比较引擎代码相似度比较引擎…总结和建议作为一种新的入口和用户交互平台,移动金融应用面临:•用户信息安全风险•交易安全风险•暴露移动端和服务端漏洞风险•钓鱼和二次打包风险加强移动金融应用安全的途径•遵循安全规范的客户端开发•定期进行移动安全评估-合规性评估/源代码审计/渗透性测试•移动客户端上线前进行安全加固-防止反编译,逆向分析,动态注入攻击等等•上线后的渠道监测。