検索
  • parongo

log4j あれこれ - 弊社取り扱い製品で色々やってみた

log4j の脆弱性 CVE-2021-44228 が世間を騒がせておりますが、今回は

1. Verizon NDR での検知例

2. Automox を使った log4j が存在するデバイスのリストアップ

について説明します。



1. Verizon NDR での検知例について


弊社が観測している範囲では 12/11 3am 過ぎあたりから log4j の脆弱性を攻撃してくるアプローチが出てきました。

このスクリーンショットは Verizon NDR 上で log4j への攻撃を検知した例になります。

外部からの攻撃が http proxy サーバを経て web server に届いていることがわかります。



Verizon NDR はパケットをキャプチャし再構成することが可能ですのでトランザクションの様子を可視化することができます。実際にどういうコードを投げられたか、そして web server 側がどう反応したかといったところが一目でわかりますね。



さらに別のトランザクションも見てみましょう。上の例ではシンプルに $jndi:ldap:// という記述が User-Agent ヘッダに適用されていましたが、下の例では攻撃者側の「工夫」が見て取れます。

GET パラメータとしての記述に加え、User-Agent ヘッダおよび Referer ヘッダ には検知を回避しようとする試みが見られます。






2. Automox を使った log4j 脆弱性対象バージョンを持つデバイスのリストアップについて


Automox はサイバーハイジーンソリューションであり、PC やサーバ内のパッケージとそのバージョンをリスト化し、CVE 等の脆弱性情報と突き合わせてくれます。

しかしながら log4j は jar ファイルであり、対象を調べるには一工夫必要です。


Automox には Worklet という機能があります。Worklet は、登録したスクリプトを管理対象となっている PC やサーバ上で実行させる仕組みです。これを使って、

a. log4j-core*.jar ファイルを管理対象マシン内で検索

b. 結果を管理コンソールに表示

という作業を行ってみましょう。


今回は以下のような簡単なスクリプトを作り log4j の jar ファイルのパス等を取得します。

このスクリプトに、さらに対象バージョンを絞り込む条件を追加したり、あるいはアップデートさせるような処理を追加することも可能ですが、ひとまず表示できるかどうかをやってみました。


#!/bin/bash
TEMP_DIR="/tmp"
TEMP_FILE="${TEMP_DIR}/log4j-pkgs-$$.txt"
TARGET_DIR="/"
JAR=`which jar`

nice -n 20 find ${TARGET_DIR} -name log4j-core*.jar > ${TEMP_FILE}

PKGS=`cat ${TEMP_FILE} | wc -l`

if [ ${PKGS} -gt 0 ]; then
    echo "Log4j jar file(s) found. "

    cd ${TEMP_DIR}
    for f in `cat ${TEMP_FILE}`
    do
        echo $f
        if [ "${JAR}" -a -x ${JAR} ]; then
            ${JAR} xvf $f META-INF/MANIFEST.MF > /dev/null
            grep "Log4jReleaseVersion"  META-INF/MANIFEST.MF
            echo
            rm META-INF/MANIFEST.MF
        fi
    done
else
    echo "no Log4j files."
fi

rm ${TEMP_FILE}

exit 0

この Worklet を動作させた結果が下のスクリーンショットです。

うまく表示されていることがわかります。



この例では 2 台要対応なデバイスが見つかった形になっています。(何回か Worklet を動作させたので複数ログが表示されています。動作時間の違いにご注目いただければ。)


このように Automox をうまく使うことで、log4j の脆弱性の影響範囲、要対応なデバイスの一覧を作り出すことができます。

これにより、素早い運用対応が可能となり、結果攻撃に晒されている時間を極力小さくすることで安全・安定した運用につなげていくことができます。



我々パロンゴが取り扱っている製品はさまざまですが、どれも「省力化」「効率化」「自動化」といった要素を強く含んでおります。セキュリティ運用のオーバーヘッドを極力小さくすることがより安定した運用をもたらす、と考えているからです。

自分たちが楽になる、というのは決して悪い話ではありません。楽になった分、他のセキュリティ対応に注力でき、クオリティをより押し上げることが可能になります。

ご興味ありましたらぜひご連絡ください。リモート/オンサイト問わずデモなど対応させていただきます。


閲覧数:209回0件のコメント