仙豆のレシピ

ちょっとしたことでも書いていく姿勢で

セキュキャンNWクラスの応募用紙に書いたことをまとめておく #seccamp

今年、セキュリティ・キャンプ2014NWクラスに応募し合格することができました。僕も応募用紙を書くにあたって様々な方のブログを参考にさせていただいたので、そのお礼の意味も込めて自分の応募用紙に書いたことをまとめておきたいと思います。(セキュキャン行きたい人でコピペする人なんていない気もしますがいちおうコピー防止のため軽く要旨のみ)

昨日はいろいろあって体力が極限状態でしたが、とりあえず書かなきゃと思って書いたエントリを読み返したらあまりにもやっつけ感やばかったのでちゃんと書きたいと思いますw


まず拡張子の無いファイルが渡されて質問事項を探さなくてはなりませんでしたが、やぎはしゅさんの以下のブログとだいたい同じ手順でやりました。

セキュリティ・キャンプ全国大会2014 NW組応募用紙抽出Write-up
http://yagihashoo.com/archives/683

まあぶっちゃけデータダウンロードしてる.pcapなファイルかな?と思ってたのでfileコマンドで確認してあとはやっただけでした。

以下質問事項です。(「回答の最後にあるキャプチャファイル:○○.pcapというのは、回答の根拠にしたキャプチャファイルですので見てください」と書いてpcapファイルを添付しました。基礎知識を問う質問にはだいたい添付したと思います。)


===ココカラ===

☆ 基礎知識を問う質問(回答必須)

i) あるTCPポートにSYNパケットを送るとどんなパケットが返ってきますか?

実際にポートが空いている場合と閉じている場合とフィルタリングされている場合でなにが返ってくるのかを確かめて書きました。

ii)閉じているUDPポートにUDPパケットを送ると返ってくるパケットは何ですか?

同様に確かめて書くだけ。

iii)ICMP Echo Requestを送ると返ってくると想定されるパケットは何ですか?

サーバ側がICMPを許可している場合としてない場合に分けて確かめて書いただけ。

iv)WindowsのtracertとLinuxのtracerouteの違いを説明してください。

同様に確かめて書くだけ。

v)WindowspingLinuxpingの違いを説明してください。

これも確かめて書いただけですが、1点知らないことがあったので調べて、そのURLも書きました。timestamp入ってるの今まで気付かなかった…

(参考)http://linux.about.com/od/commands/l/blcmdl8_ping.htmのICMP PACKET DETAILSの2段落目「If the data space is at least of size of struct timeval ping uses the beginning bytes of this
space to include a timestamp which it uses in the computation of round trip times.」

vi)パケットを送るときに分割して送ることを何と言いますか?

「fragmentation(フラグメンテーション)」しか書いてないです…書くこと思いつかなかった…orz

vii)HTTPで動作しているサービスをHTTPSに変更することで起きうるデメリットを説明してください。

大きく分けて以下の4つのデメリットが考えられる、としてその詳細を書きました。

○意識面でのデメリット
httpsだから安全っしょwwwwwみたいな。

アクセシビリティに関するデメリット
・対応してない端末とかあるかもねーとか、設定で繋げないかもねーとか。

○管理面でのデメリット
・証明書の管理とか。

○パフォーマンス面でのデメリット
・計算量増えるわけだしパフォーマンス落ちるよね、的な。

viii)この応募用紙をダウンロードしたサーバのヘッダ情報をpcapファイルの中から抜き出して答えてください。

抜き出してコピペするだけ。

☆ 記述式質問

1. このクラスを希望した自分なりの理由を教えてください。また、この講義で学んだことを何に役立てたいかを教えてください。(選考上もっとも重視します)

ここは人のを参考にする意味無いと思うので書きません!ほんとうに自分なりの理由を書きました。

2. あなたが今「一番興味がある」プロトコルはなんですか?またそのプロトコルのどのようなところに興味がありますか?

興味があるプロトコルと、なぜそのプロトコルに興味があるかを書きました。具体的に、そのプロトコル脆弱性とかが見つかるとこうこうこういう風にやばい!みたいなことを書きました。

3. あなたの学校のネットワークを許可なくこっそり使って通信している人がいるかもしれません。そういう心配が起こった時にあなたはどのような行動をとりますか。説明してください。

