2014年8月19日火曜日

セキュリティキャンプ2014

8/12~8/16,セキュリティキャンプ全国大会2014に応募し、参加してきました。
僕の参加したのはセキュアなシステムを作ろうクラス組み込みのセキュリティを考えようゼミです。
応募からキャンプ終了までのことをまとめました。


・応募用紙

「ロボットには組み込みシステムが多く使われていて、今後ますますネットに接続するようになっていくと思われる。ロボットがハッキングされて人に危害を与える恐れがあり、組み込みシステムのセキュリティ向上が必須、自分でロボットのセキュリティを向上しなければと思った。」というようなことを書いた。また、組み込みシステムでのprintfの問題はバッファ領域が大きいため容量の小さい組み込みシステムに向いていないことと組み込みの標準出力ストリームの場所はどこか、等のことを書きました。あとは自分の今までのものづくりの興奮と経験を書きました。開発テーマは組み込みIDS、IPSにしました。「もし割りばしとゴムと針金と布があったらな何を作るか」という問いにはすぐ僕はロボットのキック装置(リンク機構)がひらめきました。ものづくりを実際している人でないとアイディアを思いつくのが難しいと思います。何回も表現や図写真を推敲しました。
応募用紙の一部



















事前学習
raspbian
ARMマイコンのアーキテクチャ・アセンブリについて学習しました。坂井先生が課題を出し、それを僕が解決していくという形です。はじめてraspberry pi(raspbian)を使う機会になりました。その後は本題のIDS,IPSを開発するための通信プロトコルの知識、raspberry piでネットワーク設定をしたり、パケットを自作したり、他にはバッファオーバーフローについて学習しました。全く知らない知識を一から学習し、これのおかげでセキュキャンの内容についていくことができるようになりました!新しいことが学べる、楽しくてしょうがない夢のような事前学習でしたが、SICTIC2014等の大会イベントが重なって自分は7/30以降は事前学習できませんでした。

raspberry pi
・セキュリティキャンプ北陸勢との関わり
チューター2人と競技者2人、合計4人が北陸からセキュリティキャンプ2014参加と知りました!西永チューターから7月開催のKernel/VM探検隊in北陸という勉強会に誘ってもらい、初めてのことで緊張しましたが、とても嬉しかったです。翌日のNT金沢でも会うことが出来ました!そこで北陸のOS,rubyやD言語に詳しい福井の高2生や組み込みを極めている大学生、院生のチューターにセキュリティキャンプで会う前に知りあうことができました。またKernel/VMではその他の人々とSNS上でつながることが出来、世界が広がりました!

・1日目
  名刺交換会。いろいろな開発を行なっている人々がいて興味深かったです。豪華なIT企業グッズ、各クラスの本、ソフトイーサ株式会社代表取締役のスーパーハッカーな講演等色々興奮した一日でした。セキュアなコンビニツアー(謎)に参加しそびれました。グループワークの時間にテーマは僕が提案した「家具インジェクション」になり、チーム名は「セキュアぴょんぴょん」に決定しました。専門講義ではライセンスの話が興味深かったです。今までBSDやCCライセンスは耳にした程度だったのですが、詳しい話が聞けました。この日はぐっすり眠りました。

・2日目


 専門分野講義と実習。ARP Spoofingという通信偽装法を使って攻撃者に感知されないIDSを開発する形になりました!攻撃者PC(OpenSUSE, FreeBSD, Windows), 標的PC(Ubuntu), IDS(Raspberry pi)の3つのネットワーク設定をしました。特に大変だったのは初めて触ったUNIXディストリビューションのFreeBSDとOpenSUSE上の設定です。 自作ARPパケットを送信してARP Poisoningを行い通信偽装が手動でできるようになりました。午後8時からはBOFがあり、僕は最新のサイバー攻撃事情の講演とハードウエア実習に参加しました。10年前のルーターを解体して構造やMCUを調べました。IDSの開発の可能性が広がりました。この日からIDSの発表資料を製作し始めたので夜遅く(午前2時ぐらい)までかかるようになりました。

