UPnPとは、主に同一のローカルネットワーク上のデバイスが自動的にお互いを発見し、接続できるように設計されたネットワークプロトコルスイートです。技術に詳しくないユーザーにとって、これが夢のような話に聞こえるなら、多くの意味で、まさにその通りです。

結局のところ、超接続された今日の社会において、利便性は極めて重要です。インターネットに簡単に接続できるゲーム機から、箱から出してすぐに「問題なく動作」するかのよう思えるスマートTVIoTデバイス(新しいウィンドウ)にいたるまで、現代のネットワークはユーザーの手間を最小化するように設計されています。このシームレスな接続性を陰で支えるテクノロジーの1つが、ユニバーサルプラグアンドプレイ(UPnP)です。

しかし、UPnPはルーターのポート転送を設定するためにもよく使用され、インターネット上のデバイスがローカルエリアネットワーク(LAN)上のリソースにアクセスできるようにします。このことは(後ほど説明する他のセキュリティ脆弱性と併せて)、UPnPを完全に無効化することが賢明な選択肢になり得ることを意味しています。

この記事では、以下について見ていきます。

UPnPとは何ですか?

その名前が示す通り、UPnPの主要な目的は、ネットワークに接続されたデバイスを「プラグアンドプレイ」にすることです。つまり、デバイスをネットワークに接続したときに、ルーターの設定を詳しく調べたり、ポートを開放したり、IPアドレスをいじったりすることなく、そのまま機能するようにすることです。

UPnPは、パソコン、プリンター、モデム、ルーター、モバイルデバイスなどのローカルネットワーク上のデバイスが、ネットワーク上でお互いの存在をシームレスに発見し、相互に通信できるようにする一連のネットワークプロトコルを使用することで、これを実現しています。

UPnPはポート転送を設定し、ルーターのファイアウォールを介して接続をルーティングすることで、インターネット上のデバイスとローカルネットワーク上のデバイスを接続するためにも使用されます。これを行う一般的な理由には、以下のようなものがあります。

  • IoTデバイス:たとえば、世界中のどこからでも防犯カメラの映像を確認したり、スマートサーモスタットを制御したり、スマートホームシステムを管理したりできます。
  • ホームメディアサーバー:外出先からインターネット経由でPlexやJellyfinサーバーのコンテンツを視聴できます。
  • ゲームサーバー:サードパーティのサーバー手数料を支払うことなく、マルチプレイヤーゲームをホストできます。
  • P2Pファイル共有:インバウンド接続を許可してダウンロード速度を向上させます。この仕組みの詳細については、弊社のトレントの究極ガイド(英語)をご覧ください。

UPnPはどのように機能しますか?

簡単に言うと、UPnPの仕組みは次のステップに分解できます。

  1. 検出(Discovery):デバイスがネットワークに接続されると、メッセージをブロードキャストして自身の存在を知らせます。ネットワーク上の他のデバイスはこのメッセージに応答することができ、これによりお互いを検出できます。
  2. 説明(Description):デバイスがお互いを検出すると、その機能やサービスに関する情報を交換します。このステップでは、デバイスができることや、他のデバイスがどのように対話できるかに関する詳細を共有します。
  3. 自動構成(Automatic configuration):デバイスはルーターにポート転送を自動的にリクエストできます。たとえば、ゲーム機はルーターに特定のポートを開放するようリクエストし、手動の操作なしでマルチプレイヤーゲームをホストできるようにします。

なぜUPnPは危険なのですか?

UPnPは否定できない利便性をもたらす一方で、深刻なセキュリティ上の懸念も引き起こします。UPnPをリスクの高いものにしているのは、その仕組みだけでなく、水面下で何が行われているかについて、通常、お客様が管理や可視化を行える余地がほとんどないという点です。UPnPの主なリスクは以下の通りです。

自動ポート転送

主にローカルネットワーク上のデバイスを接続するために設計されているものの、UPnPの最も便利な機能の1つは、ルーター上のポートを自動的に開放し、LAN上のデバイスがインターネット上のデバイスと通信できるようにすることです。残念ながら、ポートが開放されると、悪意のある攻撃者がローカルネットワーク上のデバイスにアクセスできるようになる可能性があります。

このリスクは、ルーターのポート転送を手動で構成する場合にも存在することに留意する必要があります。しかし、UPnPが有効になっている場合、お客様が気づかないうちに、ローカルネットワーク上の複数の(脆弱である可能性のある)デバイスを自動的に構成するためにポートが開放される可能性があります。

認証の欠如

UPnPは信頼できるローカルネットワークを想定して設計されているため、通常、動作するためにデバイスからの認証を必要としません。これは、同じネットワーク上のあらゆるデバイス(侵害されている可能性のあるデバイスを含む)が、ポートの開放やトラフィックのリダイレクトを求めるリクエストをルーターに送信できることを意味します。

ネットワーク内の感染した1台のデバイスにマルウェアが存在する場合、お客様が気づかないうちにネットワーク設定がひそかに変更され、ファイアウォールに穴を開けられる可能性があり、これによりマルウェアが外部と通信できるようになります。これは悪名高いMiraiボットネット(新しいウィンドウ)で起こったことであり、UPnPの脆弱性を悪用して(家庭用カメラなどの)IoTデバイスやルーターに感染し、世界最大規模のDDoS攻撃(新しいウィンドウ)を仕掛けました。

この認証の欠如は、ローカルネットワークに接続されているUPnPデバイス間でマルウェアが容易に拡散する可能性があることも意味します。

