HOME未踏/セキュリティ・キャンプセキュリティ・キャンプ事業講義内容

本文を印刷する

未踏/セキュリティ・キャンプ

講義内容

セキュリティ・キャンプ全国大会2016

講義区分

全体講義


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

専門講義


 少人数で実施する演習を交えた講義で、同一時間帯に実施される6つの講義の中から1つの講義を選択(*1)して受講します。

 (*1)参加前に、事務局から希望する講義をお聞きして決定します。定員の都合等によりご希望に沿えない場合がございますので、予めご承知おきください。


ページトップへ

専門講義の詳細

アプリケーショントラック

【リーダー】
西村 宗晃(株式会社リクルートテクノロジーズ)

【概要】
 アプリケーションの開発に利用される技術は急速に変化しており、十分なセキュリティレベルを維持し続けることは現役の技術者ですら容易でなくなってきています。本トラックでは、Webやクラウド、モバイルプラットフォームをはじめとするあらゆる分野の一線で働く技術者を講師に迎え、アプリケーションの開発現場で必要とされる最新のセキュリティ技術を横断的に身に付けることを目的とします。また、アプリケーションが大規模化する中で抑止することが難しくなりつつある脆弱性問題との向かい合い方をテーマに、未来のセキュリティ技術者のあり方を模索します。

【各講義の詳細】
■1-A HTTPプロキシ発展
講師:廣田 一貴 (三井物産セキュアディレクション株式会社)
概要:様々な所でHTTP通信が行われている今日、HTTPプロキシはセキュリティを語る上で欠かせないツールとなっています。その応用範囲はWebアプリケーションだけでなくスマートフォンアプリケーションや家電など、これからもどんどん増えていくでしょう。一方で、新しく増えた領域では伝統的なブラウザ-サーバ間の通信と違い、少なからずHTTP上に独自のプロトコルを走らせていることがあります。賢いプロキシはこれらの通信を解釈する支援をしてくれますが、それだけでは何かと不自由です。本講義では、「入門に対する発展」「HTTPプロキシの機能を自分で発展させる」「脆弱性発見等に活かせる自身のスキルを発展させる」の三つの”発展”をテーマに、スマートフォンアプリケーションをテーマにした実践的な演習を通して、HTTP上を自由に動く技術を身につけて頂きます。なお、入門を済ませていない方向けの説明もある程度行うので、他のアプリケーショントラックの講義の基礎作りにも役立つでしょう。一緒にHTTP上を駆け抜けましょう。
【キーワード:Web、スマートフォン、通信解析】

■2-A スマートフォン向けゲームのセキュリティ
講師:杉山 俊春 (株式会社ディー・エヌ・エー)
概要:スマートフォンの普及によって、インターネットを介してゲームを提供する仕組みが増加してきています。スマートフォン向けのゲームアプリにおいては、提供しようとするゲームアプリの性質上完全にセキュアな状態を作ることが困難なケースも存在します。本講義では、一般的な脆弱性の知識のみでは判断が難しい、仕様を考慮したリスクの考え方や、そのリスクに対しての扱い方の一例を示しながら、不正行為の問題点と対策への理解を深めます。
【キーワード:スマートフォン、オンラインゲーム、リバースエンジニアリング、暗号、通信解析】

■3-A Webアプリケーションの脆弱性の評価と発見
講師:Masato Kinugawa(バグハンター)、伊藤 彰嗣(サイボウズ株式会社)
概要:この講義では、国内で実際に利用されているWebアプリケーションを使用して、脆弱性の「発見」と「評価」という2タイプの演習を行います。「発見」では、脆弱性を探す時の着眼点や具体的な方法について解説しながら、実際にWebアプリケーションを動かして、脆弱性の発見に挑戦します。「評価」では、皆さんが発見した脆弱性などを元に、悪用された場合の脅威などを議論し、深刻さの数値化を行います。2つの演習を通じて、実践的に脆弱性を発見する力と脆弱性の本質を理解する力を身に付けてください。
【キーワード:Web】

