我们目前使用LD_PRELOAD来启用信号链。我们之所以选择ldu PRELOAD,是因为我们不会强迫客户使用特定的Java供应商或版本,也不希望通过为客户可能使用的各种Java供应商/版本创建唯一的构建来使构建过程复杂化。我们最近发现,使用LD_PRELOAD被安全分析工具(如检查OWASP 2017的工具)视为代码注入风险。
是否有什么我们可能没有考虑的,以允许我们的JNI依赖的产品符合OWASP?或者是否有人知道将来是否有计划以新的或替代的方式解决此问题,以允许JNI应用程序符合OWASP?针对每个支持的JVM的构建链接可以工作,但是在5个平台上从1到9个构建(大约3个JDK供应商x 3个活动JDK版本级别)肯定会增加我们的维护和测试周期。

最佳答案

基于对OpenJDK通信的建议,我们更新了API的Java部分,以执行
System.loadlibrary(“jsig”);
在调用JNI库加载之前。这在测试时产生了预期的效果;本机代码处理了信号,Java程序成功完成。这适用于所有涉及的JDK和平台。

关于linux - JNI信号链和OWASP(安全性),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/55640427/

10-13 01:05