セキュリティ&プログラミングキャンプ2009 2日目のお話 パケット解析編

いよいよ2日目に突入です。


2日目は特にこれといったイベントがあるわけではなく、主に各々が選んだコース・クラスの講義を受ける事になります。
特にセキュリティコースでは、クラスが4つあり、それぞれ

  • バイナリ解析クラス(14人)
  • Webセキュリティクラス(6人)
  • セキュアサーバ構築クラス(6人)
  • ネットワーク技術者クラス(5人)

こんな具合に分布してます。
自分のクラス以外のテキストも、同コースに限り一緒に配られる為、
他のクラスが何をやったのかある程度分かるんですが、
テキストを読む限りでは、どこも
くそめちゃに面白そう
なんですが、どういうわけかバイナリ解析に凄く偏りが発生しました。不思議。
かく言うDltnもバイナリ解析クラスでした。
来年参加される方は、もし迷ったらサイコロでも振って決めるというのもいいかもしれません。
きっとどこのクラスも面白いです。
興味があまりないところに行けば、その分野の興味が沸くかもしれませんし、
興味があるところに行けば、きっとより深く興味が沸く事でしょう。


ところで、Dltnはどうしてバイナリ解析クラスを選んだのかというと・・・。
去年(2008年)の中旬ぐらいに、リバースエンジニアリングにはまってしまったのです。
また、568氏の「結局は0と1の世界」という言葉に凄く貫禄を受けたこともあり、
バイナリ解析クラスを選びました。
また、第二希望として、ネットワーク技術者クラスを選んでいました。
去年(2008年)の9月あたりから本格的にサーバを運営し始めた事と、
今年(2009年)に入ってから、CCNAの勉強等を一通りやったので、より深く掘り下げたい、という考えから選びました。


結局、全てのテキストをいただけたので、後からテキストを見ながら試す事もできますし、
分からないところがあれば、そのクラスの参加者なり講師の方に質問するのもありだと思います。


どこまでも素敵なキャンプです。


きっと、プログラミングコースも凄く素敵だったんでしょうね。
残念ながら、プログラミングコースのテキストはいただけなかったので
(仮にもらえたとしても、セキュリティのテキストと合わせると大変な量になってしまうので持ち帰りが大変!)
またいろいろと調べてみたいと思います。


さてはて、肝心のバイナリ解析クラスでは何をしたかというと、次の3つの事をやりました。


・パケット解析
  Dltnはネトゲのパケット解析ぐらいしかやった事がありませんでした。
  (※決して悪い事には使っていません・・・!(コレは本当))
  (運営終了してしまったネトゲをもう一度やりたいが為にエミュ鯖を作る為にパケ解析した事がありました。)
  で、この講義で行うパケット解析というのは、そういうのとはちょっと違いまして。一体どんなものかというと、

  • さて、このパケットログは何を意味しているでしょう?
  • ポートスキャンだ!
  • マルウェアだ!

  なんて具合に、パケットログを見て、それが何を意味するのかというのを考えるという
  いかにもセキュリティやってます!
  みたいな内容でした。Dltnはそういう経験は初めてだったので、凄く面白かったです。


  CCNAの勉強をしたのはもう数ヶ月も前なので、すっかり頭から知識が抜けてます。
  「3ウェイハンドシェイク?何それおいしいの?」状態です。
  (3ウェイハンドシェイクについては「3 Minutes Networking」のNo.39が分かりやすいです。)
  でも、分からないにも関わらず、Dltnは強がりました。
  例えば、こういうパケットログがあったとします。

  • C:Client S:Server リモートポートはTCP80番とします。
  • C->S SYN
  • S->C SYN, ACK
  • C->S ACK
  • C->S RST, ACK

  これは一体何を意味するのでしょう、という問題だったのですが、
  某インテグリティT氏やM氏が即答してたと思います。
  Dltnは強がって、


  「ハイ!分かりました!」→「HTTPに繋いでます!」


  ・・・。


  誰が見ても分かるっちゅーねん!


  そんなオオボケをかましたりしてしまいました。
  それでも講義は進んでいきます。
  (問題の答えは来年のキャンプのネタバレを防ぐ為、伏せておきます。同じ事をやるのかは知らないけど。)


  攻撃を受けたときのパケットログを推測したり、
  実際にWiresharkの操作方法を学び、パケットを採取してみたり、
  ネットワークの基礎的な部分について解説をいただいたり、
  ARPについて議論したり、パケットに隠された暗号を解いたりと、
  興味深い事を次々とやっていきます。
  また、今回の講義で行った課題は・・・
  (来年へのネタバレを防ぐ為、詳しい事は伏せます。同じ事をやるのかは知りませんが・・!)

  • 「通信の正体を暴け?」(上記のログ)
  • 「パケットの正体をさぐれ」(ちょっと応用)
  • 「ネットワークを欺け」(これは面白かった。)
  • セキュリティインシデント」(Dltnの予想は見事にはずれてましたが、某インテグリティT氏はお見通しだったようです。)
  • 「通信の秘密を探れ」(見事、見つける事ができました!)
  • 「正体不明」(確かgdgd発表をしたような覚えがある)
  • 「この通信は正しい?」(これは奥深い話でした。)

  などなど、かなり演習満載で凄く楽しかったです。
  最後に The Honeynet Project の Scan of the Month の紹介をされて、講義は終わりました。
  興味を持たれた方は、是非チャレンジしてみましょー!


ちょっと長くなってきたので、残りの講義についてはまた次回に続きます。





どうでもイイ事なんですが、リンク張るだけでトラックバックになるという事をつい先日知りました。
そ、それでいいのかDltn・・・(汗)


※リンクの張り間違え等ありましたら、コメント等で結構ですのでご一報くださると幸いです。
※リンク張られると困るんですが!とかも同様にお願いします。すぐ外します。
※テキストの無断転載は禁止されてるので、どの辺まで内容を書いていいのか、っていうのが難しいですね。マズければすぐ消します。