• 検索結果がありません。

2014年におけるBGPハイジャックの検出

N/A
N/A
Protected

Academic year: 2021

シェア "2014年におけるBGPハイジャックの検出"

Copied!
109
0
0

読み込み中.... (全文を見る)

全文

(1)

2014 年における BGP ハイジャックの検出

ギョーム・バラドン - Guillaume Valadon

ニコラス・ヴィヴェ- Nicolas Vivet

Agence nationale de la sécurité des systèmes d’information

http://www.ssi.gouv.fr/en

(2)

暗号通貨取得のための BGP ハイジャッキング

2014/8/7 Dell SecureWorks のレポートより

« 2014 年の 2 月から 5 月で、一人のハイジャック犯によって暗

号通貨がマイナーから自分のプールにリダイレクトされた。そ

の金額はおよそ 83,000$ にのぼる »

攻撃要件

• マイナーとプールの間に認証が無い

• BGP のプレフィックスハイジャックを利用したトラフィック

のリダイレクト

ANSSI -2014 年における BGP ハイジャックの検出 2/53

(3)
(4)

BGP とは (Border Gateway Protocol) ?

すべてのインターネット事業者によって使用されるルーティン

グプロトコル

いくつかの BGP の特徴

• 179/TCP を使用

• オペレータが IP プレフィックスを担当していることを通知

• オペレータが嘘をついている場合はそれを保証できない

• インターネット事業者を相互接続

ANSSI -2014 年における BGP ハイジャックの検出 4/53

(5)

BGP とは (Border Gateway Protocol) ?

すべてのインターネット事業者によって使用されるルーティン

グプロトコル

いくつかの BGP の特徴

• 179/TCP を使用

• オペレータが IP プレフィックスを担当していることを通知

• オペレータが嘘をついている場合はそれを保証できない

• インターネット事業者を相互接続

(6)

BGP とは (Border Gateway Protocol) ?

すべてのインターネット事業者によって使用されるルーティン

グプロトコル

いくつかの BGP の特徴

• 179/TCP を使用

• オペレータが IP プレフィックスを担当していることを通知

• オペレータが嘘をついている場合はそれを保証できない

• インターネット事業者を相互接続

ANSSI -2014 年における BGP ハイジャックの検出 4/53

(7)

BGP とは (Border Gateway Protocol) ?

すべてのインターネット事業者によって使用されるルーティン

グプロトコル

いくつかの BGP の特徴

• 179/TCP を使用

• オペレータが IP プレフィックスを担当していることを通知

• オペレータが嘘をついている場合はそれを保証できない

• インターネット事業者を相互接続

(8)

オペレータは数字!

オペレータと BGP:

• 自律システム

• 固有の番号をもっている

3215

6939

4725

ANSSI -2014 年における BGP ハイジャックの検出 5/53

(9)

オペレータは数字!

オペレータと BGP:

• 自律システム

• 固有の番号をもっている

(10)

BGP を使用するのに何が必要?

• ネットワーク

• AS 番号

• IP プレフィックス

• BGP ルーター

• BGP の相互接続

AS transit

ISP providing BGP

Internet

AS42

AS42

2.0.0.0/16 ANSSI -2014 年における BGP ハイジャックの検出 6/53

(11)

BGP を使用するのに何が必要?

• ネットワーク

• AS 番号

• IP プレフィックス

• BGP ルーター

• BGP の相互接続

AS transit

ISP providing BGP

Internet

AS42

AS42

2.0.0.0/16

(12)

BGP を使用するのに何が必要?

• ネットワーク

• AS 番号

• IP プレフィックス

• BGP ルーター

• BGP の相互接続

AS transit

ISP providing BGP

Internet

AS42

AS42

2.0.0.0/16 ANSSI -2014 年における BGP ハイジャックの検出 6/53

(13)

BGP を使用するのに何が必要?

• ネットワーク

• AS 番号

• IP プレフィックス

• BGP ルーター

• BGP の相互接続

AS transit

ISP providing BGP

Internet

AS42

AS42

2.0.0.0/16

(14)

インターネットのリソース割り当て

AS とプレフィックスは各地域のインターネットレジストリで割

り当てられる:

ヨーロッパ

アジア

アフリカ

北アメリカ

ラテンアメリカ & カリブ海

ヨーロッパでは ASN のコストは年間 50 ユーロか /22 50 ユー

ANSSI -2014 年における BGP ハイジャックの検出 7/53

(15)

インターネットリソース割り当ての確認

WHOIS プロトコル

$ whois AS4713

aut-num:

AS4713

as-name:

OCN

descr:

NTT Communications Corporation

[..]

country:

JP

admin-c:

AY1361JP

tech-c:

TT10660JP

tech-c:

TT15086JP

changed:

[email protected] 19960911

changed:

[email protected] 20091113

source:

JPNIC

(16)

インターネットリソース割り当ての確認

WHOIS プロトコル

$ whois AS4713

aut-num:

AS4713

as-name:

OCN

descr:

NTT Communications Corporation

[..]

country:

JP

admin-c:

AY1361JP

tech-c:

TT10660JP

tech-c:

TT15086JP

changed:

[email protected] 19960911

changed:

[email protected] 20091113

source:

JPNIC

ANSSI -2014 年における BGP ハイジャックの検出 8/53

(17)

インターネットリソース割り当ての確認

https://stat.ripe.net

(18)

AS 通知 & プレフィックスの削除

BGP では、オペレータが使う:

UPDATE

メッセージで IP プレイフィックスを通知

WITHDRAW

メッセージで IP プレフィックスを削除

Internet

AS43515

AS4713

AS3215

