2 ポイント 投稿者 GN⁺ 2023-07-31 | 1件のコメント | WhatsAppで共有
  • 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プロキシを提供できる
  • 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件のコメント

 
GN⁺ 2023-07-31
Hacker Newsの意見
  • Snowflakeはランデブーにドメインフロンティングを使う[1]。デジタル世界で、スパイが何も知らない友人の家で秘密の会合を開くようなもので、結局その友人にとっては常に悪い結果になる
    この手法は悪意ある行為者によく使われ、一部のクラウドプロバイダーはデフォルトでブロックしていることもある[2]。Signalがこれを広く展開しようとしたとき、AWSはイランや中国のような国がAWS全体を遮断するのではないかと懸念し、強い警告を送った[3]

    1. https://en.wikipedia.org/wiki/Domain_fronting
    2. https://azure.microsoft.com/en-us/updates/generally-availabl...
    3. https://signal.org/blog/looking-back-on-the-front/
    • しばらく自宅でSnowflakeサーバーを動かしていたが、CPUを使いすぎるので止めた。悪影響はまったく見なかった
      ドメインフロンティングは万能鍵ではない。SignalとTorは、クラウドプロバイダーがドメインフロンティングをブロックしたことで、より正確には本来動作するよう意図されていなかった機能をこれ以上サポートしなくなったことで問題に遭遇したが、何かを妨害する意図があったとは考えにくい。「ロードバランサーが設定されたドメインに合う証明書を提示するようにする」こと自体は、問題のある機能ではない
      ドメインフロンティングはopensslの呼び出しとnginxサーバーだけで足りるほど単純で、破るのも証明書を実際に検証するだけで済むほど簡単だ。こうした証明書は自己署名か、実際のシステムが信頼しない任意の認証局チェーンに属する
      「何も知らない友人の家で秘密の会合を開くスパイ」というより、ブラジルの適当な倉庫の前に「ホワイトハウス、米国大統領の家、立入禁止」という看板を立てるのに近い
      ドメインフロンティングにだまされるソフトウェアは、証明書とその有効性を気にしていないか、バグがあるのでパッチされるべきだ。その一部がセキュリティソフトウェアである可能性はあるが、悪意ある行為者がいくつかの読める文字列だけでセキュリティソフトウェアをだまして信頼させられるなら、ドメインフロンティングは懸念事項の中でも小さい方だ
    • 最後に見たときの意図は、最終的にECHエンドポイントがドメインフロンティングと同じ実効的なサービスを提供しつつ、クラウドプロバイダーを妨げる形でバックエンドを混乱させないため、プロバイダーがサポートできるようにすることだった
      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接続を受け入れてトラフィックを転送する別のサーバーが必要だ。要点は、記事では述べていないが、この別のサーバーへ間接的に接続できるようにすることにある
    検閲されたウェブサイトを訪問するのにソフトウェアは不要だとまで言っている

    Im Gegensatz zu VPNs musst du keine separate Anwendung installieren, um dich mit einem Snowflake-Proxy zu verbinden und die Zensur zu umgehen.
    しかし実際には必要だ。Torクライアントなしでは、このSnowflakeプロキシは役に立たない。技術詳細に入ると、「このコンテンツは英語です」という警告が付いたリンクにこうある

    1. User in the filtered region wishes to access the free and open internet. They open Tor Browser, selecting snowflake as the Pluggable Transport.
      本文は「VPNと違い、検閲を回避するために別のソフトウェアをインストールする必要はない」としていたが、技術概要は正反対に、Snowflakeプロキシを使うにはTorクライアントが必要だと言っている
    • ドイツ語訳は分からないが、英語版の要旨は、Snowflake自体をインストールするのではなく、Snowflakeを使うソフトウェア、通常はTor Browserをインストールするという意味だ
      SnowflakeをプロキシやVPNアプリのようにどうインストールすべきか混乱しているユーザーに、動作の仕組みを説明しようとしているように見える
      直接引用するとかなり明確だ。「VPNと違い、Snowflakeプロキシに接続して検閲を回避するために、別のアプリケーションをインストールする必要はありません。通常は既存のアプリ内に組み込まれた回避機能です。」
  • 自国で Tor が違法なら、使おうとすること自体がかなり危険に見える。誰でも Snowflake プロキシを動かせるので、接続元 IP アドレスを記録するのはとても簡単。そうなると、接続するたびに安全な相手に当たる確率が下がるギャンブルになる

    • 危険な国のネットワークから来る IP を持つ Snowflake をブロックすることはできるかもしれないが、攻撃者がより自由な国で VPS やボットネットノードを買えば簡単に回避される
      Technical Overview[0] をざっと見ても、上で述べたリスクを減らす内容は見当たらない
      Snowflake の目的は Tor 利用の検知を防ぐことではなく、Tor のブロックを回避することにあるように見える。そのためにドメインフロンティングと WebRTC を活用している
      [0] https://gitlab.torproject.org/tpo/anti-censorship/pluggable-...
    • Snowflake が有用な地域の多くでは、Tor への接続は合法か、禁止法があっても執行されないことが多い。通常、処罰されるのは検閲回避ツールを作る人や貢献者の側だ
      ただし Tor Project は、プラガブルトランスポートはいずれも検閲回避を目的としたもので、ステガノグラフィを目的としたものではないと一貫して強調している。ブロックは難しくなるが、ネットワーク運用者がユーザーが Tor に接続している事実を把握することまでは防げない。結局、そのリスクを許容できるかどうかはユーザーが判断する必要がある
    • 「単に」自分と結び付けられない IP から接続し、別の携帯電話に闇市場の SIM を使い、普段行かない場所から接続し、使わないときは電源を切っておけばよい。費用はすぐに膨らむ
  • 「下の Snowflake をオンにしてブラウザタブを開いたままにすると、ユーザーが新しいプロキシ経由で接続できます!」という説明を正しく理解できているのかも確信がない
    自分の Web サイトに iframe を入れると、Tor ユーザーのトラフィックが訪問者の IP を通じてトンネルされるのか? relay.love では同意はどう処理されるのか? 自分の Web サイト訪問者の IP は Tor 出口ノードとして見えるのか?

    • 出口ではない。基本的には誰かが Snowflake アプレットを意識的に実行する必要があるが、Web マスターがコードを変更して、事実上誰かのブラウザで Tor ガードを自動起動させることはできる。もちろん、他人のリソースをそのように悪用するのは非常に悪質だ
      この例では開始前にユーザーの同意を取っている
    • こうした悪用が心配なら、まともなブラウザの多くで WebRTC を無効化できる。WebRTC は内部ネットワークのポートスキャンのようなより悪いことにも、ミリ秒遅延のビデオ通話や Peertube のような良いことにも使える
      ただしこの仕組みが、JavaScript 経由で任意のリモートソケットを作れるようにするわけではない。WebRTC/WebSockets の何らかのバージョンを使うサーバー、または追加のプロトコルオーバーヘッドをゴミとして無視し残りをパースする平文サービスとしか通信できない。一部の IRC サーバーと WebSockets が良い例だ
      技術概要で分かるように、人々は P2P 技術でユーザーのブラウザに接続し、ブラウザは WebSockets で通常の Tor エントリポイントとして機能する WebSocket サーバーと通信する
    • こういうものにブラウザの同意を要求しないのは変だ
  • 昔の「YouTube にファイルを保存する」[0]を思い出すし、同じ概念を Zoom のような広く使われている音声会議ソリューションに適用したら、どれほどの帯域幅が得られるのか気になる
    もっと自然に紛れ込めるように、実際の通話中に動画ステガノグラフィのような方法でデータを送信できればなおよい
    [0] https://github.com/DvorakDwarf/Infinite-Storage-Glitch

    • そうなれば面白そうだ。ただ、ネットワークと無関係に動作するなら、人々がノードを設定しておき、うっかり会社や別の公共ネットワークに持ち込むこともあり得そうだ。常時接続として使うより良いのか悪いのかはよく分からない
    • 提案された方式は、英国の Online Safety Bill の適用を招く可能性がある。エンコーディング/ステガノグラフィ手段のため、政府規制機関である OfCom の案件ではなく警察案件に分類され、GCHQ の政府暗号解読要員が関与する可能性がある
      英国政府は単に規制機関の機能だと言っているが、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% に対処する時間も忍耐もないからだ。非常に安く効果的な解決策だ