アーカイブ

セキュリティ・キャンプ全国大会2019 プログラム

最終更新日:2019年6月6日

本ページの情報は2019年6月時点のものです。

講義一覧

講義区分について

セキュリティ・キャンプ全国大会の講義は、全体講義と専門講義の2種類で構成されます。

全体講義

受講者全員に対して実施する、座学を中心とした講義です。情報セキュリティを学ぶ上で必要となる基礎的な概念を学ぶ「セキュリティ基礎」、倫理観の形成を目的とした「特別講演」、参加者のコミュニケーション力向上のための「グループワーク」等を設けています。

専門講義

少人数で実施する演習を交えた講義です。全国大会5日間の期間中、3日に渡って実施されるメインプログラムです。受講する講義は、受講者の希望を踏まえて決定します。

全体講義

1日目、5日目

特別講演(倫理)

転ばぬ先の法律入門(サイバー空間編)

分野・キーワード
  • 倫理
  • 法律
講師
講義紹介

法律は、身近に感じることがあまりなく、難しいものと思われがちです。しかし、法律は、社会の人々の約束事であり、犯罪から社会を守る機能だったり、争いごとを公平に解決するための機能などを持っている大切なものです。

また、法律は、「やっていいこと、悪いこと。」を判断するためにも知っておくべきものです。特に、サイバー空間に関する法律は、歴史が浅い上、関係する人たちの考え方や常識も様々であり、「やっていいこと、悪いこと。」の判断が難しい領域です。

ですので、サイバーセキュリティ領域は、知らず知らずのうちに、違法と評価されかねない行為をしてしまう危険が大きいのですが、そのようなサイバー空間を安全に生きていく上での考え方を、共に考えていきたいと思います。

セキュリティ基礎

セキュリティ基礎

分野・キーワード
  • セキュリティ
  • 社会的課題
講師
講義紹介

この時間はサイバーセキュリティ分野の未解決の社会的課題について提示・説明し、解決策を一緒に考えていきながらその本質を追求します。

特別講演(一般)

ITの話ができる仲間を作ろう~IT業界とコミュニティ活動~

分野・キーワード
  • コミュニティ
講師
講義紹介

IT業界には、エンジニア同士が会社などの組織の枠を超えて横につながり、一緒に学び、ともに成長するという習慣があります。それを支えるのが、同好の士の集まりであるコミュニティという存在です。 この講演では、コミュニティ活動とは何をするのか、どんな楽しいことがあるのか、皆さんの将来にどう役立つのかなどを、30年ぐらいコミュニティ活動をしてきた講師の経験をもとにお話しします。

グループワーク

グループワーク

分野・キーワード
  • グループワーク
  • テーマ
  • インタビュー
  • 議論
  • 検討
  • 交流
  • ヒアリング
  • 修了後の活動
講師
講義紹介

グループワークはセキュリティ・キャンプ全国大会の5日間を通して行われるプログラムです。 参加者が数人程度のグループに分けられ、決められたテーマについてインタビュー・議論・検討を行います。

今年は「セキュリティ・キャンプ修了後にあなたが取り組むこと」というテーマを設定します。 グループワークは選択した講義が異なる参加者や講師と交流する貴重なチャンスです。

また検討のプロセスにおいて、セキュリティ・キャンプ関係者やスポンサー企業の方々へヒアリングすることを推奨しているため、幅広い意見をもとにセキュリティ・キャンプ修了後の活動について考えるまたとないチャンスとなるでしょう。

このグループワークはキャンプ期間中に活動内容を計画して、キャンプ修了後に参加者がやりたい活動を見つける・実行する・継続することが目標です。 つまりキャンプ修了後の活動が本番となります。 最終日には各グループでキャンプ修了後に行いたいことを、いくつか発表することを予定しています。

専門講義

選択コース

2日目
A1~3

インシデントレスポンスで攻撃者を追いかけろ

分野・キーワード
講師
担当プロデューサー
講義紹介

マルウェアの感染や攻撃者による侵害が発生または発見した場合に行う対応をインシデントレスポンスと呼びます。インシデントレスポンスには「インシデント発生の予防や検知するための準備」や「インシデント発生後の解析対応」などが含まれます。

