Ruckus社が巻き起こしたRaucous(大騒動):エンタープライズハードウェアの脆弱性を検出

avatar

 2016.09.29  Japanブログ編集部

一般ユーザ向けのワイヤレスルータには、適切なセキュリティ対策が施されていないケースが多くあります。

このトピックは、2014 年の VERT レポート「SOHO Wireless Router (In)security(SOHO 製ワイヤレスルータの"非"安全性)」で取り上げています。当社の調査では、Amazon で販売される売れ筋の一般ユーザ向けルータートップ 50 の 74%に脆弱性が存在することが明らかになりました。また、その中の 20 のモデルについては、ベンダー提供の最新のファームウェアに悪用可能な脆弱性がありました。この調査について私が話を伺った多くの人は、どういうわけか、この問題は、ほぼ一般ユーザ向け製品に限られたことだという認識を持っていました。

危険なルータが蔓延している原因として、ベンダー間の搭載機能競争や低い利益率があるのではと私は睨んでいました。この問題が一般ユーザ向け市場に限ったことなのかを調べるために、企業ネットワーク向けのワイヤレスルータを入手して評価する必要があると考えました。

この調査の第 1 ステップは、もちろん、ターゲットを選ぶことでした。

一般ユーザ向けルータには、手頃な価格のブランドが数多くありましたが、企業向け機器は安価ではないため、予算の都合で 1 つの製品ファミリーに絞らなければなりませんでした。そこで私は、Android Wi-Fi アナライザアプリを使用して、実際の環境ではどのようなブランドの製品が利用されているかを調べることから始めました。その結果、Ruckus と Cisco が市場を最も獲得していることがわかりました。Dell’Oro Group の調査では、2014 年第 4 四半期の出荷台数の 42%を Ruckus 社の製品が占めていたことから、Ruckus 製品に的を絞ることにしました。

方法

比較を意味のあるものにするために、テストの範囲を HTTP インターフェイスに絞り、一般ユーザ向けルータの脆弱性検出の際に使用したのと同じ方法を用いることにしました。

私は既に数台のルータでセキュリティ評価を行い、効果的なテスト手順を確立していました。ファームウェアおよび可能な場合はシェルアクセスから抽出した情報を基に、一部自動化されたクエリと手動のファズテストとを組み合わせることにしました。

今年に入ってから、私は「Brainwashing Embedded Systems」という AusCERT のチュートリアルセッションにおいて、これらの技術について詳細な講義を行っています。この技術については、DEF CON 24 のワークショップと SecTor 2016 のトレーニングセッションでも説明する機会があります。

第一印象

Ruckus の高価なハイエンドモデルに投資する前に、まずは 2015 年 10 月 27 日時点で最新のファームウェアが実行される中古の Ruckus ZoneFlex でテストを行うことにしました。

デバイスをセットアップして数分のうちに、コマンドインジェクションの脆弱性を発見しました。これは、CSRF 対策のトークンが使用されていない場合、リクエストを偽造されると悪用されます。これまでテストした一般ユーザ向けのルータの多くがそうであったように、ZoneFlex でも管理者が単純な ping テストなどの診断を行うことができます。しかし、明らかに入力データのサニタイジングは行われません。この欠点があった一般ユーザ向けルータは、かなり致命的な状態でした。

一般向けの軽量な組み込みデバイスの多くでは、すべてのプロセスが UID=0(root)で実行されていましたが、企業向け製品では、当然特権の分離が行われていると思っていました。ping 操作には特権が必要ありません。そのため、アクセス制限のあるユーザとして実行すべきです。telnet のデーモンが生成されるように ping のパラメータを指定し、この理論をテストしてみたところ、驚いたことに root シェルを獲得することができました。

これで、現在のモデルに投資する価値があることが十分に確認できました。

RUCKUS の HTTP インターフェイスの分析

Google で調べてみると、この明らかなコマンドインジェクションの脆弱性に気づいていたのは私だけではないことがわかりました。

私がテストした ZoneFlex は、サポート終了モデルで、ファームウェアも古いものであったため、この簡単な問題は、新しい製品では修正されているだろうと考えました。今度は Ruckus H500 アクセスポイントに最新のファームウェア(100.1.0.0.432)をセットして実験を再開しました。すると、ping のインジェクションがまだ有効であったことにショックを受けました。パッチ完全適用済みのこのアクセスポイント上で root シェルを獲得した後、簡単なファイルのリストを作成して Web サーバのドキュメントルートに置きました。これはシェルアクセスまたはファームウェアの抽出によって可能な簡単なプロセスで、サーバのバイナリ内に埋め込まれた URI を配置することにより補完できます。

このケースでは、ファームウェアアップデートで見ることができるファイルのみに限定しました。次に、HTTP サーバをクロールし、認証なしでアクセス可能なファイルを登録するためのスクリプトにこのリストを追加しました。

結果

