EN JP CN

DISA STIG バージョン 4 の ID とKlocwork Java チェッカーのマッピング

DISA STIG バージョン 4 の ID とKlocwork Java チェッカーのマッピング

この記事では、DISA Security Technical Implementation Guide バージョン 4 の ID と Klocwork Java チェッカーのマッピングを示します。DISA STIG の詳細については、STIG Web サイトを参照してください。

DISA STIG ID Java チェッカーコードと説明
APSC-DV-000060

SV.DOS.TMPFILEDEL  JVM のライフタイムの間一時ファイルが存続します

SV.DOS.TMPFILEEXIT  一時ファイルが存続します

APSC-DV-000160

SV.HASH.NO_SALT  ソルトなしの一方向性暗号化ハッシュの使用

SV.SENSITIVE.DATA  暗号化されていない機密データが書き込まれます

SV.SENSITIVE.OBJ  暗号化されていない機密データを持つオブジェクトが保存されます

SV.WEAK.CRYPT  破られたまたは危険な暗号化アルゴリズムの使用

APSC-DV-000170

SV.HASH.NO_SALT  ソルトなしの一方向性暗号化ハッシュの使用

SV.SENSITIVE.DATA  暗号化されていない機密データが書き込まれます

SV.SENSITIVE.OBJ  暗号化されていない機密データを持つオブジェクトが保存されます

SV.WEAK.CRYPT  破られたまたは危険な暗号化アルゴリズムの使用

APSC-DV-000460

SV.PASSWD.HC.EMPTY  空のパスワード

APSC-DV-000480

SV.EXPOSE.FIELD  static フィールドは悪意のあるコードによって変更される可能性があります

SV.EXPOSE.FIN  finalize() メソッドは、public ではなく protected アクセス修飾子を使用する必要があります

SV.EXPOSE.IFIELD  インスタンス フィールドは final にする必要があります

SV.EXPOSE.MUTABLEFIELD  static mutable フィールドは悪意のあるコードによってアクセスされる可能性があります

SV.EXPOSE.RET  内部表現が露出される可能性があります

SV.EXPOSE.STORE  メソッドが mutable オブジェクトへの参照を保存しています

APSC-DV-000650

SV.LOG_FORGING  ログの偽造

APSC-DV-001290

SV.LOG_FORGING  ログの偽造

APSC-DV-001460

SV.EMAIL  未チェックの電子メール

UMC.SYSERR  System.err メソッドの呼び出しを使用したデバッグ プリントは好ましくありません

UMC.SYSOUT  System.out メソッドの呼び出しを使用したデバッグ プリントは好ましくありません

APSC-DV-001680

SV.PASSWD.HC.EMPTY  空のパスワード

APSC-DV-001740

SV.PASSWD.PLAIN  プレーンテキストのパスワード

APSC-DV-001750

SV.PASSWD.PLAIN  プレーンテキストのパスワード

APSC-DV-001810

SV.ECV  クラスローダが直接使用されています

APSC-DV-001850

SV.PASSWD.PLAIN  プレーンテキストのパスワード

APSC-DV-001860

SV.HASH.NO_SALT  ソルトなしの一方向性暗号化ハッシュの使用

SV.SENSITIVE.DATA  暗号化されていない機密データが書き込まれます

SV.SENSITIVE.OBJ  暗号化されていない機密データを持つオブジェクトが保存されます

SV.WEAK.CRYPT  破られたまたは危険な暗号化アルゴリズムの使用

APSC-DV-001995

JD.NEXT  'NoSuchElementException' の可能性があります

JD.SYNC.IN  一貫性のない同期化

SV.SHARED.VAR  サーブレットから static 変数への非同期アクセス

SV.STRUTS.STATIC  ステータス フォーム: static フィールド

SV.UMC.THREADS  好ましくない手法:スレッド管理の使用

APSC-DV-002000

RLK.NIO  NIO オブジェクトが終了時に閉じられていません

RLK.SOCK  ソケットが終了時に閉じられていません

APSC-DV-002010

SV.HASH.NO_SALT  ソルトなしの一方向性暗号化ハッシュの使用

