ネットワークセキュリティを揺るがす Ripple20
2020 年 6 月 22 日 Trevor Collins 著
先週、サイバーセキュリティチームの JSOF が、Treck 社の開発したライブラリに見つかった 19 件の脆弱性を公開 しました。そのうち 2 件には、コード実行の脆弱性が含まれています。レポートによれば Treck 社のライブラリは、プリンタから組み込みネットワークデバイスまで、数百万台のデバイスに TCP/IP スタックとして使用されています。
最も深刻な 2 つの脆弱性以外、JSOF はほとんどの脆弱性について詳細を公表していません。どちらの脆弱性においても、研究者は IP トンネリングとパケットフラグメンテーションを悪用してバッファオーバーフロー攻撃を実行することができました。これにより、ユーザの入力なしで悪意のあるコードが実行できます。技術面の詳細は、JSOF がこの 2 つの脆弱性に関するホワイトペーパーを こちら で公開しています。(要メールアドレス登録)
Treck 社は、およそ 20 年にわたってネットワークコードを提供している会社で、そのコードは Intel や HP など多くのデバイスサプライチェーンにも組み込まれています。Treck 社のライブラリがインストールされたデバイスは IoT デバイスやプログラマブルロジックコントローラ(PLC)に多いようですが、脆弱なデバイスがどれほどあるのかは、まだわかっていません。
ネットワーク内にあるデバイスに関しては、脆弱性のあるデバイスにパッチを適用することが最善の保護策ですが、すべてのデバイスにパッチが用意されているわけではありません。今のところ、JSOF はネットワークを保護するために以下の手順を推奨しています。また推奨される手順とともに、Firebox が果たす役割もご紹介します。
- IP フラグメントの正規化またはブロック、IP トンネリングの無効化またはブロック、TCP 検査の強制、および不正な TCP パケットの拒否を行います。Firebox は、不正な IP パケットや TCP セグメントをブロックします。Firebox にトラフィックをルーティングさせるだけでも、ほとんどの攻撃対象を保護することができます。
- 境界保護を回避されないようにするには、IP ソースルーティングと IPv6 ルーティングをブロックする必要があります。ウォッチガードのデフォルトのパケット処理の設定では、ソースルーティングは無効になっています。この設定について理解しており、かつプログラムが機能するために必要だと判断できる場合以外、有効にしないようにしましょう。
- 安全なリカーシブサーバや DNS 検査ファイアウォールを使って DNS を正規化します。Firebox は、DNS プロキシを介した DNS 検査を提供しています。
- JSOF は、DHCP のセキュリティを確保し、可能であれば静的 IP を使用することも推奨しています。たとえば重要なインフラストラクチャを保護するような極端なケースでは、DHCP を無効にする方がよいでしょう。DHCP を無効にする前に、何者かが悪意のある DHCP パケットを送信するには、まず、ファイアウォールを迂回してユーザのネットワーク内に DHCP サーバを作成する必要があります。また Firebox は、設定を変更しない限り、ネットワーク間におけるDHCP パケットのやりとりを許可しません。内部攻撃を防ぐには、サポートされていれば、DHCP スヌーピングをダウンストリームのスイッチで構成してください。
ネットワーク境界を迂回されない限り、Firebox で保護されたデバイスはこの攻撃の影響を受けません。この新しい脆弱性についてのさらなる情報が入り次第、ブログでお知らせします。ウォッチガードの Firebox や AP には Treck 社のソフトウェアは使用されていません。そのためウォッチガードのデバイスはこの脆弱性の影響を受けません。