インシデントレスポンスの準備をすることで攻撃をより検知しやすく、また仮にインシデントが発生しても素早い解析対応が取れるため、インシデントの詳細を早期に把握することができます。この結果を出口対策などにフィードバックすることで、被害を最小限に抑えることができます。

インシデントレスポンスにおける解析では、主にマルウェア解析やデジタルフォレンジック、ログ解析と呼ばれる技術が用いられます。 マルウェア解析は、マルウェア感染の原因となったファイルや攻撃者が作成した悪意あるプログラムを動的または静的に解析することで、攻撃手法の特定やマルウェア自体が持つ機能の解明、C2サーバ(攻撃者がマルウェアをリモート管理するサーバ)のドメイン名などの情報を特定します。

また、デジタルフォレンジックやログ解析では端末のメモリイメージやディスクイメージ、各種機器に保存されたログなどを解析することでマルウェアや攻撃者が残した痕跡を探し出し、時系列情報(タイムライン)に整理することで攻撃者が、いつ、どのような方法で、どのようなデータにアクセスしたのかを把握することができます。 この講義では仮想的なインシデントが発生した環境のデータを用いて、CTF形式で問題を解いていき、最終的にインシデントの全容を把握することを目指します。調査に必要な知識やツール類の使い方の多くは事前課題で学んでもらう予定です。

B1~3

クラウド時代における大規模分散Webシステムの信頼性制御

分野・キーワード
講師
担当プロデューサー
講義紹介

人々が24時間365日快適にWebサービスを利用可能になっている裏側では、Webシステムの信頼性を効果的に制御するために、基盤技術が日々進化しています。ここ10年の代表的な進化の例として、クラウドコンピューティング、NoSQL、コンテナ型仮想化技術などの要素技術の台頭があります。一方で、コンピュータアーキテクチャ、OS、RDBMS、TCP/IPなどの根幹となる技術は、形を変えつつも今も昔も計算機システムを支え続けています。

このような背景を基に、本講義では、クラウド時代において、高い信頼性をもつ大規模なWebシステムをいかに構築し運用するのかを、負荷増大に対するスケーラビリティの話題を中心に、実際の運用現場の事例と最新の研究動向を踏まえて議論します。

本講義では、事前課題として簡単なクラウドネイティブなWebシステムを開発して持ってきていただきます。その上で、それぞれの持ち寄ったアプリケーションについて、講義内で信頼性について議論しながらその場で高信頼なアプリケーションへと改良してもらいます。

C1~3

制御システムのセキュリティとShinoBOTによる攻防演習

分野・キーワード
講師
担当プロデューサー
講義紹介

制御システムは、発電所、工場、ビルなど皆さんの生活に欠かせない重要な仕組みです。制御システムのセキュリティは広く、取り上げられることが少ない分野ですが、その中には他の分野にも通じる部分と制御システムならではの部分が存在します。この時間はそうした特徴を踏まえつつ、実在の制御システムを模擬した環境を用いて演習を実施します。

本講義は3つのパートに分かれております。1つ目のパートは制御システムの仕組みを理解します。具体的には、各人のPCで動作させるLinux VM上でWireshark、Nmap、Scapy等のツールを用いて制御システムを解析します。

次のパートでは様々な攻撃シナリオを考察し、制御システムの制御を奪う課題にチャレンジします。課題の一部で講師が開発している疑似攻撃ツールのShinoBOTを用いたり、実際の攻撃で使われるようなツールに触れていただいたり、ツールの開発をしたりします。最後のパートでは制御システムに対する攻撃を防ぐための手段(シグネチャベース・アノマリベースの検知、ホワイトリストなど)を用いて、前のパートの攻撃の防御を試みます。

D1~3

IoTセキュリティ・チェック実機演習

分野・キーワード
  • IoT
  • 組み込み
  • ロボティックス
講師
担当プロデューサー
講義紹介

IoT機器が家庭の中に入り込んできて久しくなります。身近なところではインテリジェントTV、Webカメラ、スマートスピーカーなど既に一般家電との違いを意識されることなく導入されているケースも少なくないでしょうか。