■4-A クラウドセキュリティ基礎
講師:仲山 昌宏(株式会社WHERE)
概要:本講義では、「クラウドファースト」「クラウドネイティブ」時代におけるサーバ設計、構築、運用技術の基礎と、その際に意識すべきセキュリティをテーマに、議論と演習を通じて全てのエンジニアが知っておくべきインフラ技術を学びます。
実際のインフラ技術を知ることは、今そこで稼働しているサービスの脆弱性やリスクを判断するため欠かせないだけで無く、一セキュリティ技術者としての情報提供にも必要となります。
実際にクラウドを利用したWebサービスの構築から運用までの流れを行うことで、「医者の不養生」とならないよう、環境構築や運用時に気を付けるべきセキュリティ上の「勘所」をおさえてもらいます。
【キーワード:サーバ管理、Web】

■5-A サーバ運用におけるパスワード管理
講師:国分 裕(三井物産セキュアディレクション株式会社)
概要:パスワード認証は、セキュリティ対策の基本中の基本で、どんなサーバでもパスワードが使われています。ただ、ペネトレーションテストをしていると、問題のあるサイトの約8割のサーバはパスワード認証が突破できます。今後管理するサーバが多くなればなるほど、管理するパスワードも増えていき、認証を突破されてしまう脆弱性も増えていきます。不特定多数が個人で使うサービスのパスワード管理と、チームで運用するサーバ群の管理では、定期変更・使い回しなどについても考え方が異なるでしょう。
この講義では、様々なサイトのテストをした結果よく見つかる、パスワード管理の問題点を学んでいただきます。それを踏まえ、サーバを運用していくうえで大量のパスワード認証とどう付き合っていけばいいのか、守り切れないパスワード攻撃からどうシステムを守っていけば良いのか、議論しながら予防策や解決策を探っていきます。
【キーワード:サーバ管理】


■6-A 次世代プラットフォームのセキュリティモデル考察
講師:はせがわようすけ(株式会社セキュアスカイ・テクノロジー)、西村 宗晃(株式会社リクルートテクノロジーズ)
概要:HTML5やJavaScriptを利用したアプリケーション開発技術、HTTPによる機器間の通信技術はWebという枠を超え様々な分野で応用されつつあります。この講義では、ElectronやCordova、Chromeアプリを題材に、これら新世代のプラットフォームに備わっているセキュリティ上の保護機構や、プラットフォームの使用により発生が予見される問題点などについて考察し、アプリケーション開発者がどういった点に気を付けなければいけないかの指標を示せるような技術を身につけることを目的とします。
【キーワード:プログラミング】

■7-A ID連携基礎
講師:林 達也(株式会社レピダム)、真武 信和(OpenID Foundation Japan)
概要:計算機と寄り添うように使われてきたIDとパスワードによる"認証"は、既に社会においても個人の生活から社会システムにおいてまで日々利用されている、重要な基礎技術です。
一方で、古典的な攻撃手法であるパスワードクラック等を始め、攻撃の基本ともいえる領域ともなっており、計算機の歴史においては常に重要な要素技術として常に磨かれ、進化してきました。もちろん、社会にこれほど普及したものである以上、完璧ということはなく既に数々の課題が存在します。多くの課題がある中、最近ではfacebookやtwitterなどによる、いわゆるソーシャルログインのようなID連携(ID Federation)がどんどん普及しています。そもそも"認証"(Authentication)というのはどういう行為を指しているのでしょうか?多くの人は、あまり意識せずに認証を行っていますが、認証の概念は、デジタルの世界で必須となる重要な概念で、実は考えるととても奥深く興味深いものです。
この講義では、普段意識もしないようなレベルで使っている認証技術とその現代的な基礎であるID連携について、OAuthやOpenID Connect等プロトコルを中心にセキュリティの観点から学びます。HTTPベースのプロトコルを扱うため、WebブラウザやcURLコマンドでも講義を理解できる形とします。もちろん、プログラムが得意な人は好きなプログラミング言語を使って作業を進めても構いません。
講義では、ID & Passwordで認証してる時の問題点について触れた後、ID連携の実際を知るために実際にID連携についての実習を行います。更に、ID連携において技術的に注意すべきところ、セキュリティ的な側面で重要なところを知るべく、実際の攻撃例についても学びます。
【キーワード:認証・認可】

IoTトラック

【リーダー】
坂井 弘亮(富士通株式会社)

