SlideShare a Scribd company logo
24時間365日
グレートファイアウォールを支える技術
日本のこたつから東側諸国の検閲を見る会
サイバーメガネ
自己紹介
齊藤貴義
サイバーメガネ
商業本出版:2冊
情報処理安全確保支援できない士
自称:歩くインシデント
趣味:こたつでインターネット
戦場カメラマン
検閲ウォッチャー
旧共産圏ウォッチャー
インプレスR&D社 PEAKS出版社
技術書典でIPUSIRONさんと
ミライ・ハッキング・ラボ
として出展して新刊を出しました!
新刊
『Vimで動画を見よう!
Neovimで作る最強の動画プレイヤー』
全米が泣いた!
テキストエディタいじりにこだわりすぎて
薄幸となった美少女がNeovimで
運命に立ち向かう
愛と感動のストーリー
皆さん
今日もビッグブラザーに
検閲されてますか(>̲<)
西の大陸に検閲の壁があるといふ
今日は
グレートファイアウォールを
支える技術を解説
していきます
政治的な話題は
今回はオフ(多分)
質問:日本でグレートファイアウォールを
体験するにはどんな手段がありますか?
VPN・プロキシ・サーバー構築など
幾つか手段がありますが、
一番安全で手っ取り早く体験できるのは
中国のパブリックDNSです。
例:百度公開DNS 180.76.76.76
自分で中国国内にサーバーを立てて
プロキシサーバーにする方法はお薦めできません
百度公開DNS 180.76.76.76 を使いましょう
中国のDNSは全て金盾の制御下にあり、
Googleに接続しようとすると
FacebookのIPアドレスが返ってきます。
な…何を言っているのか
わからねーと思うが
$ dig @180.76.76.76 www.google.com
;; ANSWER SECTION:
www.google.com. 94 IN A 31.13.88.26
$ whois 31.13.88.26
inetnum: 31.13.64.0 - 31.13.127.255
netname: IE-FACEBOOK-20110418
country: IE
org: ORG-FIL7-RIPE
admin-c: NE1880-RIPE
tech-c: NE1880-RIPE
status: ALLOCATED PA
mnt-by: RIPE-NCC-HM-MNT
mnt-by: meta-mnt
mnt-routes: fb-neteng
ブラウザで接続しようとすると…
Amazonでも
Facebookの証明書が
返ってくる
Yahoo! Japanは俺の内にある?俺=Yahoo! Japan
偽応答を送り付ける競合(レースコンディション)
を利用した人民へのDNSポイズニング攻撃です。
facebookなどの空きアドレスが利用され、
そのIPアドレスへの通信も金盾でブロックされるため
人民はググることができません。
中国国外のDNSサーバーは利用
できません。8.8.8.8など。
DNSポイズニングをくぐり抜けたアクセスも
金盾が傍受・解析して人民との通信をブロックします。
HTTPの場合は平文なので思想上危険な内容が含まれて
いたら直ちに通信を遮断します。
それではHTTPS通信は安全か?
SNIフィルタリング(HTTPSハンドシェイクの検閲)
HTTPSの場合は暗号化通信ですが、TLSハンドシェイクに含まれる
SNI(サーバー名表示)拡張は平文のため、金盾はDPI(Deep
Packet Inspection)装置でTLSのClientHelloパケットを検査し
危険ドメインの場合に偽のTCPリセットパケットをクライアントと
サーバー双方に送り、セッションを切断させて人民を保護します。
SNI…1つのIPアドレスで複数のサーバー
証明書を運用できる技術
やはりVPN!VPNは全てを解決する!
金盾はVPN通信自体も識別・ブロックしようとしています。具体的には、PPTPや
L2TP/IPSec、OpenVPNなどのVPNプロトコルの特徴的な通信パターン(特定のポー
ト番号やハンドシェイクシーケンス)をDPIで検知し、対応するサーバIPへの通信を遮
断しま
す​
2018年頃からは一般向けVPN接続の規制が常態化し、多くのVPNが繋がりにくくなり
まし
た​
また、中国当局は合法なVPNとして政府に登録・承認されたサービス以外の利用を禁
止して無許可のVPNサーバを運営・販売した業者が摘発される事例もあります。2015
年初頭には中国国内で人気だったVPNサービスが軒並み接続不能となり、ビジネス用
途で使っていた企業・研究者が影響を受けました。
困った時のTor!Torを使えば海の彼方まで行けるんじゃね?
金盾は公開されたTorノードのIPアドレスをリスト化して全て遮断しています。
Torクライアントがディレクトリサーバからノード情報を取得する段階で失敗します。
これに対抗して、Torはブリッジと呼ばれる非公開中継ノードを用意し、
中国などに個別配布しています。しかし金盾はアクティブプロービングによって
ブリッジの発見・封鎖も行っています。
具体的には、中国国内から未知のサーバ(ブリッジ)宛にそれらしいTorハンドシェイク
を受信すると、金盾は自らそのサーバに模倣したTor接続を試みます。もし応答がTor
プロトコルで返ってくればそれはブリッジと判明するため、そのIPとポートを即座に
ファイアウォールに登録しブロックします。この仕組みでTorの秘密ブリッジも次々に
検出されてしまうため、Tor開発者たちはPluggable Transportと呼ばれる
難読化プロトコルを実装しました。
24時間365日 中国のグレートファイアウォールを支える技術 by サーバーメガネ
24時間365日 中国のグレートファイアウォールを支える技術 by サーバーメガネ
obfs4はトラフィックを完全にランダム化して既存の特徴を消し(”無意味なビット列”
に見せる
)​
、meekはMicrosoftやGoogleのクラウドHTTP(S)通信に偽装して大手ク
ラウドへのアクセスにトンネルしま
す​
。しかしmeekはそのSNI値やTLSフィンガープリ
ントをGFWに見破られドメイン自体をブロックされまし
た​
。
obfs4も当初は有効でしたが、2019年頃より金盾がパケット長とエントロピー(ラン
ダム度)に基づく検出を開始し、Shadowsocksやobfs4のような「完全に暗号化され
た通信」を疑うとブロックするようになりまし
た​
。
それでもTorはさらに新しいSnow
fl
ake(WebRTCを用いたP2Pプロキシ)など次々
手法を投入し、金盾も対抗するという絶え間ない攻防が続いています
姉妹プロジェクト「グレートキャノン」による攻撃
Shadowsocks(シャドーソックス): Shadowsocksは中国発祥の軽量プロキシ。socks5タイプのプロキシ通信を暗号化することで
検閲を迂回します。シンプルかつ高速なことから中国の技術者コミュニティで広く普及し、壁越えの代表格となってきました。技術
的には対称暗号と事前共有パスワードでトラフィックを暗号化し、内容やパターンからは普通のTLSよりさらに判別困難なストリー
ムを流しま
す​
。
しかし金盾はこのShadowsocksに対しても、2019年5月頃から二段構えの検出システムを展開しまし
た​
。受動的トラフィック解析
で通信開始時のパケット長やビットのランダム度合いをチェックし、疑わしいセッションをマークす
る​
。次にバックグラウンドで能
動的に対象サーバに接続してShadowsocksプロトコルで応答するか試
す​
という流れです。
2019年以降、Shadowsocksの公開サーバはこの方法で大規模にブロックされ、多くの利用者が一時的に接続不能に陥りました。決
定打となったのが2021年11月の新しい検出技術で
す​
。ShadowsocksやVMessなど主要なプロキシ通信を一斉に遮断する新システ
ムを発動しまし
た​
。驚くべき点は、従来はアクティブプロービングと組み合わせていた検出を、完全に受動的解析のみでリアルタイ
ム実施したことで
す​
暗号化されたプロキシ通信(完全にランダムに見える流れ)であっても、金盾は「絶対にランダムではない通信」を除外していく
ヒューリスティクスを駆使し、残った「怪しい通信」をすべてブロックするという手法を取りまし
た​
。具体的には「よく使われる正
規プロトコルのパターンに合致する通信」は除外し、あまりにも高エントロピーで規則性のない最初のパケットを持つ通信を検出対
象にする、といったルールで
す​
。この結果、Shadowsocksなど多くのツールが一斉に使えなくなりました。しかし開発コミュニティ
もすぐに反応し、プロトコルにランダムなパディングを入れる等の対策を施した新バージョンを公開、2022年1月以降は再び使用可
能となりまし
た​
。
2023年2月時点でこれら改良版Shadowsocks/VMessは中国でも有効性を維持しているようで
す​
。
近年注目を集めているのはTLS 1.3とESNI(ECH)への対応です。TLS 1.3自体は暗号強度の向上に
加えハンドシェイクが簡略化されていますが、依然としてSNI拡張は平文で送られるため金盾はこ
れを利用できます。しかしクラウドフレア等が提唱したESNI(Encrypted SNI)は、このSNI情報
を暗号化して外部から見えなくする技術でした。中国当局はESNIを2020年にESNIが草案実装され
た段階で、ESNI拡張を含むTLS 1.3接続を全面ブロックする措置を取っています
。​
具体的には、ク
ライアントがESNI対応のClientHelloを送るとGFWは即座にその接続を切断し、さらに当該IPアド
レス宛の通信を数分間すべて遮断するという厳しいものでした。
これによりESNIは中国国内では機能しなくなり、事実上TLS1.3でも引き続きSNIフィルタリング
が可能な状態が維持されました。現在IETFで標準化されたESNI後継のECH(Encrypted Client
Hello)についても、中国では広く実装されないか、実装されても同様にブロックされる可能性が高
いと見られています。
QUIC/HTTP3はUDP上で動作する次世代プロトコルでTLS1.3暗号を必須とし、高速な通信を実現
しますが、これらが中国国内で広まる見込みは立っていません。
グレートファイアウォールの姉妹プロジェクト
「グレートキャノン」
ネット上の大量のトラフィックを利用
して中国外の反検閲サイトや検閲回避
プログラムサイトへのDDoS攻撃を仕
掛ける。
人民解放軍による協力があった可能性
が指摘されている。
グレートな検閲は国境を越えあなたの
こたつパソコンを襲う日が来るかもし
れない
日本のこたつで
安全にグレートファイアウォールの
検閲の研究・トレーニングを行うには
24時間365日 中国のグレートファイアウォールを支える技術 by サーバーメガネ
新刊
???