本講義では、今後導入が広がるであろう家庭用ロボットの最もシンプルな実機モデルを用いてIoTセキュリティ・チェックを行います。従来のIoT家電が情報漏洩や乗っ取りだったのに対し、物理的に動作するロボットが引き起こすであろう脅威を体験してもらうこともこの講義の目的のひとつです。

演習では以下のようなシナリオを用意しました。あなたはロボティックス系ベンチャー企業のセキュリティ品質責任者です。指定した期限までに、IoTセキュリティ・チェックリストをもとに脆弱性が疑わせる個所をすべて洗い出してレポートを作成してもらいます。なおIoTチェックリスト及びロボットの仕様、システム構成は事前学習等で公開します。

3日目
A4

Reverse Engineering Malware - Know Your Enemies

分野・キーワード
講師
担当プロデューサー
講義紹介

マルウェアは感染端末上でどのようにして動作し、また攻撃者はそのマルウェアをどのように使い目的を達成しているのか?それらを正しく理解していなければ有効な対策は生まれません。この講義では、高度な対策技術を生み出す基盤となる知識の習得を目的として、マルウェアのコードそのものを読み解く静的解析手法を学びます。 現在のサイバー攻撃で使用されているマルウェアの複雑なコードを講師と共に読み解き、マルウェア解析を実体験することで、マルウェアの詳細や静的解析技術そのもの、およびマルウェアに関わる現状の課題を理解していただきます。

B4

認証の課題とID連携の実装

分野・キーワード
  • 認証
  • 認可
  • プライバシー
  • FIDO
  • OpenID
  • Connect、OAuth
講師
担当プロデューサー
講義紹介

計算機と寄り添うように使われてきたIDとパスワードによる"認証"は、既に社会においても個人の生活から社会システムにおいてまで日々利用されている、重要な基礎技術です。 一方で、古典的な攻撃手法であるパスワードクラック等を始め、サイバーセキュリティにおける攻撃の基本ともいえる領域ともなっており、計算機の歴史においては重要な要素技術として常に磨かれ、進化してきました。 もちろん、社会に普及したものである以上、完璧ということはなく既に数々の課題が存在します。多くの課題がある中、最近ではLINEやFacebookやTwitterなどによる、いわゆるソーシャルログインのようなID連携(ID Federation)や多要素認証などの新しいトレンドが普及してきました。 多くの人はあまり意識せずに認証を行っていますが、そもそも"認証"(Authentication)というのはどういう行為を指しているのでしょうか?認証の概念は、デジタルの世界で必須となる重要な概念で、実は考えるととても奥深く興味深いものです。  講義では現代のデジタル社会における認証とID・パスワードによる認証システムの課題に触れ、その課題解決方法であるFIDO、ID連携(OAuth・OpenID Connect)をはじめとした最近の技術をご紹介します。FIDOは端末とサーバー間でユーザー認証を安全に連携するための仕組みです。OpenID Connectはユーザーの認証と認可を連携するためのID連携の仕組みで、OAuth 2.0を拡張した仕様であり、HTTP通信やJSONなど基礎的なWeb技術によって構成されています。  FIDOとID連携の技術を学んだ後、実習ではGolang(予定)を用いてWebアプリケーション上にOpenID Connectを実装します。実装の注意点とそのリスク、仕様に施されているセキュリティー対策についてハンズオンを行いながら解説します。

C4

人工知能を用いたパターン認識と認証

分野・キーワード
  • 深層学習
  • パターン認識
  • 認証
講師
担当プロデューサー
講義紹介

深層学習は、事前に学習をしていないような、未知のデータへの汎化能力が高い。つまり、これまでみたこともないような物に対しても何らかの回答を出す。ただし、これが正しいかどうかは別問題だ。一方、ヒトを特定するとような認証は、高い排除率が必要となる。このような認証技術に人工知能をどう応用するかは、課題であり、本講義ではこの問題についてハンズオンにより体験および議論を行う。まず、汎化能力とは何か深層学習を利用して確認する。また、どのような技術を利用するれば排除率が高く、正しいものを正しく認証する能力が高いシステムを開発できるか考える。

