我想评估一个软件解决方案,其中多个人已提交JAR文件以在Windows上执行任务。Java JAR文件可能会损坏您的系统,您如何检查它在做什么?
是否有可能检查JAR文件是否执行除声称在您的计算机上执行的任何其他不需要的行为?
我想评估一个软件解决方案,其中多个人已提交JAR文件以在Windows上执行任务。Java JAR文件可能会损坏您的系统,您如何检查它在做什么?
是否有可能检查JAR文件是否执行除声称在您的计算机上执行的任何其他不需要的行为?
尝试反编译器,像Java反编译: http://jd.benow.ca/
它反编译.jar文件,并显示出你的来源,但是请记住,它可能受版权保护:
顺便说一句,你为什么不要求他们提交源代码,而不仅仅是.jar文件?
基本上,.jar文件就像加速的zip文件,我相信即使WinRAR也能打开.jar文件。从他们的网站引述:
Java归档文件(applet和相关文件的压缩文件 )(.JAR)
简称Java归档,用于捆绑的所有组件的文件格式 需要 由一个Java小程序。 JAR文件简化了 的小程序下载,因为所有组件(.class文件,图像,声音等)可以打包成 单个文件。此外,JAR 支持数据压缩,其中 进一步减少下载时间。
JAR文件支持与ZIP 文件支持相同。 JAR = ZIP +清单。 Microsoft VM支持未压缩的 和压缩的JAR级别0和1,但 未签名的JAR。
WinRAR的提供了基本的操作,以供其他工具创建 JAR文件:鉴于 内容,提取文件,显示注释 和归档信息。
您可以使用convert函数将 转换成.rar格式的.jar文件。
您不需要有任何外部 程序来处理这些格式。
用WinRAR解压后,您可以按照this link作为JD的替代方法查看源代码。
很多人看了源文件了几十年,但炮弹休克仍时有发生。如果你看过那些代码,你能发现漏洞的根源吗?在jar文件/ java源代码中发现这样的漏洞需要什么样的教育/经验水平? – Techmag 2015-05-24 15:57:38
首先,您可以使用带有SecurityManager的JVM集来运行您的应用程序,使其可以有限地访问敏感功能。
您还可以设置一个“沙盒”,以便jar无法拥有沙箱外的权限......您可以在linux/unix环境中使用chroot或类似的工具。
1。你可以从你的Sysinternals使用的软件: http://technet.microsoft.com/en-us/sysinternals/bb842062
你可以看到的是程序的写入或删除从硬盘驱动器的东西与HardMon,或监视与RegMon的任何变化...查看他们的网站,他们有很多程序,你可以几乎监控所有事情!
2.或者你可以安装沙盘: http://www.sandboxie.com/
,然后运行你的沙箱中的程序( “虚拟文件系统”)。当你沙箱中运行一个程序,你可以看到没节目做出什么文件,最好的事情是,当它存在的任何变化,该方案确实将被取消,所以它不能损害你的系统。 :)
此外,您可以尝试反编译JAR文件: http://www.google.hr/search?sourceid=chrome&ie=UTF-8&q=java+decompiler
请注意,Sandboxie可用于x64,但它存在一些严重的安全漏洞。所以Sandboxie不是所有解决方案中的一个。 – LostInTheCode 2011-01-23 16:03:53
Yes和No.默认情况下,Java程序可以做同样的事情你的系统上的任何本地程序能做的。这包括删除和替换任何可以访问的文件,具体取决于您的操作系统和用户权限,这可能会影响系统关键文件。
有可能restrict什么Java应用程序可以做,小应用程序以及网络程序通常被固定这种方式。或者,您可以将任何程序作为不同/限制用户或沙箱运行,以限制其可以执行的损害。
如果你不信任库/程序总是在上述受限环境中的一个运行。如果它做了它不应该做的事情,它可能会崩溃,但它不会造成任何损害。
我试过solution from jensign.com,它看起来像它限制了几乎一切。我曾经测试的.jar应用程序甚至无法下载网站。然而,我不是这方面的专家,所以我不知道它是否是100%安全的解决方案。
的JAR'd应用程序能充分严格的限制条件(非常类似于Java小程序默认的安全沙箱)下启动:
java -jar -Djava.security.manager PropsFrame.jar
或许这将帮助:HTTP: //docstore.mik.ua/orelly/java-ent/security/ch01_02.htm – sinelaw 2011-01-23 15:59:07