« PCI Express 64bitでのDMA | トップページ | 特電の新しいWebサイト »

2017.08.18

セキュリティキャンプの講師をしてきました

縁があって、今年はセキュリティキャンプの講師をさせていただくことになりました。

8月14日、キャンプ2日目の1コマ目の講義で、持ち時間は4時間です。

B1

(twitter @security_campに上がっていた写真を掲載)

参加者は10名で、事前学習をやってきてくれた人は半分くらいでした。

事前学習として、「Artyで100Mイーサを出すサンプルのプロジェクトをダウンロードして、論理合成して動かす。さらに、自分で改良して何かの回路を付け加える」という課題を出していたのですが、そこまでできた人は皆無でした。

みんな、VivadoのインストールとサンプルのLEDチカチカはしてくれていたようなので、講義の時間にVivadoの使い方を説明しないで済んだことは幸いでした。Vivadoの使い方やFPGAの使い方を説明したら4時間では足りません。

事前学習のときにサイボウズ掲示板で質問を受けていた「Vivadoでのシミュレーションのやり方」と「AXI Stream」について最初の1時間くらいで説明し、その後、イーサネットコアの説明などをしたらあっという間に3時間くらい立ちました。

その後、みんなで少しずつコードを読んだり、コードをビルドして、Artyからパケットを出したりするなど緩く進めました。

作ったスライドには秘密の情報は入っていないので、記念にアップロードしておきます。

Slide0_2 Slide1

Slide2 Slide3

みんなで100Mのパケットを出し合って、それをWireSharkでキャプチャするというものですが、宛先MACアドレスをFF:FF:FF:FF:FF:FFにしておけばスイッチングハブを超えてすべての人に届きます。(講義室から外には出ない)

半分くらいの人がUDPやPINGを出すことに成功していたようです。

講義の中で10GのARPパケットを連続で出すというのもやりましたが、会場に置かれたハブが1Gなので、10:1にパケットがロスしているのであまり意味はなかったかもしれません。来年以降、会場の基幹ネットワークが10Gにアップグレードされたら、ぜひ、部屋から外に出してみたいですね。

講義参加者にFPGAのプロジェクトを渡し、10Gイーサを出せるボードと、10Gハブを置いてかえって来ました。夜中にだれかやってくれるかと思ったのですが、特に試したという話は聞きませんでした。

3日目と4日目も会場に様子を見に行ったり質問を受けたりしたかったのですが、頭痛でダウンしてしまって、5日目に機材を取りに行くのが精いっぱいでした。

sun

反省点としては、イーサフレームの構造(プリアンプル、MACアドレス、0800とかのタイプ、それからペイロードがあって、最後にFCSが来る)と、ARPパケットの構造とARPの仕組み、UDPの構造などをちゃんと説明しておけばよかったという点です。

いかにして、これをFPGAのステートマシンで作ったり解読したりするかという話なのですが、その説明を端折ってしまったため理解しにくかったかもしれません。

それから、他の講師の皆さんは非常に上手に面白く講義をするので、自分の講義や資料作りのスキルのなさを切に感じました。

sun

キャンプに誘ってくださった方々、事務局の皆様、このIPコアを作ってくれた特電のスタッフ、それから私の講義に申し込んでくれていた受講者の皆様、本当にありがとうございました。

もしまた来年のキャンプに関われることがあったら、来年はJTAGを使ったハックの話をさせていただきたいです。

|

« PCI Express 64bitでのDMA | トップページ | 特電の新しいWebサイト »

コメント

コメントを書く



(ウェブ上には掲載しません)




« PCI Express 64bitでのDMA | トップページ | 特電の新しいWebサイト »