D4

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

分野・キーワード
  • 組込み
  • OS
  • IoT
  • ロボット
  • TLS/SSL
講師
担当プロデューサー
講義紹介

事前学習では、オープンソースの組込みシステム向けリアルタイムOS、TCP/IPプロトコル・スタック、TLS/SSLライブラリのソースコードを読んで動かしながら、組込み/IoT機器のソフトウェアの構成、動作の仕組みを学びます。キャンプ当日は、それらのソフトウェアを搭載したロボットを動かし、グループ競技を通じて、組込み/IoTセキュリティの攻撃と対策を体験します。

E4

クラウド・ホスティングサービスのセキュリティと運用技術の研究

分野・キーワード
  • クラウド
  • ホスティング
  • セキュリティ
  • コンテナ
  • 性能
  • リソース管理
講師
担当プロデューサー
講義紹介

クラウドサービスやホスティングサービスの利用が当たり前の時代ではありますが、そのサービスを支える技術は今も進化し続けています。本講義では、基盤技術における、セキュリティや性能、運用技術に関する最新動向と最新の研究の取り組みについてお話します。さらに、コンテナ関連技術のセキュリティやデータセンターにおけるコンテナランタイムのセキュリティや性能要件についても紹介します。

A5

難読化されたマルウェアの解析

分野・キーワード
講師
担当プロデューサー
講義紹介

本講義では、マルウェアが利用する解析妨害の理論と実践について学ぶ。通常、マルウェアは解析を逃れるために様々な妨害機能を有している。そのため、単純な解析技術だけではこれらのマルウェアを正確に解析することができない。マルウェアが利用する妨害機能の動作原理とそれらの意図を学び、それらに強い解析方法とそのためのツール・ライブラリの使い方を学ぶ。具体的には、シンボリック実行やSMTソルバなどを利用した難読化の解除方法や解析を効率化する方法の習得する。

B5

体系的に学ぶモダン Web セキュリティ

分野・キーワード
  • Webセキュリティ
  • CSP
  • XSS
  • CSS Injection
  • Timing Attack
  • XS-Search
講師
担当プロデューサー
講義紹介

Webサービスの設計時・運用時には、Content-Security-Policy を始めとする、各種セキュリティポリシーへの正しい理解が重要です。そこで本講義では、ブラウザの有するモダンなセキュリティ機構を、その背景にある攻撃手法との関連の中で体系立てて学びます。XSSやサイドチャネル攻撃、CSSを用いた攻撃など、多岐にわたる攻撃を手を動かしつつ検討することを通じて、モダンなWebセキュリティの世界を探検しましょう。

C5

CTF問題バリバリ作成

分野・キーワード
  • CTF
講師
担当プロデューサー
講義紹介

世界で200近い国際大会が開催されているCTF(Capture The Flag)。しかし出題者は全世界的に不足しているため、互助会的に大会を開催し合っている現状があります。そして実は、作問したり競技インフラを設計運用したりすることは、CTFプレイヤーという視点からも勉強になることが多かったりします。 この時間は、過去の問題を分析し、問題案という形で問題の種を量産することで、CTF作問時の注意点などを基本設計から体験的に学習します。どこかのCTFで実際に出題できそうな問題案を可能な限りたくさん作成することを目指します。

D5

自走運転車両を守れ(自動運転車両の脅威分析)

分野・キーワード
  • 自動運転車両
  • ECユニット
  • 脅威分析
講師
担当プロデューサー
講義紹介

自動走行車両の機能、車載ネットワーク図、ECユニット(車載電子制御コンポーネント)のブロック図あるいは回路図、半導体の構造、開発から製造及び寿命を迎えるまでの過程を説明し、それをもとに攻撃方法を参加者がリスティング、想定される被害を推定する。 各参加者の発表を元に、実際に生じ得る挙動と関連させながら解説する。 脅威分析については多くの手法が提唱されTOOLも提供されているが、本講義では攻撃の多様性と防御の難しさを体感することを主眼として、特定TOOLにとらわれず思考する形をとる。

E5

The SYZBOT CTF