【概要】
IoT(Internet of Things:モノのインターネット)時代が到来し、インターネットにつながるデバイスの種類と台数が増え続け、2020年には500億台以上のデバイスが稼働し、社会インフラを支える存在になると予想されています。各種センサーや通信モジュールの小型化・低コスト化によって、インターネットに接続できるモノを簡単に短期間で開発できるようになりましたが、その反面十分なセキュリティ対策がされることがなく、逆に将来のインフラを脅かす危険性が高まっています。そこで本トラックでは、物理層からデバイスドライバ、汎用OSや組込みOS、ミドルウェアなどの各層におけるモノづくりを実際に体験し、今までブラックボックスであったインターネットとデバイスの動作原理を深く学習し、将来的に様々なレイヤー間で原理的に発生し得るセキュリティ上の問題に気付くことができ、未然に対策できる人材を育成することを目的とします。

【各講義の詳細】
■1-B BareMetalで遊ぶ Raspberry Pi 入門編
講師:西永 俊文 (金沢大学大学院)
概要:安価なシングルボードコンピュータである「Raspberry Pi」を対象に、「BareMetal」と呼ばれるLinux等のない素の環境の上でハードウェアを制御するプログラムを自作します。このプログラムの制作を通して、コンピュータのブートプロセスやメモリの使い方などに加え、データシートの探し方や読み方などの自ら学んでいくための方法について学びます。
【キーワード:組み込み、OSレス環境】

■2-B 謎マシンでNetBSDのクロス開発体験
講師:蛯原 純 (株式会社創夢)
概要:
1. 動作イメージをつかむために、実際にNetBSDをRaspberry PIで動かしてみます。
2. Raspberry PI各機種について、同じところと違うところを調べます。
3. NetBSDの概要(ソースコードの取得方法、isoイメージのつくりかた、など)
4. いろいろなマシンで動かしてみよう(ZAURUS、WZero3、DreamCastなど)
5. エミュレータ上でNetBSDを動かしてみよう(gxemul上でNetBSD/hpcmips,X68000エミュレータXM6i上でNetBSD,など)
6. RaspberryPIサバイバルキットを作ってみよう(このキャンプをRaspberryPIだけで乗りきるために必要なイメージを作るためには、どのくらいの容量が必要で、どのようなアプリケーションが必要なのか考えて、実際にサバイバルキットをイメージとして作って公開します)

OpenSourceConference向けイメージの例です。ここではmikutterを動かして展示するために、2GBのイメージを用意しています。
http://mail-index.netbsd.org/port-arm/2016/01/22/msg003635.html

今回の成果は、port-arm@netbsdメーリングリストおよびnetbsd-advocacyメーリングリストで公開します。
http://mail-index.netbsd.org/netbsd-advocacy/2016/01/23/msg000701.html
【キーワード:組み込み、OS】

■3-B フィジカル・リバースエンジニアリング入門
講師:木藤 圭亮(三菱電機株式会社)
概要:準備した組込みシステムを、"物理的"にリバースエンジニアリングしていただきます。電子回路等のハードウェアはもとより、ソフトウェア的なものまで幅広いレンジで解析を行います。リバースエンジニアリングから得た結果をもとに改造を施し、目的の動作をさせることを目標とします。本演習で組込みプロセッサとフィジカルなシステムとの関係性を理解するとともに、組込みシステムにおけるセキュリティ対策の限界を探ります。
【キーワード:組み込み、リバースエンジニアリング】

■4-B ロボットに使用できるミドルウェアとハードウェア制御
講師:竹岡 尚三 (株式会社アックス)
概要:Linuxで動作し、ロボットに使用できるミドルウェアOpenCVなどを使用します。また低レイヤ・ソフトウェアを書き、ハードウェアを制御します。高級なミドルウェアを利用しつつ、ハードウェアを制御することで、知的な動作を行うロボットなどの開発方法を習得できます。
OpenCVは、画像処理、機械学習による画像認識などの機能が含まれた、ミドルウェアです。OpenCVは現在の組み込み系CPU(ARM11など)を使用したLinuxマシンでも簡単に動作し、性能にも問題ありません。Googleの自動運転にも使用されているROS(Robot Operating System)というロボット用ミドルウェアにも、OpenCVは含まれています。今回は、OpenCVの配布に含まれている学習済みのデータを使用し、機械学習による顔認識などの認識結果を利用します。その認識結果をもとに、ハードウェアを制御し、ロボットなどの開発方法を会得します。
【キーワード:ロボット、ハードウェア】

