先日,セキュリティ・キャンプ2017の募集が開始されました.現在,絶賛募集中です.

https://www.ipa.go.jp/jinzai/camp/2017/zenkoku2017.html

 

知らないかたのために説明すると,全国からU-22の学生を集めてセキュリティやその他IT分野の講義や演習を行う合宿演習です.お盆の時期に,4泊5日で行われます.

演習の内容は非常に高度で面白いのと,あと選考に通って参加できるようになれば,交通費・宿泊費・食費・教材費などの負担無く,無料で参加できるというのが嬉しいところです.講師はいろんな有名人が多く,とっても豪華な顔ぶれです.

 

私は集中コースの「言語やOSを自作しよう」というトラックで,組込みOS自作ゼミ」を担当します.

集中コースがどのようなものか,このトラックがどのようなものか,詳しくは以下に書きました.

http://kozos.jp/group/seccamp2017/

 

集中コースがどのようなものかというと,一言でいうと「ハッカソンによるものづくり」です.

セキュリティ・キャンプでは5日間のうち,専門講義は3日間あります.

「集中コース」ではこの3日間を通して,主に「ものづくり」をテーマとして,各自で開発テーマを決めて,ハッカソン形式で開発を行います. 

3日間,どっぷりとものづくりにひたることができるという,ものづくり好きには夢のような時間・環境を提供します. 

ものづくりが好きなひとは,ぜひ応募してほしいです.

youtubeに私のインタビューが出ているので,そっちも参考にしてください.応募についての話もあります.

https://www.youtube.com/watch?v=1cyWNT-3Aog

 

机上で議論するだけでなく実際にものづくりをすることで,コンピュータの動作原理を地に足ついた形で知り,脆弱性の根本原理を理解し本質的な対策を考えられ,そして実際に対策物を自分で作ることができるという素養を養う,というのが目的です.

 

ちなみに名前は「セキュリティ・キャンプ」ですが,セキュリティやっていないと参加できないかというと,そういうわけでもありません.個人的には,「もともと他の分野をやっていてセキュリティは興味無かった人が,セキュリティ・キャンプに参加することでセキュリティにも興味を持つようになった」というような「きっかけ」を作ることができればいいなと思っています.そういう卒業生も過去にいっぱいいます.

私自身も,もともとは組込み分野が専門でセキュリティにはあまり興味ありませんでしたが,セキュリティ・キャンプの講師をやるようになって,セキュリティにも興味を持つようになりました.

なので,「ものづくり大好きだけどセキュリティはやったことがありません」という人はむしろ大歓迎です!

 

応募ですが,今回は「選択コース」と「集中コース」の2つのコースがあります.

選択コースは5つのトラックがあります.選択コースに応募いただいた場合,選考に通ると,その5つのトラックから受講したい講義を,講義ごとに選んでいただくことになります.選ぶのは参加決定した後です.

集中コースは3つのトラックがあります.集中コースに応募いただく場合には,どのトラックを受講したいか応募の段階で決めて,そのトラックに対して応募していただくことになります.

ちなみに「選択コースと集中コース」や「集中コースのあるトラックと別のトラック」のようにして,重複して応募することはできません.(重複ある場合,どちらかが無効になります)

なのでセキュリティ・キャンプ2017では,選択コースにするか,集中コースのどのトラックにするかを選んだ上で,応募していただくことになります.

さらに集中コースでは,トラックによってはその中がゼミとして細分化されていて,どのゼミに入りたいかを選んで応募していただくことになります.

 

AD

SecHack365に参加します

テーマ:

「SecHack365」という,若手セキュリティ人材育成プログラムが今年度よりスタートします.

主催はNICT(情報通信研究機構)です.

 

https://sechack365.nict.go.jp/


年間かけて,オンラインでハッカソンを行うのですが,2ヵ月に1箇所くらいのペースで各地を巡業し,見学会などのイベントなども行われます.

 

対象はU-25です.学生は無料で参加できます.

(社会人でも参加可能ですが,交通費や宿泊費などの実費が必要)

 

ハッカソンの際には,実行委員の大人たちが開発やアイディア出しなどをサポートします.

で,私もその実行委員として参加します.

またNICTの"NONSTOP"というクラウド開発環境が,オンラインで使えます.NONSTOP上の膨大な蓄積データを使って,研究や開発を行うことができます.

