GASでDPIを回避?次世代プロキシツールの仕組み

かつて、インターネットは国境を溶かす魔法の空間だと信じられていました。しかしテック業界で15年も飯を食っていると、その理想が徐々に崩れ、物理的な国境と同じかそれ以上に強固な「デジタルな壁」が世界中に築かれていくのを嫌でも目の当たりにします。

国家規模のファイアウォールは年々進化し、現在ではDPI(Deep Packet Inspection:ディープ・パケット・インスペクション)を用いてパケットの中身まで解析し、少しでも疑わしいプロトコルや未認可のVPN通信を見つければ即座に遮断するようになりました。これに対抗するため、検閲回避の技術もまた泥臭く、しかし極めて高度な進化を遂げています。

検閲側と回避側の果てしないイタチごっこ。その最前線で今、クラウドインフラの「巨大さ」そのものを逆手に取ったアプローチが静かな注目を集めています。

Googleという「大きすぎる隠れ蓑」

強固なファイアウォールをすり抜ける際、最も頭を悩ませるのが「どこにサーバーを置くか」です。自前でVPSを借りてVPNを構築しても、IPアドレスごとブラックリストに入れられてしまえばそれまで。ドメインを取得して偽装しようにも、SNI(Server Name Indication)を監視されていれば即座に弾かれます。

そこで考案されたのが「Domain Fronting(ドメイン・フロンティング)」という手法です。そして、この手法を現代的な技術スタックで極限までパッケージングしたのが、今回取り上げる「MasterHttpRelayVPN」です。リポジトリにはペルシア語のガイドも用意されており、これが単なる技術的興味ではなく、切実な検閲回避を目的としていることがひしひしと伝わってきます。

このツールの核心は、プロキシのリレー先として**Google Apps Script(GAS)**を利用している点にあります。

Browser -> Local Proxy -> Google/CDN front -> GAS Relay -> Target website
             |
             +--> 監視網には "www.google.com" への通信に見える

ローカルで起動したPython製のプロキシが、ブラウザからの通信をMITM(中間者攻撃)の仕組みでインターセプトし、トラフィックを「ただのGoogleへのアクセス」に偽装します。パケットの宛先やSNIには www.google.com が指定されているため、DPIを搭載したファイアウォールはこれを正常な検索エンジンのトラフィックだと判断し、通過させます。

しかし、実際のペイロードは暗号化されたままGoogleのインフラ内部へ運ばれ、ユーザー自身がデプロイした無料のGASへと到達します。GASが本来のターゲットサイトへリクエストを飛ばし、その結果を同じルートで送り返すのです。

サーバーレスと検閲回避の交差点

GASを簡易的なプロキシとして使うアイデア自体は、実はそれほど新しいものではありません。しかし、MasterHttpRelayVPNの優れた点は、それをDPI回避の実用レベルにまで引き上げていることです。HTTP/1とHTTP/2のマルチプレクシングに対応し、TLSの振る舞いを細かくチューニングすることで、検閲装置が「VPNらしい」と判断する特徴を徹底的に消し去っています。

従来の選択肢と比較すると、その特異性がよくわかります。

比較項目 従来のVPS型VPN MasterHttpRelayVPN
インフラ費用 月額数百円〜数千円(VPS維持費) 無料(Googleアカウントのみ)
構築の手間 サーバー構築、証明書取得・更新 GASへコードをデプロイし、手元でスクリプト起動
検閲耐性 IPやドメインが特定されるとブロックされる GoogleのIP帯に隠れるため、特定・遮断が極めて困難

検閲する国家側からすれば、この通信をブロックするためには「Googleのインフラ全体を遮断する」という極端な手段に出るしかありません。現代の経済活動において、Googleのサービス群(検索、Gmail、Cloudインフラ等)を完全に遮断できる国はごく僅かです。つまり「相手にとってブロックするには大きすぎる存在(Too big to block)」を盾にしているわけです。

もちろん、これは完全無欠の銀の弾丸ではありません。Google側の利用規約(ToS)に抵触するリスクや、GASの実行クォータ制限など、クラウドプロバイダーの掌の上で踊っているという危うさは常に付きまといます。READMEにも免責事項が並べられている通り、運用は完全な自己責任となります。

自由への執念が技術を洗練させる

ファイアウォールを構築する側と、それを抜けようとする側。この対立構造が生み出す技術の進化は、時にオープンソースの世界に思いもよらないツールをもたらします。クラウドの余剰リソース(今回はGAS)が、表現の自由を担保するための隠し通路として機能するというのは、サイバーパンク的なロマンすら感じさせます。

技術の行き着く先は、常に人間の切実な欲求に支えられている。そんなことを再認識させられるコードです。

参考リポジトリ: masterking32/MasterHttpRelayVPN

Photo by Shubham Dhage on Unsplash

コメントする