■5-B USBメモリからブートしてみよう
講師:内田 公太 (サイボウズ株式会社)
概要:USBメモリのMBRに自作プログラムを書き込んで自力ブートし、BIOSを叩いて"Hello World"を表示してみます。アセンブリ言語プログラムを機械語に変換し、USBメモリの先頭512バイトに書き込み、パソコンを再起動すれば自作プログラムを起動することができます。この講義では、アセンブリ言語の使用経験がなくても、自力でブートして画面にカラフルなメッセージを表示するところまで体験できます。
【キーワード:BIOS、OSレス環境】

■6-B AVRマイコンで作るBadUSB自作
講師:竹迫 良範 (高知工業高等専門学校)
概要:USBポートに挿すだけでキー入力操作を自動化するハードウェア「BadUSB」を自作します。USBの5V電圧で動作するAVRマイコンを使用して、PS/2キーボードから発生する電気信号をエミュレートするプログラムをC言語とアセンブラで作成します。USB入力装置のセキュリティ対策を考察します。
【キーワード:電子工作、ハードウェア】

■7-B 組込みリアルタイムOSとIoTシステム演習
講師:松原 豊(名古屋大学)
概要:組込み/IoTシステムに搭載される組込みリアルタイムOSと通信ミドルウェアの仕組みについて、実機による演習を通して学んでいただきます。汎用システムとは異なる、組込み/IoTシステムの世界を、ソフトウェアを中心に知ることができます。
【キーワード:組み込み、OS】

検知トラック

【リーダー】
園田 道夫(IPA(独立行政法人情報処理推進機構)、サイバー大学ほか)

【概要】
IT(ICT)の拡がりと浸透によって人間の活動の多くが情報化され、大量のデータが溢れる時代になっています。その大量のデータの中から何を異常として何を捕捉すればいいのか、検知・検出の技術はますますその社会的要請が高まってきています。Detectionではさまざまな場面での検知、検出を意識し、通信や仮想マシンの挙動、ハードディスクの中身、メモリ、そしてチップや家電の動きなどから異常や攻撃的な何かを捕捉することにフォーカスし、情報セキュリティへの多岐にわたる技術的要請を体感し、追求していくきっかけとなることを目指します。

【各講義の詳細】
■1-C 公開鍵暗号のハードウェア実装と攻撃~ICカードが持つ脆弱性とその対策~
講師:猪俣 敦夫(東京電機大学)
概要:はじめに、共通鍵暗号と公開鍵暗号の理論を理解するとともに、ハードウェアの実装手法について解説します。本演習では、ICカードを対象とした実装回路に対して電力解析攻撃を行います。
具体的には、ICカードの仕組みを理解するとともに実際に焼き込み行います。さらに、ICカードへの攻撃としてサイドチャネル解析ボードを用いて実際にデジタルオシロスコープを用いて暗号鍵を解析します。
【キーワード:サイドチャネル、暗号】

【各講義の詳細】
■2-C 人工知能とセキュリティ
講師:園田 道夫(IPA/サイバー大学ほか)、松田 健(長崎県立大学)
概要:ディープラーニングの爆発的ブームや、囲碁・将棋などの成果により、人工知能への注目はかつてないほどに高まってきています。しかし、そのセキュリティをどう考えるべきなのか、ということを論じている部分はそれほど多くありません。本講義では実際に人工知能というものが使われている事例、ソフトウエア、システムを題材に、それらを攻撃し、汚染し、破壊しようと考えることはどういうことなのか、またそれに対する防御をどう考えるべきかについて検討していきたいと思います。
【キーワード:機械学習、深層学習】

【各講義の詳細】
■3-C 脆弱性検出実践(ファジング技術と脆弱性報告)
講師:山下 勇太(株式会社ラック)、篠原 崇宏(IPA(独立行政法人情報処理推進機構))
概要:脆弱性検出に使われるセキュリティテスト「ファジング」や、これまでに学んだ事を活かして IoT 機器を始めとした製品に対して脆弱性発見に挑戦していただきます。そこから検証コード作成を含めた脆弱性報告の仕方についても実践していただきます。発見から報告までの演習を通じ、脆弱性報告に必要な情報をまとめるポイントを学習します。
【キーワード:ファジング】

