SlideShare a Scribd company logo
ES6時代における
Web開発者と
セキュリティ業界の乖離
開発側から見たセキュリティ業界に
対する懸念と求めるもの
過激派 注意!
いまどきのWeb開発
• 静的なHTML+API
• アプリとWebの共通化、SPA
• コンパイルされたJS
• AltJS、Closure Compiler
• MV*、データバインディング
• Vue.js、AngularJS
• Virtual DOM
• React
静的なHTML+API
• サーバサイドではHTMLを生成しない
• スマホ用アプリとWebでバックエンドを共通化
• Single Page Applicationsの台頭
• JSON等のAPIのみのレスポンス
• 脆弱性検査する側
• 「ページ単位」でのボリューム管理の破たん
• 反射型、蓄積型XSSの根絶
• もちろんSQLインジェクションなども存在しない
コンパイルされたJS
• AltJS、Closure Compiler等の利用
• TypeScript、CoffeeScript、JSX
• Closure Compiler - オートエスケープ
• 脆弱性検査する側
• minifyされたJavaScriptが読めない
• 使用された言語上での注意すべき点がわからない
MV*、データバインディング
• MVVM、MVCフレームワークの利用
• Vue.js、AngularJSなど
• 生でDOMを触らない
• HTMLへのデータバインディング機構
• 脆弱性検査する側
• DOM-based XSSさえ発生しにくい
• コードが読めない
• 使用されたフレームワークでの注意すべき点がわか
らない
(AngularJSでのカスタムディレクティブなど)
Virtual DOM
• Reactに代表されるDOM操作の革命
• JS Objとして仮想的なDOM構造を持つ
• JS ObjからDOMへの一方的な吐き出し
• 脆弱性検査する側
• DOM-based XSSはほとんど根絶
• コードが読めない
• 見るべき項目が分からない
いまどきのWeb開発
• 脆弱性検査する側
• 言語やフレームワークごとの注意すべき点というの
がわからない
• そもそもコードが読めない
• 従来の脆弱性は原理上ほとんど発生し得ない
• どういう観点で検査をすればいいのかわからない
よくある意見
「全員がそういう開発手法ではない」
「全員がそういう開発手法ではない」
• 「従来からの開発手法が大半だから、そういう
開発者のために、これまで通りの検査が必要」
• それって「ただのツールが使えない人」だよね
• 新しい開発手法ならそもそも脆弱性が発生しな
い
• セキュリティ向上のためには新しい手法を広め
るほうが意義があるのでは

More Related Content

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