分野・キーワード
  • Linux kernel
  • syzbot
  • 自動化されたファジングテスト
講師
担当プロデューサー
講義紹介

Google 社が開発したファジングテスト用システムである syzbot が、 Linux などのOSカーネルの不具合をものすごい勢いで発見し続けています。OSカーネルという性質上、ユーザモードで動作するプログラムには該当しない様々な制約があります。また、ほとんどの処理を自動化して、膨大な数のテスト用マシンで並列実行させるという構成ならではの制約もあります。そのため、問題発生時に情報を取得し、問題の原因個所を突き止め、原因を修正していく作業には、かなりの試行錯誤を伴います。この講義では、 syzbot が見つけた Linux カーネルの不具合の修正に全力で取り組んでいる講師が、その体験談を紹介します。C言語によるプログラムを読み書きできるスキルを有した受講者を想定しています。

4日目
A6

マルウェアの暗号処理を解析しよう

分野・キーワード
講師
担当プロデューサー
講義紹介

マルウェア解析で達成したい重要な目標の1つに、暗号に関わる処理を解析することが挙げられます。例えば、インシデントレスポンスにおいて、C2サーバーから受け取った命令や、外部に漏洩した情報を特定することができれば、速やかに影響範囲を解明することができます。マルウェアにおいて実装されている暗号処理の場所やアルゴリズムを特定して、ネットワークログから通信を復号することに挑戦します。

B6

つくって学ぶ、インターネットのアーキテクチャと運用

分野・キーワード
  • IPアドレス
  • ルーティング
  • AS
  • DNS
  • DNSSEC
  • RPKI
  • 冗長性
  • 規模拡張性
講師
担当プロデューサー
講義紹介

インターネットの仕組みとその考え方について、手を動かしながら楽しく学ぶことのできる講座です。 IPアドレスやルーティング、DNSといった基礎知識に加えて、これらの運用について体系的な知識が身につく事を目指します。本講座では、ルータなどの設定を実際に行ってインターネットと同じものを構築していただきます。相互運用性、規模拡張性といった性質を持つインターネットのアーキテクチャを学びつつ、その運用を体験していきます。ルーティングを使った、影響範囲の大きい攻撃と防御の技術についても紹介します。

C6

事例と法律

分野・キーワード
  • 法律
  • フォレンジックス
講師
担当プロデューサー
講義紹介

セキュリティと関連する法律についての基礎的な理解を学びつつ、様々な架空のセキュリティ事例や受講者からの提案事例に基づき、当該事例にはどのような法律を検討すべきか、どのような法律のどのような条文に違反するのか、条文の解釈と類似の裁判例から読み解いていただき、犯罪に該当する行為、気を付けるべきことを学んでいただきます。

D6

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

分野・キーワード
  • LSI
  • HDL
  • ARM
  • FPGA
  • メルトダウン
講師
担当プロデューサー
講義紹介

集積回路(LSI)はコンピュータのCPUをはじめ、あらゆる電子機器の基本パーツで、その進化はコンピュータの進化と表裏一体です。その進化の結果、あまりに高度化、複雑化したLSIはブラックボックスとなり、中身を知らなくても多くのことができるようになりました。しかしそのことは、先日のCPUの根本的な脆弱性「MeltDown」のような深刻な問題の遠因ともなりえます。 この講義では、LSIを設計することに立ち返り、その視点からコンピュータというものを改めて見つめ直すことを目指しています。 具体的には、論理ゲートレベルの単純なものから、徐々にARMプロセッサ等の複雑なLSIを、それぞれにあった手法で設計しながら、その仕組み、その可能性を体験します。そしてそれを通してコンピュータというものに対する新たな視点を得ることを目標とします。

E6

USB通信ハック、OSSロジアナ解析とUSBパケット生成

分野・キーワード
  • 電子工作
  • 組込系
  • AVRマイコン
  • USB通信プロトコル
  • ロジックアナライザ
講師
担当プロデューサー
講義紹介