【各講義の詳細】
■4-C オンラインゲームアタック&ディフェンスチャレンジ
講師:中矢 誠(アキュトラス/香川大学)
概要:オンラインゲームのプログラムなどによる自動プレイは、不正行為として禁止されているケースがほとんどです。しかし、不正行為自体はなくならず、近年では、自動化のみならずチートなどの行為も横行しており、対策に追われることも少なくありません。本講義では、オンラインWebゲームを運営する側とプレイする側に分かれて、運営側と攻撃側を体験します。プレイする側は、プログラムによる自動化やチート、何でもありです。運営する側は、ゲームのアップデートによって自動化やチートを阻止したり、GMとなって取り締まりを行ってください。時間の都合上、運営または攻撃のどちらか一方しか体験できません。代わりに、双方の視点における講評と解説を行います。
Windowsバイナリによるオンラインゲームに関しては扱いませんが、解説で軽く触れます。運営におけるリスクや、典型的な攻撃と講師が考える対策の例を紹介します。
【キーワード:オンラインゲーム、チート】

【各講義の詳細】
■5-C サーバに対する攻撃とその影響度を調べてディスカッションする講義
講師:川口 洋(株式会社ラック)
概要:あるサーバが攻撃を受け、サービス提供に支障が生じました。そのサービスにおける影響範囲やサービス停止の原因を調査します。そして、より速くより正確にその特定を行うために必要なことについて参加者でディスカッションを行います。講義時間の都合上、事前に準備した課題に挑戦してもらいます。キャンプ当日の時間は参加者が調べた内容についての発表とディスカッションを行います。
【キーワード:攻撃検知、サーバ管理】

【各講義の詳細】
■6-C 車載LAN上を流れるメッセージの解析
講師:井上 博之(CCDS、広島市立大学大学院)
概要:現在の自動車には数十のECU(制御コンピュータ)や、またセンサやアクチュエーターが搭載されており、それぞれCANやLINなどの通信ネットワークで結ばれています。
今回は、CANの実験用ネットワークとECUのシミュレータを用意し、そこにELM327を使ったアダプタで各人のPCからCANバスにアクセスし、流れているメッセージを受信し解析する方法を、LinuxとPythonの環境を使ったハンズオン形式で行う予定です。
【キーワード:車載、通信解析】

【各講義の詳細】
■7-C 遠隔操作マルウェアと標的型攻撃からの防衛
講師:凌 翔太(マクニカネットワークス株式会社)
概要:セキュリティが強固であるはずの組織が次々とニュースを賑わせています。そしてそれらの一部は遠隔操作マルウェア(RAT)などの標的型攻撃によるものです。本講義では遠隔操作マルウェアのシミュレータであるShinoBOTおよび、標的型攻撃実証ツールShinoBOT Suiteなどの動作に触れ、そういった攻撃の流れおよび手法を踏まえて、なぜ対策が破られるのかを実際に体験しながら学習していきます。また、他の講義で学んだ検知手法に対して、検知回避されるリスクについて考察します。
【キーワード:マルウェア、攻撃検知】

解析トラック

【リーダー】
岩村 誠(日本電信電話株式会社)

【概要】
本トラックでは、様々な脆弱性や攻撃、マルウェアなどを解析、対策する手法を取り扱います。脆弱性はどこに存在するのか?攻撃者はどのようにそれを悪用するのか?
これらの点を、アセンブリやデバッガ、OS、仮想マシンモニタといった切り口で明らかにし、新たな対策を生み出す知見の獲得を目指します。

【各講義の詳細】
■1-D Dissecting Malware - x86 Windows malware analysis -
講師:中津留 勇(SecureWorks Japan株式会社)
概要:マルウェアはどのようにシステムを操作し、その目的を達成しているのか?それが分かるようにならなければ有効なマルウェア対策は生まれません。この講義では、後の講義で取り扱う高度な対策技術を学ぶ前の知識・教養を身につけることを目的として、マルウェアの逆アセンブルコードを読み解く静的解析手法を学びます。具体的には、実際のマルウェアのコードを講師と共に(効率良く)ひたすら読み解き、その挙動の詳細を、そして手動解析における課題を理解します。
【キーワード:リバースエンジニアリング、マルウェア】

