ITセキュリティ女子のブログ

  • 脆弱性管理
2021.12.22

Log4Shellとは?最悪レベルの脆弱性に学ぶ脆弱性管理のメリット

Log4Shellとは?最悪レベルの脆弱性に学ぶ脆弱性管理のメリット

みなさんこんにちは。長谷川まりです。

Javaのライブラリ、Apache Log4j(アパッチ ログフォージェイ)に重大な脆弱性が発見されました。12月13日にIPAからも注意喚起が行われておりますが、脆弱性の重大度を示すCVSSスコアが10点中10点と最高レベルとなっており、対応に追われている方も多いかと思います。今回は、この脆弱性がどのようなものなのかをおさらいしながら、ツールを使った脆弱性管理のメリットをご紹介します。
IPA:Apache Log4j の脆弱性対策について(CVE-2021-44228)

Apache Log4jとは

Apache Log4jとは、Logという名の通り、ログを記録するためのパーツの1つとして使われているJavaベースのライブラリです。利用範囲は広く、個人も使うオンラインゲームから企業の業務用ソフトウェア、クラウドのサービスなど、世界中で利用されています。導入方法は様々であり、インストールする以外にも、ファイルをダウンロードして保存しておいて、Javaから呼び出すといった使い方が可能なため、システム管理者にとってはサーバの中にあるのかないのか、どのソフトウェアやサービスで使われているのかが分かりにくいのが特徴です。

Apache Log4jの脆弱性、Log4Shellとは

今回、このApache Log4jに、深刻な脆弱性が見つかりました。対象となるバージョンは、Apache Log4j 2.0以上、2.15.0-rc1 およびそれ以前で、「Log4Shell」「CVE-2021-44228」とも呼称されます。共通脆弱性評価システム(CVSS)での評価が「10」と最高値となっているこの脆弱性は、「JNDI Lookup」という機能に含まれています。この機能では、書き込んだログの一部を実行してしまうため、攻撃者は特定の文字列をログに残させるだけで簡単に攻撃が可能です。例えば、攻撃者があらかじめファイルをダウンロードできるサーバにマルウェアを置いておき、そのURLをログに記録させてマルウェアをインストールさせるという攻撃が先週は盛んに行われていました。この脆弱性を悪用すれば、例えばパスワードや顧客情報をメールで送らせたり、サーバのバックアップデータをまるごとアップロードさせて機密情報を窃取したり、ということができてしまう恐れがあります。

この脆弱性を悪用する攻撃コードも、既に公開されていて、実際に国内でも悪用が確認されているようです。内閣サイバーセキュリティセンターなども対策を呼びかけていますが、基本的に、インターネット経由で誰でも実行できてしまう恐れがあるので、対処を急ぐ必要があります。

対処方法

log4jを最新バージョンに上げます。上げられない時には「ログ中の文字列を実行する」という機能を無効にするという手もありますが、個別にlog4jのバージョンや設定を変更した場合、サポート対象外となってしまうケースもあるため、製品やサービスを提供しているベンダーの指示に従う必要があります。

対処を阻む課題

今回、この脆弱性が見つかったことで、アシストのソフトウェアのサポートセンターに、導入済みのソフトウェアにこれが使われているのかどうか、お客様から大変多くのお問い合わせをいただきました。

お客様には影響の有無や対応策、または各ソフトウェアの開発元からの情報 公開とともに、個別に対応をさせていただきながら、脆弱性に対処するための手間がかかっていることを伺っています。Log4jが、非常に多くのシステムで使われていて、かつ見つけにくいことから、サーバのフォルダを調べたり、各部門にヒアリングをし、どのサーバに存在するのかを調べる必要があるとのお話でした。

ツールを使う脆弱性管理のメリット

Log4Shellだけでなく、重大な脆弱性はこれからも必ず見つかることが考えられます。どのシステムに重大な脆弱性があるのかをいち早く知ることができ、効率的に対処するには、やはりツールを使うことをお奨めします。

重大な脆弱性は、ご存じの通り、日々たくさん見つかっています。今回のLog4Shellでは、CVSS値は10とされていますが、7.0以上と比較的高い値に絞っても、脆弱性の全体数の通常5割から6割の脆弱性が該当してしまいます。このため日々の運用では、その中でも重大な脆弱性がどれなのかを決めていく、優先度の絞り方がポイントとなります。

