8/14から8/18までクロスウェーブ府中で行われたセキュリティ・キャンプに参加しました.

セキュリティキャンプとは 

セキュリティ・キャンプとは、日本における将来の高度IT人材となり得る優れた人材の発掘と育成を目的とした独立行政法人情報処理推進機構(IPA)の事業の一つです。 

現代においては、情報セキュリティの脅威は高まる一方です。 
本事業では、セキュリティ分野に興味を持ち、将来同分野で活躍したいという意志をもった若者に対して、高度な情報セキュリティ技術の習得機会を提供しています。また、モラルや法律遵守の意識、セキュリティ意識、職業意識、自立的な学習意識についても向上のための機会を提供しています。 

本事業は、2004年度のスタート以来、2017年度のセキュリティ・キャンプまでで計663名の将来が有望なIT人材を輩出しています。セキュリティ業界はもとより各方面から、高度なIT人材育成に有益なイベントとして高く評価されています。
(https://www.ipa.go.jp/jinzai/camp/2018/zenkoku2018_about.htmlより)

私はフィジカルトラックに参加しました. 以下に写真とともに振り返っていこうと思います.
以前書いた応募用紙の内容はこっちです.

1日目 

ここどこ Part1 

Where1

ここどこ Part2 

Where2

お昼 

Lunch1

最初にグループワークを交えて基礎講義を聞きました. OSSの話や法律の話が大変興味
深かったです.

夕飯 

Dinner1

夕飯のあとはLT大会を聞きました. 普段触れてないレイヤーの話が多く, 終始ビビり散らかしてましたが, 色んな人の話を聞くのは楽しかったです.

2日目 

D1 ドローンシステムにおけるセキュリティーガイドラインを作ろう! 

この講義ではまず, ドローンの制御システムから話をはじめて, 実世界でドローンを運用する際に, 必要となる運用セキュリティについてグループワークを行いました. キーワードとなったのは耐タンパー性とTrust Zoneです.
耐タンパー性は

コンピュータシステムの内部構造の解析のしにくさ, 見破られにくさのことである.
(Weblio辞書調べ)

でリバースエンジニアリングしづらいものを意識させられました.
もう一つのTrstZoneはARM CPUにつけられている機能で, ARM-CortexAシリーズでは通常の実行環境であるOS(Normal World)ともう一つのSecure Worldと呼ばれるセキュアOSが動いていて, 通常の環境からSecure Worldへのアクセスを制限することで, Secure World内のデータを保護する機能です.
Cortex-Mシリーズではメモリ内部でセキュア領域(Secure World)と通常領域(Normal World)を割り当てて, Secure Worldへのアクセスを制限することで, データを保護する仕組みだそうです.
こういった仕組みが使われているCPUを採用することで, ネットワークを介したドローンへの攻撃からドローンを守るのは面白いなと思いました.

お昼 

Lunch2

D2 ROSロボットをハックせよ 

この講義ではROS搭載の車輪型ロボット, ラズパイマウスを使って脅威分析を行いました. 予め用意されたロボットにSSHで繋いて, コマンドラインからロボットのモーターを回したり, 赤外線センサーを使って周囲との距離を測ったりすることができました.

私は普段ロボットを作っているのですが, こういったふうにLinuxボードを乗っけたロボットを制御するのは初めてだったので新鮮でした.
1時間の座学を受けたあと, 2時間で作品を作り, 1時間でプレゼンを作りました.

私はこんな感じに手を近づけるとブザーから出る周波数を上げるものを作りました. ROSでこんな感じのものを作るのは初めてだったのでとても慌ててしまいましたが, 無事にできてよかったです.

夕飯 

Dinner2

D3 チップレベルでカスタマイズができることで見える世界の体験 

この講義では先日のCPUの根本的な脆弱性「MeltDown」から始まってLSIの作り方やなぜ作るのか, といった話から実際にLSIを設計の演習を行いました.

テキストがとても丁寧で助かりましたし, QFLOWを使ったLSIの設計の様子を眺めているのはとても楽しかったです. 後, 講師の方と深センの話を色々できてよかったです.

お気持ち 

3日目 

C4 車載LANの仕組みとメッセージの取得・解析 

この講義では昨今の自動車で使われているCAN通信をメインに扱いました.
教室に実験用のCANネットワークを作ってそこにアクセスし, 流れているメッセージを取得して解析し, ダミーのデータを送って見たりしました.

ダミーのデータを送るのが容易にできてしまい, セキュリティをちゃんと考えないと脆弱性を突かれてしまったが最後, 大惨事になりそうだなーと思いました.
普段運転することは少ないので少し, 自動車に詳しくなれたようでよかったです.

後, 以前から欲しかった本が事前学習用として送られてきて嬉しかったです.

お昼 

Lunch3

D5 JTAG(ジェイタグ)の原理と活用 

この講義ではJTAGについて学んだあと, それを使って, 配られたボードの不良箇所を調べました.
JTAGは4本のシリアル接続でICの内部回路と通信し, ICの状態を調べる技術です.

私は, 書き込みとしてのツール程度にしか知らなかったのですが, IC間の導通チェックやバウンダリスキャンというICの動作に影響を与えないまま, 入出力状態を確認したり, 操作してCPUのインサーキットデバッグができるすごい代物です.
(Digikeyで見たらとても高くてびっくりしましたが…)

講義では以下のようなボードに対してIOピンの入出力を変更して, 動作してないはずのLEDを光らせたり, 入出力状態を調べたりしました.
JLINKについてはまだまだ分からないところがあるのでお勉強していきたいなと思いました.

JTAG Board 

JTAG

夕飯 

Dinner3

4日目 

D6 組込みリアルタイムOSとIoTシステム演習 ~守って!攻めて!ロボット制御バトルで体験する組込みセキュリティ~ 

この講義では事前学習としてGR-PRACHというマイコンボードを使ってサンプルプログラムを動かしました.
当日の講義では, 組み込みリアルOSについて話を聞いた後, チームを作ってロボットを動かした後, ロボットを使って競技(物理的接触は禁止だが, ネットワーク越しに攻撃はあり!)をしました.
RTOSは僕が以前, Maker Faire Tokyo2018の際にESP32で使いました.
当時はセマフォ周りの処理が上手く出来なかったり, 複数コアでTaskを動かした時に動作がおかしくなったりして困りましたが, 講義で色々質問したり説明を聞いたりして知見を得られたので今度実装してみようと思います.

後半のロボコンはロボットを動かしてフィールド上のオブジェクトをコース外に出して, 点を取ったり, トンネルの中の写真をロボットに乗ったカメラで撮って点数を稼ぐものでした.
ネットワーク越しに攻撃することが可能なので, 班員と協力して攻撃したり防御したりしました.

競技は2回やって, 僕らの班は1回目の競技ではTCPサーバーを建ててるポートを変えました.
競技のときはarp-scanでIPアドレスを調べた後に80番ポートが空いている班には割り込んで適当に操作してあらぬ方向に動かしたり, 80番ポートが空いてない班にはnmapでscanしてました.
(結局, このスキャンが攻撃になっていたようで, 他の班のロボットが動かなかったようです)(みんなすまん..)

2回目の競技ではAPを変えて攻撃を回避しようと思ったのですが, 上手くいかなかったので前回と同じまま競技に挑みました.
2回の競技の結果, 無事に優勝できました. 操縦や一緒に攻撃してた班員達の感謝です.
とても面白い講義だったので, もう少し時間をかけてやりたいなと思いました.

ロボット 

Robot

お昼 

Lunch4

C7 攻防型CTFによるWebオンラインゲームのチート行為の体験 

この講義では, CTFを通してオンラインゲームのチート行為について勉強しました.
私はCTFをするのは初めてだったので, 事前学習でWireShark使ってパケット見たり, OWASP ZAPでプロキシーサーバーを建ててTLS1.2な中身を見たりしたのがとても新鮮で面白かったです.
(課題を解くアドバイスをくれたとーふとふ君に感謝><)

当日の講義ではWebブラウザのDeveloperToolを使ってJavascriptのコードをbreak point立てながら値を書き換えたりしてキャラクターの移動を高速化したりしました.
いかんせん, 初めてだったのであまり高速化させたりできなかったですが, やり方は分かったので, 自分でサーバーを建ててやってみたいです.

夕飯 

Dinner4

5日目 

最終日は他の受講生の成果物などを聞きました. 集中コースなどの製作物がとてもセキュキャンの間だけで出来るような物には思えないような物もあってすごいなと思いました.

感想 

普段, セキュリティとは全く関係のなさそうなレイヤーで活動しているので当初は無事に生きてるかなと思いましたが, 講義はどれも面白かったし, 色んな人と交流できたので来てよかったと思います.
キャンプ運営に携わった皆さんありがとうございました.

頂いたもの 

たくさんのものを頂きました! ありがとうございます.
Present

おまけ 

Beautiful Building 

Beautiful1
Beautiful2
Beautiful3

Beautiful Volvo 

Volvo

Beautiful お外 

Osoto

Beautiful コンセント 

少し泣く