JAVA.NATIVE.PUBLIC

ネイティブメソッドにはラッパーを定義する

脆弱性とリスク

パブリックネイティブ操作は、意図された使用法を超えて呼び出されることがあり、セキュリティ上の脅威をもたらす可能性があります。

軽減と防止

ネイティブメソッドはパブリックにしないでください。public キーワードを削除してネイティブ操作がプライベートになるようにし、使用を検証するためにラッパーメソッドを導入してください。

脆弱コード例

コピー
package com.klocwork;

public class JAVA_NATIVE_PUBLIC_POSITIVE {
    public native void test(String args[]);
}

修正コード例

コピー
package com.klocwork;

public class JAVA_NATIVE_PUBLIC_NEGATIVE {
    native void test(String args[]);
}

外部参考資料