いま改めて意識しておきたい
Apache Log4jの脆弱性対応

2021年12月、オープンソースのロギングライブラリ「Apache Log4j」に関する複数の脆弱性が見つかった。脆弱性の深刻度を示すCVSS(Common Vulnerability Scoring System)スコアが最高の「10」だったこともあり、急きょ対策に追われたIT部門の方は多かっただろう。世間を騒がせた問題だが、2022年2月時点ではメディアなどでもほぼ話題に挙がらなくなり、一段落したと思っている人もいるかもしれない。警察庁の攻撃観測状況※1からも2022年1月上旬の段階でほぼ収まっているように見える。しかし、今後この脆弱性を狙った攻撃が再度発生する可能性は残されているのだ。

脆弱性対策の必要性

 米国サイバーセキュリティ・インフラストラクチャセキュリティ庁(CISA:Cybersecurity and Infrastructure Security Agency)が公開している日常的に悪用されている脆弱性の上位項目※2を見ると、2020年に悪用された脆弱性上位12件のうち、2019年に発見されたものが5件、2018年以前に発見されたものが3件入っている。この中には、ゼロトラストセキュリティを加速させる要因の一つにもなったVPNの脆弱性もいくつか含まれている。過去に発見された脆弱性は、その対象のソフトウェア、ハードウェアが世の中に存在する限り悪用される可能性はなくならないのだ。

 2017年に話題となったオープンソースのWebアプリケーションフレームワーク「Apache Struts 2」の脆弱性の場合、脆弱性が公表された2017年3月に攻撃の第1波があり、同年10月に攻撃の第2波が来ている※3。利用ユーザーが多く影響が大きいこうした脆弱性は、中長期にわたり攻撃に利用され続ける可能性がある。Apache Log4jの脆弱性についても、2022年中に攻撃の第2波が訪れる可能性があるため、このタイミングで注意喚起をしておきたい。

Apache Log4jの脆弱性への四つの対処

 Apache Log4jの脆弱性への対処は、組織の体制や状況により、大きく以下の四つのケースに分けて考えることができる。

ケース1:外部公開サーバーに対して、脆弱性のあるApache Log4jを導入しているか調査したい

ケース2:外部公開サーバーに対して、脆弱性のあるApache Log4jを導入しているが、既存システムへの影響があるためすぐにバージョンアップや回避策を実施できない

ケース3:今後、Apache Log4jのような脆弱性発見時の脅威に備えたい

ケース4:Apache Log4jの脆弱性を攻撃するBot化した社内PCからの攻撃を防御したい

 以下に具体的な内容を説明するので、参考にしていただきたい。

ケース1:調査は既存システムに影響を与えずに短期間で実施しておきたい。このケースでは、これまでに本連載で紹介してきたCSPM(Cloud Security Posture Management)やEASM(External Attack Surface Management)が役立つだろう。少しおさらいすると、CSPMはIaaS/PaaSに対して、把握していない仮想環境、脆弱な設定、パッチ適用状況、OSやソフトウェアのサポート切れなどを可視化、分析・評価するもので、EASMは外部に公開されている攻撃対象となり得る資産を把握し、その脆弱性の診断・把握を行うものである。

 Apache Log4jの導入の有無が不明であったり、認識していない管理外サーバーの存在を否定できない状況では、資産の把握も重要だ。把握した資産に脆弱性チェックを行うことで対策の必要性を確認する。

ケース2:既存システムへの影響が少なく、導入期間が短い対策が求められる。具体的には、Apache Log4jの脆弱性に対する攻撃パターンのシグネチャを用いてブロックするIPS機能が有効だ。公開サーバーは通常、ファイアウォールやUTMで防御されていることが多く、そこでIPS機能により攻撃経路を遮断するのだ。

ケース3:新たな脆弱性が発見された場合の予防として、中長期的な対応が求められる。具体的には、Webアプリケーションに特化した対策、サーバー自身の対策、脆弱性を取り込まないための対策が考えられる。

 Webアプリケーションに特化した対策としては、WAF(Web Application Firewall)やBot検知・ブロック(人間以外からのアクセスを検知しCAPTCHA※4を表示するなど)といったWebコンテンツに対する防御策の適用がある。サーバー自身の対策としては、ホスト型IPSによる攻撃通信の遮断やEDR(Endpoint Detection and Response)による攻撃行動の検知がある。最後に、脆弱性を取り込まないための対策としては、導入しているソフトウェアとそのバージョンの管理・可視化がある。これにより、例えば開発・保守対象のソフトウェアが脆弱なバージョンのApache Log4jを取り込んでいないかのチェックが可能となる。

 このような対策を講じることで、新たな脆弱性が発見された際に慌てず対処できるようにしておきたい。

ケース4:Apache Log4jの脆弱性攻撃は、マルウェアに感染した社内PCから行われることも考えられる。社内PCにEDRが導入されていれば攻撃を行うマルウェアを検知できるかもしれないが、EDRが導入されていない場合やEDRで検知できなかった場合に備えて、サーバーと社内PCとの間にIPSを設置することも検討してほしい。

脆弱性対策は情報セキュリティの基本

 ここまでで脆弱性対策の必要性とその対処法は理解いただけたと思う。では、脆弱性対策の重要性についてはどうだろうか。独立行政法人情報処理推進機構(IPA)の「2020年度情報セキュリティの脅威に対する意識調査」報告書※5によると、“ソフトウェア製品全般に脆弱性対策が必要であることをご存知ですか”という問いに対し、情報システムおよび通信関係の業務に従事、関与している人でさえ、約2割の人が“いいえ”と答えている。

 IPAの情報セキュリティ10大脅威 2022(組織編)※6の6位「脆弱性対策情報の公開に伴う悪用増加」(2021年は10位)にもあるように、攻撃者にとっては自分で脆弱性を探して攻撃をするより、公開されている脆弱性情報と攻撃コードを入手し攻撃をするほうが、時間も労力も節約できる。こうした攻撃に備えるためにも脆弱性対策は重要なのだ。

 今後さらに、公開された脆弱性を狙った攻撃が増加すると考えられる。脆弱性対策は、情報セキュリティの基本である。Apache Log4jの脆弱性への対処で挙げた通り、いろいろな対策と併せて、脆弱性対策の必要性、重要性を再認識いただきたい。

※1 警察庁:Javaライブラリ「Apache Log4j」の脆弱性(CVE-2021-44228)を標的とした攻撃の観測について
  https://www.npa.go.jp/cyberpolice/important/2021/202112141.html

※2 CISA:Top Routinely Exploited Vulnerabilities
  https://www.cisa.gov/uscert/ncas/alerts/aa21-209a

※3 警察庁:インターネット観測結果等(平成 29 年)
  https://www.npa.go.jp/cyberpolice/detect/pdf/20180322.pdf

※4 CAPTCHA:Completely Automated Public Turing test to tell Computers and Humans Apartの略。チャレンジ/レスポンス型テストの一種で応答者がBotではないことを確認するために利用される。

※5 IPA:「2020年度情報セキュリティの脅威に対する意識調査」報告書 職業軸_脅威調査PC
  https://www.ipa.go.jp/files/000088918.pdf

※6 IPA:情報セキュリティ10大脅威 2022(組織編)
  https://www.ipa.go.jp/security/vuln/10threats2022.html

master:
早稲田大学グローバル
エデュケーションセンター
非常勤講師

日立ソリューションズ
セキュリティソリューション事業部
企画本部
セキュリティマーケティング推進部 部長
セキュリティエバンジェリスト
扇 健一 氏