この簡単なテストから、一般ユーザ向けデバイスと同様の欠陥がいくつか見つかりました。

  • 認証のバイパス:特定の文字列を含むすべてのリクエストには「200 OK」が返されました。この文字列を他のリクエストに追加すると、認証を受けたクエリに対してのみ送信されるレスポンスデータを取得することができました。この状況は、NETGEAR、TrendNET、および Asus 製のルータで見られました。
  • サービス妨害:HTTP 経由で認証不要でアクセス可能なある特定のページに、SSL 経由でリクエストを送信すると、管理インターフェイスが使用できなくなります。製品をホットスポットとして利用するときには、HTTP を使用するため、これは重大な問題となります。
  • 情報の開示:デバイスのシリアル番号が HTTP サーバによって開示されていました。このことが、セキュリティに直接的な影響を与えるかどうかは不明ですが、ソーシャルエンジニアリングの手口として攻撃者に悪用される可能性があります。また、シリアル番号をデバイスの所有者を証明する手段として利用している製品もありました。

さらに、特定のページに対する認証済みのリクエストによって、メモリが過大に消費され、HTTP サーバのリロードや、他のサービスの停止につながる可能性があることに気づきました。この手法は GET リクエスト経由で用いることができるため、HTML ドキュメントや E メールに悪質な IMG タグを使用すれば、CSRF 攻撃に好都合となります。

RUCKUS の反応

これらの脆弱性は Ruckus のアクセスポイントだけに存在するものではありませんが、私はこのベンダーに連絡を取ろうと試みました。

セキュリティ担当者の連絡先が見つけにくくなっているベンダーがあるなか、Ruckus は脆弱性の通報のための E メールアドレスと PGP キーが掲載されたページを提供していました。通常、このような企業には迅速な対応が期待できると思いきや、何度もレポートを E メールで送信しても、毎回宛先不明で戻ってきてしまいました。

私が Ruckus に最初に連絡を試みてから約 1ヵ月後の 2016 年の 1 月初旬に、セキュリティ担当者に連絡がつかないと訴える内容の E メールを、他で見つけた数箇所のアドレス宛てに出してみました。すると、同社の Web 管理者がアカウントを取得してくれると申し出てくれました。しかし、その後レポートを再送し、受領の連絡を要求しても、なしのつぶてでした。その月のうちに、VU#974320 を割り当てた CERT の担当者に連絡してみました。すると、彼らも Ruckus から返事をもらえていないことがわかりました。

Tripwire のチーフ・リサーチ・オフィサーである デビッド・メルツァー が LinkedIn を通じて Ruckus の重役に連絡を取るまで、Ruckus は脆弱性レポートの受領を認めませんでした。

それから私は、1 月に私が暗号化して送信したレポートと受領の確認を求める E メールの転送コピーを受け取りました。その後、同社から電話があり、彼らは私のメッセージを復号化できなかったため、無視してしまったとの説明を受けました。また、CERT が連絡を取ろうとしていたことを知らなかったとも言っていました。Ruckus は、HTTPS インターフェイスに見られるそのような脆弱性の問題は、製品をスタンドアローンモードで実行しない限り発生しないと説明しました。

その真偽の検証も、Ruckus 製品の完全なセキュリティ監査も今のところまだ行ってはいません。

教訓

この調査から学んだ教訓は、「エンタープライズクラスの」ハードウェアだからといって、エンタープライズクラスのセキュリティ品質を期待できるわけではないということです。

Ruckus 製機器の調査では、かつて地方のコンピューターストアで購入できるようなワイヤレスルータの調査を行ったときとほぼ同じような体験をしました。実際、認証のバイパスやコマンドインジェクションの問題は、SOHO 製の 100〜200 ドル程度のデバイスでも見られました。

ただし、最大の違いは、Ruckus に私が送信したレポートが数か月も完全に放置され、レポートの受領が確認されるには「重役同士の」コミュニケーションが必要だったということです。Ruckus のデバイスを使用している企業はセキュリティ侵害の危険にさらされています。特に顧客に Wi-Fi アクセスを提供するためにアクセスポイントを使用している場合は注意すべきでしょう。

これらのシステムのいずれかに侵入した者が中間者となってワイヤレスネットワークの全ユーザとの間に介在し、さまざまな悪事を可能にする恐れがあります。Ruckus は、スタンドアローンの AP のみが影響を受けると説明していましたが、これが事実かどうかを検証する機会が今のところありません。また、スタンドアローンモードがどの程度使用されているのかも不明です。

この記事で紹介したセキュリティ調査は、たった 1 晩の間に行われたものです。そのため、これ以上の問題は潜んでいないとか、他のモードであればもっと安全だと考えるのは愚かであると私は思います。

あなたの組み込みデバイスを保護する方法を知るには、「組み込みデバイスを保護するためのセキュリティ上の 5 つのヒント」の記事を参照してください。

この情報開示プロセスの全タイムラインを以下に示します。

脆弱性情報開示タイムライン

 

Title image courtesy of ShutterStock

元の記事はこちらからご覧いただけます。

ギャップにご用心サーバー脅威対応までの感覚

RECOMMEND関連記事


RECENT POST「脆弱性管理」の最新記事


この記事が気に入ったらいいねしよう!