| 技術レポート069 | |
| 状態 | アクティブ |
|---|---|
| 初版 | 2004年5月 |
| 最新バージョン | 修正第 6 号訂正事項 2020 年 6 月1 日 |
| 組織 | ブロードバンドフォーラム |
| ドメイン | リモート監視と管理 |
| Webサイト | www.broadband-forum.org/download/TR-069.pdf |

テクニカル レポート 069 ( TR-069 ) は、 CPE WAN 管理プロトコル( CWMP ) を規定するブロードバンドフォーラムの文書です。CWMP は、インターネット プロトコル(IP) ネットワークに接続された顧客構内機器(CPE)のリモート管理とプロビジョニングのためのアプリケーション層プロトコルです。自動構成、ソフトウェアまたはファームウェア イメージ管理、ソフトウェア モジュール管理、ステータスとパフォーマンスの管理、および診断のサポート機能を提供します。
CWMP は双方向のSOAPおよびHTTPベースのプロトコルであり、CPE と自動構成サーバー (ACS) 間の通信を提供します。このプロトコルは、モデム、ルーター、ゲートウェイなどのインターネット アクセスデバイスの増加に対応し、セットトップ ボックスやVoIP電話などのインターネットに接続するエンド ユーザー デバイスにも対応します。
TR-069は2004年5月に初めて発行され、2006年、2007年、2010年、2011年7月(バージョン1.3) [1]および2013年11月(バージョン1.4 am5)[2]に改訂されました。
ホームゲートウェイ イニシアチブ(HGI)、デジタル ビデオ ブロードキャスト(DVB)、WiMAX フォーラムなどの他の技術イニシアチブでは、住宅用ネットワーク デバイスと端末のリモート管理用のプロトコルとして CWMP を承認しました。
コミュニケーション
輸送
CWMP はテキスト ベースのプロトコルです。デバイス (CPE) と自動構成サーバー (ACS) の間で送信される命令は、HTTP (またはより一般的には HTTPS) 経由で転送されます。このレベル (HTTP) では、CPE はクライアントとして機能し、ACS は HTTP サーバーとして機能します。これは基本的に、プロビジョニング セッションのフローの制御がデバイスの唯一の責任であることを意味します。
構成パラメータ
デバイスがサーバーに接続するには、まず特定のパラメータを設定する必要があります。これには、デバイスが接続するサーバーの URL と、デバイスがプロビジョニング セッションを開始する間隔 ( PeriodicInformInterval ) が含まれます。さらに、セキュリティ上の理由で認証が必要な場合は、ユーザー名やパスワードなどのデータを提供する必要があります。[3]
プロビジョニングセッション
すべての通信と操作は、プロビジョニング セッションの範囲内で実行されます。セッションは常にデバイス (CPE) によって開始され、Informメッセージの送信から始まります。セッションの受信とサーバーの準備は、InformResponseメッセージによって示されます。これでセッション初期化ステージは完了です。次の 2 つのステージの順序は、フラグHoldRequestsの値によって異なります。値がfalseの場合、初期化ステージの後にデバイス要求が送信され、それ以外の場合は ACS 命令が最初に送信されます。次の説明では、値がfalseであると想定しています。
第 2 段階では、デバイスから ACS に命令が送信されます。プロトコルでは、ACS 上のデバイスによって呼び出される可能性のある複数のメソッドが定義されていますが、一般的に使用されているのはTransferCompleteのみです。これは、以前に発行されたダウンロードまたはアップロード要求によって開始されたファイル転送の完了を ACS に通知するために使用されます。この段階は、ACS への 空の HTTP 要求の送信によって終了します。
第 3 段階では、CWMP レベルで役割が変わります。デバイスによる空の HTTP 要求に対する HTTP 応答には、ACS からの CWMP 要求が含まれます。その後、前の CWMP 要求に対する CWMP 応答を含む HTTP 要求が続きます。複数の注文が 1 つずつ送信されることがあります。この段階 (およびプロビジョニング セッション全体) は、保留中の注文がこれ以上ないことを示す ACS からの空の HTTP 応答によって終了します。
セッショントリガー
プロビジョニング セッションをトリガーする特定のイベントがあります。これには次のものが含まれます。
- ブートストラップ - デバイスが初めてサーバーに接続するとき、サーバーの URL が変更されたとき、またはデバイスの設定がデフォルトにリセットされたとき。
- 定期的 – デバイスは、 PeriodicInformInterval設定に従って定期的なセッションを実行するようにスケジュールされます。
- 接続要求 - デバイスはサーバーの接続要求に応答します。
- 値の変更 – 監視対象のパラメータの値が変更されました。
- ブート – デバイスがリセットされた後、または電源が失われて再接続された後。
- スケジュール済み – デバイスが以前にサーバーからScheduleInformコマンドを使用して追加のセッションを初期化するように指示された場合。
- 転送完了 – デバイスがサーバーから要求されたファイルのダウンロードまたはアップロードを完了した後。
- 診断完了 – デバイスが診断を完了すると表示されます。[3]
セキュリティと認証
重要なデータ(ユーザー名やパスワードなど)は CWMP 経由で CPE に送信される可能性があるため、安全なトランスポート チャネルを提供し、常に CPE を ACS に対して認証することが不可欠です。ACS ID の安全なトランスポートと認証は、HTTPS の使用と ACS 証明書の検証によって簡単に提供できます。CPE の認証はより問題があります。デバイスの ID は、HTTP レベルの共有シークレット(パスワード)に基づいて検証されます。パスワードは、プロビジョニング セッションごとに当事者間(CPE-ACS)でネゴシエートされる場合があります。デバイスが初めて ACS に接続するとき(または工場出荷時設定にリセットした後)、デフォルトのパスワードが使用されます。大規模ネットワークでは、各デバイスが一意の資格情報を使用していることを確認するのは調達担当者の責任であり、そのリストはデバイス自体とともに提供され、保護されます。[引用が必要]。
接続リクエスト
プロビジョニング セッション フローの初期化と制御はデバイスのみの責任ですが、ACS がデバイスからセッションの開始を要求することもできます。接続要求メカニズムも HTTP に基づいています。この場合、デバイス (CPE) は HTTP サーバーの役割を担います。ACS は、ネゴシエートされた URL にアクセスし、HTTP 認証を実行することで、デバイスからの接続を要求します。プロビジョニング サーバー (ACS) への DDoS 攻撃に CPE が使用されるのを防ぐため、共有シークレットも事前にデバイスとネゴシエートされます (以前のプロビジョニング セッションなど)。デバイスから確認が送信された後、プロビジョニング セッションはできるだけ早く、確認が送信されてから 30 秒以内に開始する必要があります。
NAT経由の接続要求
CWMP プロトコルは、 NAT の背後に接続されているデバイス(IP 電話、セットトップ ボックスなど) に到達するためのメカニズムも定義します。このメカニズムは、STUNおよびUDP NAT トラバーサルに基づいており、文書 TR-069 Annex G (以前は TR-111) で定義されています。
プロトコルの修正 5 では、XMPPに基づいて NAT 経由で接続要求を実行する代替方法が導入されています(詳細については、TR-069 修正 5 の付録 K を参照してください)。
データモデル
構成と診断のほとんどは、デバイス パラメータの値の設定と取得を通じて実行されます。これらは、すべてのデバイス モデルとメーカーにほぼ共通する、明確に定義された階層構造で編成されています。Broadband Forum は、データ モデル標準を 2 つの形式で公開しています。1 つは、後続の各データ モデルの詳細な仕様とバージョン間のすべての変更を含む XML ファイル、もう 1 つは、人間が判読できる詳細を含む PDF ファイルです。サポートされている標準と拡張機能は、デバイス データ モデルで明確にマークする必要があります。これは、それぞれDevice:1.0とInternetGatewayDevice:1.1から必須となるフィールドDevice.DeviceSummaryまたはInternetGatewayDevice.DeviceSummary内にあります。フィールドが見つからない場合は、InternetGatewayDevice:1.0が暗黙的に使用されます。Device :1.4およびInternetGatewayDevice:1.6では、サポートされている標準仕様の新しいフィールド ( '<RO>'.SupportedDatamodel ) が導入されました。
モデルは、製造元の選択に応じて、常にDeviceまたはInternetGatewayDeviceという名前の単一のキーをルートとします。構造の各レベルで、オブジェクトとパラメータ (または配列インスタンス) が許可されます。キーは、区切り文字として '.' (ドット) を使用してオブジェクトとパラメータの名前を連結することによって構築されます (例: InternetGatewayDevice.Time.NTPServer1 )。
各パラメータは、書き込み可能または書き込み不可としてマークできます。これは、デバイスによってGetParameterNamesResponseメッセージで報告されます。デバイスは、読み取り専用としてマークされたパラメータの変更を許可してはなりません。データ モデルの仕様と拡張機能では、ほとんどのパラメータの必須ステータスが明確にマークされています。
パラメータに適用可能な値、そのタイプおよび意味も、標準によって正確に定義されています。
マルチインスタンスオブジェクト
データ モデルの一部では、サブツリーの複数のコピーの存在が必要です。最も良い例は、ポート転送テーブルなどのテーブルを記述するものです。配列を表すオブジェクトは、その子としてインスタンス番号またはエイリアス名のみを持ちます。
マルチインスタンス オブジェクトは、それが表すものに応じて、書き込み可能または読み取り専用になります。書き込み可能なオブジェクトでは、子の動的な作成と削除が可能です。たとえば、オブジェクトがイーサネット スイッチ上の 4 つの物理ポートを表す場合、データ モデルにそれらのポートを追加したり削除したりすることはできません。オブジェクトにインスタンスが追加されると、識別子が割り当てられます。割り当てられた後、デバイスのライフサイクル中は、工場出荷時設定へのリセットを除き、識別子を変更することはできません。
よくある問題
パラメータとその属性のリストは明確に定義されていますが、ほとんどのデバイスは標準に完全に従っていません。最も一般的な問題には、パラメータの欠落、インスタンス識別子の省略 (インスタンスが 1 つしかないマルチインスタンス オブジェクトの場合)、パラメータ アクセス レベルの誤り、定義された有効な値のみを正しく使用することなどがあります。たとえば、WLAN プロトコルのサポート標準を示すフィールドの場合、値「g」は 802.11b と 802.11g のサポートを示し、「g-only」は 802.11g のみのサポートを示します。「bg」や「b/g」などの値は Broadband Forum 標準では無効ですが、デバイス データ モデルでは非常によく見られます。
一般的な操作
プロビジョニング全体は、定義された一連の単純な操作に基づいて構築されます。各注文はアトミックであると見なされますが、トランザクションはサポートされていません。デバイスが注文を実行できない場合は、ACS に適切なエラーを返す必要があります。デバイスはプロビジョニング セッションを中断してはなりません。
より完全な操作リストとプロトコルの分析については、[4]を参照してください。
TR-069による高度な操作が可能
- サービスの有効化と再構成
- ゼロタッチまたはワンタッチ構成プロセスの一環としてのサービスの初期構成
- サービスの再確立(例:デバイスを工場出荷時の状態にリセットした後、交換した後)
- リモート加入者サポート
- デバイスの状態と機能の検証
- 手動再構成
- ファームウェアと構成管理
- ファームウェアのアップグレード/ダウングレード
- 構成のバックアップ/復元
- 診断と監視
- スループット(TR-143)と接続診断
- パラメータ値の取得
- ログファイルの取得
安全
ISP ACS または ACS と CPE 間のリンクが不正なエンティティによって侵害されると、サービス プロバイダーの加入者全体の TR-069 対応デバイスにアクセスできる可能性があります。顧客情報とデバイスの操作は、クライアント ネットワーク上の他の MAC アドレスを含め、潜在的な攻撃者に公開されます。DNS クエリを不正な DNS サーバーに秘密裏にリダイレクトしたり、バックドア機能を備えたファームウェアの秘密の更新を行ったりすることも可能です。[5] TR-069 ACS ソフトウェアは、多くの場合、安全でない方法で実装されていることが判明しています。[6] TR-064 (LAN 側 DSL CPE 構成) と TR-069 (CWMP) を組み合わせた実装の欠陥は、適切な保護なしにパブリック インターネット経由で接続要求に同じ HTTP エンドポイントを再利用していましたが、さまざまなベンダーのデバイスで発見され、Mirai ベースの ボットネットやその他のマルウェアによって悪用されています。[7] [8]
さらに読む
- 「TR-069 – クラッシュ コース」(PDF)。ニューハンプシャー大学相互運用性研究所。2009 年。2016年 9 月 12 日のオリジナルからアーカイブ(PDF) 。
参考文献
- ^ 「CPE WAN 管理プロトコル」(PDF) TR -069 修正 4ブロードバンド フォーラム 2011 年 7 月2012 年2 月 16 日閲覧。
- ^ 「CPE WAN 管理プロトコル」(PDF) TR -069 修正 5ブロードバンド フォーラム 2013 年 11 月2014 年3 月 3 日閲覧。
- ^ ab 「TR-069 (CWMP) のクラッシュコース」AVSystem . 2020年11月16日閲覧。
- ^ Basicevic, Ilija (2023). 「TR069 (CWMP) プロトコルの分析」. 2023 第 46 回 MIPRO ICT およびエレクトロニクス コンベンション (MIPRO) . オパティヤ、クロアチア. pp. 460–465. doi :10.23919/MIPRO57284.2023.10159841. ISBN 978-953-233-104-2. S2CID 259299865。
{{cite book}}: CS1 メンテナンス: 場所が見つかりません 発行者 (リンク) - ^ ISPが提供する多くの家庭用ルーターは、大量に侵入される可能性があると研究者らは言う
- ^ チェック・ポイントのマルウェアおよび脆弱性研究グループは、ACSベンダーのソリューションにいくつかの欠陥を発見した。
- ^ 「家庭用ルーターへのMirai攻撃とTR-069の脆弱性疑惑」www.qacafe.com . 2020年4月25日閲覧。
- ^ 「ルーターを悪用する実際的な方法」。blog.ptsecurity.com。2017年6月22日時点のオリジナルよりアーカイブ。2017年6月16日閲覧。
外部リンク
- 公式サイト
- CPE WAN 管理プロトコル CWMP XML スキーマとデータ モデル定義