208.117.252.0/22 61.28.192.0/24 2.0.0.0/16 208.117.252.0/22 61.28.192.0/24 2.0.0.0/16 208.117.252.0/22 208.117.252.0/22 ANSSI -2014 年における BGP ハイジャックの検出 10/53

(19)

AS 通知 & プレフィックスの削除

BGP では、オペレータが使う:

UPDATE

メッセージで IP プレイフィックスを通知

WITHDRAW

メッセージで IP プレフィックスを削除

Internet

AS43515

AS4713

AS3215

208.117.252.0/22 61.28.192.0/24 2.0.0.0/16 208.117.252.0/22 61.28.192.0/24 2.0.0.0/16 208.117.252.0/22 208.117.252.0/22

(20)

AS 通知 & プレフィックスの削除

BGP では、オペレータが使う:

UPDATE

メッセージで IP プレイフィックスを通知

WITHDRAW

メッセージで IP プレフィックスを削除

Internet

AS43515

AS4713

AS3215

208.117.252.0/22 61.28.192.0/24 2.0.0.0/16 208.117.252.0/22 61.28.192.0/24 2.0.0.0/16 208.117.252.0/22 208.117.252.0/22 ANSSI -2014 年における BGP ハイジャックの検出 10/53

(21)

3 つのシンプルな BGP ルール

1. メッセージは、ASN を追加した後に、ネイバー(Neighbor)

に転送される

2.

最短のパスのみが転送される

3.

パケットは最も特徴的なプレフィックスに送信される

AS1

AS2

AS3

Internet

192.0.2.0/24 192.0.2.0/24

192.0.2.0/24 AS1

BGP

192.0.2.0/24 AS1 AS2

(22)

3 つのシンプルな BGP ルール

1. メッセージは、ASN を追加した後に、ネイバー(Neighbor)

に転送される

2.

最短のパスのみが転送される

3.

パケットは最も特徴的なプレフィックスに送信される

AS1

AS2

AS3

Internet

192.0.2.0/24 192.0.2.0/24 192.0.2.0/24 AS1

BGP

192.0.2.0/24 AS1 AS2

BGP

ANSSI -2014 年における BGP ハイジャックの検出 11/53

(23)

3 つのシンプルな BGP ルール

1. メッセージは、ASN を追加した後に、ネイバー(Neighbor)

に転送される

2.

最短のパスのみが転送される

3.

パケットは最も特徴的なプレフィックスに送信される

AS1

AS2

AS3

Internet

192.0.2.0/24 192.0.2.0/24

192.0.2.0/24 AS1

BGP

192.0.2.0/24 AS1 AS2

(24)

3 つのシンプルな BGP ルール

1. メッセージは、ASN を追加した後に、ネイバー(Neighbor)

に転送される

2. 最短のパスのみが転送される

3.

パケットは最も特徴的なプレフィックスに送信される

AS1

AS2

AS3

AS4

Internet

192.0.2.0/24 AS1 192.0.2.0/24 AS1 AS3

BGP

192.0.2.0/24 AS1 192.0.2.0/24 AS1 AS3

BGP

192.0.2.0/24 AS1 AS2

BGP

192.0.2.0/24 ANSSI -2014 年における BGP ハイジャックの検出 11/53

(25)

3 つのシンプルな BGP ルール

1. メッセージは、ASN を追加した後に、ネイバー(Neighbor)

に転送される

2. 最短のパスのみが転送される

3.

パケットは最も特徴的なプレフィックスに送信される

AS1

AS2

AS3

AS4

Internet

192.0.2.0/24 AS1 192.0.2.0/24 AS1 AS3

BGP

192.0.2.0/24 AS1 192.0.2.0/24 AS1 AS3

BGP

192.0.2.0/24 AS1 AS2

BGP

192.0.2.0/24

(26)

3 つのシンプルな BGP ルール

1. メッセージは、ASN を追加した後に、ネイバー(Neighbor)

に転送される

2. 最短のパスのみが転送される

3. パケットは最も特徴的なプレフィックスに送信される

AS1

AS2

AS3

AS4

Internet

192.0.0.0/16 192.0.2.0/24 192.0.0.0/16 AS4 AS1 192.0.2.0/24 AS3 AS1

BGP

192.0.0.0/16 AS4 AS1 192.0.2.0/24 AS3 AS1

BGP

192.0.2.42

ANSSI -2014 年における BGP ハイジャックの検出 11/53

(27)

3 つのシンプルな BGP ルール

1. メッセージは、ASN を追加した後に、ネイバー(Neighbor)

に転送される

2. 最短のパスのみが転送される

3. パケットは最も特徴的なプレフィックスに送信される

AS1

AS2

AS4

Internet

192.0.0.0/16 192.0.2.0/24 192.0.0.0/16 AS4 AS1 192.0.2.0/24 AS3 AS1

BGP

192.0.0.0/16 AS4 AS1 192.0.2.0/24 AS3 AS1

BGP

192.0.2.42

(28)

3 つのシンプルな BGP ルール

1. メッセージは、ASN を追加した後に、ネイバー(Neighbor)

に転送される

2. 最短のパスのみが転送される

3. パケットは最も特徴的なプレフィックスに送信される

AS1

AS2

AS3

AS4

Internet

192.0.0.0/16 192.0.2.0/24 192.0.0.0/16 AS4 AS1 192.0.2.0/24 AS3 AS1

BGP

192.0.0.0/16 AS4 AS1 192.0.2.0/24 AS3 AS1

BGP

192.0.2.42

ANSSI -2014 年における BGP ハイジャックの検出 11/53

(29)

3 つのシンプルな BGP ルール

1. メッセージは、ASN を追加した後に、ネイバー(Neighbor)

に転送される

