安卓安全探究

1  SSL证书有效性检测  建议使用真实的ssl证书,提高通讯安全性

2 进程安全 动态注入防护检测:

原因:给Android应用加壳是保护Android应用的常见方法。侠义上的Android加壳,只是将Android源代码隐藏起来,骇客仍然可以通过静态或者动态调试的方法获取到Android应用的源代码。因此,在加壳的同时增加反调试功能能够有效的对抗骇客的入侵行为。

常见的反调试思路有:1.禁止读取应用内存 2.禁止调试器attach 3.采用陷阱使调试器崩溃。

Ptrace是Linux系统下用于进程跟踪的利器。它提供了父进程可以观察和控制其子进程执行的能力,并允许父进程检查和替换子进程的内核镜像(包括寄存器)的值。其基本原理是: 当使用了ptrace跟踪后,所有发送给被跟踪的子进程的信号(除了SIGKILL),都会被转发给父进程,而子进程则会被阻塞,这时子进程的状态就会被系统标注为TASK_TRACED。而父进程收到信号后,就可以对停止下来的子进程进行检查和修改,然后让子进程继续运行。

防护:在加固时 勾选防止调试保护,使黑客在调试时直接杀死进程或者调换到另外的位置。

免费的梆梆加固没有这个功能,网上最新的资料比较少,可行性待验证。

3 业务安全 APP可被脱壳:

原因:获取源程序Apk,进行解密,然后通过HOOK ,动态调试等方法还原DEX文件,从而导致被脱壳。

防护:

壳加固方法:第一代:Dex整体加密

第二代:类抽取

第三代:vmp

可使用第三代壳加固的方法来防止脱壳

 

 

我们拿到需要加密的Apk和自己的壳程序Apk,然后用加密算法对源Apk进行加密在将壳Apk进行合并得到新的Dex文件,最后替换壳程序中的dex文件即可,得到新的Apk,那么这个新的Apk我们也叫作脱壳程序Apk.他已经不是一个完整意义上的Apk程序了,他的主要工作是:负责解密源Apk.然后加载Apk,让其正常运行起来。

简单来说,就是通过壳加密为我们编译成的DEX文件加密,这样的话即使导出DEX文件也会发现DEX文件格式不正确,保证安全

 

修复建议:

在加固的时候勾选防调试加固。邦邦免费加固不提供这个功能,网上最新的资料比较少,可行性待验证。

 

 

 

 

 

 

 

 

 

猜你喜欢

转载自blog.csdn.net/qq_30632063/article/details/84027811