More Related Content

What's hot (20)

TWJUG 2016 - Mogilefs, 簡約可靠的儲存方案
TWJUG 2016 - Mogilefs, 簡約可靠的儲存方案TWJUG 2016 - Mogilefs, 簡約可靠的儲存方案
TWJUG 2016 - Mogilefs, 簡約可靠的儲存方案
Hua Chu
 
「反省」から「ふりかえり」へ
「反省」から「ふりかえり」へ「反省」から「ふりかえり」へ
「反省」から「ふりかえり」へ
Takeshi Kakeda
 
平成最後の1月ですし、Databricksでもやってみましょうか
平成最後の1月ですし、Databricksでもやってみましょうか平成最後の1月ですし、Databricksでもやってみましょうか
平成最後の1月ですし、Databricksでもやってみましょうか
Ryuichi Tokugami
 
NTT DATA と PostgreSQL が挑んだ総力戦
NTT DATA と PostgreSQL が挑んだ総力戦NTT DATA と PostgreSQL が挑んだ総力戦
NTT DATA と PostgreSQL が挑んだ総力戦
NTT DATA OSS Professional Services
 
DroidKaigi 2019 Chrome Custom Tabsの仕組みから学ぶプロセス間通信
DroidKaigi 2019 Chrome Custom Tabsの仕組みから学ぶプロセス間通信DroidKaigi 2019 Chrome Custom Tabsの仕組みから学ぶプロセス間通信
DroidKaigi 2019 Chrome Custom Tabsの仕組みから学ぶプロセス間通信
ryo_mm2d
 