まあ詳しいことは,リンク先を見てみてください.

 

応募は課題ファイル申込期限が4月25日(火), 課題ファイル提出期限が4月28日(金) 17時必着です.
我こそはと思うひとはぜひ応募を!

 

AD
久々の告知です.

3月のオープンソースカンファレンス2017Tokyo/Spring内で,コミュニティオリジナル企画として,今岡通博さんといっしょにいくつかのセミナーを実施します.

オープンソースカンファレンス2017Tokyo/Spring
https://www.ospn.jp/osc2017-spring/

コミュニティ オリジナル企画
https://www.ospn.jp/osc2017-spring/modules/article/article.php?articleid=5

ひとりプロジェクトの会
http://kozos.jp/group/hitori-prj-meeting/index.html

通常のセミナー枠でなく,長めの時間をとってコアな内容のセミナーを実施します.
要するに,マニアックな内容で参加者数とかをあまり考えずにやってみるという感じです.
日程・プログラムは以下です.
参加登録などはとくにありませんので,ご自由にご参加ください.

 

  • 日時 3月10日(金) 11:00-17:00
  • 場所 明星大学 日野キャンパス 26号館 510教室 (5F)
 
  • 11:00~12:50 「パケット大運動会ハンズオン」
    • 【担当】 坂井弘亮
    • 【概要】
      「パケット大運動会」は,指示されたネットワーク・パケットをいち早く作成 してサーバに送れば得点という競技です.時間中はサーバを立ち上げておきます ので,自由に参加して挑戦することができます.
      最初にバイナリエディタによるパケット作成の方法を説明します. パケットの作成方法について知りたいかたは,最初から参加してください.
      手作業によるパケット作成により,ネットワークの仕組みやパケットの構造を 実践的に知ることができます.
 
  • 13:00~14:50 「LANケーブル改造によるノード間のパケットモニタリング」
    • 【担当】 今岡通博
    • 【概要】
      LAN内のパケットをモニタリングすることはネットワークの理解を深めるるうえで 非常に有効な手段のひとつである。しかしスイッチングハブが一般的に なったためセキュリティ面では強化された一方、LAN内の他のノード間の パケットモニタリングすることが困難となった。 リピータハブを用いる方法もあるがスイッチングハブと比較し希少かつかなり 高価となった。 そこで容易かつ安価な方法でLAN内のパケットをモニタリングする手法を 紹介する。
      • リピーターHUBを使う方法
      • スプリッターを使う方法
      • LANケーブルを改造する方法
      • ミノムシクリップと改造ケーブルで活線LANから行う方法
 
  • 15:00~16:50 「SECCON2016決勝大会 マルチアーキ・デバッグプロトコル問題解説」
AD

wikiと掲示板を閉鎖します

テーマ:
サーバ見直しを行っているのですが,以下のページがほとんど利用されていないので閉鎖しようかと思っています.
1週間くらいで閉鎖しますので,必要コンテンツなどあるかたはダウンロードしておいてください.

KOZOSのwikiのページ
http://wiki.kozos.jp/

「熱血!アセンブラ入門」の掲示板
http://bbs.kozos.jp/

OSC東京2015春のLTで話した「ハロー・ワールド入門」ですが,「ハロー "Hello, World"」というタイトルで本日発刊されました.

Amazonのサイト
秀和システムのサイト
書籍サポートページ





内容はLTでしゃべったとおりで,以下のようなわずか7行のハロー・ワールドのプログラムをとことん解析する,というものです.

#include <stdio.h>

int main(int argc, char *argv[])
{
printf("Hello World! %d %s\n", argc, argv[0]);
return 0;
}

■ 表紙について

タイトルも表紙もなんだか爽やかな感じで,技術書とは思えない.笑
旅行のガイドブックか何かのようだ.

電車の中とかでフツーに読んでても違和感無い!?

■ 対象とする読者

対象読者は以下のようなかたです.

入門書でハロー・ワールドを説明されたとき,printf()の先はどうなっているのか? とかmain()が呼び出される前には何が行われているのか? とかmain()からreturnしたらどこに返るのか? といった疑問を持ったが,それらの疑問はそのまま棚上げにされ,放置されている.改めて知りたい,というひと.