・3日目

午前はマイクロトレンド社の見学。組み込みの分野のセキュリティリテラシーが最近高まってきていることが分かりました。
3時間通信偽装のための送信パケット変換プログラムを書いていたのですがIDSなのにARP/ICMP Stormというサイバー攻撃を行う面白いことが発生。おかしいなと思っていたら既存のフレームワークである坂井先生が開発したpkt-toolsのスクリプトキディであれば改善できることが判明!pkt-tools,とても優秀なツールです!shを製作した後IDSの機能としてSSH等の暗号通信を遮断する機能をつけました。IDSをgithubにcommit。IDSを発表を夜遅くに完成させて次の日の発表に備えました。この日はコーヒー,Red Bull,リポビタンDのお世話になりました。

 ・4日目

Embedd IDS on github  午前はIDSの発表。本番環境での設定時間が足りず、デモは思ったようにいきませんでしたが、SSH通信で動作していることは確認でき、笑いをとることができました。
午後はCTF.4人チームで行うセキュリティ競技です。僕以外のチームメンバーがスペシャリストで高得点をとってくれました!「セキュアぴょんぴょん」チームは2403ポイント獲得で惜しくも4位!僕がもっと問題を正解できれば入賞していたはず。。。すみません。<m(__)m>
CTFの妨害コンテンツがとても面白かったです。


・5日目



午前はグループワークの発表。近未来、家具がハッキングされ、恐ろしいことになるということを発表。笑いがとれていてうれしかったです。午後はクラス発表。ネットワーククラスが組み込みのネットワークセキュリティについて学習していたそうで、僕も興味を持ちました。作ろうクラスは悪意のあるルーターと組み込みシステムのコアダンプの発表。閉会式では修了証書をもらい、ARMマイコンとリンカローダについての本を頂きました!本の執筆者である坂井先生にサインを頂くことができてとても感激です!最高の5日間でした!グループワークのメンバー、KERNELVM勉強会に誘ってくれた西永チューター、IDS開発のサポート、アドバイスをしてくれた木藤チューター、事前課題の用意やIDS開発の指針を与えてくれた坂井先生、組み込みゼミのメンバー、ルーター自作ゼミに誘ってくれた竹迫先生、トレンドマイクロの皆様、ソフトイーサの登さん、運営のまっちゃだいふくさんその他運営の皆様、スポンサー企業、その他参加者、素晴らしい大会をありがとうございました!
これから組み込みIDS開発がんばりたいと思います。そして次世代のロボットにセキュリティを取り入れていきたいです。

2014年8月6日水曜日

SICTIC2014

調整
ICT部門の様子。発表の内容が大人が参加する勉強会と同じ
日本代表 ロボットサッカー部門Award of Excellence受賞
ごちそうの北京ダックを頬張る
中国のロボット教室で体験
SIGVerse, RoboCup@home simulationの発表を行う
障害物を目的地に運ぶタスクをクリア!
I participated in the Schoolastic ICT Innovation Competition in China(SICTIC) 2014 , hold by China Ministry of Education and China Moblie,  from 7/30 to 8/4. I was the leader of the Japan team.

The 1st day. The plane to China had delayed for 4 hours. we finnaly arrived the hotel at 2 A.M!
1日目。飛行機の到着が4時間遅れになり現地についたのは午前2時。ホテルに到着するとすぐに寝ました。

