与Android有关的蜜罐研究

时间:2011-08-08 15:40:50

标签: java android honeypot

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

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

你能否就此向我提出任何帮助。

1 个答案:

答案 0 :(得分:1)

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

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

虽然不受支持,但许多人也成功使用ndk工具链构建独立的命令行可执行文件并启动它们。由于你正在处理一个自定义的android而不是一个设备,你不应该有太多的问题 - 你可以在你的独立过程中设置OOM杀手值,如果你想你甚至不需要运行android framekwork - 你可以只运行它的基础上的linux。虽然有人可能会问这个练习的重点是什么。

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

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

坦率地说,我认为这不是一个非常好的项目构想,因为你所说的是将特定平台暴露给可能没有关注它的威胁。