2. 最短のパスのみが転送される

3. パケットは最も特徴的なプレフィックスに送信される

AS1

AS2

AS4

Internet

192.0.0.0/16 192.0.2.0/24 192.0.0.0/16 AS4 AS1 192.0.2.0/24 AS3 AS1

BGP

192.0.0.0/16 AS4 AS1 192.0.2.0/24 AS3 AS1

BGP

192.0.2.42

(30)
(31)

プレフィックスのハイジャックとは?

アクション上の BGP のルール #2

ハイジャック: BGP アナウンスの競合

AS0

AS1

AS2

AS3

192.0.2.0/23 192.0.2.0/23 192.0.2.0/23 AS1 AS0 192.0.2.0/23 AS3

BGP

192.0.2.0/23 AS1 AS0 192.0.2.0/23 AS3

BGP

トラフィックは AS3 にリダイレクト (転送) される!

(32)

プレフィックスのハイジャックとは?

アクション上の BGP のルール #2

ハイジャック: BGP アナウンスの競合

AS0

AS1

AS2

AS3

192.0.2.0/23 192.0.2.0/23 192.0.2.0/23 AS1 AS0 192.0.2.0/23 AS3

BGP

192.0.2.0/23 AS1 AS0 192.0.2.0/23 AS3

BGP

トラフィックは AS3 にリダイレクト (転送) される!

ANSSI -2014 年における BGP ハイジャックの検出 13/53

(33)

プレフィックスのハイジャックとは?

アクション上の BGP のルール #2

ハイジャック: BGP アナウンスの競合

AS0

AS1

AS2

AS3

192.0.2.0/23 192.0.2.0/23 192.0.2.0/23 AS1 AS0 192.0.2.0/23 AS3

BGP

192.0.2.0/23 AS1 AS0 192.0.2.0/23 AS3

BGP

トラフィックは AS3 にリダイレクト (転送) される!

(34)

積極的な対策

BGP ルール #3 の利用!

AS0

AS1

AS2

AS3

192.0.2.0/23 192.0.2.0/23 192.0.2.0/24 192.0.3.0/24 192.0.2.0/23 AS1 AS0 192.0.2.0/23 AS3 192.0.2.0/24 AS1 AS0 192.0.3.0/24 AS1 AS0 192.0.2.0/23 AS1 AS0 192.0.2.0/23 AS3 192.0.2.0/24 AS1 AS0 192.0.3.0/24 AS1 AS0

BGP

オリジンの AS は特徴的なプレフィックスを通知する

トラフィックは AS0 に送られる!

ANSSI -2014 年における BGP ハイジャックの検出 14/53

(35)

積極的な対策

BGP ルール #3 の利用!

AS0

AS1

AS2

AS3

192.0.2.0/23 192.0.2.0/23 192.0.2.0/24 192.0.3.0/24 192.0.2.0/23 AS1 AS0 192.0.2.0/23 AS3 192.0.2.0/24 AS1 AS0 192.0.3.0/24 AS1 AS0 192.0.2.0/23 AS1 AS0 192.0.2.0/23 AS3 192.0.2.0/24 AS1 AS0 192.0.3.0/24 AS1 AS0

BGP

オリジンの AS は特徴的なプレフィックスを通知する

トラフィックは AS0 に送られる!

(36)

積極的な対策

BGP ルール #3 の利用!

AS0

AS1

AS2

AS3

192.0.2.0/23 192.0.2.0/23 192.0.2.0/24 192.0.3.0/24 192.0.2.0/23 AS1 AS0 192.0.2.0/23 AS3 192.0.2.0/24 AS1 AS0 192.0.3.0/24 AS1 AS0 192.0.2.0/23 AS1 AS0 192.0.2.0/23 AS3 192.0.2.0/24 AS1 AS0 192.0.3.0/24 AS1 AS0

BGP

オリジンの AS は特徴的なプレフィックスを通知する

トラフィックは AS0 に送られる!

ANSSI -2014 年における BGP ハイジャックの検出 14/53

(37)

積極的な対策

BGP ルール #3 の利用!

AS0

AS1

AS2

AS3

192.0.2.0/23 192.0.2.0/23 192.0.2.0/24 192.0.3.0/24 192.0.2.0/23 AS1 AS0 192.0.2.0/23 AS3 192.0.2.0/24 AS1 AS0 192.0.3.0/24 AS1 AS0 192.0.2.0/23 AS1 AS0 192.0.2.0/23 AS3 192.0.2.0/24 AS1 AS0 192.0.3.0/24 AS1 AS0

BGP

オリジンの AS は特徴的なプレフィックスを通知する

トラフィックは AS0 に送られる!

(38)

10/16 におこった最近の事例

フランスの AS に対してのハイジャック

x

(39)

10/16 におこった最近の事例

(40)

消極的な対策

相互接続上の厳格なフィルタ

AS0

AS1

AS2

AS3

192.0.2.0/23 192.0.2.0/23 192.0.2.0/23 64501 64500

BGP

• BGP ルータは「UPDATE」メッセージ中のプレフィックス

をフィルタリングする

• 便利なフィルタは上位のプロバイダーのみ使用できる

ANSSI -2014 年における BGP ハイジャックの検出 16/53

(41)

消極的な対策

相互接続上の厳格なフィルタ

AS0

AS1

AS2

AS3

192.0.2.0/23 192.0.2.0/23 192.0.2.0/23 64501 64500

BGP

• BGP ルータは「UPDATE」メッセージ中のプレフィックス

をフィルタリングする

• 便利なフィルタは上位のプロバイダーのみ使用できる

(42)

消極的な対策

フィルタのメンテナンスの自動化

ルートオブジェクト:

• IP プレフィックスを担当している AS によって宣言されて

いる

• 誰が BGP のプレフィックスを通知するか問い合わせる

• オペレータ, DDoS を緩和させるプロバイダ, クライアント, … $ whois -T route 185.50.64.0/22 route: 185.50.64.0/22

descr: Observatory IPv4 prefix.

origin: AS202214

mnt-by: ASOBS-MNT

source: RIPE # Filtered

(43)
(44)

BGP messages

(45)

BGP アーカイブの収集

https://www.ris.ripe.net

AS1 AS2 AS3

AS4 AS5

AS6 AS666

192.168.0.0/16 192.168.0.0/24

BGP collector

Routing Information Service (RIS)

• 13 の BGP 世界中のコレクター

(46)

BGP アーカイブの解析

https://github.com/ANSSI-FR/parsifal

Raw BGP

BGP parser

専用の BGP パーサーが必要

• 速く & 信頼できるパーサ

• OCaml で記述されている

• BGP メッセージを JSON に変換

• 人間が読み書きできるフォーマット ANSSI -2014 年における BGP ハイジャックの検出 21/53

(47)

BGP アーカイブの解析

https://github.com/ANSSI-FR/parsifal

{ "timestamp":1409750436, "collector": "rrc07",

"as_path":"25152 6939 17922 7862 4761 9957 7500 ",

"announce":[" 192.50.44.0/24 "], "withdraw":[] }

{ "timestamp":1409782437, "collector": "rrc07",

"as_path":"25152 6939 667 666 ",

"announce":[" 192.50.44.0/24 "], "withdraw":[] }

専用の BGP パーサーが必要

• 速く & 信頼できるパーサ

• OCaml で記述されている

• BGP メッセージを JSON に変換

(48)

BGP アーカイブの解析

https://github.com/ANSSI-FR/parsifal

{ "timestamp":1409750436, "collector": "rrc07",

"as_path":"25152 6939 17922 7862 4761 9957 7500 ",

"announce":[" 192.50.44.0/24 "], "withdraw":[] }

{ "timestamp":1409782437, "collector": "rrc07",

"as_path":"25152 6939 667 666 ",

"announce":[" 192.50.44.0/24 "], "withdraw":[] }

専用の BGP パーサーが必要

• 速く & 信頼できるパーサ

• OCaml で記述されている

• BGP メッセージを JSON に変換

• 人間が読み書きできるフォーマット ANSSI -2014 年における BGP ハイジャックの検出 21/53

(49)

BGP アーカイブの解析

https://github.com/ANSSI-FR/parsifal

{ "timestamp":1409750436, "collector": "rrc07",

"as_path":"25152 6939 17922 7862 4761 9957 7500 ",

"announce":[" 192.50.44.0/24 "], "withdraw":[] }

{ "timestamp":1409782437, "collector": "rrc07",

"as_path":"25152 6939 667 666 ",

"announce":[" 192.50.44.0/24 "], "withdraw":[] }

専用の BGP パーサーが必要

• 速く & 信頼できるパーサ

• OCaml で記述されている

• BGP メッセージを JSON に変換

(50)

競合の検出方法は?

1. BGP ルーターのエミュレート

2. フローにそってメッセージを処理

UPDATE WITHDRAW UPDATE UPDATE WITHDRAW

Time

(51)

BGP ルータのエミュレート

https://code.google.com/p/py-radix/

192.0.0.0/8 AS1

192.28.0.0/22 AS2 AS3 192.128.0.0/10 AS4 AS5

192.160.0.0/11 AS7 192.168.128.0/22 AS42

ルーティングテーブルを構築

• 高速に IP を探し出すライブラリ

(52)

BGP ルータのエミュレート

https://code.google.com/p/py-radix/

192.0.0.0/8 AS1

192.28.0.0/22 AS2 AS3 192.128.0.0/10 AS4 AS5

192.160.0.0/11 AS7 192.168.128.0/22 AS42

「UPDATE」メッセージの処理

{ "timestamp":1409750436, "peer_as":25152,

"as_path":"1234 666 ",

"announce":[" 192.168.128.0/24 "], "withdraw":[] }

ANSSI -2014 年における BGP ハイジャックの検出 23/53

(53)

BGP ルータのエミュレート

https://code.google.com/p/py-radix/

192.0.0.0/8 AS1

192.28.0.0/22 AS2 AS3 192.128.0.0/10 AS4 AS5

192.160.0.0/11 AS7 192.168.128.0/22 AS42

「UPDATE」メッセージの処理