SV.SENSITIVE.DATA  暗号化されていない機密データが書き込まれます

SV.SENSITIVE.OBJ  暗号化されていない機密データを持つオブジェクトが保存されます

SV.WEAK.CRYPT  破られたまたは危険な暗号化アルゴリズムの使用

APSC-DV-002040

SV.HASH.NO_SALT  ソルトなしの一方向性暗号化ハッシュの使用

SV.SENSITIVE.DATA  暗号化されていない機密データが書き込まれます

SV.SENSITIVE.OBJ  暗号化されていない機密データを持つオブジェクトが保存されます

SV.WEAK.CRYPT  破られたまたは危険な暗号化アルゴリズムの使用

APSC-DV-002290

SV.RANDOM  安全ではない乱数ジェネレータの使用

APSC-DV-002350

SV.HASH.NO_SALT  ソルトなしの一方向性暗号化ハッシュの使用

SV.SENSITIVE.DATA  暗号化されていない機密データが書き込まれます

SV.SENSITIVE.OBJ  暗号化されていない機密データを持つオブジェクトが保存されます

SV.WEAK.CRYPT  破られたまたは危険な暗号化アルゴリズムの使用

APSC-DV-002360

SV.CLEXT.POLICY  クラスが 'java.security.Policy' を拡張しています

SV.USE.POLICY  Policy のメソッドが直接使用されています

APSC-DV-002400

SV.DOS.ARRINDEX  不正なインデックスが配列アクセスに使用されています

SV.DOS.ARRSIZE  不正なサイズが配列割り当てに使用されています

SV.TAINT_NATIVE  不正データがネイティブ コードに渡されています

SV.TMPFILE  一時ファイルのパス改ざん

SV.UMC.EXIT  System.exit() および Runtime.exit() メソッドの呼び出しをサーブレット コードで使用すべきではありません

APSC-DV-002480

SV.IL.DEV  設計情報の漏洩

SV.IL.FILE  ファイル名のリーク

SV.STRBUF.CLEAN  文字列バッファが削除されていません

SV.STRUTS.NOTRESET  ステータス フォーム:リセットが整合していません

APSC-DV-002490

ANDROID.LIFECYCLE.SV.GETEXTRA  未検証の外部データ

SV.HTTP_SPLIT  HTTP 応答分割

SV.XSS.DB  クロスサイト スクリプティング (Stored XSS)

SV.XSS.REF  クロスサイト スクリプティング (Reflected XSS)

APSC-DV-002500

SV.CSRF.GET  GET リクエスト中の CSRF トークン

SV.CSRF.ORIGIN  オリジンチェックなしの要求ハンドラ

SV.CSRF.TOKEN  CSRF チェックなしの状態変更要求ハンドラ

APSC-DV-002510

SV.CLASSDEF.INJ  ランタイムクラス定義インジェクション

SV.CLASSLOADER.INJ  クラスローダー URL インジェクション

SV.CLEXT.CLLOADER  クラスが 'java.lang.ClassLoader' を拡張しています

SV.EXEC  プロセス インジェクション

SV.EXEC.DIR  プロセス インジェクション。作業ディレクトリ

SV.EXEC.ENV  プロセス インジェクション。環境変数

SV.EXEC.LOCAL  プロセス インジェクション。ローカル引数

SV.PATH  パスまたはファイル名のインジェクション

SV.PATH.INJ  ファイル インジェクション

SV.SCRIPT  スクリプトの実行

SV.SERIAL.INON  インタフェースが 'Serializable' を拡張しています

SV.SERIAL.NON  クラスが 'Serializable' を実装しています

SV.SERIAL.NOREAD  メソッド readObject() を Serializable クラスに対して定義する必要があります

SV.SERIAL.NOWRITE  メソッド writeObject() を Serializable クラスに対して定義する必要があります

SV.SERIAL.SIG  Serializable クラスのメソッド readObject() および writeObject() が正しいシグネチャを持つ必要があります

APSC-DV-002530

ANDROID.LIFECYCLE.SV.FRAGMENTINJ  未検証のフラグメント クラス名