■2-D ヒューリスティック検知技術を学ぼう
講師:愛甲 健二(LINE株式会社)
概要:本講義では、現在アンチウイルスにおいて当たり前に実装されているヒューリスティック検知技術について調査、検証します。シグネチャを使わず、いかにしてのマルウェア検知を実現しているのか、またその技術をより改善するための手法を議論します。
【キーワード:マルウェア、攻撃検知】

■3-D The OOM CTF
講師:半田 哲夫(NTTデータ先端技術株式会社)
概要:Linux カーネル内のメモリ管理機構は非常に楽観的なため、 memory cgroup を使用して適切なリソース制限を掛けていない Linux システムでは、システムのメモリを枯渇させて動作不能に陥らせる Out of memory local DoS 攻撃が簡単に成立してしまいます。そして、攻撃する意図が無くても成立してしまうことがあるため、原因不明のハングアップなどLinux システムの安定稼働を阻害する要因にもなっています。
この枠では、メモリ枯渇に起因したバグの見つけ方(バグ・ハンティング)について学びながら、(講師が偶然見つけた脆弱性から始まり現在も進行中のトピックである)Linux カーネルのメモリ管理をめぐる死闘を振り返り、メモリ枯渇に起因したバグを絶滅させることができない状況にどう対処すればよいのかについて考えます。
【キーワード:サーバ管理、カーネル】

■4-D 実行ファイルの防御機構を突破せよ
講師:前田 優人(筑波大学 / CTF for ビギナーズ)
概要:バッファオーバーフロー脆弱性などから引き起こされるメモリ破壊攻撃は古くから知られており、現在のOSではさまざまな防御機構を用意しています。しかしまだ完全な防御には程遠く、多くの場合攻撃を工夫することで回避することができます。本講義では実際にLinux上の実行ファイルに対する攻撃を体験し、現状の防御機構の問題点について学習します。
【キーワード:エクスプロイト】

■5-D みんなでクールなROPガジェットを探そうぜ
講師:岩村 誠(日本電信電話株式会社)
概要:本講義ではReturn-oriented programming(ROP)で利用可能なコード断片(ROPガジェット)を探索するツールを自作・利用していきます。ret命令を起点に前の命令をたどってみる、エミュレーションしてみる、色々な方法を模索し、最もクールなROPチェーンを構築してみましょう!
【キーワード:エクスプロイト】

■6-D リバースエンジニアリングを自動化せよ
講師:岩村 誠(日本電信電話株式会社)
概要:本講義ではシンボリック実行等、先進的なソフトウェア解析技術を通じて、職人技とされてきたリバースエンジニアリングを自動化し、脆弱性発見やマルウェア解析に応用する方法を模索していきます。
【キーワード:リバースエンジニアリング】

■7-D .NET プログラムの解析
講師:三村 聡志(トレンドマイクロ株式会社)
概要:本講義では .NET Framework を用いたプログラムの静的な解析ができるようになるための手法について取り扱います。具体的には簡単な IL コードの読経と、ツールを使った逆コンパイル、そして難読化された .NET プログラムに対して読み解く方法について触れていきます。
【キーワード:リバースエンジニアリング】

集中講義

【説明】本トラックでは、1日を通じて講義を実施(約8時間)することで、より専門的に掘り下げた知識や技術力の習得を目指します。


【各講義の詳細】
■1・2E TLS徹底演習
講師:大津 繁樹(株式会社 インターネットイニシアティブ)
概要:インターネットのセキュリティ脅威の高まりによって、Webが常時暗号化された通信となる時代が迫ってきています。TLSはその中心となる暗号通信プロトコルです。私達は普段ネットショップやオンラインバインキングなどでTLSを利用して通信セキュリティを確保しています。しかしこれほど身近で利用しているTLSが、どのような仕組みでセキュリティが確保されているのか、あまり理解しないまま使っていないでしょうか?
既に20年以上に渡り改良を重ねたTLSの本質を知るためには、プロトコル自体の仕様だけでなく、暗号理論やPKIなど幅広い基盤技術の理解と最新の脆弱性対策のしくみを知ることが必要です。本講義では、2016年にTLSに新しく追加される暗号方式ChaCha20-Poly1305を使って実際にTLSのプロトコルを実装し、自らが手を動かす事によってインターネット通信のセキュリティを実現しているTLSの理論と実践を徹底的に学びます。
【キーワード:暗号、Web】

