ES6時代におけるWeb開発者とセキュリティ業界の乖離

タグ security

スライド概要

医療セキュリティハッカソン神戸2015内 ディスカッション資料

profile-image

はせがわようすけ

@hasegawa

作者について:

https://utf-8.jp/

スライド一覧
シェア
埋め込む»CMSなどでJSが使えない場合

公開日

2015-03-07 00:00:00

各ページのテキスト

1. ES6時代における Web開発者と セキュリティ業界の乖離 開発側から見たセキュリティ業界に 対する懸念と求めるもの

2. 過激派 注意!

3. いまどきのWeb開発 • 静的なHTML+API • アプリとWebの共通化、SPA • コンパイルされたJS • AltJS、Closure Compiler • MV*、データバインディング • Vue.js、AngularJS • Virtual DOM • React

4. 静的なHTML+API • サーバサイドではHTMLを生成しない • スマホ用アプリとWebでバックエンドを共通化 • Single Page Applicationsの台頭 • JSON等のAPIのみのレスポンス • 脆弱性検査する側 • 「ページ単位」でのボリューム管理の破たん • 反射型、蓄積型XSSの根絶 • もちろんSQLインジェクションなども存在しない

5. コンパイルされたJS • AltJS、Closure Compiler等の利用 • TypeScript、CoffeeScript、JSX • Closure Compiler - オートエスケープ • 脆弱性検査する側 • minifyされたJavaScriptが読めない • 使用された言語上での注意すべき点がわからない

6. MV*、データバインディング • MVVM、MVCフレームワークの利用 • Vue.js、AngularJSなど • 生でDOMを触らない • HTMLへのデータバインディング機構 • 脆弱性検査する側 • DOM-based XSSさえ発生しにくい • コードが読めない • 使用されたフレームワークでの注意すべき点がわか らない (AngularJSでのカスタムディレクティブなど)

7. Virtual DOM • Reactに代表されるDOM操作の革命 • JS Objとして仮想的なDOM構造を持つ • JS ObjからDOMへの一方的な吐き出し • 脆弱性検査する側 • DOM-based XSSはほとんど根絶 • コードが読めない • 見るべき項目が分からない

8. いまどきのWeb開発 • 脆弱性検査する側 • 言語やフレームワークごとの注意すべき点というの がわからない • そもそもコードが読めない • 従来の脆弱性は原理上ほとんど発生し得ない • どういう観点で検査をすればいいのかわからない

9. よくある意見 「全員がそういう開発手法ではない」

10. 「全員がそういう開発手法ではない」 • 「従来からの開発手法が大半だから、そういう 開発者のために、これまで通りの検査が必要」 • それって「ただのツールが使えない人」だよね • 新しい開発手法ならそもそも脆弱性が発生しな い • セキュリティ向上のためには新しい手法を広め るほうが意義があるのでは