ミスるとやばい!?BGP経路ハイジャックについて自分なりにまとめる。

JPNICが経路ハイジャック通知実験を25年度より正式運用開始しました。
今まではは実験的に使用していた経路ハイジャック通知実験を今年度より、正式運用とすることになったとのこと。

ぱっと聞いても「?」って感じですが、結構事件が起こってるみたいです。

photo credit: dustball via photopin cc

経路ハイジャックとは?

ここからは自論をかなり含んでいるので、ツッコミ入れすぎないでね。

経路ハイジャックを知るうえではまず「BGP」を知らなければいけないです。
。。。やっぱ知らなくていいか。

例えばです。
自分はある会社を経営していて、人気コンテンツ(Youtubeとか。)を提供しているとします。

それが、突然ある日、お客さんから

「人気コンテンツを観覧しようとしたら、どっかのアジアの奥地の先住民のホームページへ行っちまった!」

ってな報告が入ってきます。

自分はその報告の通り、該当のホームページへ行くと確かに先住民のホームページが!
これは大変だと、いろいろと調べた結果、人気コンテンツへ行くはずの「経路」が先住民のホームページへの優先(ベストパス)経路に変わっていた!

これは何かというと、インターネット通信をするためのプロトコル「BGP」が大きく関わっています。

BGPってのは要は企業ごとにASっていう番号も持っていて、おたくの会社とうちの会社ネットワークをつなげませんか?みたいなことをします。
そうすることによって、日本内、海外に多くのネットワークを張り巡らしていくんです。

BGPのことは技術の記事で後日紹介します。

ということで、BGPの仕様では上記のような該当経路が複数あった場合、プレフィックス値が大きい方を優先するのが原則となっています。

プレフィックスってのは、みんなのパソコンにもついているアドレス「1.1.1.1/24」みたいな「/24」の部分。

今回の件でいくと

  • 人気コンテンツ    「1.0.0.0/22」
  • 先住民のホームページ 「1.0.0.0/24」

ってな感じで経路情報が出ています。
人気コンテンツは「/22」に対し、先住民のホームページは「/24」となっています。

これがプレフィックス値の大きい方を優先(先住民の方)してしまって経路が変わっちゃったってことになるんです。

ほとんどの原因は悪意では無く設定ミス

medium_9598521796
photo credit: SalFalko via photopin cc

実はこの「経路ハイジャック」は悪意があって経路を乗っ取ったのではなく、ISP(インターネットサービスプロバイダ)が設定ミスをすることで起きることが大半を占めているようです。

確かに、悪意があるうえで、このようなBGP経路ハイジャックをしようとするなら、まずはISPのバックボーンルータに侵入し、外部接続をしているルーターを乗っ取らないことには、こんな大それたことは無理です。
捕まっちゃいます。

では「設定ミス」ってどんなことかというとやはり、「コマンド」ですね。
BGPでは自分から、こういう経路を広報したい。世の中に教えたいってことができます。そして世界のいたるところで自分の経路は伝搬していき、人気コンテンツまでの経路ができていくわけです。

しかし、広報する経路情報に設定間違い(今回はプレフィックスを大きく設定)をした場合、された場合、BGPの仕様でプレフィックスの大きな経路を優先経路として選び、見たいコンテンツにつながらなかったり、わけのわからないページへ飛んじゃったりするわけです。

設定ミスをなくすには

設定ミスにより、不正経路情報をインターネット(世界中に)拡散させては、大問題です。
それでは、そんな経路を拡散させない予防策としては、該当ルータで経路フィルタを設定することです。

しかし、全てのISPが経路フィルタを徹底して設定するわけでもなく、結局今のところ、設定する人間は「いつかはミスを起こします」

では、どのようにすればいいのか、結局、私がたどりつく対策は「基本にもどれ」ってことでしょうか。
みなさん。仕事も慣れてくると、自信も出てきますよね。新人の時なんか、何度も確認していたことも、慣れてしまえば確認しなくてもOKみたいな感じになります。

これが根本的なミスの原因だと私は思います。

それではどうすればいいか。今更感はありますが、これしかないでしょ。

  1. 事前の手順検証
  2. 指さし呼称!
  3. 二重確認(作業者は2人以上)
  4. コマンドの手打ちはしない(コピーペーストで)
  5. エンターキーを押す前に、コマンド再確認!

JPNIC経路奉行運営と経路ハイジャック通知
JPNICによる運用となった経路奉行の安定運用
JPNICが運営する経路奉行について
Telecom-ISAC Japan経路奉行とJPIRR間の連携実験について – JPNIC

まとめ

結局は何でもかんでも、「マンパワー」です。
人間はミスを犯す生き物ってことを常に頭に入れておくっていう単純なことが一番大切であり、難しいです。

常日頃から、緊張感をもって仕事することが大切ってことですね。

ってことで自分は無理っす。

それでは!




エンジニアのオンライン学習

ITエンジニアにおすすめの教材、オンラインスクールです。
無料からエンジニアの学習ができる教材などまとめているので参考にしてください。

おすすめオンライン教材
自宅で学習ができるオンラインスクール

ITエンジニアの開発・検証・学習としてインターネット上で専用のサーバ(VPS)を利用しましょう!
実務経験はVPSで学べます。



コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

ABOUT US
げんき☆ひろき
インターネット関連のSEをやっています。 ネットワーク、サーバー、ストレージ、仮想基盤まで幅広く手を出しており、MVNOの構築経験もあります。 現在は、Pythonを使ったプログラミングの開発をしネットワークの自動化ツールを作成しています! Pythonの入門書も作成しているので、ぜひ参考にしてください!