首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用java写恶意软件?

问用java写恶意软件?
EN

Security用户
提问于 2013-01-08 16:27:58
回答 4查看 22K关注 0票数 6

在我看来,恶意软件似乎永远无法用java编写。那些教我java的人说它是“安全的”,不允许像c,c++那样的“低级别访问”。

但是,我发现这是可以做到的- http://blog.trendmicro.com/trendlabs-security-intelligence/jacksbot-has-some-dirty-tricks-up-its-sleeves/

关于同一件事的笔记- http://www.darknet.org.uk/2011/01/java-based-cross-platform-malware-trojan-maclinuxwindows/

下面是我的问题--我们是否可以使用java来执行c,c++所能做的所有“恶意软件所需的坏事情/任务”?

如果是这样的话,那么我们可以说java也有利于恶意软件的编写吗?毕竟,大多数罪犯都希望他们的恶意软件是多平台的。

EN

回答 4

Security用户

回答已采纳

发布于 2013-01-08 17:55:27

Java代码可以通过标准接口调用本机代码(例如用C编写的代码,并编译成一系列CPU操作代码)。Java实际上可以在某个地方(作为一堆字节)编写一个DLL文件并加载它,所以所有本机代码都可以这样做,Java也可以。

Java还提供了一个丰富的标准库,允许它以任意方式读写文件。

基于Java的恶意软件的硬件部分是:

  1. 需要一个Java。在许多现代操作系统中,默认情况下不安装Java。
  2. Java倾向于对Java小程序进行沙箱化。要运行本机代码或访问任意文件,Java applet必须请求许可,这需要数字签名和证书,这些数字签名和证书可以追溯到犯罪者。或者,必须利用特定的沙箱逃逸漏洞;这样的bug是定期发现的,但它们也具有值得称赞的敏捷性。
  3. 现有的Java实现是fat的。它们是为使用大量RAM的大型应用程序而优化的,因此任何Java代码都有很大的最小内存占用。恶意软件通常倾向于不引人注意。
  4. Java实现附带了广泛的调试工具,这些工具允许插入正在运行的VM并检查其中发生的情况。这可能有助于清除基于Java的恶意软件感染。

这就是为什么Java不会被恶意软件编写者视为最好的语言的原因。而且,即使Java名义上是可移植的,跨平台恶意软件也是一个难以捉摸的目标,因为恶意软件往往在相当低的级别--即非常特定于操作系统的级别--执行任务。在类似Unix的系统上修改/etc/passwd文件是一件非常顽皮的事情;但是它对没有/etc/passwd文件的Windows没有任何影响。因此,恶意软件作者几乎没有使用Java的动机。

(所有这些都适用于在C#/.NET +SilverLight中编写恶意软件的问题。)

票数 10
EN

Security用户

发布于 2013-01-08 17:21:14

恶意软件有很多形状和大小,这个问题很难回答。用Java编写恶意软件就像用Java一样容易;

代码语言:javascript
复制
(new File("/path/to/important/file")).delete();

我可以编写一个窃取您的数据的java应用程序吗?很容易。我可以用Java编写Linux rootkit吗?几乎可以肯定不是,但这并不能阻止我使用JVM运行的任何权限所能做的所有事情。

因此,从这个意义上说,你可以用Java编写恶意软件,但是如果你用C这样的系统语言编写,你会受到更大的限制;用Java编写键盘记录器比用C编写要困难得多,而且很可能不可能很好地隐藏它。

票数 6
EN

Security用户

发布于 2013-01-08 16:47:08

当您听说java更安全时,您可能误解了它的含义。它们是否意味着您的应用程序更安全,或者恶意软件不能用这种语言编写?

过去,在java中发现了许多漏洞(自修补后),这些漏洞允许java程序未经用户同意执行恶意代码。这通常通过applet实现,因为许多浏览器都启用了java。

请参阅CVE数据库,在此您可能会发现以前存在的一些java漏洞。

然而,也许这些人意味着您的应用程序可以编写得更安全,不受黑客攻击。从这个意义上讲,这在一定程度上是真的。例如,java应用程序(通常)无法通过缓冲区溢出攻击利用,因为堆栈是由jvm管理的。我认为这就是当您被告知java更安全时的意思。

这里是关于为什么java编程可能是安全的更多信息。

票数 4
EN
页面原文内容由Security提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://security.stackexchange.com/questions/26696

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档