動的解析や静的解析,Linuxカーネルやライブラリなどのコードリーディングというものに興味があるしやってみたいが,どこから手をつけたらいいかわからない,最初の一歩がいまいち踏み出せない,というかた.
(とにかく手を動かす系の本なので,初心者もとりあえず手を動かして,解析作業やコードリーディングを体験することができます)

プログラムがどのように動いているのか,OSは何をしているのか,といったことを知りたい人.とくに,机上の理論や図を使った抽象的な説明でなく,実際の現物ベースで知りたい人./usr/includeにあるヘッダファイルや/usr/libにあるライブラリが,誰によって提供されどのようにしてシステムが構築されているのかなどを知りたい人.

大学や専門学校でのOS系・解析系の授業の教科書として.
技術的な内容もいろいろ含んでいますし,OSの全体構成(カーネルとライブラリとアプリケーションの関係)について理解できるので,OSの授業とかにいいんじゃないかと思います.
大学等の講義で使うことを意識して,全12章にしてあります.(1回の講義で1章のペースで,半期で終わる感じ)

■ 書いた経緯

上のようなハロー・ワールドについてA4用紙で5枚のレポートを書け,という課題が大学かどこかで出たことがあるという話を聞いたことがあります.

要するに,単なる7行のプログラムだとしても,それくらい奥が深いということなのですが,だったら1冊の本が書けるんじゃないかなあと思って書いてみたものです.

■ 内容について

内容ですが,まずハロー・ワールドの実行ファイルを動的解析することでprintf()の処理の先を追い,文字出力が行われる瞬間(システムコール命令の発行)をとらえます.
次にLinuxカーネルのソースコードを見て,writeシステムコールがどのように処理されるのかを探ります.
さらに標準Cライブラリのソースコードを見て,システムコール命令の発行がどのように行われているのかを確認します.

さらにmain()が呼び出される前のスタートアップの処理を探って,main()からreturnする先の処理を探ります.exit()で何が行われているのかなどを探ります.
「main()の前にはスタートアップという処理がある」という話を漠然と聞いたことがある,という人はいるかと思います.しかしそのスタートアップを実際に見たことがあるという人は少ないですし,説明してある書籍もあまり無いです.このあたり,詳しく調べて説明しています.

あとはstdio.hなどのヘッダファイルがどこにあって誰によって提供されているのかとか,OSの仕事は何なのかとか,標準Cライブラリは誰によって提供されていて,いわゆるLinuxディストリビューションと呼ばれているシステムはどのように構築されているのかとか(GNU/Linuxの話とか),実行ファイルを解析してみるとか,最適化についてとか可変長引数の実現方法などについても説明しています.

ハロー・ワールドについて,かなりお腹いっぱいになる感じだと思います.

他にもシステムコール処理をLinuxカーネルとFreeBSDカーネルで比較したり,x86とARMで比較したりといったクロスプラットホームの話題もあります.(このあたりが私らしいところか)

秀和システムの書籍のサイトで,目次を確認することができます.
興味のあるかたは,ぜひ目次を見てみてください.

■ 発刊されて

内容的にはなかなかコアな内容で,類書の無い面白い感じに仕上ったかと思います.

理論だけの説明でなく実際に手を動かしてみて,現物を見てみた後で理論的な説明をする,調べた結果だけを見せるのではなく調べかたをちゃんと見せる,というのがだいたい私が書きたい書き方なのですが,バッチリそういう感じに仕上りました.

あと私の書き方の特徴なのですが,同じことを何箇所かで説明していたりします.(本書の場合は,システムコールラッパーの役割とかFreeBSDのソースコード配置などがそう)
これはまず一度説明して,いろいろ理解が進んだところでさらにもう一度説明することで理解を深める,というように書きたいからです.
この手の勉強は義務教育のようにカリキュラムがバッチリ決まっていて順番通りに進めていけばいい,というものではなく,Aを説明するためにはBの知識が必要で,でもBを説明するためにはAの知識が必要,ということはよくあります.なので,同じことを何度も説明するというのは,個人的には悪いことだとは思わないので,そういうふうに私は本を書いています.
なので読む人によっては「くどい」と感じられたりしますが,逆に「何度も説明してくれてありがたい」という意見をいただくこともあります.

あと表紙は爽やかでお気に入りですね.