The 2nd day. Elementary and Junior high school student took part in the robot competition today in schedule.The Japan team had occurred a lot of troubles in the robots, broken computer, chassis breakdown, broken terrestrial sensor, program errors, etc, but all of us solved each problem before the match.
2 of the Japan team members battled with Chinese team. The Chinese robot was high speed and also controllable. The Chinese participants were programming very hard.
2日目。ロボットサッカー部門は小中学生の部だけが試合でした。日本チームは調整時僕を含め皆ロボットにトラブルが発生しました。CPU故障、シャーシ大破、地磁気センサ故障、プログラムが作動しない等色々なことがありましたが、全員試合前に無事問題を解決できました。日本代表の2名が中国チームと対戦しました。中国のロボットは高スピードで動いているのですが制御できていました。中国の選手達が熱心にプログラミングしている様子が見受けられました。

The 3rd day. Senior high school students participated in the robot competition today. 2 of the Japan team including me, not from the yesterday Japanese participants, battled with the Chinese team. Because the opponent robot loose the power weak, we could do a close game, 2-1, 1-1, 1-2. We figured it out Chinese robot algorithm and tactics were brilliant from the power loosing.
Chinese students were  programming in C/C++, CUI.

 3日目。ロボットサッカー部門 高校生の部です。僕を含む2名が中国チームと対戦しました。相手がパワーを緩めたためやっと2-1, 1-1,1-2という接戦ができました。スピ ードを緩めてこの結果だったことからロボットの戦術もしっかりしていることが把握できました。中国の選手はC/C++と思われるCUIのプログラミングをしていたようです。

The 4th day. All of the Japan team participants achieved the Award of Excellence in the awarding ceremony. After that we did an international exchange, between the American participants taking part in the WER(it's similar to WRO, FLL), in the Chinese Dinosaur museum. We ate special cuisine, Beijing Duck, in dinner. It was so delicious, Japanese participants including me became so happy!

4日目。表彰式で日本代表チームは Award of Excellenceを受賞しました。その後現地の恐竜博物館でWER(Ablixが主催するロボットリーグでWROに似ている)に参加しているアメリカチームと交流しました。夜はごちそうの北京ダックをいただきました。

The 5th day. We did an interchange between the children who are doing robotics in China. We did a line trace challenge, carrying object to the goal using line, with Chinese robot enthusiastic children , 2 by 2. I did a presentation of my robot development there.

5日目。ロボットをしている中国の子供達と交流しました。ロボット教室で一緒にチームを組んで自分達でロボットを製作し物体をライントレースを使って目的地まで運ぶタスクをクリアしました。他にも、自分は今まで行ったロボット開発について発表しました。


The 6th day. We returned to Japan in schedule.

6日目。時間どおりに帰国しました。

I often hear that Chinese children is willing to win the game using the strongest robot, developed by company, without knowing the specifications and programming. I had the same opinion before competing to SICTIC2014.
However, Chinese participants were programming aggressively, I felt the enthusiasm coming from them. They were using the "strongest robot ", however,
they customized the robot, putting black tape so that other robot can't look the ball, putting wheel protection, and in the robot school which I visited, the Chinese children were customizing the robots. The customization didn't look well, non-customization looks better than that, but I noticed they were trying to make the robots by themselves. Different from before, the Chinese children is trying to understand robotics, and becoming assertively to customize robots and coding, from the SICTIC2014.


「中国の子供たちはロボットのことを全くわからずに企業がつくった最強のロボットキットを使用して大人の作ったプログラムをそのまま使って勝とうとしている」と日本ではよく耳にします。僕も今まではそう思っていました。
SICTIC2014では中国の高校生が熱心にプログラミングしている姿が見えました。ロボットキットは使っていますが、ボールが車輪にあたったとき弾かないように簡単な改造をしたり、黒テープを巻いてボールを隠そうと図るなど日本のロボカップジュニアに参加している選手と同じように、自分で工夫しているチームもいました。また、訪れた中国のロボット教室の子供達はロボットキットを改造してかっこ悪く壊れやすそうな形のロボットになっていました。自分たちで製作している様子が伺えました。今までとは違い、現在の中国の子供達はロボットを自分たちで理解しようとし、改造やプログラミングも積極的に行うようになってきていることがSICTIC2014では感じられました。