■3・4・5E システムに新機能を追加したときのセキュリティを考えよう
講師:川合 秀実 (サイボウズ・ラボ株式会社)、坂井 弘亮 (富士通株式会社)
概要:講師がC言語を拡張して「永続変数」を追加しました。この拡張により便利になったこと・新たなセキュリティ問題の両方を検討しつつ、この機能を使ったプログラムを自由に書いてもらいます。もし物足りなければ、拡張処理系の改良をしていただいてもOKです。どんなプログラミング言語でもいいので自力で100行以上のプログラムを書いたことがあるのなら、余裕でついて行ける難易度です。C言語の経験があるとさらに望ましいです。
ここには書ききれないので、より詳しいことはhttp://khfdpl.osask.jp/wiki/?persistent_C
を見てください。
【キーワード:システム開発、プログラミング】

■6・7E インフラセキュリティ・ブートキャンプ
講師:仲山 昌宏(株式会社WHERE)
概要:本講義では、「サービスの価値を利用者に届け続ける」ことを至上命題とするインフラエンジニアに必要な、セキュアなWebサービスインフラの実践的な構築・運用技術を身につけることを目的とします。
クラウド事業者の上でサービスを展開する現在では、これまで幻想的でゆるふわだった責任範囲が可視化されることとなり、あらためて正しく理論的にセキュアなインフラ構築方法を知らなくてはなりません。
スケーラビリティを確保するためのクラウドネイティブ設計、負荷試験、プログラムコードに基づくサーバインフラ構築・管理・監視、運用の標準化・自動化を通じて高速なリリースサイクルを実現する継続的デリバリ、マイクロサービス時代の暗号化技術の利用方法、インシデント発生に備えた普段からの監査体制の作り込みなど、これからのインフラエンジニアに必要とされる多岐にわたる知識範囲を身につけてもらい、実際にクラウド環境上でそのようなインフラを構築してもらいます。
【キーワード:サーバ管理、Web】

■1・2F 作って学ぶ低レイヤーネットワーク
講師:今岡 通博 (今岡工学事務所)、坂井 弘亮 (富士通株式会社)
概要:前半でPC上でパケットを生成やキャプチャーするプログラムを自作することにより、パケットの構成を理解します。後半でArduinoのデジタル出力のみを使って10BASE-Tのフレームシーケンスを実際に送出する演習を行います。PCのOS上で動作するプログラムでは、Ethernetコントローラーが扱えるパケットしか送受信できませんが、マイコン等のハードウエアを自由に制御できる環境ではPC上では認知できないパケットもLAN上に送出可能です。それらの可能性を意識したセキュリティ対策が行える人材を育成します。
【キーワード:電子工作、プログラミング】

■3・4・5F OS/VMレイヤで実現する圧倒的に高速なパケットフィルタ/サンドボックス
講師:浅田 拓也(株式会社IIJイノベーションインスティテュート)、忠鉢 洋輔(Security Researcher)
概要:分散の時代の次は、集中の時代です。例えば、高速ネットワーク(10Gbps)、高速ストレージ(NVMe, 3GB/s越え)で構成される高スループットなクライアント環境下において、これまで許されてきたようなセキュリティメカニズムのオーバーヘッドは果たして許容されるのでしょうか?本講義では、パケットフィルタ、アクセス制御のハイスピード化を、OS/VMレイヤの技術を用いて学びます。具体的には、Intel DPDKを用いた超高速パケットフィルタリングサーバの開発か、eBPF(Linux)をバックエンドに用いた超高速サンドボックスの開発を選び、ゴリゴリと実装してもらいます。朝から晩までガッツリ実装して、圧倒的高速化しよう!
【キーワード:通信解析、攻撃検知】

■6・7F なぜマルウェア解析は自動化できないのか
講師:黒米 祐馬(慶應義塾大学)
概要:本講義では、エミュレータを基盤として、テイント解析、シンボリック実行、ファジング、果ては機械学習に至るまで、さまざまな技術を動員してマルウェア解析の自動化はどこまで可能か検討します。
【キーワード:リバースエンジニアリング、マルウェア】

未踏/セキュリティ・キャンプ