如何检测哪个后台应用程序正在使用摄像头、麦克风或 GPRS?

信息安全 安卓 检测 间谍软件
2021-09-04 17:55:27

我想学习如何编写可以检测运行时间谍应用程序的 Android 应用程序。在这种情况下,“间谍应用程序”是使用相机、麦克风和其他重要设备的后台应用程序。

如何检测哪个后台应用程序正在使用摄像头、麦克风或 GPRS?

2个回答

您可以编写一个应用程序来尝试监控设备上发生的事情,但它需要提升您的应用程序的权限,例如作为系统运行或请求大量权限,以便您可以查询适当的服务并访问系统资源来猜测在其他应用程序正在做什么。packagemanager 公开了用于确定已安装应用程序甚至检查其权限的 api 调用,尽管充其量就像前面的答案中提到的那样,所有应用程序都在它们自己的 dalvik vm 实例中运行。对系统资源的访问也受到 DAC 和功能(在 4.3 中)的权限的限制。检查权限或尝试查看应用程序在做什么会很困难,尤其是在恶意应用程序滥用编写不佳的合法应用程序的情况下

即使谷歌检测恶意应用程序的措施也不是万无一失的,尽管这句话来自defcon的演讲

另一个与 Young 的研究相关的令人不安的消息是,一个明确的恶意应用程序能够进入 Google Play 商店并在其中停留一段时间。据报道,Young 创建了一个应用程序来测试该漏洞,并将其上传到 Google Play 商店,在那里它被明确标记为恶意,并警告用户不要安装它。在它可用的当月,直到用户报告它,谷歌的 Bouncer 服务并没有将它标记为恶意。目前尚不清楚该应用程序是否曾经被 Bouncer 扫描过,或者它是否“通过”了扫描,但是这两个选项都不能很好地反映 Bouncer 的有效性。Young 还报告说,大多数 Android 设备的防病毒产品都未能检测到该应用程序是恶意软件,尽管一个未命名的隐私应用程序将其标记为具有帐户访问权限。

修改平台将是尝试和检测恶意应用程序的最佳方式。SE for Android是一个旨在为 android 平台添加安全性和 MAC 的项目,他们正在探索的一些概念可能会引起人们的兴趣。

在无根的 android 设备上,应用程序在它们自己的容器中运行。Google 使用Bouncer对所有应用程序执行安全检查基于这种安全措施的组合,Anti-malware android 应用程序完全没用

我认为 android 上间谍软件检测最有趣的研究是由宾夕法尼亚州立大学和杜克大学领导的,最终在TaintDroid中达到了高潮这是 android 的修改版本,其中函数调用被挂钩,以通过潜在的恶意应用程序跟踪个人信息的流动。这不是在限制性沙箱中运行的应用程序,而是对平台的修改。

如果您有兴趣在 android 上检测间谍软件,您应该安装 TaintDroid,然后探索一些阴暗的应用程序。