RTシリーズのセキュリティに関するFAQ
WWWブラウザによる設定におけるクロスサイト・リクエスト・フォージェリの脆弱性について
最終変更日 | 2018/Nov/06 |
文書サイズ | 16K |
WWWブラウザによる設定におけるクロスサイト・リクエスト・フォージェリの脆弱性について
「かんたん設定ページ」など、WWWブラウザによりヤマハルーターを設定することのできる機能の実装に、クロスサイト・リクエスト・フォージェリの脆弱性が存在することが分かりました。
以下では、クロスサイト・リクエスト・フォージェリをCSRFと表記します。
WWWブラウザにより、ヤマハルーターの「かんたん設定ページ」などにログインしている状態で、そのWWWブラウザで悪意あるサイトを訪問すると、ルーターのパスワードや設定を変更されるなど(注)、利用者が意図しない設定変更が行われる可能性があります。
(注:WWWブラウザでパスワードを変更することができないRTX1000, RTX1100, RTX1500 では、本脆弱性によりパスワードが変更されることはありません)
WWWブラウザでルーターのWWW設定画面を閲覧、操作したあと、同じブラウザでインターネット上の悪意あるサイトを訪れた場合に、攻撃が成立します(注)。WWWブラウザがルーターのWWW設定画面にアクセスするための認証情報を記憶しているため、悪意あるサイトに埋め込まれた要求を、ユーザーに認証を確認することなく処理してしまいます。
(注:該当リンクをクリックしただけでも攻撃が成立する可能性があります。)
一般に、CSRF対策としてはログアウトするという方法もありますが、SRT100以外の機種にはログアウトの概念がありません。また、SRT100の場合でも、ログアウトしたとしてもWWWブラウザが認証情報を記憶しているために、悪意あるサイトを訪問すると攻撃が成立してしまいます。
(注:WWWブラウザ設定支援機能が実装されていないRev.7系、Rev.7.01系のファームウェアが搭載されたRTX1000は該当しません)
2018/Nov/06時点でリリースされている対策済みファームウェアは以下の通りです。
機種 | 対策済みファームウェア |
RT57i | Rev.8.00.83 |
RT58i | Rev.9.01.29 |
SRT100 | Rev.10.00.31 |
RTX1000 | Rev.8.01.26 |
RTX1100 | Rev.8.03.70 |
RTX1500 | Rev.8.03.70 |
RT107e | Rev.8.03.70 |
RTV700 | Rev.8.00.84 |
RTV01 | Rev.1.00.11 |
RT80i以外の機種にはhttpd serviceコマンドが存在するので、以下の設定でWWWブラウザによる設定機能を使用できないように設定できます。
httpd service off
なお、RT56v, RTA55i, RTA54i, RTA52i, RTA50i, RT60w, RTW65i, RTW65bで変更後の設定を有効にするためには、設定変更後に設定を保存して再起動しなければなりません。
他の機種については、設定を変更するだけで、変更後の設定が有効になります。
RT80i以外の機種にはhttpd hostコマンドが存在するので、以下の設定でWWWブラウザによる設定機能を使用できないように設定できます。
httpd host none
RT80iでは、静的フィルタを用いてWWWブラウザによる設定機能を使用できないようにします。
ip filter 1 reject * <LANインタフェースのIPアドレス> tcp * 80 ip filter 100 pass * * * * * ip lan secure filter in 1 100
ユーティリティダウンロードページ から、"RT-VDefender.exe"をお使いのPC上の適当なフォルダに保存します。
作成されたアイコンをダブルクリックしてツールを起動します。
表示された画面の中で、ルーターのIPアドレスの入力、ログインパスワード/管理パスワードの入力、設定するコマンドの選択、を行ってください。
httpd serviceコマンドは"off"を選択してください。
upnp useコマンドも設定できるようになっています((RTV01を除く)。UPnP機能がどうしても必要であるという場合以外は、"off"を選択してください。
upnp useコマンドの設定に関しては、 RTシリーズのUPnP機能に関する脆弱性について をご覧ください。
「実行」ボタンをクリックします。
「設定をしました」の画面が表示されたら、「OK」をクリックしてください。これで終了です。
以下に記述する対策では、完全に攻撃を防ぐことはできませんが、攻撃の可能性を下げることができると考えられます。
悪意あるサイトがルーターへの攻撃を行うためには、ルーターのIPアドレスかホスト名、およびWWW設定のポート番号が分かっていなくてはいけません。今回の脆弱性を持つ機種では、初期値として以下の値を持っているものがあります。
機種 | IPアドレス | ホスト名 | ポート番号 |
SRT100 | 192.168.100.1 | なし | 80 |
RT107e | |||
RTV700 | |||
RT58i | setup.netvolante.jp | ||
RT57i | |||
RT56v | 192.168.0.1 | ||
RTA55i | |||
RTA54i | |||
RTA52i | なし | ||
RTA50i | |||
RT60w | setup.netvolante.jp | ||
RTW65i | |||
RTW65b | |||
その他 | なし | なし |
そのため、これらの設定を変更することで、攻撃サイトからはルーターへの攻撃が難しくなります。
なお、1つの設定だけを変更するよりも複数の設定を変更した方が、より攻撃を受けにくくなると考えられます。
ルーターのIPアドレスを変更することで攻撃の可能性を下げられます。ただし、ルーターのIPアドレスの変更は、ネットワーク全体の再設計につながることがあるため、慎重に行ってください。IPアドレスを変更するには、以下のコマンドを投入します。
Rev.6以降のファームウェア | ip lan1 address <変更したいIPアドレス>/24 |
Rev.5以前のファームウェア | ip lan address <変更したいIPアドレス>/24 |
「setup.netvolante.jp」をデフォルトのホスト名として持っている機種では、このホスト名を削除することで攻撃の可能性を下げられます。デフォルトのホスト名を削除するには以下のコマンドを投入します。
Rev.6以降のファームウェア | no dns private name |
Rev.5以前のファームウェア | dns private name clear |
WWW設定のポート番号を変更すると、攻撃の可能性を下げられます。WWW設定のポート番号を変更するには以下のコマンドを投入します。
すべてのファームウェア | httpd listen <変更したいポート番号> |
なお、ポート番号を変更したときは、WWWブラウザでルーターのWWW設定画面にアクセスするためにはURLで変更したポート番号を指定する必要があります。たとえば、IPアドレスは192.168.100.1、ポート番号を8080に変更した場合には、以下のようなURLでアクセスする必要があります。
http://192.168.100.1:8080/
今回の攻撃は、WWWブラウザがルーターのWWW設定画面にアクセスするための認証情報を記憶しているために成立しています。ほとんどのWWWブラウザでは、いったんWWWブラウザを終了することで、認証情報を忘れてしまうようなので、ルーターのWWW設定画面を閲覧、操作した後はいったんWWWブラウザを終了することで、攻撃を回避できる可能性があります。
いったんご利用されているブラウザを終了してから再度そのブラウザを起動し、WWW設定
画面にアクセスした際に認証要求のダイアログを出してくるブラウザでしたらこの方法
で問題の回避が可能です。
なお、ルータに管理者パスワードを設定していない場合には、ルーターのWWW設定画面にアクセスしようとしたときにも認証要求のダイアログは表示されませんので、攻撃の発生を知ることができず、攻撃を避けることは出来ません。
ルータには必ず管理者パスワードを設定してください。
この対策はWWWブラウザの種類やバージョン、設定に依存することであり、WWWブラウザの仕様が変更されれば攻撃の可能性が生じることになりますので、使用するブラウザのバージョンが変更されたとき、使用するブラウザの種類を変更したときは、WWWブラウザを終了したときに認証情報が記憶されたままになる仕様ではないかを上記の操作で再度確認してください。
ルーターのWWW設定画面にアクセスするときと、インターネットにアクセスするときで異なるWWWブラウザを使うことで攻撃を回避できます。異なるWWWブラウザでは、認証情報などは共有されないため、インターネット用のWWWブラウザが悪意あるサイトからの要求でルーターにアクセスしようとしても、ルーターの認証画面が表示されるために攻撃が行われたことに気づくことができます。
異なるWWWブラウザの候補としては、たとえば以下のものがあげられます。
2008/01/28 : | 公開 |
2008/01/29 : | RTA50iにはhttpd serviceコマンドが存在するので、存在しない機種をRT80iだけに限定 |
2008/02/01 : | 攻撃が成立する条件を追加
暫定対策を追加 発生現象についての説明変更 対象機種の修正(RTV01を追加、RT52proを削除) 該当しないRTX1000のファームウェアリビジョンを明記 httpd service コマンドでの制限事項を追記 httpd hostコマンドでの対策方法を追加 |
2008/02/20 : | 攻撃が成立する条件に注を追加
対策済みファームウェアのリリース予定機種を追加 |
2008/02/27 : | RTX1000、RTX1100、RTX1500、RT107eの対策済みファームウェアリビジョンを記入 |
2008/03/17 : | SRT100の対策済みファームウェアリビジョンを記入
設定変更ツール”RT-VDefender”を公開 |
2008/05/26 : | RTV700、RTV01の対策済みファームウェアリビジョンを記入 |
[ FAQ for RT-Series ]
[ FAQ for Security / IP-Filter / VPN(IPsec) / Intro / Install / Config ]