中国から輸入した超小型Arduino互換Digispark開発ボードと24MHz/8CHのUSBロジックアナライザを参加者全員に配布し、組み込み機器プログラミングを体験してもらいます。オープンソースで開発されているソフトウェア版ロジックアナライザsigrokを用いて、USB1.1の通信内容を解析する方法を学びます。また、AVRマイコンATtiny85を用いて、マウスやキーボードのUSBプロトコルをしゃべるHIDデバイスを開発します。

A7

Pythonによるマルウェア検出の自動化

分野・キーワード
講師
担当プロデューサー
講義紹介

マルウェアが1年間に発見される数は8億検体を超えました。このような数に対抗していくためのテクノロジーを、これからのわたしたちはどのようにしたらよいのでしょうか?本講義では、ひとつの方策として機械学習を使ったマルウェア検知に取り組みます。講義はPythonを使ったハンズオンが中心です。

B7

ユーザー企業における情報システムとセキュリティ

分野・キーワード
  • 情シス
  • ユーザー企業
  • ゼロトラスト
講師
担当プロデューサー
講義紹介

ユーザー企業ではユーザーとビジネスを守る(Protect)ため、様々なリスク管理を実施しています。それ自体の変化はありませんが、業務システムやサービスをホスティングする環境が多様化するかたわら、新しいリスクが生まれてきているのも事実です。 本講義では、ビジネスを継続成長させていく中で、経営的なお話、新しいセキュリティの概念「ゼロトラスト」、サイバーセキュリティフレームワークなどをまじえて、どのようにユーザー企業内でのセキュリティ体制を構築・運用していくか学んでいきます。最終的なゴールはユーザー企業にセキュリティ担当で入った場合の動き方をイメージできるようになっていることを目標にします。

C7

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

分野・キーワード
  • 組込みセキュリティ
  • CAN
  • なりすまし
  • Python
講師
担当プロデューサー
講義紹介

現在の自動車には数十のECU(制御コンピュータ)が搭載されており、CANやLINなどのネットワークで結ばれています。今回は、CANの実験用ネットワークを教室に敷設し、そこにUSB経由のOBD-IIアダプタを接続し、各人のPCからCANネットワークにアクセスし、流れているメッセージを取得し解析する方法をハンズオン形式で行う予定です。取得と解析のために、各人のPCで動作させるLinux VM上でPythonを使った簡単なプログラムを作成していきます。実車からキャプチャしたメッセージを流したり、なりすましデータを作ったり、実車のメータパネルを実験用ネットワークに接続するようなことも行います。

D7

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

分野・キーワード
  • ドローン
  • ローバー
  • 乗っ取り
  • 認証
講師
担当プロデューサー
講義紹介

ドローン(ローバー)運用システムにおける通信プロトコルは決まりつつありますが、いまだに運用セキュリティーに関する議論が進んでいません。パイロットの個人認証~機体の認証などのシステム側の仕組み、機体とGW迄のセキュリティ、物流における荷物受け取りの確認手段、なりすまし防止など、多種に渡るセキュリティーが必要になります。 現在のドローン(ローバー)のシステム、今取り組んでいるドローンおよびローバーのシステムの解説を行い、今後取り組むべきセキュリティーを含んだドローンシステムがどう有るべきかをワークショップ形式で検討していきます。

E7

実践トラフィック解析

分野・キーワード
  • パケットキャプチャ
  • トラフィック解析
  • 大規模ネットワーク
講師
担当プロデューサー
講義紹介

ネットワークには様々なトラフィックが流れていますが、その内容は場所によって様々な様相を見て取ることが出来ます。この講義では、セキュリティ・キャンプのライブネットとダークネット双方のトラフィックをキャプチャー、解析します。それを通じてネットワークに流れるトラフィックの違いを自らの手で明らかにしてもらいます。 事前学習として、インターネットの仕組みやパケットキャプチャーについて学習してもらいます。講義時間は、会場ネットワークを対象にトラフィック解析を行い、チームでディスカッション等を行いながら、トラフィックの違いについて理解を深めてもらいます。

集中開発コース

2日目~4日目
X-Ⅰ

言語自作ゼミ

分野・キーワード
  • プログラミング言語自作
  • 独自ライブラリ開発
講師
担当プロデューサー
  • 坂井
    • ※坂井に担当を途中変更いたしました。
