Klocwork Java チェッカーにマッピングされた DISA STIG バージョン 4 の ID

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

ガイドライン チェッカー名および説明
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-002030

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() メソッドの呼び出しをサーブレット コードで使用すべきではありません

サポートのサマリー:

  • 38 個の検出