2019年9月28日・29日に山梨大学にて、「セキュリティ・ミニキャンプinやまなし 2019」を開催いたしました。
今年も多くのご参加、ありがとうございました。
一般講座編は→こちら
専門講座
|
演習1 :『ミニキャン言語を作ってみよう!』
講師 : 髙橋 祐花氏
内容 :コンパイラの発明により、機械語やアセンブリを直接書かずとも、
より簡単なソースコードという抽象的なテキストデータから
実行可能なバイナリが生成出来るようになりました。
しかしながらテキストデータが実行可能な二進数の形式になる過程は
自明ではありません。
コンパイルの過程を理解することは、
出力される実行可能バイナリへの理解につながり、
これによってよりコンピュータの根本的なレイヤから
セキュリティへ、アプローチすることが可能となります。
本講義では、LLVMバックエンドを用いて
「ミニキャン」というシンプルな独自言語を実装することで、
コンパイラの処理フローの概観を掴んでもらい、
コンピュータの基礎レイヤへの理解を深めることを目指します。 |
事前課題への取り組みを、参加者が発表する形式でした。
基礎的で難しい内容にもかかわらず、
意欲的に取り組んだ参加者の方々に感心するばかりです。
おしくも、事前課題を最後までやり遂げられなかった方も、
つまづいたポイントや用語の解説、取り組んだ過程などを丁寧に発表しておりました。
また、課題以上の応用まで取り組んだ参加者の発表も素晴らしいものでした。
|
演習2 :『OSの力を借りずに起動するアプリを作ろう』
講師 :内田 公太氏
内容 :OSの力を借りずに起動できるUEFIアプリケーションを作ります。
WindowsやLinux等のOSは一体どのように起動するのでしょうか。
ディスクに保存されたOSをメモリに展開して起動するのは、
一体誰なのでしょうか。
パソコンの起動シーケンスを知ることは
低レイヤのセキュリティを考える上でも重要です。
本講座では、その理解の第一歩となる
UEFIアプリケーションの作り方を学びます。
C言語の知識だけあれば
OSに依存しないソフトウェアを作ることができます。
作ったソフトウェアをUSBメモリに保存し、
お手持ちのパソコンで起動してみます。
本講座を受講すると、EDK IIによるアプリケーション開発ができるようになり、
UEFIによるパソコン起動の仕組みをざっくりと学べます。
低レイヤプログラミングに触れてみたい方や、
自作ブートローダーを作りたいと思っているけど
何から学べばいいか分からない方などに特におすすめです。
発展課題として、自作のELFバイナリを起動する実験に
チャレンジすることもできます。
自作ELFバイナリの関数から画面の描画ができると楽しさが広がります。 |
前半は講義形式、後半は 参加者の課題演習をメンターが見回る自習形式でした。
講義ではアセンブリ言語を交えた、ポインタの解説や自作OSの紹介など、
さまざまなテーマをわかりやすく解説しておりました。
皆さまのお力を得て、2日間の日程を無事に終えることが出来ました。誠にありがとうございました。
来年の開催もご期待ください。