大規模ソーシャルゲーム開発から学んだPHP&MySQL実践テクニック
大規模ソーシャルゲーム開発から学んだPHP&MySQL実践テクニック大規模ソーシャルゲーム開発から学んだPHP&MySQL実践テクニック
大規模ソーシャルゲーム開発から学んだPHP&MySQL実践テクニック
infinite_loop
 
ここが良かったDatadog
ここが良かったDatadogここが良かったDatadog
ここが良かったDatadog
tyamane
 
Nutanixってナニ?
Nutanixってナニ?Nutanixってナニ?
Nutanixってナニ?
Kazuhito Ohkawa
 
Hokkaido.cap#9 無線LANのスニッフィング
Hokkaido.cap#9 無線LANのスニッフィングHokkaido.cap#9 無線LANのスニッフィング
Hokkaido.cap#9 無線LANのスニッフィング
Panda Yamaki
 
GPUとSSDがPostgreSQLを加速する~クエリ処理スループット10GB/sへの挑戦~ [DB Tech Showcase Tokyo/2017]
GPUとSSDがPostgreSQLを加速する~クエリ処理スループット10GB/sへの挑戦~ [DB Tech Showcase Tokyo/2017]GPUとSSDがPostgreSQLを加速する~クエリ処理スループット10GB/sへの挑戦~ [DB Tech Showcase Tokyo/2017]
GPUとSSDがPostgreSQLを加速する~クエリ処理スループット10GB/sへの挑戦~ [DB Tech Showcase Tokyo/2017]
Kohei KaiGai
 
