Android操作系统可以防止对系统服务API的调用被欺骗吗?

时间:2017-12-08 15:05:12

标签: android security android-security

Android应用程序框架提供了一大堆系统服务,例如PackageManagerService,ActivityManagerSerive。大多数服务都在System Server进程中。该框架还以一组代理类的形式向应用程序提供了一大堆API,这样当应用程序调用proxy.API_foo()时,调用将通过Binder机制作为远程过程调用来处理。其中一项系统服务。

我的问题是,由于所有代理类都在应用程序进程的内存地址空间中,是否容易受到被黑客攻击的攻击?例如,我可以覆盖感兴趣的代理类的“this”指针,这样“this”指向任意虚函数表。

系统是否为这些代理类对象提供了任何写保护,以便不能对它们进行操作?

你可能想知道为什么我问这个愚蠢的问题。我正在考虑这样的场景:假设一个应用程序受到良好的反向工程保护,但通过添加操作存储代理类的内存的代码,我仍然可以以某种方式破解高价值的应用程序(比如银行应用程序,医疗保健应用程序)通过在调用系统服务API时返回伪值。

我发现了这个但是不太明白: http://shadowwhowalks.blogspot.com/2013/02/android-replacing-system-classes.html

我还找到了一篇论文: http://ceur-ws.org/Vol-1575/paper_10.pdf

但黑客攻击需要root权限。这真的有必要吗?

有关系统服务的链接:

http://opensourceforu.com/2013/12/birds-eye-view-android-system-services/

https://www.slideshare.net/marakana/android-services-black-magic-by-aleksandar-gargenta

http://resources.infosecinstitute.com/practical-android-phone-forensics/#gref

0 个答案:

没有答案