DNSMasq 脆弱性のネットワークデバイスやマイクロサービスなどへの影響
10 月 2 日の Google のセキュリティブログで、小規模コンピュータネットワーク向けに DNS 転送と DHCP サービスを提供する、DNSMasq と呼ばれるソフトウェアにいくつかの脆弱性が存在すると発表されました。私は、数日前に IT Briefcase に寄稿した、DNS ログの IoC(Indicators of Compromise:脅威存在痕跡)に関する記事で、DNS サーバは外部と内部ネットワークの境界に位置することから、内部ネットワークへの侵入経路となる可能性があると説明しました。
DNSMasq などの DNS フォワーダは、内部リソースを保護し、インターネットに公開されないようにします。DNS フォワーダは、外部サーバに対するクエリをネットワーク内のホストに代わって実行し、結果を返します。DNS Made Easy ブログでは、パフォーマンスとセキュリティの向上を考慮して、外部と内部の DNS サーバを分離するよう推奨しています。内部ホストをインターネットトラフィックから保護すれば、攻撃者がスキャンしたり、直接侵入したりするのを防ぐことができます。
インターネットからアクセスできる DNS フォワーダを攻撃することで、攻撃者は、プライベートネットワークに侵入する足がかり得ます。インターネット上のホストから内部ホストへのアクセスについては、ファイアウォールでブロックされますが、DNS フォワーダをホスティングしているサーバについては、外部から到達不能であるはずの内部ホストへの通信が許可される可能性があります。攻撃者が DNS フォワーダをホスティングしているマシンへの侵入に成功すると、ネットワーキングルールで許可されていれば、そのサーバのソフトウェアから内部ネットワークにアクセスできます。
他の多くのソフトウェア脆弱性と同様、これらの CVE を使用する攻撃方法でも、無効な入力がソフトウェアに渡されます。そして、不正データによって、攻撃者がシステムで許可されてないコマンドを実行したり、サービス拒否攻撃を開始したり、システムをクラッシュさせたりする可能性があります。具体的な CVE は、以下のとおりです。
- CVE-2017-14491
リモートコード実行を可能にするオーバーフロー。 - CVE-2017-14492
ヒープベースのオーバーフローにより、リモートコード実行が可能になる。 - CVE-2017-14493
バッファオーバーフローにより、リモートコード実行が可能になる。 - CVE-2017-14494
DHCPリークを CVE-2017-14493 と併用することで、コード実行が可能になる。 - CVE-2017-14495
使用可能メモリの枯渇によるサービス拒否。 - CVE-2017-14496
DNS ソフトウェアの無効な境界チェック。 - CVE-2017-13704
DNS クエリによってソフトウェアがクラッシュする。
DNSMasq が動作している場合は、ソフトウェアを最新バージョンにアップデートする必要があります。残念ながら、このソフトウェアのダウンロードサイトでは、HTTPS(暗号化)ではなく、平文でソフトウェアが配布されています。また、チェックサムが見当たらないため、ダウンロードしたソフトウェアのバージョンと作成者が公開したバージョンが一致していることをチェックサムで確認できません。したがって、開発者が、別の方法で両者が一致していることを確認する必要があります。
DNSMasq は、多くの Linux ディストリビューション、Android、BSD、OS X で動作します。そのため、これらのオペレーティングシステムで動作し、DNS や DHCP サービスを提供している多数のネットワーキングデバイスに、このソフトウェアが存在します。DNS 機能が含まれるそれ以外のソフトウェア、たとえば、マイクロサービス環境でのコンテナの管理に使用される主要ソフトウェアである Kubernetes なども、このソフトウェアを使用しています。これらの機能が含まれる機器やソフトウェアのベンダに、デバイスがこのソフトウェアを使用しているかどうか、また、アップデートを公開しているかどうかを確認する必要があります。
この脆弱性は WatchGuard Firebox にも影響しますが、DNS 転送機能を有効にしている場合だけであり、DHCP には影響しません。また、このソフトウェアが含まれるのは、11.11.2 リリース以降です。ウォッチガードのエンジニアがパッチをテスト中であり、まもなく、お客様にダウンロードしていただけるようになる予定です。Secplicity のブログ記事とウォッチガードのお客様向けポータルで、今後も詳細情報をお知らせすします。
ベンダからパッチが公開されていない場合は、そのサービスを無効にし、DNS および DHCP サーバに関連する厳格なネットワークルールを作成するという方法もあります。また、ファイアウォール、DNS、および DHCP のトラフィックログで不審な動作を監視することで、ネットワーク上のホストのマルウェア感染を知る手掛かりを得ることもできます。— Teri Radichel(@teriradichel)