CMP.CLASS  クラス名による比較が行われています

SV.DATA.BOUND  信頼できないデータが信頼できるストレージにリークしています

SV.DATA.DB  データ インジェクション

SV.LDAP  未検証のユーザ入力が LDAP フィルタとして使用されています

SV.STRUTS.NOTVALID  ステータス フォーム:検証が整合していません

SV.STRUTS.VALIDMET  ステータス フォーム: validate メソッド

SV.TAINT  不正データ

SV.XPATH  未検証のユーザ入力が XPath 式として使用されています

APSC-DV-002540

SV.SQL  SQL インジェクション

SV.SQL.DBSOURCE  未検証のデータベースからの情報がSQL文に使用されています

APSC-DV-002560

ANDROID.LIFECYCLE.SV.FRAGMENTINJ  未検証のフラグメント クラス名

CMP.CLASS  クラス名による比較が行われています

SV.DATA.BOUND  信頼できないデータが信頼できるストレージにリークしています

SV.DATA.DB  データ インジェクション

SV.LDAP  未検証のユーザ入力が LDAP フィルタとして使用されています

SV.STRUTS.NOTVALID  ステータス フォーム:検証が整合していません

SV.STRUTS.VALIDMET  ステータス フォーム: validate メソッド

SV.TAINT  不正データ

SV.XPATH  未検証のユーザ入力が XPath 式として使用されています

APSC-DV-002590

SV.INT_OVF  不正データが整数オーバーフローを引き起こす可能性があります

APSC-DV-002950

JD.INF.AREC  見かけ上の無限再帰

JD.LOCK  取得したロックを解放していません

JD.LOCK.NOTIFY  ロックが保持された状態で 'notify' メソッドが呼び出されています

JD.LOCK.SLEEP  ロックが保持された状態で 'sleep' メソッドが呼び出されています

JD.LOCK.WAIT  ロックが保持された状態で 'wait' メソッドが呼び出されています

APSC-DV-003100

SV.HASH.NO_SALT  ソルトなしの一方向性暗号化ハッシュの使用

SV.SENSITIVE.DATA  暗号化されていない機密データが書き込まれます

SV.SENSITIVE.OBJ  暗号化されていない機密データを持つオブジェクトが保存されます

SV.WEAK.CRYPT  破られたまたは危険な暗号化アルゴリズムの使用

APSC-DV-003110

SV.PASSWD.HC  ハードコードされたパスワード

APSC-DV-003215

JD.THREAD.RUN  'Thread.run' メソッドが明示的に呼び出されています

JD.UMC.FINALIZE  'Object.finalize' メソッドが明示的に呼び出されています

JD.UMC.RUNFIN  runFinalizersOnExit() が呼び出されています

MNA.CAP  メソッド名は大文字以外で始まる必要があります

MNA.CNS  メソッド名がコンストラクタ名と同じですが、コンストラクタではありません

MNA.SUS  疑わしいメソッド名

APSC-DV-003235

ECC.EMPTY  Catch 節が空です

EXC.BROADTHROWS  過度に広範な範囲に対応するメソッドが宣言をスローしています

JD.CATCH  ランタイム例外のキャッチ

JD.UNCAUGHT  例外がキャッチされていません

RI.IGNOREDCALL  immutable オブジェクトに対して呼び出されたメソッドから返された値が無視されています

RI.IGNOREDNEW  新規に作成されたオブジェクトが無視されています

RR.IGNORED  戻り値が無視されています

APSC-DV-003280

SV.PASSWD.HC  ハードコードされたパスワード

APSC-DV-003320

SV.DOS.ARRINDEX  不正なインデックスが配列アクセスに使用されています

SV.DOS.ARRSIZE  不正なサイズが配列割り当てに使用されています

SV.TAINT_NATIVE  不正データがネイティブ コードに渡されています

SV.TMPFILE  一時ファイルのパス改ざん

SV.UMC.EXIT  System.exit() および Runtime.exit() メソッドの呼び出しをサーブレット コードで使用すべきではありません