この脆弱性は、Cisco Talos の Piotr Bania と Marcin ‘Icewall’ Noga によって発見されました。
概要
Talos はこのほど、Kaspersky の Internet Security 製品に複数の脆弱性が存在することを発見しました。この脆弱性は、ローカルでの DoS 攻撃や、同製品を実行しているマシンでのメモリ リークに悪用される恐れがあります。
詳細
Kaspersky のソフトウェアは、ウイルス対策機能を実行するために、KLIF と呼ばれるドライバを通じて Windows API にフックします。このドライバが、代行受信された NtUserCreateWindowEx コールおよび NtAdjustTokenPrivileges コールを処理する方法に 2 つの脆弱性が存在することを Talos は発見しました。いずれのケースにおいても、Kaspersky の KLIF ドライバがインストールされたマシン上に悪意のあるアプリケーションが存在すると、不正なパラメータを利用して悪意のある API コールを実行することが可能になります。これにより、アクセス不可能なメモリへのアクセスがドライバによって試行され、システムがクラッシュします。
さらに、Kaspersky の KL1 ドライバによってローカルでの DoS 攻撃が可能になります。悪意のあるユーザは、特別に細工した IOCTL コールを KL1 ドライバに送信することができます。これにより一定の条件下で、割り当てられたバッファ外のメモリをドライバが読み取ろうとします。これが、メモリのアクセス違反を引き起こし、システム クラッシュが発生します。
さらに一定の条件下において特別に細工された IOCTL コールは、kldisk.sys ドライバにおける KlDiskCtl サービスの脆弱な実装を利用して、カーネル メモリの内容をユーザランドにリークすることが可能です。攻撃者は、これを利用してカーネルのアドレス空間からセキュリティ関連の情報を盗み出し、他の脆弱性と組み合わせて、ローカル システムを悪用することが可能になります。たとえば、カーネル アドレス空間配置のランダム化(ASLR)などのセキュリティ機能の妨害がこれに該当します。
この脆弱性は、Kaspersky Internet Security 16.0.0 の KLIF ドライバ バージョン(10.0.0.1532)で確認されていますが、他のソフトウェア バージョンにも存在する可能性があります。ウイルス対策ソフトウェアはシステムにおいて低レベルの権限で実行されるため、こうしたソフトウェアの脆弱性は、攻撃者の興味を引く恐れがあります。こうした脆弱性は特に重大というわけではありませんが、システム管理者は、セキュリティ システムが攻撃の一部として悪用される可能性があることを認識し、常に完全にパッチを適用しておく必要があります。
さらに詳細な情報については、次の脆弱性レポートを参照してください。
- TALOS-2016-0166/CVE-2016-4304
- TALOS-2016-0167/CVE-2016-4305
- TALOS-2016-0168/CVE-2016-4306
- TALOS-2016-0169/CVE-2016-4307
脆弱性に関する情報を責任を持って開示する取り組みの一環として、この脆弱性についてはすでに Kasperksy に通知しています。また、この脆弱性を修復するパッチがすでに利用可能であることを、この記事の公開前に確認しています。
カバレッジ
この悪意ある試行は、以下の Snort ルールにより検出可能です。今後、脆弱性に関する新たな情報が追加されるまでの間は、ルールが追加されたり、現行のルールが変更されたりする場合がありますのでご注意ください。最新のルールの詳細については、FireSIGHT Management Center、または Snort.org を参照してください。
Snort ルール:39047 ~ 39048、39078 ~ 39079、38849 ~ 38850
本稿は 2016年8月26日に Talos Group のブログに投稿された「Vulnerability Spotlight: Kernel Information Leak & Multiple DOS Issues Within Kaspersky Internet Security Suite 」の抄訳です。