前端开发入门到精通的在线学习网站

网站首页 > 资源文章 正文

移动应用安全:安全测试及加固(移动安全检测)

qiguaw 2025-05-11 00:18:26 资源文章 11 ℃ 0 评论

人们上网习惯慢慢从PC端转向了移动端,越来越多的智能设备、移动终端、各种各样的应用app开始渗透生活的方方面面,普及广泛必然黑产集聚,安全也就接憧而至。

移动应用存在较多不安全因素,包括账号密码被盗取、合法权益被滥用等。

这些现象的造成是因为App的开发者深刻懂得安全的人少之又少。所以借助加固或检测工具在开发阶段进行安全测试和检测,及时发现应用程序缺陷和安全漏洞,减少不必要的安全风险;在应用发布阶段进行应用安全加固,增加应用安全强度,防止应用被破解和二次打包;在运营阶段进行渠道监测,及时发现盗版应用,保障自身合法权益不受恶意损害。



一、移动应用全生命周期安全


我们今天简要探讨移动应用安全开发和测试的解决方案。

二、移动应用安全测试

1、自动化检测

我们需要一个自动化检测平台来提高漏洞检测的效率,并确保检测的覆盖全面。可以从如下几点进行选择我们需要的移动应用安全检测平台。




2、渗透测试

渗透测试一般会和漏洞扫描结合开展。对App的渗透测试内容可以从云、管、端的维度进行划分:


3、代码审计

代码逻辑设计缺陷或错误一般是由程序员的疏忽大意造成的。比如判断时因考虑不周而少漏条件,当遇到特殊数据和情况时,导致程序出现不可预估的错误。

对输入的数据没有进行有效的检查。或者是进行过检查但是检查不周,也可能是处理不当,此类问题最常造成缓冲区漏洞的出现。比如在对某账号进行密码的设置输入时,如果程序未对密码的长度进行限制,用户则可能出于安全考虑输入超长的密码,由此可能会导致存储密码时对其它的数据进行覆盖,引发一系列的问题。

算法本身的漏洞。实现源代码的安全无漏洞,首先应确保在写代码时进行严密的算法,算法本身出现了漏洞,则必然导致诸多问题的存在。比如采用比较简单的加密算法,会为信息泄漏留下操作的可能性。




三、移动应用安全加固

和IOS系统的封闭相比,安卓系统的开源以及基于java的特性都使得android app更容易被反编译。被反编译后的代码被不法分子加入恶意代码逻辑后重新打包发布,将可能给企业造成重大损失。针对这些问题常见的解决方案是代码混淆、加壳、反调试和签名验签等。

在实际的应用中,厂商给出的方案往往是上述几种方案结合使用。

等级

风险

攻击人群分布

建议

1

使用apttool/dex2jar等工具查看java代码

99%

对DEX文件加密,或将核心代码封装到SO文件

2

使用DexExtractor等自动脱壳工具通过内存数据动态提取java代码

10%

集成内存保护和反调试功能,采用java2c技术将java代码转化为C代码,并进行SO加壳保护

3

可修复ELF文件,并使用IDA工具反编译还原后的SO文件,分析核心代码逻辑

2%

对SO文件进行代码混淆加密保护

4

可剔除SO文件中的混淆代码,自动化还原原始代码

0.5%

对核心代码进行虚拟化加密保护

5

可分析自定义CPU指令,并自动化还原原始CPU指令

0.001%

定制升级虚拟化方案

APP加固的目的是提升对手的攻击成本,如果通过加固能够让一部分人知难而退,OK,加固的目的就算达到了。

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表