Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

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

17,675 views

Published on

開発側から見たセキュリティ業界に 対する懸念と求めるもの

Published in: Internet

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

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

×