Zabbixのパフォーマンスチューニング & インストール時の注意点
Zabbixのパフォーマンスチューニング & インストール時の注意点Zabbixのパフォーマンスチューニング & インストール時の注意点
Zabbixのパフォーマンスチューニング & インストール時の注意点
Kodai Terashima
 
正規表現勉強会
正規表現勉強会正規表現勉強会
正規表現勉強会
zaru sakuraba
 
法人向けサービス資料【株式会社パパゲーノ】.pdf
法人向けサービス資料【株式会社パパゲーノ】.pdf法人向けサービス資料【株式会社パパゲーノ】.pdf
法人向けサービス資料【株式会社パパゲーノ】.pdf
papageno4
 
第10回経営実務勉強会2022 ITを経営に活用する
第10回経営実務勉強会2022 ITを経営に活用する第10回経営実務勉強会2022 ITを経営に活用する
第10回経営実務勉強会2022 ITを経営に活用する
Tomoyuki Sugita
 
Internet Week 2018 知っておくべきIPv6とセキュリティの話
Internet Week 2018 知っておくべきIPv6とセキュリティの話Internet Week 2018 知っておくべきIPv6とセキュリティの話
Internet Week 2018 知っておくべきIPv6とセキュリティの話
Akira Nakagawa
 
AWS エンジニア育成における効果的なトレーニング活用のすすめ
AWS エンジニア育成における効果的なトレーニング活用のすすめAWS エンジニア育成における効果的なトレーニング活用のすすめ
AWS エンジニア育成における効果的なトレーニング活用のすすめ
Trainocate Japan, Ltd.
 
Native Memory Tracking
Native Memory TrackingNative Memory Tracking
Native Memory Tracking
Takahiro YAMADA
 
宇宙一早いreCapとreInvent2回目参加に向けての意気込み.pptx
宇宙一早いreCapとreInvent2回目参加に向けての意気込み.pptx宇宙一早いreCapとreInvent2回目参加に向けての意気込み.pptx
宇宙一早いreCapとreInvent2回目参加に向けての意気込み.pptx
Akifumi Niida
 
CDNの仕組み(JANOG36)
CDNの仕組み(JANOG36)CDNの仕組み(JANOG36)
CDNの仕組み(JANOG36)
J-Stream Inc.
 
NUCで始めるVMware Tanzu
NUCで始めるVMware TanzuNUCで始めるVMware Tanzu
NUCで始めるVMware Tanzu
Hirotaka Sato
 
TWJUG 2016 - Mogilefs, 簡約可靠的儲存方案
TWJUG 2016 - Mogilefs, 簡約可靠的儲存方案TWJUG 2016 - Mogilefs, 簡約可靠的儲存方案
TWJUG 2016 - Mogilefs, 簡約可靠的儲存方案
Hua Chu
 
「反省」から「ふりかえり」へ
「反省」から「ふりかえり」へ「反省」から「ふりかえり」へ
「反省」から「ふりかえり」へ
Takeshi Kakeda
 
平成最後の1月ですし、Databricksでもやってみましょうか
平成最後の1月ですし、Databricksでもやってみましょうか平成最後の1月ですし、Databricksでもやってみましょうか
平成最後の1月ですし、Databricksでもやってみましょうか
Ryuichi Tokugami
 
