マイクロソフトが解説――攻撃者は脆弱性をどのように“活用”するのか?
脆弱性を狙ったサイバー攻撃に対して、われわれは何をどのように対策すればいいのだろうか。日本マイクロソフトは、2023年3月に開催したオンラインセミナーでこの疑問に答えた。
「脆弱(ぜいじゃく)性が見つかった」との報告を受けた時、何をいつまでに対応すればいいのだろうか。
「サイバーハイジーン」(サイバー空間の衛生管理)の実現についてさまざまな角度から考察する日本マイクロソフトは、2023年3月7日に主催した「Security Forum 2023 Online」でこの疑問に答えた。
こうして組織は侵害される 脆弱性を突いたサイバー攻撃、2つのシナリオ
そもそも、脆弱性とは何だろうか。ソフトウェアやOSには、プログラムの不具合など想定しない動作を実行させる欠陥が存在する。この欠陥こそが脆弱性であり、セキュリティ機構をすり抜けた攻撃を可能とする。脆弱性情報を把握して、修正プログラムの適用や回避策を考えなくてはならない。さらに危険なのは、脆弱性が修正される前に仕掛けられる「ゼロデイ攻撃」だ。
日本マイクロソフトの垣内 由梨香氏(Security Response Team Security Program Manager)は、脆弱性を攻撃者がどのように“活用”するのかを、2つのシナリオに基づいて解説した。
1つ目のシナリオは、パブリックなネットワークに接続するVPNサーバやリモートアクセスサーバ、Webアプリケーションに対するものだ。昨今ではVPN機器の脆弱性を狙った攻撃が増え、被害事例も多く報告されている。
攻撃者はどうやってVPNサーバを探すのだろうか。実はVPNサーバのバージョン情報と組み合わせた検索が可能だ。攻撃者は公開サーバを見つけ、脆弱性が残っているバージョンかどうかを確かめる。認証を必要とせずにネットワーク越しにリモートコードを実行可能な脆弱性や認証バイパスが可能な脆弱性を使う。こうなると攻撃は成功したも同然だ。後は狙ったサーバに対して「Webシェル」と呼ばれるマルウェアを実行して、任意のタイミングで攻撃者が接続できるよう、侵入口を確保する。狙った組織のネットワークに自由に入り込め、「Active Directory」への侵入やデータベースへのアクセスが可能になる。
垣内氏は攻撃者の使う脆弱性は必ずしも新しいものではないと述べる。古くから存在し、既に修正プログラムが提供されている脆弱性が、今でも観測されるという。攻撃者は脆弱性が残るデバイスをリスト化して、効率良く攻撃につなげている。
その一例が、2021年末に報告された「Apache Log4j」(Log4j)に関する脆弱性(CVE-2021-44228)だ。「Log4Shell」と名付けられたこの脆弱性は大きな話題となり、2022年になっても修正が適用されていないサーバへの攻撃が多く観測された。
2022年7月にMicrosoftが観測したイスラエルの組織を狙った攻撃では、SysAidの製品に含まれていたLog4jのモジュールが未修正のバージョンであったため、組織への侵入口となった。侵入を許した後、組織内のActive Directoryが侵害を受け、攻撃者が遠隔でシステムに水平展開するラテラルムーブメントによってさらに被害が広がった。
さらに、この攻撃グループはVMware製品に存在した未修正のLog4jのモジュールを悪用した。「この攻撃グループは、Log4jの脆弱性が残存する組織、あるいはそういった製品を狙って攻撃を仕掛けたと推察できる。さまざまな製品にLog4jが組み入れられており、ユーザーは脆弱性があることを把握できていないことが多い。攻撃者はそれを狙っている」と垣内氏は述べる。
組織に侵入した後でも攻撃者は脆弱性を巧みに使う
続いて垣内氏は2つ目のシナリオを紹介した。このシナリオでは組織内に侵入後、脆弱性を悪用する。
このシナリオではまず、脆弱性やフィッシングなどを用いて侵入口を確保し、初期侵入が終わった後、組織への侵害を深めるために別の脆弱性を使う。そのためにアプリケーションサーバやエンドポイント、Windows、「Microsoft Office」に存在する脆弱性を悪用する。特に攻撃者が狙っているのは「特権昇格」をもたらす脆弱性だ。初期侵入では一般ユーザー権限だったとしても、特権昇格の脆弱性を使ってシステム権限や管理者権限を獲得し、検知されないようにウイルス対策ソフトを止めたり、資格情報をメモリから呼び出したりと準備を進める。
また、情報漏えいタイプの脆弱性や、セキュリティ機能をバイパスするような脆弱性も使われることが多い。これにより、攻撃対象のActive Directoryや「Microsoft Sharepoint」「Microsoft SQL Server」を用いて調査を進め、権限を奪ってより侵害を深めていく。
垣内氏は2022年に起きた攻撃の代表例として、「Microsoft Exchange」に存在した複数の脆弱性「ProxyShell」(CVE-2021-34473、CVE-2021-34523、CVE-2021-31207)を紹介した。この脆弱性自体はオンプレミスのExchangeで認証が必要なことから、攻撃者はまずフィッシングを利用して対象組織のユーザーのクレデンシャル(資格情報)を取得する。正規のユーザーとして認証をした後、この脆弱性を使って特権を奪い、Webシェルを設置する。その後組織への侵害を深め、ランサムウェアによる脅迫に使うために情報を窃取し、暗号化する。
気を付けるべきなのは「一撃必殺のリモートコード実行」だけではない
脆弱性の悪用というと、シナリオ1で紹介した認証を使わずにリモートコードを実行するイメージを持つ人が多いが、「実態は少々異なる」と垣内氏は述べる。Microsoftが調査したオンプレミス制品のゼロデイ脆弱性の影響度によると、ネットワーク越しにリモートで攻撃可能な脆弱性が悪用された割合は約25%で、最も多いのは「特権昇格」(約50%)だった。「リモートコード実行の脆弱性は攻撃者にとって需要が高いことは間違いない。だが、実際に使用されているのは特権昇格やセキュリティ機能のバイパスなどの脆弱性だ」(垣内氏)
そこで、組織は何を基に脆弱性を判断すればいいのかが課題となる。例えば、脆弱性の緊急度を「1.0〜10.0」の数値で表す「共通脆弱性評価システム」(CVSS)では、リモートコード実行が可能な場合にスコアが高くなる。このスコアを基に、例えば9.0以上ならばすぐにパッチを適用するといったルールでリスク評価をしている組織も多いだろう。しかし、特権昇格の脆弱性はスコアが低い。「実際に悪用されている脆弱性にもかかわらず、パッチ適用が遅れたり、対策として漏れてしまったりする組織が多く見受けられる」と垣内氏は指摘する。
「昨今の攻撃は2番目のシナリオのように攻撃の成功率を高めたり、検知を逃れたりするために、セキュリティ機能をバイパスする目的でCVSSの評価が低い特権昇格やバイパスの脆弱性を組み合わせて利用する。そうした脆弱性が実は攻撃者に好まれていることを覚えておかなければならない」(垣内氏)
事例もある。垣内氏は2022年7月に報告されたWindowsの特権昇格のゼロデイ脆弱性を紹介した。「KNOTWEED」と呼ばれる攻撃グループは、「Adobe Reader」のリモートコード実行の脆弱性と、Windowsの特権昇格脆弱性(CVE-2022-22047)を利用した。細工が施されたPDFファイルを利用者が開くと、悪意あるDLLファイルがダウンロードされる。通常であればサンドボックス内の閉じた環境が用いられるために安全性が保たれる。だが攻撃者はサンドボックスエスケープと呼ばれる特権昇格の脆弱性を使うことでセキュリティ機構を巧みに回避していた。
ゼロデイ攻撃に利用できる脆弱性は、攻撃者にとって貴重な資源だ。新たに発見された脆弱性は当初限られた攻撃対象に限って、大切に使われる。例えば政府機関や特定の国、組織だ。限定的なエクスプロイト(脆弱性を利用した不正プログラム)として実行されるため、検知されにくく、攻撃者にとって有利な状況を保つことができる。
その後、「Microsoft Defender for Endpoint」をはじめとするエンドポイント検知の仕組みを通じてセキュリティ機構がこの動きを察知することで脆弱性として把握でき、修正プログラムが公開される。しかし、ここにも問題がある。修正プロブラムをリバースエンジニアリングすることで、他の攻撃者も脆弱性の存在を把握できてしまうからだ。こうしてゼロデイ脆弱性だったものは広範囲の攻撃にも使われるようになり、他の脅威グループやエクスプロイトキットに導入される。この段階では広範囲な企業組織に対しても攻撃が始まる。
垣内氏はこのタイムラインから分かることを次のように要約した。「大多数の企業組織は新たな脆弱性が報告されたら、14日以内にパッチを適用することで、(2段階目の)広範囲な攻撃の被害に遭わないように対策できる」と述べる。その上で、政府機関や高度な攻撃の対象となるような組織に関しては、未知の脆弱性を防ぐためのエクスプロイトプロテクションを有効にして、Microsoft Defender for Endpointなどで不審な動作を検出できるようにすることが重要だと述べた。
脆弱性対応のために「悪用を踏まえたリスク評価」が必要
垣内氏は以上のような状況から、脆弱性対応のための重要なポイントとして、次の3点を挙げた。
(1)実際の脅威や脆弱性の悪用状況を踏まえたリスク評価
(2)組織の攻撃面の把握と縮小
(3)管理の自動化
「実際の脅威や脆弱性の悪用状況を踏まえたリスク評価」では、CVSSスコアに現れにくい脆弱性への対処がポイントだと述べる。これは権限昇格やセキュリティ機構のバイパスなど、CVSSは低くても悪用されやすい脆弱性への対応が必要だということだ。例えば米国土安全保障省サイバーセキュリティ・インフラストラクチャセキュリティ庁(CISA)が公開した「Known Exploited Vulnerabilities Catalog」(KEVC:既知の悪用された脆弱性カタログ)では、悪用が確認された脆弱性をリストアップしている(注1)。ただし、これは米国の組織が使う製品が中心になるので、日本の組織が利用する製品はカバーされていない。さらに、悪用された後に更新されるため、タイムラグがあることにも注意したい。
注1 Known Exploited Vulnerabilities Catalog | CISA
また、昨今注目が集まる「アタックサーフェイスマネジメント」により、オープンソースソフトウェア(OSS)を含めた脆弱性の管理と対応、自動化が求められると垣内氏は述べた。
「対象となる全ての製品をアップデートすることは重要だ。だが、テストの時間やコストもかかるため、組織内にどういった脆弱性があり、対応の優先順位をどうしていくか、パッチ適用までのリスクはどう判断されているかなど、リスク評価の仕組みが重要視されている。現状の脅威を踏まえ、これらの内容が対策を立てるためのヒントになればと思う」(垣内氏)
本稿は、「Security Forum 2023 Online」(主催:日本マイクロソフト)における垣内 由梨香氏(日本マイクロソフト)の講演「脆弱性はどのように悪用されているのか」を基に、編集部で再構成した。
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
- 発見されたら「放置してはいけない」脆弱性はどれ
毎月発表される脆弱性の数は予想以上に多い。だが、深刻な脆弱性はどの程度あるのだろうか。脆弱性はどの程度実際のサイバー攻撃で使われているのだろうか。 - 95%のソフトに脆弱性が見つかる、そのうちクリティカルなのは何パーセント?
自社が使うソフトウェアや他社に提供するソフトウェアに脆弱性が残っていると、サイバー攻撃や情報漏えいという結果につながる。Synopsysは大量のソフトウェアを検証した結果、脆弱性を含むものが予想外に多いことを示した。