ssmjpスペシャル 2017/06 #sumida_sec #ssmjp

2017.06.04 すさみ回
https://ssmjp.connpass.com/event/57082/

# 諸注意
## 勉強会諸注意
いつもの。今回もささみ初参加の方がチラホラいたので実施されました。
## すみだセキュリティ
セキュリティ絡みでどんどんまさかりを飛ばす発表をして欲しいとのこと。
次回開催は乞うご期待。

# Can We Prevent Use-after-free Atacks ?
スライド: https://www.slideshare.net/inaz2/can-we-prevent-useafterfree-attacks
by @inaz2 ブログ「ももいろテクノロジー」著者さん。

今回の話は悪用禁止！

## ざっくり
動的メモリ確保、特にヒープの話
freeした領域を指し続けるポインターをダングリングポインターと呼ぶ
解放したメモリ領域にダングリングポインター経由でアクセスする攻撃手法がUse-after-free攻撃
防ぎようはあるので、正しく知って正しく防ごう！

## 防ぎ方(プログラミング)
### Smart Pointersを使う
C++のunique_ptr
=> コードが煩雑になってしんどい
### Assigning Null immediately after free (Outdated)
解放したポインタにNULLを割り当ててアクセス不能にする方法
=> 完全に古典的手法
### enable SDL checks (MS VC++)
NULLの代わりに0x8123を突っ込む
* 0x8123はMagic address(開発者に知らせるための特別なアドレス)
* コンパイル時にワーニングが出てうっとおしいかもしれないが、有効化したほうがセキュアなプログラミングできる
* いずれにせよ、コピーされたポインターはダングリングのまま残ってしまう。
### AddressSanitaizer (GCC)
実行時にダングリングポインターを検出する

## 防ぎ方(アプリケーション)
### Control Flow Guard (CTF)(Win 8.1+)
関数の先頭に飛んでいるかをチェック
### Linux grsecurity : RAP
関数の先頭にシグネチャを仕込むスタンス→今も続いているか不明
### VTGuard (Win10, IE & Edge)
### MemGC (Win10, IE & Edge)
ヒープをガベコレするから安心
チャクラコアでオープンソース化されたので読める！

## 防ぎ方(OS)
### アクセス制御
Win Vista+
SELinux
### 隔離
AppContainer(Win 8+)
Namespaces(Linux)
### Endpoint security solution
変なところにアクセスし始めたら遮断するなどを検討中。実用化はまだ。
### Patch Update


# セキュリティの人材育成について
by @sonodam

本日の基調講演。

セキュリティ人材不足が叫ばれる昨今。
言うほど足りないという訳ではないのでは、という切り口の本講演。
そんなことより足りない人数をはっきりしてほしい(８万？１３万？１６万？)とのこと。ﾀｼｶﾆ


## 足りていない人材いろいろ
### セキュリティがわかる人材
* トレーニングでなんとかなるはず

### 予算付けられる＋セキュリティがわかる人材
### セキュリティの専門家
実際の不足を数値化するために求人広告を当たってみた
* 安いし多い
* 給料足りてるならこんなに転職しないし求人も出ないはず
![DSC_1681.JPG](https://qiita-image-store.s3.amazonaws.com/0/31245/54c54d52-23ff-31a4-4eb1-516b62526959.jpeg)

### セキュリティを教えられる人材が足りない
先生達が教えられない理由がある
* 雑務が多い
* 自己研鑽できない(部活やるとプライベートが更に減る)
* 良いコンテンツがない
* 良い環境がない(ソフトもハードも用意できない)

### そもそもスキルの変遷に付いていくのが大変
![DSC_1682.JPG](https://qiita-image-store.s3.amazonaws.com/0/31245/816cfed1-a9d2-7c2d-4568-b6be31b1ed86.jpeg)


## セキュリティイベント(先生を支援する受け皿になれるかも)
### セキュリティ・キャンプ(2004～)
* 学校でやらないこと、できないことを狙う
* ピンポイントで面白いもの（悪の道）を扱う
* 研究所の人を公演という名目で呼ぶ
* 同年代の仲間を作る

### CTF(Catch the Flag)
* 国内でも世界でも多数開催されてる
* 独学する力を図るために使われたりもしている
* CTFで勝つには、コンピュータ・サイエンスを体系的に勉強することが必要。
* もっと勉強に使えるので海外の大学が手を出し始めた

### SECCON
* 可視化も年々向上してる

### SecHack365
* NICTのデータセットを使える
* アイディアを実装まで持っていける

## 良いモノ、発明のために必要なもの
* 職人性、データへの感性
* 真実を見る目
* 良いデータセット
* 良い研究環境
* 仲間、ライバル
![DSC_1683.JPG](https://qiita-image-store.s3.amazonaws.com/0/31245/6258abd8-b1b6-042c-d2c7-47574b1352ca.jpeg)
　　

## AI vs AIの目的
* めんどくさいことはどんどん自動化しよう
（ソフトを解析して脆弱性を見つけてパッチ当てるとか）

## 社会的コストの節約
* 専門家を育成することに投資するのが結果としてよさそう

## 無いなら作る
* 例えばサイバーレンジ
* 職人芸を万人に開放するための発明
* 非専門の人の参加も歓迎

## QA
### ベンチャーはそもそもお金なくてセキュリティにコスト掛けられないのでは？
=> 脆弱性を見つけるコンテストを開催する手がある

![DSC_1684.JPG](https://qiita-image-store.s3.amazonaws.com/0/31245/0110126f-2c25-0202-d4cf-57dc24e92a6d.jpeg)

# 役に立ちそうで役に立たない、少しだけ役に立つSSL/TLSまわりの話
スライド:
 http://ozuma.sakura.ne.jp/sumida/attach/20170604_ssmjp.pptx
by @ozuma5119

## SSL/TLS豆知識(初心者からマサカリまで)
* Certificate
* 証明書先生、さようなら

# みんな大好きSSL証明書
* SAN - Youtubeの証明書が*.google.comでオッケー
* SNI - httpsのvirtual hostと似たもの
* CRL,OCSP - 証明書が失効していないかどうか、を検証するプロトコル。HTTP!

## 証明書先生、さようなら
* aNULL
* SRP CentOSで動かない、Debian最新版でも動かない
* PSK pskオプションが16進なことに注意。TLS1.3でも使われているので、IoTでのSSL通信に利用されている。Zabbixでもオプションとして選べる。

※PSKはパスワード管理が難しいかも、とのこと。