DroidKaigi 2019 Chrome Custom Tabsの仕組みから学ぶプロセス間通信
DroidKaigi 2019 Chrome Custom Tabsの仕組みから学ぶプロセス間通信DroidKaigi 2019 Chrome Custom Tabsの仕組みから学ぶプロセス間通信
DroidKaigi 2019 Chrome Custom Tabsの仕組みから学ぶプロセス間通信
ryo_mm2d
 
大規模ソーシャルゲーム開発から学んだPHP&MySQL実践テクニック
大規模ソーシャルゲーム開発から学んだPHP&MySQL実践テクニック大規模ソーシャルゲーム開発から学んだPHP&MySQL実践テクニック
大規模ソーシャルゲーム開発から学んだPHP&MySQL実践テクニック
infinite_loop
 
ここが良かったDatadog
ここが良かったDatadogここが良かったDatadog
ここが良かったDatadog
tyamane
 
Hokkaido.cap#9 無線LANのスニッフィング
Hokkaido.cap#9 無線LANのスニッフィングHokkaido.cap#9 無線LANのスニッフィング
Hokkaido.cap#9 無線LANのスニッフィング
Panda Yamaki
 
GPUとSSDがPostgreSQLを加速する~クエリ処理スループット10GB/sへの挑戦~ [DB Tech Showcase Tokyo/2017]
GPUとSSDがPostgreSQLを加速する~クエリ処理スループット10GB/sへの挑戦~ [DB Tech Showcase Tokyo/2017]GPUとSSDがPostgreSQLを加速する~クエリ処理スループット10GB/sへの挑戦~ [DB Tech Showcase Tokyo/2017]
GPUとSSDがPostgreSQLを加速する~クエリ処理スループット10GB/sへの挑戦~ [DB Tech Showcase Tokyo/2017]
Kohei KaiGai
 
Zabbixのパフォーマンスチューニング & インストール時の注意点
Zabbixのパフォーマンスチューニング & インストール時の注意点Zabbixのパフォーマンスチューニング & インストール時の注意点
Zabbixのパフォーマンスチューニング & インストール時の注意点
Kodai Terashima
 
正規表現勉強会
正規表現勉強会正規表現勉強会
正規表現勉強会
zaru sakuraba
 
法人向けサービス資料【株式会社パパゲーノ】.pdf
法人向けサービス資料【株式会社パパゲーノ】.pdf法人向けサービス資料【株式会社パパゲーノ】.pdf
法人向けサービス資料【株式会社パパゲーノ】.pdf
papageno4
 
第10回経営実務勉強会2022 ITを経営に活用する
第10回経営実務勉強会2022 ITを経営に活用する第10回経営実務勉強会2022 ITを経営に活用する
第10回経営実務勉強会2022 ITを経営に活用する
Tomoyuki Sugita
 
Internet Week 2018 知っておくべきIPv6とセキュリティの話
Internet Week 2018 知っておくべきIPv6とセキュリティの話Internet Week 2018 知っておくべきIPv6とセキュリティの話
Internet Week 2018 知っておくべきIPv6とセキュリティの話
Akira Nakagawa
 
AWS エンジニア育成における効果的なトレーニング活用のすすめ
AWS エンジニア育成における効果的なトレーニング活用のすすめAWS エンジニア育成における効果的なトレーニング活用のすすめ
AWS エンジニア育成における効果的なトレーニング活用のすすめ
Trainocate Japan, Ltd.
 
宇宙一早いreCapとreInvent2回目参加に向けての意気込み.pptx
宇宙一早いreCapとreInvent2回目参加に向けての意気込み.pptx宇宙一早いreCapとreInvent2回目参加に向けての意気込み.pptx
宇宙一早いreCapとreInvent2回目参加に向けての意気込み.pptx
Akifumi Niida
 
CDNの仕組み(JANOG36)
CDNの仕組み(JANOG36)CDNの仕組み(JANOG36)
CDNの仕組み(JANOG36)
J-Stream Inc.
 
NUCで始めるVMware Tanzu
NUCで始めるVMware TanzuNUCで始めるVMware Tanzu
NUCで始めるVMware Tanzu
Hirotaka Sato
 

24時間365日 中国のグレートファイアウォールを支える技術 by サーバーメガネ