これに結構悩みました。自分がネットワークの管理者ならいろいろやりようがあるでしょうがセキュキャンの質問事項にあるということは利用者の立場からの回答が求められているのかなと思ったので、実際に今学生である自分がそういう状況にいることを仮定してするであろうことを書きました。

この問題の正答というか意図した回答を出題者に聞いてみたいです…

4. あるホームページを参照した際に表示が大変遅く感じました。この場合、原因として考えられる事象を説明してください。なお、想定される原因の数は多いほど望ましい。

大きく分けて、以下の5つの可能性が考えられる、としてそれぞれについて詳しく書きました。いやいや原因なんて数えたくなくなるほどあるんじゃ…と思いましたが多いほど望ましいって書いてあるし頑張って思いついたの全部書きました。

○サーバ側の問題の可能性
・サーバのスペックとか。

○クライアント側の問題の可能性
・クライアントマシンのスペックとか、クライアント側で別なことやってないかとか。

○ネットワークの問題の可能性
・アクセス集中してるとか名前解決遅れてるとか経路の問題だとか。

○コンテンツの問題の可能性
・そもそもコンテンツが重かったりして問題があるとか。

○攻撃を受けてる可能性
dos攻撃受けてるとかDNSキャッシュポイズニングするために権威サーバに総当りでパケット送ってて名前解決時間かかってるとか。(想定としてはこんな雰囲気

5. あなたがネットカフェで入手したとあるファイルをネットワーク経由であなたの自宅に安全に送付するための方法について解説してください。解説してある手法は多いほど望ましい。

5つほど書きましたが、マイナーチェンジしてるだけで大きく分けると2つという気も…T_T

時間があれば試して書こうと思ってましたができなくて残念でした。

6. 興味を持っているプログラミング言語は何ですか?使ったことがあるプログラミング言語や愛用しているプログラミング言語について説明してください。

たいしてプログラミングできませんが、いちおう使ってる言語とgithubのurlを書きました。あと、今後やってみようと思ってる言語とその理由も書きました。

7. 情報家電を1つ取り上げ、どんなプロトコルを使うか、サービスとして何が想定されるかを説明してください。また、その情報家電が悪用された場合、どのような脅威が想定されるか説明してください。

たまたま見たニュースサイトで情報家電のものがあったので、それが使うプロトコルについて調べてみたところなんかあまりセキュリティについて意識されてない感じがしたのでその辺のことを書きました。「どのような脅威が想定されるか説明してください」というのは大喜利やればいいのかと一瞬思いましたがつまらないから不合格とかになったら怖いのでまじめに書きました。

8. 今一番注目しているネットワークプロトコルおよび実装について説明してください。また、そのネットワークプロトコルが悪用されてしまう可能性についても説明してください。

初見では2番と同じような質問だな…と思いましたが、よく考えて答えた結果2とは別のプロトコルを挙げました。

9. そのほかアピールしたいこと、書き足りないことがあれば自由に書いてください。

これも参考にしてもしょうがないと思うので割愛。

===ココマデ===

終わりに

長い…。

応募用紙にかかった時間は、キャンプ卒業生のインタビューで「応募用紙にかかった時間は4時間ぐらいです」と答えていたイケメンなハッカーの人がいたので凡人の自分はその倍くらいかな?と思っていましたが結局募集開始から終了までほぼフルに使った気がします…。まあ今月忙しくて1日のうち応募用紙に取り組める時間が少なかったと言い訳しておきますw

とりあえず、序盤のほうで「確認して書くだけ」とたくさん書きましたが、前にこんなことをやっていたので環境構築に少し慣れていて楽にできたのがラッキーでした。なので、SYNパケットを送ってみるときなども前は「改変したDNS応答のフラグメントした後ろ半分」みたいなわけわからんパケットを何度も泣きながら作ってたので「定形のSYNパケットでいいの?よかった!」みたいな感じでしたw


こんな感じで誰得マイナー技術でもやりたいことやってれば自分の身を救う可能性があるので、キャンプ行きたい人はやりたいことやるといいかもしれません。マグレ当選の僕の言葉なので責任は持てませんが。


ということで、キャンプがんばります!クソ長文ここまで読んでいただきありがとうございました。