やじうまの杜

PHPの影に隠れたもう一つの重大インシデント「eMudhra」の証明書問題、どう対処すれば?

OSやWebブラウザーなどの対応状況を整理、アプリ開発者などにはいくつか注意すべき点

 「やじうまの杜」では、ニュース・レビューにこだわらない幅広い話題をお伝えします。

「eMudhra」の侵害に関する情報集積サイト「emudhra.we-have-a-problem.com」

(10/23更新)アップデート済みアプリに
「Git for Windows」「EmEditor」「Electron」を追加。

 世間は「PHP」の“致命的”な脆弱性で大騒ぎですが、最近、もう一つ懸念すべきセキュリティインシデントが発生しました。それはインドの認証局「eMudhra」の中間証明書8件に関連付けられた秘密鍵が漏洩したという問題です。どうも証明書の鍵の作り方が非常に“雑”で、誰でも比較的簡単に復元できる状態だったようです。

 これらの鍵が悪用されると、自分が管理していないWebサイトのHTTPS証明書を不正に発行できてしまいます。通信を傍受できる攻撃者に悪用されれば、Webサイトになりすまし、通信を盗み見たり、改竄したりできるので、とても危険な状態です。

主要ブラウザーでは、すでに遮断情報を配信

 これにいち早く反応したのが「Firefox」です。10月17日(協定世界時)の段階で「eMudhra」の証明書を遮断する措置をとっており、標準設定ならばWebブラウザーの更新や再起動なしで保護されます。遮断情報を受け取れない環境のために、追加でv158.0.1、ESR v153.5.1、ESR v115.43.1も公開されました。

 また、「Google Chrome」も同日に対象の鍵を遮断済み。さらに、対象ルート「emSign ECC Root CA - G3」をルートストアから削除する更新を、10月27日午前(米太平洋時間)に配信予定です。

OS側の対応も進んでいる

 Webブラウザーだけでなく、OS側でも対応が進んでいます。

  • Android:「Google Play」開発者サービス経由で遮断情報を配信。Googleは端末の再起動で更新を促せると案内
  • Ubuntu:「ca-certificates」パッケージの修正版を提供。22.04/24.04/26.04/26.10は通常サポート、20.04以前はESM経由
  • Windows/Apple製品:この件の情報を収集している「emudhra.we-have-a-problem.com」によると、Microsoftのプラットフォームは10月20日、Apple製品は19日から遮断済み

 Windowsには、信頼・不信頼の証明書リスト(CTL)を自動で更新する仕組みがあるので、ユーザーが特別な操作をする必要はありません。

Windowsの証明書ストア(certmgr)。表示されているのは「現在のユーザー」の信頼されたルート証明書の一覧

アプリ側での対応が必要なものも

 一般的なアプリはOSの証明書ストアを参照するため、OS側で対応できていれば問題ありません。

 しかし、なかには独自に証明書ストアをもつものがあり、その場合はOS側の対応だけでは不完全です。

 たとえば、「Python」のパッケージ管理ツール「pip」は「certifi」由来のCA証明書を、「Node.js」も独自のCA証明書セットを同梱しており、今回の件を受けてアップデートが提供されています。

 他にも以下のアプリで今回の件を受けたアップデートが実施されています。

 アプリ開発者やサーバーの管理者を中心に、自身が利用しているプラットフォームがどのように証明書を管理しているかを把握し、対応状況や対処方法について、自分で情報を収集する必要があります。

安全かどうかを手軽にチェックするには?

 自身の環境が対策済みであるかどうかをチェックするには、本件に関する情報を集積しているサイト「emudhra.we-have-a-problem.com」を参照するとよいでしょう。Webサイトの中段にあるチェックツールで、すべて「Did not connect」なら、そのブラウザーから対象の証明書チェーンを使うテストサイトへの接続が成立しなかったことを確認できます。ただし、別のアプリや開発環境まで対策済みとわかるわけではありません。

「emudhra.we-have-a-problem.com」のチェックツール

 ちなみに、「emudhra.we-have-a-problem.com」はセキュリティ研究者であるDennis Jackson氏が中心になって運用しており、信頼できますが、チェックツールを名乗ってユーザーを騙す手口も十分考えられますので、利用の際は注意しましょう。