GoogleがBGPでリークした情報の中身を見てみよう

   このエントリをはてなブックマークに登録    2017/8/29-2

2017年8月25日の大規模インターネット障害の続きです。

オレゴン大学がRouteViewsというサイトで、BGPフルルート情報を公開しています。 今回、Googleがリークしてしまった経路情報をRouteViewsで確認することができます。

RouteViewsで公開されているデータは、MRTというフォーマット(RFC 6396参照)で保存されているので、何らかのツールで解析する必要があります。

今回は、RIPE NCCが管理しているbgpdumpというツールを使いました。

RouteViewsのデータから、Googleによる誤設定データを最初に観測できるのは、3時17分37秒(UTC)のところです。 Verizon(AS 701)→Google(AS 15169)→Korea Telecom→Korea Internet Security Agency(韓国インターネット振興院)という経路を示すメッセージが保存されています。

TIME: 08/25/17 03:17:37
TYPE: BGP4MP/MESSAGE/Update
FROM: 137.39.3.55 AS701
TO: 128.223.51.102 AS6447
ORIGIN: IGP
ASPATH: 701 15169 4766 23599
NEXT_HOP: 137.39.3.55
ANNOUNCE
  1.18.126.0/24

その後、大量にVerizon(AS 701)→Google(AS 15169)という経路が続きますが、OCN(AS 4713)に関してのメッセージのうちのひとつは、次のようになっています。

TIME: 08/25/17 03:17:41
TYPE: BGP4MP/MESSAGE/Update
FROM: 137.39.3.55 AS701
TO: 128.223.51.102 AS6447
ORIGIN: IGP
ASPATH: 701 15169 4713
NEXT_HOP: 137.39.3.55
ANNOUNCE
  20.197.32.0/21
  20.197.56.0/21
  20.197.16.0/21
  20.197.0.0/20
  20.197.52.0/22
  20.197.41.0/24
  20.197.30.0/24
  20.197.24.0/22
  20.197.50.0/24
  20.197.28.0/23
  20.197.40.0/24
  20.197.44.0/22
  20.197.31.0/24
  20.197.51.0/24
  20.197.42.0/23
  20.197.48.0/23

その後、03:17:43あたりに、Cogent(AS 286)→Verizon(AS 701)→Google(AS 15169)→OCN(AS 4713)というメッセージも観測できます。

さらにその後、03:17:53にも、Verizon(AS 701)→Google(AS 15169)→OCN(AS 4713)で細かい経路を大量に含むメッセージもあります。

2017年8月25日03:28頃に、AS 701からの大量のUpdateが記録されています。 その一例として以下のようなものがあります。 誤った経路と思われるVerizon(AS 701)→Google(AS 15169)→OCN(AS 4713)から、Verizon(AS 701)→NTT Communications(AS 2914)→OCN(AS 4713)となっています。

約10分ほどで、誤って広告された経路を訂正する内容がVerizonから広告されているのが観測されていることから、Google側で誤設定から8分以内に設定が修正されたという報道内容がデータからも確認できます。

TIME: 08/25/17 03:28:13
TYPE: BGP4MP/MESSAGE/Update
FROM: 137.39.3.55 AS701
TO: 128.223.51.102 AS6447
ORIGIN: IGP
ASPATH: 701 2914 4713
NEXT_HOP: 137.39.3.55
ANNOUNCE
  20.197.32.0/21
  20.197.56.0/21
  20.197.16.0/21
  20.197.0.0/20
  20.197.52.0/22
  20.197.41.0/24
  20.197.30.0/24
  20.197.24.0/22
  20.197.50.0/24
  20.197.28.0/23
  20.197.40.0/24
  20.197.44.0/22
  20.197.31.0/24
  20.197.51.0/24
  20.197.42.0/23
  20.197.48.0/23
  27.114.0.0/17
  58.88.0.0/13
  60.32.0.0/12
  61.4.172.0/22
  61.4.163.0/24
  61.4.160.0/24
  61.4.162.0/24
  61.4.168.0/22
  61.4.154.0/23
  61.4.164.0/22
  61.4.161.0/24
  61.4.152.0/23
  61.4.156.0/22
  61.28.192.0/24
  61.113.0.0/16
  61.112.0.0/16
  61.118.0.0/16
  61.199.0.0/16
  61.119.0.0/16
  61.114.112.0/21
  61.114.120.0/21
  61.126.0.0/15
  61.207.0.0/16
  61.214.0.0/16
  61.208.0.0/16

Verizonからの広告が約10分ほどで行われたとしても、その内容を受け取ったBGPルータにおけるパケット転送用のテーブルが即座に書きかわるわけではありません。 経路収束(コンバージェンス)にかかる計算時間は、経路数が多ければ多いほど長くなりがちなので、経路が収束するまでに時間がかかってしまったために障害が発生してしまったという事例もありそうです。

他にも、生データからいろいろなことが読み取れそうです。ご興味のあるかたは、是非。

追記

RouteViewsのデータにあるタイムスタンプは実際の時刻と少しずれているのでご注意ください。 その後、修正されましたが、障害発生時のデータにおける時刻情報は5分ほど遅れています。 実際の時刻は+5分ぐらいです。

   このエントリをはてなブックマークに登録