当前位置:网站首页 > 安全测试 > 正文

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

人们上网习惯慢慢从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,加固的目的就算达到了。

版权声明


相关文章:

  • 安全测试的几个要点_安全测试的几个要点是什么2024-10-30 18:53:43
  • 购车前,你需要查看下车辆安全测试_购车前,你需要查看下车辆安全测试吗2024-10-30 18:53:43
  • 有趣又有用,这场“交通安全测试”你能得几分?2024-10-30 18:53:43
  • 什么是安全测试你知道吗?_什么叫安全测试2024-10-30 18:53:43
  • 中保研,最新安全测试结果出炉,你的爱车上榜了吗?2024-10-30 18:53:43
  • 安全测试方法_软件测试的测试方法2024-10-30 18:53:43
  • 微信公众号安全测试_微信公众号安全测试平台官网2024-10-30 18:53:43
  • 安全基础--22--安全测试_安全基础知识测试2024-10-30 18:53:43
  • 软件测试之安全测试_软件测试之安全测试是什么2024-10-30 18:53:43
  • 【安全测试】数据安全性_数据安全性是什么2024-10-30 18:53:43
  • 全屏图片