ポートスキャン攻撃のリスク増加

主に、インターネットからの(ローカルからだけでなく)UPnP接続を受け入れる古い、あるいは不適切に構成されたルーターのせいで、数百万台のネットワークデバイスやルーター(新しいウィンドウ)が、DDoSやその他の攻撃に対して脆弱になっています。

UPnPを無効化すべき理由

UPnPはネットワークのセットアップを自動化することで利便性を高めてくれますが、セキュリティ制御の欠如と悪用の可能性により、リスクの高い機能となっています。これは、UPnPのデフォルトである「すべてを信頼する」という設計哲学が現代のセキュリティのベストプラクティスと単純に一致せず、マルウェアの拡散に好都合となっている一般消費者向けのルーターにおいて特に当てはまります。そのため、ほとんどの人にとって、利便性はリスクに見合わないと言わざるを得ません。

どのポートが開放されているか、なぜ開放されているか、そしてそれらが適切に閉じられているかどうかについての可視性が欠如しているため、ネットワークセキュリティに死角が生じます。これにより、マルウェアやハッカーに容易な侵入経路を与えることになり、ネットワーク内に持続的なバックドアを作成されたり、攻撃者が制御するDNSサーバーを介してトラフィックをルーティングされたりするおそれがあります(Switcherトロイの木馬(新しいウィンドウ)に見られるように)。

はるかに優れた解決策は、必要なときに必要なだけポート転送を手動で構成することです。これにより、どのポートが開放されているかを完全に管理し、監視することができます。

さまざまなルーターでポート転送を手動でセットアップする方法について詳しく見る

ただし、VPNに接続するデバイス用にルーターでポート転送をセットアップすることには意味がありませんのでご注意ください(以下を参照)。

ポート転送、UPnP、およびVPN

デバイスをVPNサーバーに接続すると、デバイスとサーバーの間を行き来するすべてのデータは、暗号化されたVPNトンネルを介してルーティングされます。このVPNトンネルを経由している間は、他者や他のデバイスがお客様のデータを見ることはできません。

これにはお客様のインターネットサービスプロバイダ(ISP)、ひいては政府も含まれますが、ルーター自体も含まれます。そのため、VPNを使用している場合、接続は実質的にルーターをバイパスするため、UPnP(およびルーター上での手動のポート転送)は不要になります。VPN使用時のポート転送とは、ルーター上ではなく、VPNプロバイダーがVPNサーバーを保護するために使用しているNATファイアウォール上のポートを開放することを意味します。

デバイス(またはBitTorrentクライアントなど、そのデバイスで実行されているアプリ)がUPnPをサポートしている場合、VPNソフトウェアとの競合を防ぐために、その設定を無効化する必要があります。

Proton VPNでのポート転送について詳しく知る

ルーターでUPnPを無効化する方法

ルーターでのUPnPの無効化は簡単なプロセスですが、具体的な手順はルーターのメーカーやモデルによって異なります。以下は、最も一般的なルーターブランドの一部でUPnPを無効化するための一般的な手順です。他のルーターでも、手順は同様です。

まず、ブラウザのアドレスバーにルーターのIPアドレス(通常は192.168.1.1または192.168.0.1)を入力し、管理者のユーザー名とパスワードでサインインします。これは通常、ルーターに貼られているステッカーに記載されています(変更している場合を除く)。その後、以下の手順を行います。

Linksysルーター

Administrationタブ → UPnPの順に移動し、UPnP設定をオフに切り替えます。Save Settingsをクリックして変更を適用します。変更を確実に反映させるため、ルーターを再起動することをお勧めします。これを行うには、Administrationタブ → Rebootの順に移動します。

Netgearルーター

Administrationタブ → UPnPの順に移動し、UPnP設定をオフに切り替えます。Applyをクリックして変更を保存します。変更を確実に反映させるため、ルーターを再起動することをお勧めします。これを行うには、Maintenanceタブ → Rebootの順に移動します。

TP-Linkルーター

Advancedタブ → NAT forwardingUPnPの順に移動し、UPnP設定をオフに切り替えます。変更を確実に反映させるため、ルーターを再起動することをお勧めします。これを行うには、Systemタブ → Rebootの順に移動します。

TP-LinkルーターでUPnPをオフにする方法

UPnPに関するまとめ — 代償を伴う利便性

UPnPは、デバイスが自動的に通信して設定を行えるようにすることで、一般のユーザーがネットワークを利用しやすくするという、善意の目的で設計されました。しかし、サイバー脅威がかつてないほど高度化し頻発している現代において、この利便性は脆弱性でもあります。

UPnPは認証を欠いていること、ポート転送、そして悪用されてきた歴史があることから、有効にしたままにするのは危険な機能です。特に、監視や更新が滅多に行われない家庭用ルーターではその傾向が顕著です。ゲームやストリーミングデバイス、スマートホーム家電のセットアップは簡単になりますが、ハッカーやマルウェアが喜んで侵入する隙を密かに与えることにもなります。

幸いなことに、UPnPの無効化は簡単であり、日常的なインターネットの使用においてほとんど違いを感じることはありません。特に、本当にポートを開放する必要がある数少ないサービスを手動で設定するために少しお時間を割いていただけるのであれば、なおさらです。

お客様のデバイスでProton VPNをご利用の場合は、さらに簡単です。機能を有効にするだけで、Proton VPNのファイアウォールでお客様のために適切なポートを自動的に開放いたします。

Proton VPNでのポート転送の使用方法を見る