「GNU Cライブラリ」は、「glibc」として知られ、Linux上で広く使用されているソフトウェアライブラリです。2016年2月16日(米国時間)、GNU Cライブラリ管理者によりこの glibc に存在する脆弱性「CVE-2015-7547」を修復する更新プログラムが公開されました。この脆弱性は 2008年から存在しており、この脆弱性が利用されると、バッファオーバーフローが発生することになります。攻撃者は、この脆弱性を使用することでLinuxシステム上で悪意あるコードを実行することが可能になります。
■ 脆弱性「CVE-2015-7547」について
この脆弱性を抱えた glibcライブラリを使用するソフトウェアによって DNSクエリが行われる際に、この脆弱性が利用される恐れがあります。この脆弱性により、ライブラリ関数「getaddrinfo() 」の機能が使用された場合、glibc DNSクライアント側のレゾルバがスタックベースのバッファオーバーフローを引き起こします。このファンクションに対して作られた不正なレスポンスによりオーバーフローが発生します。
攻撃対象となった Linux搭載機器は、以下の方法で不正なレスポンスを受信する恐れがあります。
- 攻撃対象となった Linux搭載機器が攻撃者の制御下にあるドメインへ DNSクエリを送信する
- 攻撃対象となった Linux搭載機器が不正な DNSサーバに接続する
- 「Man-In-The-Middle(MitM、中間者)攻撃」によって DNSクエリへのレスポンスが送信中に改変される
つまり、攻撃者は、DNSクエリへのレスポンスを利用することで、攻撃対象の Linux搭載機器でコードを実行することができる、ということです。
■ どのような影響がありますか
理論的には、インターネットに接続されているあらゆる Linux搭載機器がリスクにさらされています。攻撃対象の Linux搭載機器上で攻撃者が不正なコードを実行する際、この脆弱性を利用できるからです。しかしながら、こうした攻撃が実行可能ではあるとはいえ、この脆弱性を利用したエクスプロイトコードはまだ確認されていません。
この脆弱性を突いた攻撃は、Linuxに深刻な問題を引き起こした「Heartbleed」や「Shellshock」といった他の脆弱性に比べれば重大なものではありません。しかし、高度な攻撃ではないものの、早急に対処すべき問題ではあります。
■ トレンドマイクロの対策
主要な Linuxディストリビューションは、この脆弱性に対する修正プログラムをすでに提供しています。システム管理者は、自社で使用している機器に関して修正プログラムが入手可能かを確認してください。
全般的な対処としては、外部送信される DNSトラフィックに関しては、ホワイトリスト化された DNSサーバに対してのもののみに限定しておくことも推奨します。この脆弱性の悪用には、不正な DNSサーバへのクエリが利用されるかもしれないからです。ホワイトリストに存在しないサーバへのクエリをすべてブロックすることにより、この感染経路からのリスクを軽減できます。また、最も広く使用されている DNSのソフトウェアである「BIND」にはこの脆弱性の影響がない点は朗報と言えます。
トレンドマイクロのサーバ向け総合セキュリティ製品「Trend Micro Deep Security(トレンドマイクロ ディープセキュリティ)」をご利用のお客様は、以下のフィルタを適用することにより、問題の脆弱性を利用した攻撃から保護されます。
- 1007456 – DNS Malformed Response
- 1007458 – Glibc getaddrinfo Stack Based Buffer Overflow Vulnerability (CVE-2015-7547)
- 1007457 – Allowed DNS Resolvers
上記のうち2つは、不正な DNSトラフィックをブロックするためのものです。「1007458」は今回の脆弱性に特化したもの、「1007456」はより広範囲に DNS のレスポンスを検知します。「1007457」は、ホワイトリストを導入する際に使用することができます。
参考記事:
- 「The Linux GNU C Library Vulnerability: What It Is, How To Fix It」
by William Gamazo Sanchez (Vulnerability Research) and Suraj Sahu (Vulnerability Research)
翻訳:室賀 美和(Core Technology Marketing, TrendLabs)