はじめに
Youtubeでは、TP-LINKのルータに関して、極めて出どころの怪しい情報が飛び交っているようです。聞いた感じだと、
- パケットを中国に転送している
- VPNが自動切断される
このようなところだと思います。しかし、これは極めて怪しいと言わざるを得ません。私が考えるに、パケットを中国に転送しているというのはダウトだと思います。それは、分析だけで手間すぎるし、そもそも、中国へのルートが酷い輻輳を起こすのが明らかだからです。
VPNは中国国内だとかなり規制されているので、代表的なポートが塞がれている可能性はなくはないです。日本国内での利用だと甚だ迷惑ですが。
いくつかYouTubeの動画などを確認しましたが、危険説は米国政府の発表などが全てで、ソースコードのリバースなど客観的な根拠は見当たりません。せいぜいが、国家情報法ですね。しかし、そういう法律があるというのは行われている根拠にはなりません。
TP-Linkとは
「TP-Link」は、ネットワーク機器の製造や販売などを行っている企業です。1996年に設立され、現在は1万円以下という低価格で購入できるWi-FiルーターやWebカメラなどが人気を博し、世界170か国以上で10億人を超えるユーザーにネットワーク関連製品を提供しています。世界44か国に現地法人を設置しており、日本には2015年に子会社である「ティーピーリンクジャパン株式会社」を設立しています。
実現性の検討
VPNの自動切断は一応、実現可能です。しかし、VPNかどうかの判別は正直、難しいのでこれも眉に唾を100リットルくらい塗るレベルですね。ただ、それ以上に私が怪しんでいるのはルータのファームウェアをばらしたレポートが一つもないことです。というか、ルータに問題があり得るなら、ファームウェアをばらせば一発です。故に、私はそのようなレポートがない以上、本件自体が虚偽と考えざるを得ません。
TP-LINKのコード
実は、TP-LINKのコードの多くは、GPLのコードです。したがって、多くの機種でコードが公開されています。もちろん、リビルドにはそれ相応の手間がかかるとは思います。そして、リバースエンジニアリングした方もいらっしゃいます。以下の記事でリバースエンジニアリングの例を見ることができますが、ロジックボムや隠されたゲートが発見されたという情報は確認できていません。
Reverse engineering my router’s firmware with binwalk
また、GPL上、ルータに書き込まれているバイナリとソースコードに不整合がある場合、GPL違反に問われるリスクがあります。そのようなリスクを冒して、トロイの木馬を埋め込むのはかなりハードルが上がると言わざるを得ません。
GPLは、ソフトウェアの自由な利用、改変、配布を保障するライセンスですが、その条件を遵守しない場合、法的な問題が発生することがあります。具体的には、GPLに基づくソースコードを使用しているにもかかわらず、ファームウェアにその変更点やソースコードを公開しない場合、著作権侵害として訴えられるリスクがあります。
検討
当然、本件が事実であると仮定した動画はすべて、疑いの目で見ることになります。私個人としては、適切なソースを引用していない場合、このような動画はすべて通報対象としています。
家庭用ルータの脆弱性
家庭用のルータの場合、特にUPnP周りが脆弱になることは比較的多いです。ネットワーク経由のゲーミングではポート開放が前提になることがあり、それがどのように設定されているかによっては致命的な脆弱性を実装するリスクがあります。
UPnP (Universal Plug and Play)とは
UPnP(Universal Plug and Play)は、ネットワークに接続されている機器同士が自動的に通信し、必要な設定を自動で行うための技術です。この技術により、ユーザーは手動で設定を行う手間を省くことができます。特に、ネットワーク経由のゲーミングやストリーミングサービスでは、UPnPが重要な役割を果たします。この種のゲートウェイ機器では、UPnPによるポートの自動開閉が定義されており、必要に応じてポートが自動開閉されます。
しかし、その利便性の反面、UPnPはセキュリティ上の脆弱性を抱えることが多く、適切に設定されていない場合や脆弱な実装がされている場合、外部からの不正アクセスのリスクが高まります。家庭用ルーターにおいても、UPnP機能の脆弱性がしばしば指摘されています。
監視とロギング
本来、このような問題の対処には監視とロギングが必要ですが、技術者以外にはその判断が困難です。家庭用ルータでsyslog転送などを持っているものはほとんど見受けられません。
終わりに向かって
個人的には、生成AIなどでこのようなスキルを埋めることができないかと思いますが、現状では生成AIの必要な負荷と家庭用のルータに利用されるプロセサのスペックを勘案すると、難しいと言わざるを得ないですね。