Java 与Android相关的蜜罐研究

Java 与Android相关的蜜罐研究,java,android,honeypot,Java,Android,Honeypot,我将为Android智能手机实现一个蜜罐,作为我论文的一项研究。我从未使用过android、java和蜜罐。这就是我开始思考的方式。我想使用Honeyd的源代码(用C语言编写),这是Niels Provos先生设计的蜜罐。在本例中,我喜欢为java开发人员使用Eclipse3.7Indigo。但问题是,即使我将Honeyd的源代码转换为java,这些特性是否会像在Honeyd中那样工作。我还将在VMware workstation中运行android gingerbread(2.3版)ISO,并

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

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


你能给我一些帮助吗。

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

“正确的”方法是将其构建为一个库,并从dalvik(即,您用java编写的代码)应用程序进程调用它。这也使得将java ui组件用于警报机制变得容易(否则,您可以在主机上安装一个java应用程序,甚至是一些远程应用程序,用于监视蜜罐进程以获取警报)

虽然不受支持,但许多人还成功地使用ndk工具链构建了独立的命令行可执行文件并启动了这些程序。由于您使用的是定制的android而不是设备,因此不应该有太多问题-您可以在独立进程上设置OOM killer值,如果您想要,甚至不需要运行android Framework-您可以在其基础的linux上运行。尽管有人可能会问,这样做的意义何在

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

如果您试图使用java代码来实现这一点,您可能会遇到这样的限制,即没有好的方法授予根用户对java代码的访问权,因此您必须修改平台以更轻松地以根用户身份运行自定义java代码,或者修改底层linux以允许非特权代码打开特权端口


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

对于第一个应用程序来说,可能的复制似乎有点乐观。有关android应用程序的更多详细信息,请查看此处:@Femaref>>这是“为android平台实现蜜罐”的扩展版本。。。这次我提供了更多关于这项研究的细节……不,不是。以前这里也有同样的文本——我必须知道,因为我编辑了编号的列表以使其更易于理解。