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

825 Views

March 07, 15

スライド概要

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

シェア

埋め込む »CMSなどでJSが使えない場合

各ページのテキスト
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.

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