第20回「ネットワーク パケットを読む会(仮)」に参加してきました

第20回「ネットワーク パケットを読む会(仮)」に参加してきました

第20回「ネットワーク パケットを読む会(仮)」に参加し、tcpdumpの出力からネットワークパケットを読むための取っ掛かりとなる手順を発表してきました。

発表してきた内容

発表資料は以下のURLにて公開しています。ネットワークパケットをtcpdumpで出力し、その16進ダンプ内容をetherヘッダからICMP echo/replyまで読み解いてみようという内容です。

発表スライドはMagicPointで作成しています。発表スライドのソースファイル(.mgpファイル)についてもgist上で公開しています。

勉強会メモ

以下は勉強会のメモです。自分なりにまとめた内容なので、間違って理解している箇所があるかもしれませんのでご注意ください。

hpingで作るパケット

「Hentaiなping」であるhpingに関する発表で、hpingから設定可能なIP,ICMP,TCP,UDPのオプションについて解説されていました。発表者はCTF for Beginnersの問題作成用にhpingを利用してみましたとのことです。

ポートスキャンやパケットジェネレータの機能を併せ持つツールのようで、Scapypkttoolsと似たツールのようです。ただし、hping自体は10年ほど前くらいから更新されていないようです……。

512K問題をビッグデータ解析した先にあるもの

  • 発表者はととろさん

つい先ごろ話題になった、BGPの512K問題に関する発表でした。私自身はBGPは名前くらいしか聞いたことがなく、512K問題の具体的な内容を知りませんでした。

BGPはAS番号を元に、接続先に最もホップ数が少ない経路を自動で選択する仕組みで、BGPオペレーションはごく限られた人しか行わない(行う必要がない)ようです。12K問題はIPv4に関する経路データの増加が引き金とのことですが、IPv6でも経路情報が爆発したら発生する可能性があるようです。

今回の512K問題は、2014/08/12前後から17にかけて発生しており、米ベライゾンが使用するCISCOルータで発生しました。ルータの物理メモリが少ないことで発生しており、経路数が512,000を越えると発生することから「512K問題」と呼ばれています。2011年以前製造のCISCOルータが原因であると特定されており、回避configの適用で対応加能です。一番の対策はルータを買い換えることのようですが、お値段が数千万円単位(!)のものらしく、おいそれと購入はできなさそうです。

BGP,512K問題については、以下のURLにて詳しく解説されています(BGPルータのメモリがDRAMと異なる仕組みだとは知りませんでした……)。

上記記事の中から、よく理解できていないキーワードを(自分用に)がーっと列挙しておきます。

  • AS(Autonomous System)
  • フルルート(Full Route:BGPが収集した世界中のASネットワークへの全経路情報)
  • BGP version 4(RFC4271)
  • EGP(Exterior Gateway Protocol)
    • インターネット上で組織間の経路情報をやり取りする経路制御プロトコル
    • BGPはEGPに分類される
  • IGP(Interior Gateway Protocol)
    • 組織の内部で完結する経路制御プロトコル
    • 以下はIGPに分類される
      • RIP(Routing Information Protocol)
      • OSPF(Open Shortest Path First)
      • EIGRP(Enhanced Interior Gateway Routing Protocol)
  • RIR(Regional Internet Registry;地域インターネットレジストリ)
  • NIR(National Internet Registry;国別インターネットレジストリ)
  • LIR(Local Internel Registry;ローカルインターネットレジストリ)
  • (AS番号→RIRやJPNIC等のNIRから割り当てを受けることができる)
  • (AS番号、原則として2バイトのサイズだが、AS番号数が不足してきたため、最近は4バイト化が進んでいる)
  • iGP(内部BGP)
  • eBGP(外部BGP)
  • パンチングホール(経路数の増大を招く一因?)
  • IRR(Internet Routing Registry)
  • S-BGP(Secure BGP)
  • soBGP(Secure Origin BGP)
  • BFD(Bidirectional Forwarding Detection)
  • TCAM(Ternary Content-Addressable Memory)
  • CAM(Content-Addressable Memory)
  • FIB(Forward Information Base)
  • RIB(Routing Information Base)
  • コンフェデレーション
  • route reflector
  • route server
  • BGP経路のアグリゲーション

あと、これも知らなかったのですが、BGPMONというネットワークモニタリングサービスがあるようです。

Fiddler使ってる?

  • 発表者はTakagiさん

WebデバッグツールFiddlerに関する発表でした。私はFiddlerを全く知らなかったので、ただ聞くだけになっていました。

FiddlerIE開発リーダー格のひとりであったエリック・ローレンスによって作成されたツールで、Webのデバッグや、パフォーマンステスト、HTTP/HTTPSトラフィックレコーディングやセッション操作、セキュリティテストといった、Web開発(の後の一連のテスト)に役立つ機能が提供されているようです(公式サイトからの受け売りですが……)。発表者の方もおっしゃっていましたが、「攻撃される前に自分でテスト」というのは重要だと感じました。

QUIC

QUIC(Quick UDP Internet Connections)に関する発表でした。QUICはSPDYに関連し、HTTP->SPDY->QUIC->UDP->IPの形で置き換えようとするプロトコルのようです。

The Chromium Blogの以下のエントリでQUICの解説と設計ドキュメントが公開されています(が、それ以降QUICに関するエントリが無いのがちょっと気になります……)。

上記のブログと設計ドキュメントを読まないとダメかな……と思っていたら、既にブログにまとめていた方がいました。

なるほど、と思いながら読んでいたところ、以下のキーワードについては自分のなかでちゃんと理解できていなかったので、別途調べておこうと思いました。

Fiddler Add-on

FiddlerのAdd-onに関する発表でした。Fiddlerを動作させる際は、.NETのフル版でないとハマる場合があるとのことです。また、.NETのバージョンにも注意する必要があるようです。atmarkITさんにてバージョン確認用のバッチファイルが公開されているので、これを利用すると良いとのことでした。

FiddlerのAdd-onは.NETで開発したdllで提供されており、Add-onの例として、Burp-like InspectorとSessionDecoratorが紹介されていました。

また、実践Fiddlerという書籍があるようです。

まとめ

第20回「ネットワーク パケットを読む会(仮)」にて発表してきました。次回のネッ トワークパケットを読む会は9/22(月)を予定しているとのことです。

FiddlerやQUICなど、(私が情報収集をサボっているだけですが)知らなかった技術キーワードを補足することができ、勉強になりました。知らないキーワードなどは少しずつ調べておこうと思います。