Tor Snowflake:ブロックされた地域でのTor接続を支援する検閲回避ツール
(snowflake.torproject.org)- Snowflakeは、Torがブロックされている地域のユーザーがTorネットワークに接続できるよう支援する検閲回避ツールで、Tor Browser、Orbot、Ricochet-RefreshなどのTorベースアプリで利用できる
- ユーザーはアプリ設定でSnowflakeを選択し、接続をボランティアのプロキシ経由でルーティングする。自分でブラウザアドオンをインストールする必要はない
- SnowflakeはWebRTCを活用し、Torトラフィックを映像・音声通話のように見せかけることで、検閲者による検知を難しくする
- ボランティアはFirefox、Chrome、Edge向けアドオンを有効にして帯域幅を提供でき、ページには127,599個のSnowflakeが稼働中と表示されている
- アドオンは検閲を回避したいユーザー向けではなく、他人のTor接続を支援したい人がインストールするプロキシ提供ツールである
TorアプリでSnowflakeを使う
- Snowflakeは、TorがブロックされたネットワークでもTorへ接続できるようにする検閲回避技術である
- Torベースアプリに組み込まれており、接続が遮断される場合はアプリ設定でSnowflakeを選んで回避できる
- Tor Browser:DesktopおよびAndroid対応、Tor Project製
- Orbot:AndroidおよびiOS対応、Guardian Project製
- Ricochet-Refresh:Desktop対応、Blueprint for Free Speech製
- 検閲回避を望むユーザーは、Tor BrowserやOrbotのようなTorベースアプリをダウンロードし、Snowflakeを有効にすればよい
- ブラウザアドオンは直接の回避接続のためのツールではなく、他のユーザーの接続を中継するボランティア向けプロキシである
ボランティアプロキシと回避方式
- ボランティアはブラウザアドオンをインストールして有効化することで、Snowflakeプロキシを提供できる
- アイコンが緑色に変わると、ブロックされたユーザーがそのアドオンに接続している状態である
- Firefox向けインストール
- Chrome向けインストール
- Edge向けインストール
- Snowflakeは、検閲のない国のボランティアプロキシを経由してTorネットワークへの接続を可能にする
- VPNのようにインターネット検閲の回避を支援するが、トラフィックを映像または音声通話のように見せかける点が特徴である
- 基盤技術はビデオ会議ソフトウェアでよく使われるWebRTCで、Torの利用痕跡を音声・ビデオ通話のように見せる
- SnowflakeはPluggable Transports系の比較的新しい回避技術で、継続的に改善されている
- Pluggable TransportsはTorブリッジのトラフィックを通常の接続のように見せ、Tor接続ではないかのように偽装する
- Snowflakeはビデオ通話のように、meek-azureはMicrosoft接続のように、WebTunnelは標準HTTPS接続のように見せる方式である
- こうした偽装により、検閲者が回避ツールをブロックしようとするとインターネットの大きな部分まで同時にブロックせざるを得なくなり、ブロックのコストが高くなる
- 技術構造はtechnical overviewで確認でき、アプリケーションでSnowflakeを使うにはanti-censorship teamに連絡できる
1件のコメント
Hacker Newsの意見
Snowflakeはランデブーにドメインフロンティングを使う[1]。デジタル世界で、スパイが何も知らない友人の家で秘密の会合を開くようなもので、結局その友人にとっては常に悪い結果になる
この手法は悪意ある行為者によく使われ、一部のクラウドプロバイダーはデフォルトでブロックしていることもある[2]。Signalがこれを広く展開しようとしたとき、AWSはイランや中国のような国がAWS全体を遮断するのではないかと懸念し、強い警告を送った[3]
ドメインフロンティングは万能鍵ではない。SignalとTorは、クラウドプロバイダーがドメインフロンティングをブロックしたことで、より正確には本来動作するよう意図されていなかった機能をこれ以上サポートしなくなったことで問題に遭遇したが、何かを妨害する意図があったとは考えにくい。「ロードバランサーが設定されたドメインに合う証明書を提示するようにする」こと自体は、問題のある機能ではない
ドメインフロンティングはopensslの呼び出しとnginxサーバーだけで足りるほど単純で、破るのも証明書を実際に検証するだけで済むほど簡単だ。こうした証明書は自己署名か、実際のシステムが信頼しない任意の認証局チェーンに属する
「何も知らない友人の家で秘密の会合を開くスパイ」というより、ブラジルの適当な倉庫の前に「ホワイトハウス、米国大統領の家、立入禁止」という看板を立てるのに近い
ドメインフロンティングにだまされるソフトウェアは、証明書とその有効性を気にしていないか、バグがあるのでパッチされるべきだ。その一部がセキュリティソフトウェアである可能性はあるが、悪意ある行為者がいくつかの読める文字列だけでセキュリティソフトウェアをだまして信頼させられるなら、ドメインフロンティングは懸念事項の中でも小さい方だ
Encrypted Client Helloは、HTTPSサーバーに対するクライアントの最初の接触まで暗号化しようとする進行中の取り組みだ
https://datatracker.ietf.org/doc/draft-ietf-tls-esni/
ECHはよくてドメインフロンティングはなぜだめなのかというと、ドメインフロンティングでは実際のリクエストを知るのが遅すぎるのが問題だからだ。this-thing.exampleへの正常なリクエストに見えるので、そのリクエストを処理する準備をすべて整えたところで、突然「ごめん、気が変わった。実は私のリクエストはhidden-service.example宛てだ」となるようなものだ
ECHでは、接続を盗み見る攻撃者には分からないが、こちらは最初からリクエストがhidden-service.example宛てだと分かっているので、間違った作業を準備するために時間を浪費しない
彼らが行使できる暴政にも限界があるのではないか。結局、巻き添え被害が大きくなりすぎて検閲の試みを諦めるかもしれない。あるいは、人々が受け入れられないほど抑圧的な社会になるだろう
これは通常のガードリレー、つまりTor回路の最初のホップがブロックされたときにTorユーザーがTorへ接続できるようにするリレーで、ドメインフロンティングとWebRTCを使う
デフォルトで提供されていたドイツ語訳を基準にすると、文言はかなり混乱を招くものだった。対象側もWebRTCをサポートする必要があるため、ブラウザ内プロキシだけで任意のHTTP(S)ウェブサイトにアクセスできるわけではなく、依然としてWebRTC接続を受け入れてトラフィックを転送する別のサーバーが必要だ。要点は、記事では述べていないが、この別のサーバーへ間接的に接続できるようにすることにある
検閲されたウェブサイトを訪問するのにソフトウェアは不要だとまで言っている
SnowflakeをプロキシやVPNアプリのようにどうインストールすべきか混乱しているユーザーに、動作の仕組みを説明しようとしているように見える
直接引用するとかなり明確だ。「VPNと違い、Snowflakeプロキシに接続して検閲を回避するために、別のアプリケーションをインストールする必要はありません。通常は既存のアプリ内に組み込まれた回避機能です。」
自国で Tor が違法なら、使おうとすること自体がかなり危険に見える。誰でも Snowflake プロキシを動かせるので、接続元 IP アドレスを記録するのはとても簡単。そうなると、接続するたびに安全な相手に当たる確率が下がるギャンブルになる
Technical Overview[0] をざっと見ても、上で述べたリスクを減らす内容は見当たらない
Snowflake の目的は Tor 利用の検知を防ぐことではなく、Tor のブロックを回避することにあるように見える。そのためにドメインフロンティングと WebRTC を活用している
[0] https://gitlab.torproject.org/tpo/anti-censorship/pluggable-...
ただし Tor Project は、プラガブルトランスポートはいずれも検閲回避を目的としたもので、ステガノグラフィを目的としたものではないと一貫して強調している。ブロックは難しくなるが、ネットワーク運用者がユーザーが Tor に接続している事実を把握することまでは防げない。結局、そのリスクを許容できるかどうかはユーザーが判断する必要がある
「下の Snowflake をオンにしてブラウザタブを開いたままにすると、ユーザーが新しいプロキシ経由で接続できます!」という説明を正しく理解できているのかも確信がない
自分の Web サイトに iframe を入れると、Tor ユーザーのトラフィックが訪問者の IP を通じてトンネルされるのか? relay.love では同意はどう処理されるのか? 自分の Web サイト訪問者の IP は Tor 出口ノードとして見えるのか?
この例では開始前にユーザーの同意を取っている
ただしこの仕組みが、JavaScript 経由で任意のリモートソケットを作れるようにするわけではない。WebRTC/WebSockets の何らかのバージョンを使うサーバー、または追加のプロトコルオーバーヘッドをゴミとして無視し残りをパースする平文サービスとしか通信できない。一部の IRC サーバーと WebSockets が良い例だ
技術概要で分かるように、人々は P2P 技術でユーザーのブラウザに接続し、ブラウザは WebSockets で通常の Tor エントリポイントとして機能する WebSocket サーバーと通信する
昔の「YouTube にファイルを保存する」[0]を思い出すし、同じ概念を Zoom のような広く使われている音声会議ソリューションに適用したら、どれほどの帯域幅が得られるのか気になる
もっと自然に紛れ込めるように、実際の通話中に動画ステガノグラフィのような方法でデータを送信できればなおよい
[0] https://github.com/DvorakDwarf/Infinite-Storage-Glitch
英国政府は単に規制機関の機能だと言っているが、OSB は英国で使われ得るという理由だけで国境の外にまで拡張されるようにも読める
これがどれほど新しいのかは分からないが、ユーザーが iframe のトグルやブラウザ拡張のインストールだけでノードのホスティングができる点はとても良い。こうした方式は CLI 版より帯域幅の制限がずっと低いのかも気になる
サーバーにデプロイできるスタンドアロンの Go 版もある[0]
「standalone Snowflake プロキシの主な利点の 1 つは、サーバーにインストールでき、制限の厳しい NAT やファイアウォールの背後にいるユーザーに、より高い帯域幅とより安定した選択肢を提供できること」だという
[0] https://community.torproject.org/relay/setup/snowflake/stand...
インストールしておいたし、数字が増えていくのを見るのは楽しい。数字が増える = ドーパミン
スカンジナビアで生まれたのは幸運で、今のところインターネット検閲は事実上ゼロだ
暗号資産で稼ぎ、それをマンションのローン担保に使おうとする人、海外の合法オンラインカジノの収益を送金しようとする人、ノルウェー当局が嫌って DNS ブロックした Web サイトにアクセスしようとする人も同じだ。技術者は簡単に回避できるが、政府と政治家が権限を乱用し個人の自由を制限することはすでに始まっており、拡大している
「大多数の人」に影響し始めると、元に戻すのはたいていずっと難しくなる。ノルウェー政府はすでに大規模な電子監視を認める法律を可決しており、政府記録への一般アクセスも制限しようとしている。EU の大半と同じく、左派的な「社会民主主義」、つまり官僚的独裁へ向かう非常に滑りやすい坂道だ。人々は目を覚まし、今の政府の過剰介入に対抗しなければならない
見つけられるすべての Tor IP をブロックしている。これらのサーバーから来る Burp Suite スパム の 99% に対処する時間も忍耐もないからだ。非常に安く効果的な解決策だ
https://check.torproject.org/torbulkexitlist