47
Googleのセキュリティ研究者がカスペルスキーのTLS傍受ツールに深刻な脆弱性を発見

カスペルスキーのアンチウイルスプログラムに以前から複数の脆弱性を発見していたGoogleのProject Zeroセキュリティ研究者、タヴィス・オーマンディ氏は、新たな不可解な脆弱性を発見しました。問題は、カスペルスキーがウェブ上の脅威をスキャンするために、独自の証明書を使用してHTTPSトラフィックを傍受していることにあります。

ウイルス対策TLSインターセプション

Kaspersky Anti-Virusは、他のいくつかのアンチウイルスツールと同様に、TLS/HTTPS接続内でもスキャンを許可するオプション(デフォルトで有効になっている場合もあります)を提供しています。ウェブサイトがHTTPS暗号化に移行する前は、アンチウイルスツールやその他のウェブ解析ツールは、ブラウザに流入するトラフィックのみを分析することができました。しかし、トラフィックを暗号化したウェブサイトでは、もはやそれが不可能になっています。

これらのツールは、トラフィックの分析を継続するために、ユーザーのコンピュータに独自の証明書をインストールし、トラフィックを復号化する必要があります。これは中間者攻撃の発生方法に似ています。しかし、異なる点は、ユーザーはウイルス対策プログラムのWebスキャンオプションを有効にする際に、この攻撃が発生していることを認識し、ウイルス対策企業がWebアクティビティで不正行為を行わないと信頼しているという点です。

しかし実際には、ほとんどのユーザーは、ウイルス対策ソフトウェアが自分のトラフィックを監視できることに気づいていない可能性が高いです。なぜなら、誰もがウイルス対策やセキュリティ技術の複雑さをすべて理解しているわけではないからです。そのため、暗号化されたWebの脅威に対するこの「解決策」は、ほとんどのユーザーが何をしているのか理解していない場合に、不必要にリスクにさらしてしまう可能性があります。トーマス・プタチェク氏などのセキュリティ専門家は、いかなるウイルス対策プログラムにも、すべてのWebトラフィックのTLSインターセプトを許可すべきではないと考えています。

カスペルスキーの新たな脆弱性

オーマンディ氏によると、カスペルスキーのアンチウイルスソフトはユーザーのコンピュータに独自のルート証明書をインストールしますが、その方法も十分に保護されていません。その後、アクセスしたすべてのウェブサイトの証明書を、独自に生成したリーフ証明書に置き換えます。今のところ、これはウェブスキャンツールの想定される動作です(ただし、ユーザーはどのツールに自分のコンピュータでこのような動作を許可するかについては依然として注意する必要があります)。

オーマンディ氏が発見した問題は、カスペルスキーがリーフ証明書に32ビット鍵を再利用していたことです。これにより、外部の攻撃者がブルートフォース攻撃で衝突を検知し、カスペルスキーユーザーが複数のサイトにアクセスする際にトラフィックを傍受することが容易になります。

このバグにより、ユーザーは Web サイトに接続できなくなるか、Web サイトが暗号化されていない HTTP 接続にダウングレードされ、攻撃者が接続を傍受できるようになる可能性があります。

Tom's Hardware の最高のニュースと詳細なレビューをあなたの受信箱に直接お届けします。

Google のエンジニアによると、攻撃は次のようになります。

- マロリーは、32 ビット キーが 0xdeadbeef である mail.google.com トラフィックを傍受しようとしています。- マロリーは mail.google.com の実際のリーフ証明書を送信し、カスペルスキーはそれを検証して独自の証明書とキーを生成します。- 次の接続で、マロリーは、任意の commonName (attacker.com とします) に対して、キー 0xdeadbeef を持つ、衝突する有効な証明書を送信します。- ここで、マロリーは mail.google.com の DNS を attacker.com にリダイレクトし、カスペルスキーはキャッシュされた証明書の使用を開始し、攻撃者は mail.google.com を完全に制御できるようになります。

オーマンディ氏は、カスペルスキーのチームが、たとえ偶然であっても証明書エラーが発生することがあることに気づかなかったのは「信じられない」ことだと考えました。しかし、カスペルスキーがこの脆弱性を意図的に作り出した可能性については、敢えて言及しませんでした。

オーマンディ氏は、Google が自社のサービスに QUIC と呼ばれる新しいオープンソースの暗号化トランスポート プロトコルを使用しているため、Chrome からアクセスした場合、カスペルスキーは実際には Chrome 内で Google サービスの接続を復号化できないが、Firefox や他のブラウザでは復号化できると指摘した。

Googleの研究者は11月1日にKasperskyにこの脆弱性について報告し、通常の90日間の開示ポリシーが適用されました。この脆弱性は90日が経過するまでに修正されました。したがって、この脆弱性はもはやユーザーを危険にさらさない可能性がありますが、アンチウイルスによるTLSインターセプトに関する問題は依然として残っています。

ウイルス対策ソフトウェアはあなたをより安全にしますか?

ウイルス対策ツールを使用する主な目的は、既存の既知の脆弱性を悪用するマルウェアから身を守ることです。一部、あるいは多くのユーザーは、OSやアプリケーションを適切なタイミングでアップデートしておらず、マルウェアの脅威にさらされています。このような場合、ウイルス対策ソフトウェアはユーザーを安全に保つ上で重要な役割を果たします。

ただし、オペレーティング システムとアプリケーションを常に適切なタイミングで更新するユーザーの場合、マルウェアによって悪用される可能性のある脆弱性が修正されているため、ウイルス対策ソフトウェアの必要性は大幅に低くなります。

もちろん、「ゼロデイ」脆弱性も存在し、定義上、パッチは存在しません。しかし、アンチウイルスソフトウェアもゼロデイ脆弱性からユーザーを守ることはできません。カスペル​​スキー・アンチウイルスなど、一部のアンチウイルスソフトウェアは限定的なエクスプロイト対策を提供していますが、アンチウイルスソフトウェア自体がセキュリティを低下させる可能性があることとのバランスを取る必要があるかもしれません。

ウイルス対策ソフトウェアが安全性を高めるかどうかについては、明確な答えはおそらくありません。システムをアップデートできない、あるいはアップデートしたくない人にとっては、ウイルス対策ソフトウェアが安全性を高める可能性は高いでしょう。一方、常に最新の状態に保っている人にとっては、専用のエクスプロイト対策ツール、あるいはさらに良い方法として、マルウェアがメインのオペレーティングシステムに悪影響を及ぼさないサンドボックスやその他の仮想化技術に投資する価値があるかもしれません。

ルシアン・アルマスは、Tom's Hardware USの寄稿ライターです。ソフトウェア関連のニュースやプライバシーとセキュリティに関する問題を取り上げています。