APP下载

Android手机软件进程代码注入攻击与防御研究

2018-09-18周凡

科教导刊·电子版 2018年19期
关键词:进程程序

周凡

摘 要 在Android手机广泛普及的今天,其被恶意程序攻击、病毒感染、信息复制等事件频频发生。Android应用安全问题自然也引起人们的更多关注。结合Android体系架构的特点,本文主要是通过ptrace注入的方式对Android手机软件进程代码注入攻击与防御进行研究,从而提高Android应用的安全性。

关键词 Android系统 ptrace注入

现在Android手机应用已有案例遭到代码注入攻击:由于应用是通常运行在Dalvik虚拟机上的,其底层依然是C和C++环境。攻击者进程通常伪装成gdb调试器对指定进程进行调试,然后远程调用dlopen使指定进程加载预先写好的恶意SO代码,从而窃取相关关键信息。

1 ptrace原理

程序員的任务就是写程序,写完程序就是调程序,估计没人敢说自己写程序不用调试的,尤其是程序规模庞大了之后更是如此,第一个实现调试器的是一个伟大的人,个人见解:ptrace就是为gdb而生的,ptrace应该算是gdb的核心了。

2 Android下的ptrace注入

ptrace让调试变得方便,也让程序变得不安全。

对于每一个Android应用,都对应一个Dalvik虚拟机,其上层是JAVA实现,下层又有支持C、C++的JNI环境 ,按照上述ptrace原理,可以在JNI环境下使用ptrace通过注入的方式使一个Android应用执行我们自己写的JAR包。由于是执行在指定Android应用的进程空间中,我们的JAR包可以很方便的修改、获取该应用中的数据。

2.1时序图原理

时序图的基本流程如下:

(1)通过Shell指令执行Inject,Aseck在执行时必须拥有root权限。

(2)可执行文件Inject的流程非常通用,arm平台上无需更改。

(3)加载的libJavaLoader.so文件流程也是通用的,无需更改。

(4)加载的Jar包中必须保证有一个无参构造函数和一个execInject函数,至于execInject函数的逻辑可以按需随意更改。……

登录APP查看全文

猜你喜欢

进程程序
债券市场对外开放的进程与展望
试论我国未决羁押程序的立法完善
失能的信仰——走向衰亡的民事诉讼程序
“程序猿”的生活什么样
英国与欧盟正式启动“离婚”程序程序
创卫暗访程序有待改进
恐怖犯罪刑事诉讼程序的完善
我国高等教育改革进程与反思
Linux僵死进程的产生与避免
男女平等进程中出现的新矛盾和新问题