Javaで使われるログ出力ライブラリ”Apache Log4j”にて脆弱性が発見されました。
MinecraftやiCloud等多くの人が利用するものに影響を及ぼすため大きな話題になっています。
今回はそのLog4jにおける脆弱性についての概要と対策を解説していきます。
Log4jとは?
初心者向けに、まずLog4jについての解説をします。
正式名称”Apache Log4j”とは、Javaアプリケーションの標準的なAPIとして長年利用されているものです。
機能としてはデバッグ情報やエラー情報などをプログラム内からコンソール、ファイル、その他ログサーバ等に出力することができます。
パフォーマンスも優秀でログ出力などの処理がとても速いため世界中で広く利用されています。

広く利用されているということは広く脆弱性も存在しているので、今回の脆弱性は大きな話題を呼んでいるのです。
どういった脆弱性?
Apache Log4jにはLookupと呼ばれる機能があります。
その中のJndi Lookupが今回の脆弱性の原因となりました。
Jndi Lookup とは?
Jndi Lookupとは、ネットワーク上から値を取得し置換するものです。
どう悪用されるのか図で説明します。

超大雑把に説明するとこんな感じです。
もっと正確に知りたい方はこちらから→Log4Shell: RCE 0-day exploit found in log4j 2, a popular Java logging package | LunaSec
※注意 良い子は試そうとしないように!捕まる可能性があります。
脆弱性のあるバージョン
Apache Log4jの任意のコード実行の脆弱性(CVE-2021-44228)に関する注意喚起 (jpcert.or.jp)
12/12現在JPCERT等ではバージョン2.0から2.14.1までと言われています。
1.x系のバージョンはLookup機能が含まれていないので影響はないとされています。
しかしGitHub上の議論では、1.x系も同様の脆弱性を抱えていることが報告されているとのことで油断はできなさそうです。
もし1.x系も脆弱性があった場合、長年放置されているシステムが攻撃されるため社会に大きな影響が起きそうで怖いですね。
対策
The Apache Software Foundationから本脆弱性を修正したバージョン、Apache Log4j 2.15.0が公開されています。
可能な限り速くアップデートをするのが吉かと思います。
実例
今回の脆弱性でどのようなことが可能になってしまうのか、実例で詳しく見ていきましょう。
マイクラ
上のはJava版マインクラフトにて、サーバに入るだけでDOOMが遊べるようになっています。

もう滅茶苦茶!
基本的にマイクラは最新バージョンへアップデートすれば問題はないようです。
Important Message: Security vulnerability in Java Edition | Minecraft
Apple
iPhoneの名前をサーバのURLにしていたらそのサーバへとAppleのサーバがアクセスしているツイート。
天下のアップルもこの脆弱性を食らっているのでかなり企業で被害が起きてもおかしくないですね。
みんなの反応まとめ
任意のコードが実行可能ならlog4jの脆弱性を使ってlog4jをアップグレードできるのでは?
今回の脆弱性はマイクラに限った話じゃないからしっかり確認してくれい 。対策できない管理者はサーバー止めてくれい放っておくと被害者じゃなくて加害者になる可能性もあるよ。Web上に何か公開してる人はとりあえず疑いの目からスタートして。
「お前の会社、log4jのやつ影響あった?」って聞くタイプのソーシャルエンジニアリング。
もうLog4j関連でランサムウェア出てきてんの早いな。
log4j が動いているサーバに脆弱性を利用して侵入し、勝手にパッチを当てていってくれる正義のヒーローが待たれる。
log4j、WAFで対策してるつもりのところは簡単にかいくぐられるので気をつけて。${}の中に別の${}がネストしていたら再帰的に置換されるので、件の文字列を弾くだけではすり抜けられるよ。
まとめ
今回の脆弱性は災害クラスと言っても過言ではないですね。
世界の3分の1のwebサーバが影響を受けると言われています。
javaを使用している場合、今回の脆弱性の対象になるか迅速に確認を行いましょう!
コメント