例に解説していきます。使用状況データが追加されます。起動するたびに、新しい追跡情報がファイル末尾に付け加えられます。プロパティファイルで設定された区切り文字(この例ではカンマ「,」)によって値が区切られていることが分かります。ユーザが指定することのできる以下のプロパティが存在します。内の任意のパスを指定することが可能です。内の任意のパスにファイルを作成することが可能です。ように「.log」以外の拡張子を持ったログファイルの作成も可能です。ユーザが操作することのできないデータを使用して値を書き込むため、通常はファイルの内容を操作することはできません。ユーザが設定したカスタムプロパティの値を取得する機能を備えており、この機能を利用することでログファイルに任意の値を追加することが可能です。「additionalProperties」プロパティにカスタムプロパティを設定するコードです。追加したカスタムプロパティの値が「com.anotherInterestingProperty=null」のように記録されています。値が「null」ということは、このプロパティが存在していないことを意味します。つについて、任意の値を設定することが可能です。これだけでは攻撃に利用できるようには思われないかもしれませんが、その他のセキュリティ欠陥と組み合わせて利用することにより脆弱性攻撃が可能になります。■カスタムプロパティを悪用する仕組みカスタムプロパティを悪用する方法について解説していきます。作成するようにします。null」とあることから、このカスタムプロパティの値が「null」であることが分かります。recognized」というエラーメッセージが表示されています。行になっていることに起因します。ように、区切り文字として改行「\n」を指定してみます。ように複数行の追跡ログが生成されます。null」を確認することができます。null」も実行されますが、ダブルクォーテーション「"」で囲まれているためコマンドとして認識されません。“」のように指定されています。ように、「com.oracle.usagetracker.quote」プロパティに空文字列を指定してみましょう。利用することにより以下のような活動が可能になっています。前述のような活動を実行するためには、以下の条件を満たしている必要があります。重要フォルダへのアクセス権限を持ったプロセスの利用が可能これらの条件はどちらも実現可能です。ようなプロセスによって作成可能です。ログファイルを読み込むようになります。例に解説していきます。ようなログファイルが作成されます。作成することが可能です。作成することが可能である必要があります。「%ProgramData%\Oracle\Java\」です。インストール時に作成されます。コマンドを実行した結果として作成することも可能です。「%ProgramData%」のパーミッション設定は、初期設定で「Users」グループのユーザに書き込み権限が与えられています。ように、配下に作成されるフォルダ「Oracle/Java」にも初期設定のパーミッションが引き継がれます。「%ProgramData%\Oracle\Java\」に作成することが可能です。内の任意のパスにバッチファイルを作成することが可能です。このバッチファイルを通して、スタートアップフォルダのようなパスに不正なファイルを作成するコマンドを実行することも可能です。攻撃者にこのJUTの脆弱性が悪用されるシナリオとしては、侵入した環境で上位の権限を必要とする操作を実行する攻撃が考えられます。同様の脆弱性が存在する可能性はあります。侵入した攻撃者に悪用されないよう、使用しているJavaのバージョンを確認し、アップデートすることを忘れないようにしてください。本記事で解説した攻撃手法は、以下のような一連の脆弱性を組み合わせたものです。マルウェアを検知し、ブロックすることによって、強固な保護を提供します。