講義紹介

プログラミングが大好きな人を集めて、プログラミング言語かライブラリを自作することで、今後のプログラミングを楽にしたりセキュアにしたりする開発をやりたいと思っています。一部の人たちが作った言語とライブラリだけで開発するのもいいですが、それはきっと限界があるでしょう。この限界を超えて進歩していくためには、いろんな人が言語を作ったりライブラリを作っていくしかないのです。いろんな人が自分の感性を生かして言語やライブラリを作るようになれば、きっと新しい何かが生まれる日が早まることでしょう。言語やライブラリの作り方はある程度は教えられますので、プログラミングが大好きならそれだけで大丈夫です。プログラミング言語を作る楽しさを是非味わってください。

X-Ⅱ

暗号化通信ゼミ

分野・キーワード
  • 暗号理論
  • 通信技術
  • プロトコル
講師
担当プロデューサー
  • 坂井
    • ※坂井に担当を途中変更いたしました。
講義紹介

昨年の全国大会で緑川により実施された「TLS1.3/暗号ゼミ」ではTLS1.3という暗号化通信技術の実装を行いましたが、今年のこのゼミでは、参加者の皆さんの好きな暗号化通信技術の理論理解・実装をします。  
実装に重点を置くか、理論面の理解に重点を置くかは皆さんの自由です。昨年と同様にTLS1.3を題材としてもいいし、SSHクライアントを作ってみてもいいでしょう。あえてすごく古いプロトコルを持ってきてもらって、実装を先に済ませて攻撃手法をずっと考えてもいいですね。

X-Ⅲ

データベースゼミ

分野・キーワード
  • データベース
  • トランザクション
  • ミドルウェア
  • システムプログラミング
講師
担当プロデューサー
  • 坂井
    • ※坂井に担当を途中変更いたしました。
講義紹介

データベースシステムは現代社会の縁の下の力持ちで、皆さんが銀行でお金のやりとりをしたり、インターネット上で買い物をしたりといった操作がきちんと処理されるために欠かせません。大事なデータが管理されていますので、もちろんセキュリティも欠かせません。さらに、沢山のやりとりを高速に処理するには、良いデータ構造とアルゴリズム、並列プログラミングが欠かせないため、コンピュータサイエンスの基本かつ楽しい要素がたっぷり詰まったソフトウェアだと言えます。 本ゼミではデータベースシステムの中でもとりわけトランザクション処理について学び、作り、実験してもらいます。

X-Ⅳ

リバースエンジニアリングゼミ

分野・キーワード
講師
担当プロデューサー
  • 坂井
    • ※坂井に担当を途中変更いたしました。
講義紹介

「リバースエンジニアリングゼミ」(通称:リバエンゼミ)は、ハードウェアを主とするシステムのリバースエンジニアリング(以下、リバエン)を行う、またはリバエンするためのツール開発を行うゼミです。 他のゼミのように開発することがメインではなく、いろんなシステムがどのように動いているかを明らかにすることがメインになります。セキュリティ・キャンプでなぜリバエンを扱うかというと、最近の組込み機器の脆弱性は、リバエン結果から見つかることが多いからです。リバエンを行うことで組込み機器の脆弱性を発見し、機器をセキュアにすることに貢献することができます。 本ゼミでは組込み機器全般、ボード上のバス通信、ソフトウェア無線による通信解析などの技術を主な対象としますが、リバエンに関わることであれば持ち込みの題材も歓迎します。このゼミで必要なのは技術力よりも「好奇心」です。好奇心旺盛な方からの応募をお待ちしています。

X-J

ジュニア開発ゼミ

分野・キーワード
講師
担当プロデューサー
  • 坂井
    • ※坂井に担当を途中変更いたしました。
講義紹介

皆さんは普段多くのプログラムを使っていると思います。それらのプログラムの多くは、インターネットと通信することによって様々な機能を実現しています。しかし、それを実現するためにはどのようにプログラミングをすればよいのでしょうか。 このゼミでは、多くのプログラムで当たり前のように実装されているネットワーク通信について学びます。そして、自分自身の手でネットワーク通信を行うプログラムを作ってみましょう。

