• 会員限定
  • 2022/01/12 掲載

Log4jが突きつけた認めたくない現実、「あらゆる脆弱性の排除はできない」

  • icon-mail
  • icon-print
  • icon-hatena
  • icon-line
  • icon-close-snsbtns
会員になると、いいね!でマイページに保存できます。
セキュリティ界隈のみならず、久々にNHKニュースや一般紙にもとりあげられた「Apache Log4j」の脆弱性。Heartbleedやシェルショックにも匹敵する最悪の脆弱性とも言われている。技術視点でみてもまさにそのとおりなのだが、問題の本質はそこだけではない。枯れたシステムに潜む脆弱性はインパクトが大きい傾向がある。それはなぜか? そして、我々はソフトウェアのバグや脆弱性について本当に理解しているのか? 改めて考えてみたい。
photo
Log4jは何が問題だったのか? 忘れたころにやってくる「深刻な脆弱性」への対処法
(Photo/Getty Images)

Log4jの表面的な背景問題

 汎用性が高いプログラミング言語として未だ高い人気を誇り、いまや社会インフラのように浸透し、世界中に偏在するJava。このJavaで書かれたログ出力ライブラリ「Apache Log4j」(以下、Log4j)に、脆弱性が潜んでいた。

 この脆弱性を突けば、攻撃者は簡単にサーバで任意のプログラムを実行させることができきる。WebサーバにApacheを使い、バックエンド処理にJavaを使っているシステムは、この脆弱性の対象となり得る。つまり、業務システムや企業ホームページ、ECサイトのほとんどが候補になるということだ。

 とはいえ、すでにパッチも公開され、IPA(情報処理推進機構)やJPCERT コーディネーションセンターのサイトを見れば、脆弱性の発見方法や対策方法も調べることができる。自社に適切なCSIRT体制や専任のセキュリティ担当者がいれば、脆弱性の有無や対策方法もわかる。だが、セキュリティ担当者がいるからといって、システムのパッチや対策が問題なくできるかどうかは別の話だ。

 このことも、Log4jの問題をややこしくしている。業務特化したシステムはOS、ミドルウェア、ライブラリの変更、セキュリティパッチの適用は簡単ではない。また、古いシステムで誰も(開発ベンダーでさえ)内容を把握できていないシステムが存在する。適切なIT管理者、セキュリティ担当者がいないこと(中小企業の多くが当てはまるだろう)も珍しくない。これらは、セキュリティパッチが公開されても攻撃が有効なため、攻撃者の格好の餌食となる。

なぜHeartbleedやシェルショックの再来と言われるのか

 大きな問題になったのは、影響範囲の大きさに加え、攻撃が比較的簡単で実際に攻撃トラフィックも確認されているからだ。脆弱性の種類は「任意コードの実行」で、すでにランサムウェアを実行させようとする攻撃も確認されている。

 攻撃者は偽のLDAPサーバ(ディレクトリサービスを行うサーバ)を立て、攻撃コードを仕込んでおく。後はLog4jの脆弱性のあるサーバに攻撃サーバを呼び出すリクエストを送ればよい。もともとは、どんなプログラム(スレッド)のログかを判別するのに、固定のコードより判別の拡張性を持たせるために外部コードを呼び出せるようにする機能を悪用するのだ。

画像
この脆弱性を利用して、ランサムウェアを実行しようとする攻撃もすでに確認されている
(Photo/Getty Images)

 Log4jが抱える問題は、技術的な深刻度だけではない。シェルショック(Linux・UNIX操作に必須の基本UIであるbashに発見された任意コード実行の脆弱性)やHeartbleed(暗号化通信やサーバ証明書の処理に必要なSSLプロトコルに潜んでいた脆弱性。鍵情報が盗まれる)の再来、いやそれ以上だ、といわれるのは、古くから存在するソフトウェアやシステム、あるいはプロトコルに潜んでいた脆弱性だからだ。

 オープンソースソフトウェアであるApacheは、その原型(httpdというプログラム)を1995年までさかのぼることができる。Apacheプロジェクトの1つであるLog4jの脆弱性(CVE-2021-44228、CVE-2021-45046)の外部コード呼び出し機能は、一説には2013年に実装されたという。

 ApacheはASFという財団がプロジェクトを管理し、メンテナンスも行っている。枯れた技術である非常に安定したソフトウェアの1つだが、周辺プロジェクトにも、今回のような致命的な脆弱性がいまだに潜んでいたという事実に人々は驚かされた。

【次ページ】脆弱性がなくならない理由
関連タグ タグをフォローすると最新情報が表示されます
あなたの投稿

    PR

    PR

    PR

処理に失敗しました

人気のタグ

投稿したコメントを
削除しますか?

あなたの投稿コメント編集

機能制限のお知らせ

現在、コメントの違反報告があったため一部機能が利用できなくなっています。

そのため、この機能はご利用いただけません。
詳しくはこちらにお問い合わせください。

通報

このコメントについて、
問題の詳細をお知らせください。

ビジネス+ITルール違反についてはこちらをご覧ください。

通報

報告が完了しました

コメントを投稿することにより自身の基本情報
本メディアサイトに公開されます

必要な会員情報が不足しています。

必要な会員情報をすべてご登録いただくまでは、以下のサービスがご利用いただけません。

  • 記事閲覧数の制限なし

  • [お気に入り]ボタンでの記事取り置き

  • タグフォロー

  • おすすめコンテンツの表示

詳細情報を入力して
会員限定機能を使いこなしましょう!

詳細はこちら 詳細情報の入力へ進む
報告が完了しました

」さんのブロックを解除しますか?

ブロックを解除するとお互いにフォローすることができるようになります。

ブロック

さんはあなたをフォローしたりあなたのコメントにいいねできなくなります。また、さんからの通知は表示されなくなります。

さんをブロックしますか?

ブロック

ブロックが完了しました

ブロック解除

ブロック解除が完了しました

機能制限のお知らせ

現在、コメントの違反報告があったため一部機能が利用できなくなっています。

そのため、この機能はご利用いただけません。
詳しくはこちらにお問い合わせください。

ユーザーをフォローすることにより自身の基本情報
お相手に公開されます