如题。众所周知,软件版发布软件时会要求携带在线杀毒的报告。而近日,有很多插件病毒扫描也接近成熟。比如说,https://github.com/Rikonardo/PluginScan,能够生成如附图所示的报告;而https://www.spigotmc.org/resources/spigot-anti-malware.64982/也提供了非常不错的插件反病毒功能。我个人认为,没有人能够仔细检查每一个被混淆了的插件;而我愿意相信社区的素质,但是我们也都时不时能够看到“后门晒尸”等主题。我也相信,版规不鼓励混淆插件应该也是基于安全考量;而我个人认为,软件发布版的要求提供扫描报告操作值得借鉴。
事实上,很多时候杀毒软件对Java病毒的排查都力不从心;而既然有专门针对Java插件的扫描工具,我们完全可以好好利用。
因此,我提议:插件版可以借鉴软件发布版的版规,要求发布有混淆的原创插件要求附带扫描报告。扫描工具可以是由社区决定的几个开源的、受认可的针对恶意插件扫描工具。
希望我的建议能够被采纳,感谢您的阅读。
附图:PluginScan对某后门插件的扫描报告
事实上,很多时候杀毒软件对Java病毒的排查都力不从心;而既然有专门针对Java插件的扫描工具,我们完全可以好好利用。
因此,我提议:插件版可以借鉴软件发布版的版规,要求发布有混淆的原创插件要求附带扫描报告。扫描工具可以是由社区决定的几个开源的、受认可的针对恶意插件扫描工具。
希望我的建议能够被采纳,感谢您的阅读。
附图:PluginScan对某后门插件的扫描报告

支持

软件版要求的查毒网站是直接在沙箱里运行程序看看会有什么行为,而你提供的截图只是扫描一下class里有没有风险操作,那字节码混淆应该怎么办?我用了各种反编译工具都没法拿到这类混淆的代码。
想法很好,不具有实行价值。
想法很好,不具有实行价值。
DreamVoid 发表于 2022-6-13 14:49
软件版要求的查毒网站是直接在沙箱里运行程序看看会有什么行为,而你提供的截图只是扫描一下class里有没有 ...
感谢您的回复。是这样的,我举例这个扫描会判定反射与ClassLoader为风险行为。并且也能对反射内容进行一定的分析。举例而言,我混淆一个后门插件后扫描结果如图所示:

而也有不少其他扫描工具也能进行相似的判定。
huzpsb 发表于 2022-6-13 15:17
感谢您的回复。是这样的,我举例这个扫描会判定反射与ClassLoader为风险行为。并且也能对反射内容进行一定 ...
你没看懂我说的,我说的是字节码混淆无法反编译的
使用IDEA反编译
使用jadx反编译
DreamVoid 发表于 2022-6-13 15:44
你没看懂我说的,我说的是字节码混淆无法反编译的
使用IDEA反编译
要做的又不是还原代码,只是扫描行为,参考各类PC沙箱
DreamVoid 发表于 2022-6-13 15:44
你没看懂我说的,我说的是字节码混淆无法反编译的
使用IDEA反编译
抱歉。不过这更不是问题。事实上,目前我还没看到基于反编译的后门检测呢。无论是我举例用的网页还是我见到的其他类似工具都是字节码检测的呢~
比如说后门

但是检测结果仍然是

本帖最后由 DreamVoid 于 2022-6-13 19:13 编辑
然而我扫描了一下之前提到的那个插件,被混淆的两个类和十几个没混淆的类混在一起,High部分全是HikariCP的库,真正有问题的都扫不出来,你怎么保证这东西误报率在接受的范围内,插件开发者只想保护自己的代码不被随意窃取而已
huzpsb 发表于 2022-6-13 15:54
抱歉。不过这更不是问题。事实上,目前我还没看到基于反编译的后门检测呢。无论是我举例用的网页还是我见 ...
然而我扫描了一下之前提到的那个插件,被混淆的两个类和十几个没混淆的类混在一起,High部分全是HikariCP的库,真正有问题的都扫不出来,你怎么保证这东西误报率在接受的范围内,插件开发者只想保护自己的代码不被随意窃取而已

DreamVoid 发表于 2022-6-13 19:08
然而我扫描了一下之前提到的那个插件,被混淆的两个类和十几个没混淆的类混在一起,High部分全是HikariCP ...
您说的当然有一定道理。但是我还认为,事情不一定要争绝对。
所以我建议参考软件发布区,不以判毒率高低作唯一论,而是允许用户自行选择。
就像易语言,您看,易语言被杀软误判能有您说的utils类在这里的误判率高吗?您可以试着去virustotal/virscan上传一个易语言的空白程序,和花代码级别为2的黑月程序,您会发现的。
因此,这是为了不妨碍用户的自行判断。我当然不会建议不允许发布high的插件;但是我认为软件发布版的要求贴出报告共用户查阅是完全值得借鉴的。
您看,毕竟,所有的工具都只是参考,最终的目的是方便用户选择,不是吗?
已有相关的计划了的,但优先级较低