0

我打算为 Android 智能手机实现一个蜜罐,作为我论文的研究。我从未使用过android、java 和蜜罐。这就是我想开始的方式。我想使用由 Niels Provos 先生设计的蜜罐 Honeyd 的源代码(用 C 语言编写)。在这种情况下,我喜欢为 java 开发人员使用 eclipse 3.7 indigo。但问题是,即使我将 Honeyd 的源代码转换为 java,这些功能是否会像在 Honeyd 中那样工作。此外,我将在 VMware 工作站中运行 android 姜饼(2.3 版)ISO,并尝试将转换后的 Honeyd 作为 .apk 应用程序安装在其中。之后,我将在网络中设置要被攻击的虚拟机。我也不能建立一个物理的高交互蜜罐,因为它很危险。所以我' m 专注于建立一个虚拟的低交互蜜罐。我有一些问题在我的脑海里。

1) 将 Honeyd 转换为 java 2) Honeyd 结构是否适用于 android 平台?3)由于蜜罐在防火墙后面放置了自己的网络,Android如何使用这一步?4)如何给出一个好的告警机制?

您能否建议我对此提供任何帮助。

4

1 回答 1

1

您可能可以使用 NDK 构建现有的 C 代码。

“正确”的方法是将它构建为一个库并从您的 dalvik(即您在 java 中编写的代码)应用程序进程中调用它。这也使得使用 java ui 组件来实现警报机制变得很容易(否则你可以有一个 java 应用程序,甚至可以在主机上拥有一个远程监控蜜罐进程以获取警报的东西)

尽管不受支持,但许多人也成功地使用 ndk 工具链构建了独立的命令行可执行文件并启动了这些可执行文件。由于您处理的是定制的 android 而不是设备,因此您不应该有太多问题 - 您可以在独立进程上设置 OOM 杀手值,如果您愿意,甚至不需要运行 android根本没有框架——你可以在它基础的 linux 上运行。尽管有人可能会问,那么练习的意义何在。

本质上,如果您使用的是定制的“设备”(在这种情况下是虚拟的)并且您真的不需要任何 UI,那么 android 唯一真正独特的是必须针对仿生 libc 构建 C 代码,而不是更正常的嵌入式linux一;即使那样,如果您静态链接,您也可以使用不同的 libc。

如果您尝试使用 java 代码来执行此操作,您可能会遇到没有授予 root 访问 java 代码的好方法的限制,因此您必须修改平台以更轻松地以 root 运行自定义 java 代码,或者修改底层linux让非特权代码打开特权端口。

坦率地说,我认为这不是一个很好的项目创意,因为您正在谈论将特定平台暴露于可能不关注它的威胁。

于 2011-08-08T15:50:05.617 回答