エクスプロイト&脆弱性
近年急増するオープンソースWebサーバの脆弱性を狙うサイバー攻撃を解説
米国時間2021年12月9日に公開された当時ゼロデイ脆弱性であったJavaのログ出力ライブラリ「Apache Log4j」上に存在する脆弱性「Log4Shell」(CVE-2021-44228)の影響により、Apache HTTP ServerのようなオープンソースのWebサーバを狙うサイバー攻撃が急増しました。
米国時間2021年12月9日に公開された当時ゼロデイ脆弱性であったJavaのログ出力ライブラリ「Apache Log4j」上に存在する脆弱性「Log4Shell」(CVE-2021-44228)の影響により、Apache HTTP ServerのようなオープンソースのWebサーバを狙うサイバー攻撃が急増しました。攻撃者は、人々がWebサーバに依存していることを利用して、リモートコード実行(RCE)、アクセス制御におけるバイパス、サービス拒否(DoS)攻撃などを行ったり、侵害したサーバを乗っ取って暗号資産(旧:仮想通貨)を不正に採掘(マイニング)したりします。
サイバー攻撃から企業を守るには、ベンダがリリースした修正プログラム(パッチ)を適時適切に展開するだけでは不十分な場合があります。このため、ソフトウェア構成分析(SCA)を用いて、ソフトウェアサプライチェーンの各レイヤに内在する問題・課題を見つけ出し対処することが、2022年には必須となります。
■ 2017年以降、Apache HTTP Serverの脆弱性が増加
オープンソースのWebサーバ(特にApache HTTP Server)は、その多くが過去5年間に侵害されました。同じくオープンソースのWebサーバとして広く利用されている「Nginx」と比較すると、Apacheは過去5年間に脆弱性が最も多く見つかっており、特にリスクの高いものが増加しました。
Apache HTTP ServerのWebページによると、2012年から2016年にかけてApache HTTP Server内で見つかった脆弱性は合計31件です。しかし2017年から2021年にかけて見つかった脆弱性の総数は57件に急増したほか、2021年だけでそのうちの14件が見つかっており、17年振りに過去最高数を更新しました(図1)。
最も重要な点は、2021年下半期に見つかった2件の脆弱性(CVE-2021-42013、CVE-2021-41773)が、Apacheの評価システムによって「Critical(緊急)」と評価されたことです。それ以前は、このレベルで評価された脆弱性はありませんでした。これらの「緊急」評価された脆弱性が攻撃者によって悪用されると、Apache上でリモートから任意のコードを実行される可能性があります。またこれらの脆弱性が内在するサーバは、ワーム活動によって自動的に侵害される可能性もあります。
■ 脆弱性が甚大なリスクにつながる
Apache HTTP Serverで見つかった脆弱性の総数が増加しただけでなく、脆弱性攻撃ツール(エクスプロイト)による悪用の事実が確認された脆弱性の数も増加しました。
トレンドマイクロは、過去5年間に見つかった57件の脆弱性のうち少なくとも15件の脆弱性のエクスプロイトが作成され、攻撃活動に用いられていたことを検出しました。最も一般的な攻撃の種類としては、サービス拒否(DoS)攻撃、パストラバーサル攻撃、サーバサイドリクエストフォージェリ(SSRF)攻撃、リモートコード実行(RCE)などが挙げられます。2021年に見つかった脆弱性の多くは、攻撃者によって活発に悪用されていることが証明されています。
表1:2017年以降に悪用手口が確認されている15件の脆弱性
共通脆弱性識別子 | CVSS v3 スコア | 説明 |
CVE-2021-42013 | 9.8 | Apache HTTP Server 2.4.49および2.4.50におけるパストラバーサルおよびリモートコード実行の脆弱性(CVE-2021-41773における不十分な修正に対処) |
CVE-2021-41773 | 7.5 | Apache HTTP Server 2.4.49におけるパストラバーサルおけるファイル開示の脆弱性 |
CVE-2021-40438 | 9 | mod_proxyにサーバサイドのリクエストフォージェリの脆弱性 |
CVE-2020-11984 | 9.8 | mod_proxy_uwsgiにバッファオーバーフローの脆弱性 |
CVE-2019-10098 | 6.1 | mod_rewriteに潜在的なオープンリダイレクトの脆弱性 |
CVE-2019-10097 | 7.2 | mod_remoteipにスタックバッファオーバーフローおよびNULLポインタ逆参照の脆弱性 |
CVE-2019-0190 | 7.5 | Apache 2.4.37(mod_sslでOpenSSL 1.1.1以降を用いている場合)におけるリモートからのサービス拒否(DoS)攻撃の脆弱性 |
CVE-2018-8011 | 7.5 | mod_mdにおける、特別に細工されたリクエストのコアダンプによるDoS攻撃の脆弱性 |
CVE-2018-1303 | 7.5 | mod_cache_socacheにおける領域外読み取りの脆弱性 |
CVE-2018-11763 | 5.9 | 細工したSETTINGSフレームを継続的に用いたHTTP/2接続によるDoS攻撃の脆弱性 |
CVE-2017-9798 | 7.5 | グローバルに定義されていないHTTPメソッドを「.htaccess」の<Limit>ディレクティブに記述することで発生する解放済みメモリ使用(use-after-free)の脆弱性(通称:OptionsBleed) |
CVE-2017-9788 | 9.1 | mod_auth_digestにおけるメモリが初期化されない問題 |
CVE-2017-7668 | 9.8 | ap_find_token()におけるバッファオーバーリードの脆弱性 |
CVE-2017-7659 | 7.5 | mod_http2におけるNULLポインタ逆参照の脆弱性 |
CVE-2017-15715 | 8.1 | ファイル名の末尾に改行がある場合に、<FilesMatch>ディレクティブにおいて認証を回避される脆弱性 |
出典:Apache HTTP Server Project、Trend Micro Inc.、NVD
深刻度が「緊急」と評価された2つの脆弱性「CVE-2021-41773」および「CVE-2021-42013」は、攻撃者がApache HTTP Serverの脆弱性をどのように悪用するかを示すための分かりやすい例と言えます。
トレンドマイクロが以前に報告したように、パストラバーサルの脆弱性であるこれら2つが攻撃者によって悪用された場合、URLをWebroot外のファイル/ディレクトリに関連付けられる可能性があります。これらのパスに対してCGI(Common Gateway Interface)スクリプトが有効な特定の構成においては、攻撃者が脆弱なサーバ上でリモートからコード実行できる可能性があります。2021年10月上旬に見つかったCVE-2021-41773とCVE-2021-42013は、いずれも2021年末までに400万件以上の悪用事例が検出されました。
同じくApache HTTP Serverの脆弱性であるCVE-2021-40438は、当該脆弱性が悪用された際に受ける影響がいかに大きいかを示しています。CVE-2021-40438は、mod_proxyモジュールに内在し、サーバサイドのリクエストフォージェリを引き起こす可能性のある脆弱性です。認証されていない不正リモートユーザ(攻撃者)がこの脆弱性を悪用することで、Apache HTTP Server(httpd)サーバからオリジンサーバにリクエストを転送させることできます。これにより攻撃者は、ファイアウォールの背後に存在する可能性のある、他の方法ではアクセスできない別のサービスのリソースを取得、改変、削除する可能性があります。この脆弱性による影響は、httpdネットワーク上で利用できるサービスとリソースによって異なります。
CVE-2021-40438は、Cisco、IBM QRadar SIEM、Debian Linux、F5 Os、Red Hatなどの製品に大きな影響を及ぼしています。2021年12月1日、米国国土安全保障省のサイバーセキュリティ・インフラセキュリティ庁(CISA)はCVE-2021-40438を既知の悪用された脆弱性のカタログ(Known Exploited Vulnerabilities Catalog)に追加しました。
■ 攻撃の背後にある脆弱性悪用手口
オープンソースのWebサーバを狙う攻撃は、大きな脅威となる可能性があります。脆弱なWebサーバがエクスプロイトを用いてハッキングされると、侵害されたサーバは乗っ取られて攻撃活動に悪用される可能性があります。
最も一般的な攻撃活動としては、侵害されたサーバを悪用してスパムメールを送信したり、サーバのメモリや帯域幅を悪用して別のサーバを攻撃したりするものが挙げられます。さらに攻撃者は、侵害したサーバ上にフィッシングサイトを設置し、この不正サイトに入力されたあらゆるデータにアクセスすることもできます。
しかしながら、近年最も多く確認されている攻撃手口は、コインマイナーを用いた不正な暗号資産マイニング活動「クリプトジャッキング」です。攻撃者は、脆弱なWebサーバを侵害して、感染サーバが持つコンピューティング能力を密かに悪用し、人気のある暗号資産を不正にマイニングします。本ブログでは2022年1月25日の記事で、攻撃者がGitHubやNetlifyのリポジトリの脆弱性を悪用して暗号資産「Monero」を不正にマイニングした手口を解説しました。
攻撃者にとって、Apache HTTP Serverは攻撃対象として好都合なようです。英調査会社「Netcraft」の統計によると、最もアクセス数が多いWebサイト100万件のうち24.63%をApache HTTP Serverが提供しています。Slack、Linkedin、The New York Times、GrubHubなどの主要なWebサービス・プロバイダがApache HTTP Serverを利用しています。このような重要なサービスにパッチを適用する際はダウンタイムなどの影響が生じることから、ユーザの満足度を損なわないように対処することはIT管理者にとっても大変なことです。
さらに、今日のソフトウェアサプライチェーンは複雑化しているため、オープンソースソフトウェアの脆弱性が悪用された場合、被害も深刻化します。攻撃者は、悪意のあるコードを目立たないように注入(インジェクション)することで、サードパーティ製ソフトウェアコンポーネントを侵害することができます。従来のサプライチェーンに比べ、ソフトウェアサプライチェーンは、セキュリティを確保するためにより多くの検証レイヤが必要となります。
■ 被害に遭わないためには
オープンソースソフトウェアを介して攻撃される潜在的なリスクを軽減するためには、ソフトウェア構成分析を用いることが有効な手段です。ソフトウェア構成分析を用いることで、コード内のすべての部分とバージョンを特定し、一覧表示できます。また、特定のサービスごとに検査し、アプリケーションにセキュリティリスクをもたらす可能性のある古い / 脆弱なライブラリを見つけ出すこともできます。さらにこれらのツールにより、異なるライセンス用語や条件を用いるオープンソースソフトウェアを使用する際の法的な問題を確認することもできます。トレンドマイクロは、2021年5月にリサーチペーパー「クラウドコンピューティング時代におけるサプライチェーン攻撃」を公開しました。
パッチ管理を考慮したリスクベースのアプローチを開発することは、組織が今対処すべき脆弱性を特定し、優先順位を付ける際に役立ちます。このアプローチは次のもので構成されます。
1. オンライン検索エンジン「Shodan」などを用いてインターネット上でポートを解放しているIPアドレスなどを継続的に調査・評価し、どのような脆弱性(更新前および更新後)が組織のシステム環境内に存在しているかを常に確認すること
2. システムに内在する脆弱性の深刻度を評価すること
3. リスク評価を継続的に実施すること
特定された脆弱性が悪用手口に用いられた場合の影響について確認し、それらの脆弱性が実際に悪用される可能性、または将来悪用される可能性があるかどうかを評価すること。
I. 脆弱性に対する概念実証(Proof of Concept、PoC)コードが存在するかどうか
II. 実際に脆弱性 / 概念実証コードが悪用された事例があるかどうか
パッチ管理に組織の問題となっている場合、仮想パッチや侵入防御システム(IPS)などの技術を導入することで、脆弱性の悪用手口を検出 / ブロックし、ベンダが供給するパッチで適切に脆弱性を修正するまでの時間を確保することができます。
■ トレンドマイクロのソリューション
トレンドマイクロが運営する脆弱性発見コミュニティ「Zero Day Initiative(ZDI)」およびトレンドマイクロの脆弱性リサーチチームは、「Trend Micro Cloud One™」、「Trend Micro TippingPoint™」、「Trend Micro Apex One™」をご利用のお客様向けに新たな脆弱性の特定および仮想パッチの開発を支援しています。場合によっては、ベンダが供給するパッチより数カ月早く仮想パッチをリリースしています。
統合型サーバセキュリティソリューション「Trend Micro Deep Security™」(オンプレミス管理型)および「Trend Micro Cloud One™ Workload Security」(クラウド管理型)は、幅広いセキュリティ機能で攻撃者の侵入を防ぎます。特に、仮想パッチ機能によって脆弱性を狙う攻撃からサーバを防御します。
法人向けエンドポイント製品「Trend Micro Apex One™」の仮想パッチは、PoS、IoTデバイス、そしてサポートが終了したOSのようなさまざまなエンドポイントに、脆弱性に対する保護を適時提供します。
ネットワーク型侵入防御システム「TippingPoint」は、Digital Vaccine®フィルタを介して、仮想パッチとネットワーク攻撃が可能な脆弱性に対する保護を提供します。
攻撃者は、標的組織を攻撃するために、脆弱なアプリ、オペレーティングシステム(OS)、コンピュータを侵害し続けるでしょう。Apacheなどの重要なアプリへの理解を深めることで、攻撃のリスクを最小限に抑止できる対策を見出すことができます。
参考記事:
by Jon Clay
翻訳:益見 和宏(Core Technology Marketing, Trend Micro™ Research)