在 Android 应用上查找潜在的恶意软件
2022-8-5 20:1:13 Author: 网安之道(查看原文) 阅读量:10 收藏

Android 是我们世界上最流行的移动操作系统。它是开源的。但是有许多可用于 Android 的恶意软件、间谍软件等。谷歌仍然有非常简单的政策可以在 Play Store 上列出任何应用程序,所以我们不能盲目相信 Play Store。由于使用恶意活动, Google多次禁止 Play 商店中的各种应用程序。我们不能盲目相信任何品牌,为了完全安全,我们需要在将每个应用程序安装到手机之前自行检查。

这就是DroidDetective所做的。这是一个适用于 Android 应用程序的机器学习恶意软件分析框架。DroidDetective 用 Python 编写,用于分析 Android 应用程序 (APK) 中潜在的恶意软件相关行为和配置。当提供应用程序(APK 文件)的路径时,Droid Detective 将预测(使用它的 ML 模型)应用程序是否是恶意的。

DroidDetective 的一些主要特点如下:

  • 分析在应用程序的AndroidManifest.xml文件中指定了大约 330 个权限中的哪些。

  • 分析应用程序的AndroidManifest.xml文件中使用的标准和专有权限的数量。

  • 使用 RandomForest 机器学习分类器,从约 14 个恶意软件系列和约 100 个 Google Play 商店应用程序中训练上述数据。

现在不用浪费太多时间,我们将在我们的 Kali Linux 系统上安装 DroidDetective。首先,我们需要使用以下命令克隆

https://github.com/user1342/DroidDetective

在以下屏幕截图中,我们可以看到上述命令的输出:

之后,我们需要使用以下命令进入 DroidDetective 目录:

cd DroidDetective

现在我们需要使用以下命令填写运行此工具的所有要求:

pip3 install -r REQUIREMENTS.txt

以下屏幕截图显示了上述命令的输出:

现在我们的安装过程已经完成。是时候为我们的 Android 应用程序寻找潜在的恶意软件了。

首先,我们需要一个 APK 文件来使用 DroidDetective 进行测试。我们的桌面目录中有一个名为browser.apk的 APK 文件,因此我们需要应用以下命令来开始分析它:

python3 DroidDetective.py /home/kali/Desktop/browser.apk

我们可以在以下屏幕截图中看到上述命令的输出:

那是一个恶意软件,DroidDetective 发现这个恶意软件中有一些可疑的东西。我们还可以使用以下命令将输出保存在 json 文件中:

python3 DroidDetective.py /home/kali/Desktop/browser.apk output.json

这就是我们如何发现 APK 文件中是否存在任何恶意软件或其他恶意内容的方法。

在测试过程中,我们注意到由于配置错误或某些权限要求,该工具也会检测到一些不包含恶意内容的 APK。我们需要注意这一点。熟悉 Android 开发的人可以很容易地使用 DroidDetective 找出问题所在,他们不需要阅读整个程序。


文章来源: http://mp.weixin.qq.com/s?__biz=MzIxMDI2ODM1OA==&mid=2651501762&idx=1&sn=a896384f4d430ec21e22303e03b2e7e7&chksm=8c992d6bbbeea47d0e72d8cf773228d6ad31e196e7f8587b17d01d396726d173a4836f473503#rd
如有侵权请联系:admin#unsafe.sh