対処の優先度を決める絶対的な基準としては、CVSS値(基本値)だけでは不十分と言えます。CVSS値(基本値)は重大度を示すものではありますが、算出の設計上、攻撃者にとっての攻撃のしやすさといった実情が加味されていないためです。さらに、CVSS現状値というのもありますが、こちらは攻撃される可能性が考慮されつつも、基本値を超えない設計になっていたり、基本的に自分で早見表を見て計算する必要がある、使いにくいことが考慮点です。

そこで、アシストでは脆弱性の優先度を多くのリサーチャーの知見や独自のAIを用いて判定する「Tenable 」をご紹介しています。Tenableでは、脆弱性が悪用された場合に発生する機密性、完全性、可用性への影響に加え、脆弱性に対する脅威の可能性について、公開された実証研究やソーシャルメディアでの報告、エクスプロイトキット、フレームワークでのエクスプロイトコードのリリース、ダークウェブでの悪用に関するコメント、ハッカーフォーラム、マルウェアハッシュの悪用の確認、といった情報から加味し、優先度を評価します。アシストでもこの判定について実際に検証(ブログ「脆弱性管理のススメ(3)優先度を決める基準のベストプラクティス 」)し、妥当性のある結果を得られたと考えています。

さらに、今回のLog4Shellについても、Tenable社はいち早くLog4Shell専用のテンプレートをリリースし、企業内のどこにLog4Shellの脆弱性が存在するのかを確認することを可能にしています。精度の高い脆弱性の検知と優先度付けにより、効率的な脆弱性管理に貢献します。

まとめ

以上のように、Log4Shellについてのおさらいと対処方法、その課題と脆弱性管理の課題までをご紹介しました。

・Apache Log4jはログを記録するためのJavaベースのライブラリ
・Log4jの脆弱性、Log4Shellは、インターネット経由で誰でも悪意のあるコードを仕込まれてしまう恐れがある
・多くのシステムで使われているほか、見つけるのに手間がかかることから、対処までに時間と手間がかかってしまう
・脆弱性管理は膨大なので、運用を効率的に行うには、優先順位付けがポイント
・CVSS値など、公開されている値では絶対的な優先順位の基準にはなりにくいため、ツールを使うことがお奨め
・アシストでは、脆弱性の重要度の判定に独自の基準を用いた「Tenable」をご紹介

このほか、外部からの攻撃に対しては様々な防御手段が考えられます。例えば会社のPCからインターネット閲覧時にも、悪意あるサイトに誘導されて、知らないうちにPCにコードがダウンロードされた後にC&Cサーバと通信して遠隔操作されることがあります。これにはVPN接続強制(秘文 )やインターネット分離(Ericom Shield )など、安全なインターネット接続手段を再考する必要があります。また、マルウェア感染を防ぐために、次世代アンチウイルス製品(BlackBerry Protect )の導入を検討するなども1つです。脆弱性管理、外部からの攻撃対策については、アシストにお気軽にご相談ください。

Log4jの脆弱性と各社の課題、その対応方法について1枚でわかる、リーフレット資料をどなたでもダウンロードしていただけます。
この機会に是非ご覧ください。


長谷川 まり

株式会社アシストに入社以来十数年、セキュリティ対策製品担当として活動中。

売れない小説家だった祖父の影響で、文章を書くことが好き。
「役に立つ人間になる」をモットーに、日々真面目で丁寧な仕事を心がけている。

関連している記事

  • 脆弱性管理
2021.12.01

脆弱性管理のススメ(3)優先度を決める基準のベストプラクティス

CVSS値という脆弱性の重大度を表す数字と、攻撃者にとっての脆弱性の「利用しやすさ」を加味した「CVSS現状値」という指標をご紹介し、脆弱性管理の優先度のつけ方のベストプラクティスを探ります。

  • 脆弱性管理
2021.10.08

脆弱性管理のススメ(2) 攻撃者が「利用しやすい」脆弱性とは?

サイバー攻撃者は必ずしも「重大な」脆弱性ばかりを狙うわけではなく「利用しやすいかどうか」を重視しています。 そこでシリーズ2回目は「攻撃者が利用しやすい」脆弱性とは何なのかご紹介します。

  • 脆弱性管理
2021.08.27

脆弱性管理のススメ(1)

近年、様々な脆弱性を突いて社内ネットワークに侵入したりランサムウェアに感染させたり、といった手口のサイバー攻撃が増えています。 このような被害を受けないようにするための「脆弱性管理」についてご紹介するシリーズ第1回です。

プロフィール


長谷川まり
セキュリティ製品を担当。お客様からの信頼も厚い、お姉さん的存在。

ページの先頭へ戻る