デジタル人材の育成
公開日:2024年4月8日
最終更新日:2024年6月3日
8月12日(月曜日)14時~14時45分
最も身近な娯楽であるビデオゲームにおいても様々な技術的な不正行為と犯罪、対策技術があり、歴史の積み重ねがあります。
家庭用ゲームにおいては各種制限の迂回やそれを経ての不正コピー、オンラインゲームにおいてはサーバーへの攻撃やチート行為といった問題がありますが、その歴史を振り返ってみてもカジュアルに行われており、腕試しとばかりに手を出してしまっている人が後を絶たないのが実態です。
今回はその不正の歴史と現状を振り返り、どのような不正行為が行われ、どのような対策が打たれてきたのか、それによりどう法律が変化していったかなどを、ゲームセキュリティの商業化に取り組んできた筆者の実体験も踏まえて解説します。
8月12日(月曜日)15時00分~16時15分
サイバーセキュリティの研究や開発を実施する場合、法に関する知識は必須であり、常に意識しておかなければならない。本講義ではサイバーセキュリティに関係する刑事系法律の基礎的な内容として定められている事、その内容等を説明し、その後、法律面、倫理面及び道徳面の問題に触れながら、ディスカッション形式で行う。
8月13日(火曜日)19時00分~19時45分
情報システムと人、どちらを攻撃する方がサイバー攻撃者にとってコスパがいいでしょうか?本講義では、セキュリティにおける人の課題について、心理学の側面から解説していきます。ソーシャルエンジニアリング攻撃やソーシャルメディアで拡散する不確かな情報が人に与える影響などを例に、人の心理・行動特性を知ることで人の脆弱性を考慮したシステム開発やセキュリティ対策を考えることを目指します。
8月14日(水曜日)19時00分~19時45分
現状ICT基盤を支えるサイバー技術の多くは海外で作られたものが多いが、日本においても、全世界的に普及する基盤的サービスや技術を多数輩出できる可能性がある。日本が世界に通用する高品質なサイバー技術を生み出すためには、実験的で自由な試行錯誤を許容する環境で「超正統派」のICT技術者を育成する必要がある。自由なネットワーク環境の構築や、教育機関や行政との連携による実践的な技術開発の推進事例をいくつか紹介しながら、日本型の大企業や政府系組織等にある人材・資源・設備・規模を活用する具体策を解説する。
G1:8月12日(月曜日)16時30分~17時30分
G2:8月13日(火曜日) 20時00分~20時30分
G3:8月14日(水曜日)20時00分~20時30分
G4:8月15日(木曜日) 20時00分~20時30分
G5:8月16日(金曜日) 8時30分~9時30分
グループワークはセキュリティ・キャンプ全国大会の全日程を通して行われるプログラムです。
数人ごとのグループに分け、決められたテーマについて議論・インタビュー・検討を行います。
グループワークは、異なるコース・トラックの参加者や、講師・チューターなどと交流する貴重なチャンスです。
最終日には各グループで議論した内容を、発表することを予定しています。
N1:2024年8月13日(火曜日)8時30分~12時30分
N5:2024年8月15日(木曜日)8時30分~12時30分
本講義では、コンピュータシステムをFPGA基板で実際に再現していただきます。
最初のステップとして、コンピュータシステムをソフトウェアモデルとして再現します。システム利用者向けの仕様書からシステムアーキテクチャを推測し同等機能を実現させることで、先人の意思や制約に思いを馳せ技術の謎を解き明かします。
次のステップでは、再現したソフトウェアモデルをリファレンスとしてコンピュータシステムをFPGAに実装します。モデルから論理回路アーキテクチャへ落とし込む過程や解析手法などを通じて、未知なる部分を補間し先人との仮想的なシンクロを楽しむことができます。
これまでのコンピュータシステムや技術への理解を深め、これからのテクノロジーの発展に閃きを得られるようになることを目指します。
2024年8月13日(火曜日)13時30分~17時30分
最新の C++ 標準を活用し、可読性とユーザーフレンドリーな設計を兼ね備えた高性能ライブラリを開発する方法について学びます。
主なトピック:
受講者は「どのようなコードをユーザーに書かせたいか」を基にして、独自の小規模な C++ ライブラリの開発に取り組みます。
実践を通じて、世の中で使われている C++ ライブラリに対する解像度を高め、奥深い C++ の言語仕様に少しだけ足を踏み入れることが目標です。
C++ の基本的な構文(関数、クラス)を用いたコーディング経験があることが望ましいですが、講義資料とサポートによって、すべての参加者が目標を達成できるよう支援します。
2024年8月14日(水曜日)8時30分~12時30分
講師は二十数年間ダイナミックDNSを運用しています。
現在のDNS及びプロトコルは、仕様的、技術的、には基本的に何十年もほぼ変更がありません。
検索をすれば、RFCをはじめとしてDNSソフトについてもソースコードがオープンになっており、現在のDNSを把握する分には何も困りません。
そんなDNSを一般(第三者)向けに長年運用してきて得た知見をもとに、次世代を担う皆さんに、ぜひ次のDNSについて考察していただきたいと思います。
2024年8月14日(水曜日)13時30分~17時30分
Webサービスやアプリのバックエンドにおいて、Content Delivery Network (CDN)を使うことが一般的になっています。
この講義では、CDNの要素技術である多層ロードバランサを実際にみなさんに作っていただくことで、CDNをフルスクラッチ自作できる自信を持っていただければと思います。
また、発展的な内容として:
- 高機能:サーバレス/エッジコンピューティング
- パフォーマンス:eBPF/XDPの活用
- セキュリティ:DoS攻撃mitigation, TLS
の実装についても、楽しく議論できればと思います。
受講者の皆様には、一定量の前提知識がある想定で進めたいと思います。
具体的には、「ブラウザのURLバーに、https://www.ipa.go.jp/を入力して決定キーを押した時になにが起こるか」を、
HTTP, DNS, TCP, IPという単語をふくめて自分の言葉で説明できることを期待します。
2024年8月15日(木曜日)13時30分~17時30分
この講義では、インターネットをはじめとする現在のコンピュータネットワークを支えている基盤技術「TCP/IP」のプロトコルスタックをスクラッチで実装し、実際のOSに搭載してネットワーク機能を持たせる演習を行います。
講師が開発している教育用のプロトコルスタック「microps (https://github.com/pandax381/microps)」を教材に、Ethernetフレームを組み立てて送受信するところから ARP、IP、ICMP、UDP、TCP などのプロトコルを処理するプログラムを、全て自分の手で作り上げてもらいます。
なお、講義時間が限られているためプロトコルスタックの基本的な実装は事前学習の期間で済ませてもらいます。
各自で事前学習を進めてもらうにあたり、解説資料を配布するとともに、ミーティングの機会を設けてしっかりフォローアップしますので安心してください。
講義時間では、あらかじめ開発を進めておいてもらったプロトコルスタックを、教育用OSの「xv6 (https://github.com/mit-pdos/xv6-public)」に搭載して実際にTCP/IPでの通信を実現することを目指します。具体的には、次のような作業を行うことになります。
この講義を通じてTCP/IPへの理解を深めるとともに、パケットやプロトコル処理の楽しさを知ってもらえたら嬉しいです。ご応募お待ちしています!