DEF CON ― あるセキュリティ研究者が、ベルギーで200万人以上のユーザーが利用しているブラウザ拡張機能「Connective」デジタルID認証システムに、深刻な(現在は修正済みの)セキュリティ脆弱性が存在していたことを明らかにしました。
Nitro Software Belgiumが開発したこのソフトウェアは、ベルギーの大手銀行10行のうち8行と、60を超える政府機関でデジタルID認証および法的拘束力を持つ電子署名の実行に使用されています。
セキュリティ研究者でサイバーセキュリティ企業Bay Area Labsの創業者でもあるJames Arnott氏は、このソフトウェアがユーザーのコンピュータと通信しようとしているWebサイトを検証していなかったことを発見しました。この検証が欠落していたため、どのWebサイトや埋め込み型のオンライン広告であっても、被害者に知られることも許可を得ることもなく、被害者のマシン上で動作しているConnectiveアプリケーションと直接やり取りできる状態になっていました。
Arnott氏によると、悪意のあるWebサイトは接続された電子ID(eID)やペイメントカードの情報を密かに読み取ることが可能でした。さらに攻撃者は、それらしく見える認証ポップアップを表示させることで、ユーザーにeIDのPINコードを入力させるよう誘導することもできました。このソフトウェアは、リクエスト元のドメインを表示しないまま、Webページ側がダイアログボックス内のテキストを自由にカスタマイズできる仕様になっていたため、ユーザーはそのプロンプトが正規のものかフィッシングかを見分ける術がありませんでした。
ユーザーがプロンプトにPINコードを入力すると、アプリケーションはそのPINをリクエスト元のWebページに送信していました。攻撃者はそのPINを使い、被害者の物理的なeIDカードがカードリーダーに挿入されるたびに、不正な承認トークンを生成して法的拘束力を持つ電子署名を偽造することができました。
このeIDシステムの侵害は、CSAM.beのような政府ポータルや、Itsmeのようなサードパーティ製ID認証プロバイダーを含む、ベルギーのより広範なデジタルエコシステムの信頼モデルに深刻な影響を及ぼしました。
これらのサービスプロバイダー自体には脆弱性はなかったものの、eID署名に依存していたことから、署名機能を盗んだ攻撃者がデジタルIDアカウントを新規登録したり乗っ取ったりできる状態にありました。
なりすましのリスクに加え、この研究者はeIDカードが接続されているかどうかに関わらず動作するリモートコード実行の脆弱性も発見しました。アプリケーションがローカルコンピュータ上のファイルを処理する方法に存在する欠陥を悪用することで、悪意のあるWebサイトはこのソフトウェアに攻撃者が制御するコードをユーザー権限で実行させることができました。
攻撃者は、標準的な文書ファイルに見せかけたファイルをユーザーにダウンロードさせ、あるWebページを訪問させることで、このドライブバイ攻撃を実行できました。この脆弱性は特別な権限を必要としないため、ユーザーの認証情報を乗っ取って他の潜在的な被害者に悪意のあるリンクを送りつけることで、自己増殖するワームのように拡散するリスクもはらんでいました。
Nitroは最初の報告から146日後にこの問題を完全に修正し、200ドルのバグ報奨金を授与しました。同社は不正なオリジンからのリクエストを遮断し、PINの取り扱いを保護するアップデートを展開し、7月下旬に最終的なセキュリティ対策を完了させました。CVE番号は割り当てられていないようです。
NitroはSecurityWeekのコメント要請に応じていません。
Arnott氏はDEF CONでこの調査結果を公表するとともに、技術的な詳細を記したブログ記事を公開しました。