Y-Ⅰ

OS開発ゼミ

分野・キーワード
  • OS
  • オペレーティングシステム
  • バイナリ
  • 低レイヤ
  • システムプログラミング
  • x86
  • ARM
  • Raspberry Pi
講師
担当プロデューサー
  • 坂井
    • ※坂井に担当を途中変更いたしました。
講義紹介

OSを作ってみたい、けど自分には難しそう、と思った事はありませんか?確かに、よく使われているOSは巨大で、長い歳月と多くの人によって作られています。

でも、実はOSは意外と個人で簡単に書けるものなんです。OSの開発といっても切り口はたくさんありますので、この「OS開発ゼミ」では4テーマ「フルスクラッチOSを書こう!」「最先端OS談義」「Linux開発者を目指そう!」「Raspberry Piで動く組み込みOSを作ってみよう!」に分けて募集を行います。

自分でOSを作っている方はもちろん、このゼミをきっかけに作り始めようとする方も、チャレンジ精神さえあれば幅広く対応します!

Y-Ⅱ

Cコンパイラを自作してみよう!

分野・キーワード
  • コンパイラ
  • 言語処理系
講師
担当プロデューサー
  • 坂井
    • ※坂井に担当を途中変更いたしました。
講義紹介

本格的な言語のコンパイラを書いてみたいと思ったことがある人は多いのではないでしょうか? 本ゼミでは、簡単なプログラムが実際にコンパイルできるようなC言語のコンパイラを、C言語を使って開発します。目標は、自作コンパイラを自作コンパイラ自身でコンパイルする(セルフホストする)ことです。この講義を終えればコンピュータとプログラミング言語一般、そしてC言語についての深い理解が得られていることでしょう。実際に講師の私(植山)はセルフホスト可能なCコンパイラ8cc(https://github.com/rui314/8cc)をゼロから書いた経験がありますが、それはソフトウェアエンジニアとしての実力をぐっとアップさせるような、他には得難い貴重な体験でした。 講義は3日間という短い期間なので、大きな目標を達成するためには、入念な事前準備が必要です。 プログラミング言語の理論や実装の基本的な構成などは事前に勉強していただく必要がありますが、それはもちろん講師陣が手厚くサポートしていくので、心配する必要はありません。必要なものはプログラミング言語に対する情熱です。多くの皆さんの応募をお待ちしています。

Z

アンチウィルス実装ゼミ

分野・キーワード
講師
担当プロデューサー
  • 坂井
    • ※坂井に担当を途中変更いたしました。
講義紹介

Linuxアンチウィルスの実装とはすなわち、Linux向けマルウェア対策技術です。Linuxをターゲットにしたマルウェアについて、実はWindowsほど対策や研究開発が進んでいません。そもそも見つかるマルウェアの種類が少なかったことや、対応するアークテクチャがx86, x64以外にもあり難しいことなどが理由です。ただ、ここ数年でマルウェアの種類や感染事例も増加しており、特にMiraiに代表されるようなIoTマルウェアなどは、とても無視できない状況です。  Linux向けマルウェア対策技術を実装していくには、ELFリバーシング、システムプログラミング、Linuxカーネル、統計的評価や特徴抽出などへの知見と実践力が必要であり、コンピュータサイエンスをフル活用する、総合格闘技と言えます。本ゼミでは、このLinuxアンチウィルスの実装をテーマに、アンチウィルスの個々の機能を実際のデータを使い作成したり、マルウェアとそうではないソフトウェアを用いた性能評価などを行います。 今回は以下の2つのテーマで実施します。 Z1. Linuxマルウェア解析と検知シグネチャー作成 Miraiの発見者であり、Linuxマルウェアについて情報発信をしている数少ないリサーチャーのアドリアン・ヘンドリック、DEFCON決勝などCTFで有名な最も有名なプレイヤーである丑丸が講師を務めます。 Z2. Linuxマルウェアの統計的特徴量を用いたマルウェア判定器の実装と評価 BlackHatなど産業寄りの著名なカンファレンスで、マルウェアや脆弱性についての発表経験が豊富な、忠鉢、大居が講師を務めます。