Torの設定によるパスセレク ションの変化

Torの設定によるパスセレク
ションの変化
環境情報学部 2年
佐々木 峻
ログイン名 tatti
背景
• 最近、アメリカのNSAはGoogleがyahooなどのWebサービスから情報
を集めているというニュースが流れた。そういったニュースなどから
情報の匿名化ということでTorが注目されている。
• また、遠隔操作事件にもTorが用いられており、Torの悪用事例もいく
つか確認されている。
Torの概要
• Torとは、オニオンルーティングを用いた匿名通信方式である。
• SOCKS5プロトコルのプロキシとして動作している。
• オニオンルータ同士の通信にはTLS/SSLv3を用いている。
• 通信の終端は暗号化していないのであくまで通信経路の秘匿が目
的
Torの概要(2)
世界中にあるOnion Router(OR)を中継して、パケットを送受信することによって、
サーバ側からクライアントの身元が分からないようにする。
OR
Client
OR
OR
Server
OR
OR
OR
Torの動作
Tor clientのAからOR(Onion Router)1,2を通してWeb ServerのBまで通
信する場合
1.AはまずORの情報を保持しているDirectory Serverに対してORのリス
トを要求する。
2.Aはそのリストの情報に従って、まずOR1とDiffie-Hellman方式でセッ
ション鍵を作成する。
3.Aはそのセッション鍵で暗号化した、次にリレーするノード(OR2)の情
報とOR2とのセッション鍵作成のための値を、OR1に送信する。
4.OR1は受信したデータを復号し、OR2の情報を読み取り、同じくDiffieHellman方式でOR2とセッション鍵を作成する。
Torの動作(2)
5.OR1は作成したセッション鍵を暗号化して、Aに送る。この時点で仮
想回線の構築は完了
6.リクエストはOR1,2の2つのセッション鍵で2重に暗号化して送信する。
そのリクエストを各ノードが復号する。
7.逆にレスポンスはOR1,2が暗号化して、Aが復号する。
参照資料「Tor:The Second-Generation Onion Router」
http://www.onion-router.net/Publications/tor-design.pdf
Torに対する攻撃①
• 指紋攻撃
攻撃者は特定のwebページの指紋情報(トラフィックのサイズ、分散
など)をデータベースにためておく。そのあと、Tor上を流れるトラフィッ
クを監視することで、クライアントが閲覧するWebサイトを特定するとい
う攻撃手法
参考文献 匿名通信システムTorにおける指紋攻撃とその対策の検討
ー横山 絵美里 宗 裕文 川端 良樹 久保田 真一郎 岡崎 直宣
Torに対する攻撃②
• トラフィック解析攻撃
Torのノードに悪意あるノードを配備し、そのノードにパケットキャプチャさ
せて、Tor上を流れるトラフィックを解析することによって、クライアントのIPア
ドレスとその接続先を特定するという攻撃
参考資料Tor security advisory: "relay early" traffic confirmation attack
https://blog.torproject.org/blog/tor-security-advisory-relay-early-traffic-confirmation-attack
Torに対する攻撃③
• パスセレクション攻撃
②の攻撃の派生で、より少ないリソースで攻撃を成功させようという
攻撃方法。Torのノード選択アルゴリズムを利用し、虚偽の帯域を報告
し、パスを誘導するというもの。
参考文献:Low-Resource Routing Attacks Against Tor
University of Colorado
目標
• Torのネットワークの挙動を理解する。
• Torの設定ファイルであるtorrcの設定によってどのように、Torの動作
が変わるのか、実際に見てみる。
• パスセレクション攻撃に対して、設定でリスクを下げられないか試す。
手法
① Torの設定ファイルである/etc/tor/torrcに設定を書き込む
② そのあと、Torを経由して、10秒ごとにリクエストを送り、ログをとる。
③ そして、そのログファイルの中からonion_extend_cpath()のログを
抜き取り、回路に使用された入口のノードと出口ノードのIPアドレス
を記録する。
logファイル
Feb 02 17:07:21.000 [debug] onion_extend_cpath(): Chose router
$1B89A79F50A9B3F46A8AB07B14C5662DA3364ED3~4Privacy at
89.163.224.10 for hop 1 (exit is 4Privacy)
Feb 02 17:07:21.000 [debug] onion_extend_cpath(): Path is complete:
1 steps long
試した設定
• MaxCircuitDirtness 次のパスを構築するまでの時間 今回は10に
固定
• NumEntryGuards パスに使用するガードノードの数
• GuardLifetime 入口ノードを選ぶとき起動し続けている時間が何日
以上のもの選ぶことができる。
結果
• 設定なし
使用されたノード数
入口ノード 2個 ‘37.187.198.53’ ‘89.163.224.168‘
出口ノード 83個 最も多く重複してるものでも10回
全 496回
結果②
• 設定はNumEntryguard を10に設定
使用されたノード数
入口ノード 7個 それぞれあまり使用回数には差がなかった
出口ノード 169個 なにも設定していないときと同じように使用
頻度はどれもおおむね同じだった。
全594回
結果③
• NumEntryguardを10にしたうえで、GuardLifetimeを10に設定した
使用されたノード数
入口ノード 6個 一つを除き、使用頻度はほとんど差異はなかっ
た
出口ノード 143個 一つだけ27回使用されているノードがあった
それ以外はおおむね均等に使用されていた。
27回使用されているノードは特別高い帯域を示
していた
全370回
結果④
• NumEntryGuardsの数字は変えずに、GuardLifetimeを1 monthsとせ設定し
た。
使用されたノード数
入口ノード 9個 どのノードもほとんど同じ回数使用された。
出口ノード 209個 一つだけ23回使用されたものがあり、そ
れ以外はどれも使用された回数は10回以下
だった。回数が多かったノードは特別多い帯
域を示した。
全512回
まとめ
• やたらと多く使用されているノードはuptimeの値はそれほど高くない
が、bandwidthの値が他よりも特別多くなっている。
• 今回試した設定では,bandwidthによって使用される回数に偏りが生
じてしまった。
• Uptimeによる設定はその時のTor全体のノードにより、反映されづら
い
今後
• パスセレクション攻撃を実際に仕掛けてみて、この実験とは逆にど
のような設定で攻撃が成功しやすいのかを試すことにより、安全な
設定を探す。
参考文献
•
「Tor:The Second-Generation Onion Router」
http://www.onion-router.net/Publications/tor-design.pdf
•
TorノードにOpenSSLの脆弱性、通信内容の平文流出も
•
http://www.itmedia.co.jp/enterprise/articles/1404/18/news046.html
How the NSA Attacks Tor/Firefox Users With QUANTUM and FOXACID
•
https://www.schneier.com/blog/archives/2013/10/how_the_nsa_att.html
Tor security advisory: "relay early" traffic confirmation attack
•
https://blog.torproject.org/blog/tor-security-advisory-relay-early-traffic-confirmation-attack
匿名通信システムTorにおける悪用ユーザ特定手法の検討
•
宮崎大学工学部川端良樹
Predicting Tor Path Compromise by Exit Port
•
Kevin Bauer, Dirk Grunwald, and Douglas Sicker
Department of Computer Science, University of Colorad