{ "timestamp":1409750436, "peer_as":25152,

"as_path":"1234 666 ",

(54)

BGP ルータのエミュレート

https://code.google.com/p/py-radix/

192.0.0.0/8 AS1

192.28.0.0/22 AS2 AS3 192.128.0.0/10 AS4 AS5

192.160.0.0/11 AS7 192.168.128.0/22 AS42

「UPDATE」メッセージの処理

{ "timestamp":1409750436, "peer_as":25152,

"as_path":"1234 666 ",

"announce":[" 192.168.128.0/24 "], "withdraw":[] }

ANSSI -2014 年における BGP ハイジャックの検出 23/53

(55)

すべてを一緒にする

Raw BGP

BGP parser

Emulate BGP

{ }

JSON

シンプルな処理チェイン

• 月ごとに分けて処理

(56)

すべてを一緒にする

Raw BGP

BGP parser

Emulate BGP

{ }

JSON

5 万の AS を処理する場合

• エミュレートしたルータは異なる AS として振る舞う

• 8 コアで、1ヶ月分は 10 時間の処理量

13 のコレクタで、年間 156ヶ月分の処理をしなければならな

い!

ANSSI -2014 年における BGP ハイジャックの検出 24/53

(57)

より速い競合の検知

コアを追加してスケールさせる

Raw BGP BGP parser Emulate BGP { }JSON

Raw BGP BGP parser Emulate BGP { }JSON Raw BGP BGP parser Emulate BGP { }JSON

Raw BGP BGP parser Emulate BGP { }JSON

競合検知

• 1 週間分は 5 つのサーバで 120 コアで処理できる

• 年間で 130 GB のデータを生成

(58)

より速い競合の検知

コアを追加してスケールさせる

Raw BGP BGP parser Emulate BGP { }JSON

Raw BGP BGP parser Emulate BGP { }JSON Raw BGP BGP parser Emulate BGP { }JSON

Raw BGP BGP parser Emulate BGP { }JSON

競合の例

{ "timestamp":1409782437, "collector": "rrc07",

"announce": { "prefix": " 192.50.44.0/24 ", "asn": 666 , "as_path": "25152 6939 667 666"},

"conflict_with": {"prefix": " 192.50.44.0/24 ", "asn": 7500 }}

(59)

データへのアクセス

http://discoproject.org

ディスコ?

• 自動データ配信と分配

• HDFS のように

• Python による MapReduce フレームワーク

(60)

データへのアクセス

http://discoproject.org

ビックデータからスモールデータへ

• 1 時間で 1000 の AS の競合を抽出する

• フランスと日本の AS は似ている物がいくつかある

• 7000 万の競合が 1 カ国である

• 200MB ANSSI -2014 年における BGP ハイジャックの検出 26/53

(61)

競合のクラスタ分類 - 1/3

ルートオブジェクトを使用

単一競合の検証

{ "timestamp": 1409782437, "collector": "rrc07",

"announce": { "prefix": " 192.50.44.0/24 ", "asn": 666 , "as_path": "25152 6939 667 666"},

(62)

競合のクラスタ分類 - 1/3

ルートオブジェクトを使用

単一競合の検証

{ "timestamp": 1409782437, "collector": "rrc07",

"announce": { "prefix": " 192.50.44.0/24 ", "asn": 666 , "as_path": "25152 6939 667 666"},

"conflict_with": {"prefix": "192.50.44.0/24", "asn": 7500}} $ whois -T route 192.50.44.0/24

route: 192.50.44.0/24

descr: Example prefix

origin: AS666

mnt-by: AS666-MNT

(63)

競合のクラスタ分類 - 1/3

ルートオブジェクトを使用

単一競合の検証

{ "timestamp": 1409782437, "collector": "rrc07",

"announce": { "prefix": " 192.50.44.0/24 ", "asn": 666 , "as_path": "25152 6939 667 666"},

"conflict_with": {"prefix": "192.50.44.0/24", "asn": 7500}} $ whois -T route 192.50.44.0/24

route: 192.50.44.0/24

descr: Example prefix

origin: AS666

(64)

競合のクラスタ分類 - 1/3

ルートオブジェクトを使用

7000 万の競合の検証

• 全てが検証されなければならない

• オンラインクエリーは遅すぎる

• WHOIS データベースは毎日 PostgreSQL にロードされる • ip4r タイプは高速プレフィックス検索に使用される

>>> client = Client("ripe")

>>> client.check(

"210.158.206.0/24", 17676, "2014/07/28"

)

True

0.01% の競合を削除

32% の競合を削除

ANSSI -2014 年における BGP ハイジャックの検出 27/53

(65)

競合のクラスタ分類 - 2/3

AS オブジェクト間の関連を使用

$ whois AS15557 aut-num: AS15557 as-name: LDCOMNET descr: SFR org: ORG-LA7-RIPE admin-c: LD699-RIPE tech-c: LDC76-RIPE status: ASSIGNED mnt-by: LDCOM-MNT mnt-routes: FMCF-MNT mnt-routes: LDCOM-MNT source: RIPE $ whois AS41272 aut-num: AS41272 as-name: MOSELLE-TELE-AS

descr: MOSELLE TELECOM

org: ORG-MT18-RIPE admin-c: LD699-RIPE tech-c: LDC76-RIPE status: ASSIGNED mnt-by: MOSELLE-TELE-MNT mnt-routes: MOSELLE-TELE-MNT source: RIPE

2% の競合を削除

54% の競合を削除

(66)

競合のクラスタ分類 - 3/3

クライアント/プロバイダーの接続性を使用

{ "timestamp": 1409750436,

"announce": { "prefix": "192.0.2.0/24", "asn": 666, "as_path": "... 1000 666" },

"conflict_with": {"prefix": "192.0.0.0/16", "asn": 1000 } }

Client/Provider relation

Internet

AS1000

AS666

192.168.0.0/16 1000 192.0.2.0/24 1000 666

BGP

5% の競合を削除

3% の競合を削除

ANSSI -2014 年における BGP ハイジャックの検出 29/53

(67)

競合のクラスタ分類 - 3/3

クライアント/プロバイダーの接続性を使用

{ "timestamp": 1409750436,

"announce": { "prefix": "192.0.2.0/24", "asn": 666, "as_path": "... 1000 666" },

"conflict_with": {"prefix": "192.0.0.0/16", "asn": 1000 } }

Client/Provider relation

Internet

AS1000

AS666

192.168.0.0/16 1000 192.0.2.0/24 1000 666

BGP

5% の競合を削除

3% の競合を削除

(68)

競合のクラスタ分類 - 3/3

クライアント/プロバイダーの接続性を使用

{ "timestamp": 1409750436,

"announce": { "prefix": "192.0.2.0/24", "asn": 666, "as_path": "... 1000 666" },

"conflict_with": {"prefix": "192.0.0.0/16", "asn": 1000 } }

Client/Provider relation

Internet

AS1000

AS666

192.168.0.0/16 1000 192.0.2.0/24 1000 666

BGP

5% の競合を削除

3% の競合を削除

ANSSI -2014 年における BGP ハイジャックの検出 29/53

(69)

競合のクラスタ分類

要約

Validated Related Connected Abnormal

0 % 30 % 60 % 90 % 32 54 3 11 0 2 5 93 P ercentage of conflicts France Japan

4200 万の異常な競合

(70)

計算期間

競合からイベントまで

Time

| | | | | | | | | | | |

集約後

集約前

{ "timestamp": 20141111.0, "collector": "rrc99" , "type": "RELATION",

"announce": { "prefix": "1.6.28.0/24", "asn": 666 } "conflict_with": {"prefix": "1.6.0.0/18", "asn": 1000 } } { "timestamp": 20141231.0, "collector": "rrc66" ,

type": "RELATION",

"announce": { "prefix": "1.6.28.0/24", "asn": 666 }

(71)

計算期間

競合からイベントまで

Time

| | | | | | | | | | | |

集約後

集約後

{ "conflict_with" : { "prefix" : "1.6.0.0/18", "asn" : 1000 }, "origin" : { "prefix" : "1.6.28.0/24", "asn" : 666 }, "begin": 20141111.0,

"end" : 20141231.0,

"peers" : [ "rrc99", "rrc66" ], "type" : "RELATION" }

(72)

イベントの可視化

フランスの AS

10/28/2014 localhost:2807/timeslots/AS3215

http://localhost:2807/timeslots/AS3215 1/1

2014 February March April May June July August September October November December

(73)

イベントの可視化

日本の AS

10/28/2014 localhost:2807/timeslots/AS2706

2014 February March April May June July August September October

(74)

イベントの数を減らす

自動的に

簡単なルール

• カテゴリを変更するイベントを削除

• AS が同じ国に属しているイベントを削除

• 6ヶ月より長いイベントを削除

2154 のプレフィックスから 557 の競合

4519 のプレフィックスから 289 の競合

ANSSI -2014 年における BGP ハイジャックの検出 33/53

(75)
(76)

イベントの数を減らす

手動的に

興味深い結果

• 似たような AS 名

• PACNET-MY Pacnet MY や PACNET Pacnet Global Ltd

• DDoS 攻撃から守られた AS

• DDoS 攻撃を緩和する会社のアナウンス /24

• AS 番号のミスタイプ

• 2208 や 208

• ビットコインを盗むためにハイジャックされたもの

• ...

ANSSI -2014 年における BGP ハイジャックの検出 35/53

(77)

閉会挨拶

もしかすると

69 の疑わしいイベント

102 の疑わしいイベント

(78)
(79)

Targeted Internet Traffic Misdirection

Renesys が 2013/11/19 に報告している

(80)

リアルタイム検知のゴール

BGP messages

Hijacks

Alerts

Measurements

(81)

検知に必要なもの

https://github.com/spotify/luigi

{ }

タスク 1/2

• インターネットレジス

トリ

• すぐに利用できる生の

タスク 2/2

• WHOIS データベースと同期

• BGP データを JSON に整形

• IP プレフィックスから AS の位

置マップを生成

(82)

検知に必要なもの

https://github.com/spotify/luigi

{ }

タスク 1/2

• インターネットレジス

トリ

• すぐに利用できる生の

BGP データを取得

タスク 2/2

• WHOIS データベースと同期

• BGP データを JSON に整形

• IP プレフィックスから AS の位

置マップを生成

ANSSI -2014 年における BGP ハイジャックの検出 40/53

(83)

BGP ハイジャックの報告

報告

• 疑わしいハイジャックだけ

• 50 のイベントについて毎週

< hadron> 2a04:8000::/29 is announced from multiple origins: < hadron> SFR-BUSINESS-TEAM (AS12566)

< hadron> Ukraine-AS (AS200000)

(84)

BGP ハイジャックの報告

IRC は 2014

報告

• 疑わしいハイジャックだけ

• 50 のイベントについて毎週

< hadron> 2a04:8000::/29 is announced from multiple origins: < hadron> SFR-BUSINESS-TEAM (AS12566)

< hadron> Ukraine-AS (AS200000)

< hadron> First originated from SFR-BUSINESS-TEAM (AS12566)

(85)

BGP ハイジャックのトラブルシューティング

< hadron> 2a04:8000::/29 is announced from multiple origins: < hadron> SFR-BUSINESS-TEAM (AS12566)

< hadron> Ukraine-AS (AS200000)

< hadron> First originated from SFR-BUSINESS-TEAM (AS12566)

$ whois 2a04:8000::/29 inet6num: 2a04:8000::/29

netname: UA-UAHOSTING

descr: Hosting Ukraine

country: UA

org: ORG-HUL6-RIPE

$ whois -i org ORG-HUL6-RIPE

aut-num: AS200000 as-name: Ukraine-AS

descr: Hosting Ukraine

(86)

BGP ハイジャックのトラブルシューティング

< hadron> 2a04:8000::/29 is announced from multiple origins: < hadron> SFR-BUSINESS-TEAM (AS12566)

< hadron> Ukraine-AS (AS200000)

< hadron> First originated from SFR-BUSINESS-TEAM (AS12566)

$ whois 2a04:8000::/29 inet6num: 2a04:8000::/29

netname: UA-UAHOSTING

descr: Hosting Ukraine

country: UA

org: ORG-HUL6-RIPE

$ whois -i org ORG-HUL6-RIPE

aut-num: AS200000 as-name: Ukraine-AS

descr: Hosting Ukraine

org: ORG-HUL6-RIPE

(87)

BGP ハイジャックのトラブルシューティング

< hadron> 2a04:8000::/29 is announced from multiple origins: < hadron> SFR-BUSINESS-TEAM (AS12566)

< hadron> Ukraine-AS (AS200000)

< hadron> First originated from SFR-BUSINESS-TEAM (AS12566)

$ whois 2a04:8000::/29 inet6num: 2a04:8000::/29

netname: UA-UAHOSTING

descr: Hosting Ukraine

country: UA

org: ORG-HUL6-RIPE

$ whois -i org ORG-HUL6-RIPE

aut-num: AS200000 as-name: Ukraine-AS

descr: Hosting Ukraine

(88)

BGP ハイジャックのトラブルシューティング

< hadron> 2a04:8000::/29 is announced from multiple origins: < hadron> SFR-BUSINESS-TEAM (AS12566)

< hadron> Ukraine-AS (AS200000)

< hadron> First originated from SFR-BUSINESS-TEAM (AS12566)

$ whois 2a04:8000::/29 inet6num: 2a04:8000::/29

netname: UA-UAHOSTING

descr: Hosting Ukraine

country: UA

org: ORG-HUL6-RIPE

$ whois -i org ORG-HUL6-RIPE

aut-num: AS200000 as-name: Ukraine-AS

descr: Hosting Ukraine

org: ORG-HUL6-RIPE

(89)

BGP ハイジャックのトラブルシューティング

< hadron> 2a04:8000::/29 is announced from multiple origins: < hadron> SFR-BUSINESS-TEAM (AS12566)

< hadron> Ukraine-AS (AS200000)

< hadron> First originated from SFR-BUSINESS-TEAM (AS12566)

$ whois 2a04:8000::/29 inet6num: 2a04:8000::/29

netname: UA-UAHOSTING

descr: Hosting Ukraine

country: UA

org: ORG-HUL6-RIPE

$ whois -i org ORG-HUL6-RIPE

aut-num: AS200000

as-name: Ukraine-AS

descr: Hosting Ukraine

(90)

BGP ハイジャックのトラブルシューティング

< hadron> 2a04:8000::/29 is announced from multiple origins: < hadron> SFR-BUSINESS-TEAM (AS12566)

< hadron> Ukraine-AS (AS200000)

< hadron> First originated from SFR-BUSINESS-TEAM (AS12566)

Analysis Result

• 2a04:8000::/29 ウクライナのオペレータのプレフィック

• 2a04: 0800::/29 フランスのオペレータのプレフィックス

• フランスのオペレーターからの返事には矛盾があった

とても疑わしいハイジャックイベントはフォールスポジティブ

であった route6 オブジェクトはウクライナのオペレーターに

よって数日後に作成された

ANSSI -2014 年における BGP ハイジャックの検出 43/53

(91)

BGP ハイジャックのトラブルシューティング

< hadron> 2a04:8000::/29 is announced from multiple origins: < hadron> SFR-BUSINESS-TEAM (AS12566)

< hadron> Ukraine-AS (AS200000)

< hadron> First originated from SFR-BUSINESS-TEAM (AS12566)

Analysis Result

• 2a04:8000::/29 ウクライナのオペレータのプレフィック

• 2a04: 0800::/29 フランスのオペレータのプレフィックス

• フランスのオペレーターからの返事には矛盾があった

とても疑わしいハイジャックイベントはフォールスポジティブ

であった route6 オブジェクトはウクライナのオペレーターに

よって数日後に作成された

(92)

BGP ハイジャックのトラブルシューティング

< hadron> 2a04:8000::/29 is announced from multiple origins: < hadron> SFR-BUSINESS-TEAM (AS12566)

< hadron> Ukraine-AS (AS200000)

< hadron> First originated from SFR-BUSINESS-TEAM (AS12566)

Analysis Result

• 2a04:8000::/29 ウクライナのオペレータのプレフィック

• 2a04: 0800::/29 フランスのオペレータのプレフィックス

• フランスのオペレーターからの返事には矛盾があった

とても疑わしいハイジャックイベントはフォールスポジティブ

であった route6 オブジェクトはウクライナのオペレーターに

よって数日後に作成された

ANSSI -2014 年における BGP ハイジャックの検出 43/53

(93)

Malicious BGP Hijack

<hadron> 185.73.204.0/22 is announced from multiple origins: < hadron> ALPHALINK-AS (AS25540)

(94)

https://stat.ripe.net/AS198596

Announces from September to October 2014

(95)

Malicious BGP Hijack

Infected AS_PATH

<hadron> 185.73.204.0/22 is announced from multiple origins: < hadron> ALPHALINK-AS (AS25540)

< hadron> TEHNOGRUP (AS198596)

(96)

Malicious BGP Hijack

Infected AS_PATH

<hadron> 185.73.204.0/22 is announced from multiple origins: < hadron> ALPHALINK-AS (AS25540)

< hadron> TEHNOGRUP (AS198596)

< hadron> AS_PATH: 8607 39792 44050 131788 198596

Definition

• コレクターのピアまでアナウンスを転送するすべての AS

を含む

• このゾーンから送信されたトラフィックはハイジャックネッ

トワークまで到達しなけれ

ANSSI -2014 年における BGP ハイジャックの検出 46/53

(97)

Malicious BGP Hijack

Infected AS_PATH

<hadron> 185.73.204.0/22 is announced from multiple origins: < hadron> ALPHALINK-AS (AS25540)

< hadron> TEHNOGRUP (AS198596)

< hadron> AS_PATH: 8607 39792 44050 131788 198596

Definition

• コレクターのピアまでアナウンスを転送するすべての AS

を含む

• このゾーンから送信されたトラフィックはハイジャックネッ

トワークまで到達しなけれ

ばならないどのようにこのゾーンの内側からアクティブな測定

(98)

RIPE Atlas プロジェクト

https://atlas.ripe.net/

• 7100 probes in around 2000 ASes

• コミュニティがホストする調査

• ユーザー定義済みの測定

• ping, traceroute, HTTP, TLS and DNS

• パブリックな API

(99)
(100)

Atlas は我々の要件を満たしている

We always found a probe to launch our measurements!

• 250 possible hijacks from september to november 2014

• AS_PATH are from the London based RIPE collector

Number of probes found in infected ASes:

2 4 6 8 10 12 14 0 % 5 % 10 % 15 % 20 % Num of probes Hijacks ANSSI -2014 年における BGP ハイジャックの検出 49/53

(101)

Atlas は我々の要件を満たしている

We always found a probe to launch our measurements!

• 250 possible hijacks from september to november 2014

• AS_PATH are from the London based RIPE collector

Number of probes found in infected ASes:

2 4 6 8 10 12 14 0 % 5 % 10 % 15 % 20 % Hijacks

(102)

Traceroute Example

<hadron> 185.73.204.0/22 is announced from multiple origins: < hadron> ALPHALINK-AS (AS25540)

< hadron> TEHNOGRUP (AS198596)

< hadron> AS_PATH: 8607 39792 44050 131788 198596

Traceroute to

185.73.204.1

1. 10.10.10.1

2. 82.118.96.1

3. 188.124.228.1

4. 95.215.3.78

5. * * *

ANSSI -2014 年における BGP ハイジャックの検出 50/53

(103)

Traceroute Example

<hadron> 185.73.204.0/22 is announced from multiple origins: < hadron> ALPHALINK-AS (AS25540)

< hadron> TEHNOGRUP (AS198596)

< hadron> AS_PATH: 8607 39792 44050 131788 198596

Traceroute to

185.73.204.1

1. 10.10.10.1

2. 82.118.96.1

3. 188.124.228.1

4. 95.215.3.78

5. * * *

(104)

Traceroute Example

<hadron> 185.73.204.0/22 is announced from multiple origins: < hadron> ALPHALINK-AS (AS25540)

< hadron> TEHNOGRUP (AS198596)

< hadron> AS_PATH: 8607 39792 44050 131788 198596

Traceroute to

185.73.204.1

1. 10.10.10.1

2. 82.118.96.1

3. 188.124.228.1

4. 95.215.3.78

5. * * *

ANSSI -2014 年における BGP ハイジャックの検出 50/53

(105)

Traceroute Example

<hadron> 185.73.204.0/22 is announced from multiple origins: < hadron> ALPHALINK-AS (AS25540)

< hadron> TEHNOGRUP (AS198596)

< hadron> AS_PATH: 8607 39792 44050 131788 198596

Traceroute to

185.73.204.1

1. 10.10.10.1

2. 82.118.96.1

3. 188.124.228.1

4. 95.215.3.78

5. * * *

(106)

Traceroute Example

<hadron> 185.73.204.0/22 is announced from multiple origins: < hadron> ALPHALINK-AS (AS25540)

< hadron> TEHNOGRUP (AS198596)

< hadron> AS_PATH: 8607 39792 44050 131788 198596

Traceroute to

185.73.204.1

1. 10.10.10.1

2. 82.118.96.1

3. 188.124.228.1

4. 95.215.3.78

5. * * *

ANSSI -2014 年における BGP ハイジャックの検出 50/53

(107)

Traceroute Example

<hadron> 185.73.204.0/22 is announced from multiple origins: < hadron> ALPHALINK-AS (AS25540)

< hadron> TEHNOGRUP (AS198596)

< hadron> AS_PATH: 8607 39792 44050 131788 198596

Closing Remarks

• traceroute stops at

AS44050 (PIN-AS)

• AS131788 and AS198596 are most certainly placeholders

AS44050 (PIN-AS)

is already known for previous hijacks

(108)

結論

• 大規模な BGP ハイジャックの自動検出

• フランスと日本に関しては年間わずかなハイジャック

• 早期発見と報告

• トラフィックのリダイレクトの識別を継続的に調査

メッセージの窃取

1. インターネット上のパケットはリダイレクト可能

2. トラフィックは暗号化と認証される必要がある

3. オペレータはプレフィックスを監視し、具体的なアナウン

スの準備をする必要がある

4. ネットワーキングのベストプラクティスを実施しなければ

ならない

ANSSI -2014 年における BGP ハイジャックの検出 52/53

(109)

質問?

関連研究

参照

関連したドキュメント

当第1四半期において、フードソリューション、ヘルスサポート、スペシャリティーズの各領域にて、顧客

つの表が報告されているが︑その表題を示すと次のとおりである︒ 森秀雄 ︵北海道大学 ・当時︶によって発表されている ︒そこでは ︑五

ヨーロッパにおいても、似たような生者と死者との関係ぱみられる。中世農村社会における祭り

一方で、平成 24 年(2014)年 11

 アメリカの FATCA の制度を受けてヨーロッパ5ヵ国が,その対応につ いてアメリカと合意したことを契機として, OECD

欄に(Qb)を掲げた品目で関税割当により輸入される品目) については、第 8欄の品名の下に、 “ I, the undersigned, declare that the products described above are classified

 学年進行による差異については「全てに出席」および「出席重視派」は数ポイント以内の変動で

当該 領域から抽出さ れ、又は得ら れる鉱物その他の 天然の物質( から までに 規定するもの