SlideShare a Scribd company logo
1 of 10
Download to read offline
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

What's hot

20140524 hands on_upload
20140524 hands on_upload20140524 hands on_upload
20140524 hands on_upload
Six Apart
 
20150209 movable type seminar
20150209 movable type seminar20150209 movable type seminar
20150209 movable type seminar
Six Apart
 
20140120 Movable Type Seminar
20140120 Movable Type Seminar20140120 Movable Type Seminar
20140120 Movable Type Seminar
Six Apart
 
20130909 movable type_seminar
20130909 movable type_seminar20130909 movable type_seminar
20130909 movable type_seminar
Six Apart
 
20130911 Movable Type Seminar
20130911 Movable Type Seminar20130911 Movable Type Seminar
20130911 Movable Type Seminar
Six Apart
 

What's hot (20)

20120616
2012061620120616
20120616
 
概説 Data API v3
概説 Data API v3概説 Data API v3
概説 Data API v3
 
Data API 2.0
Data API 2.0Data API 2.0
Data API 2.0
 
20160209 power cms_cloud_public
20160209 power cms_cloud_public20160209 power cms_cloud_public
20160209 power cms_cloud_public
 
20160208 power cms_cloud_public
20160208 power cms_cloud_public20160208 power cms_cloud_public
20160208 power cms_cloud_public
 
MTAppjQueryでマニュアルいらずの管理画面を
MTAppjQueryでマニュアルいらずの管理画面をMTAppjQueryでマニュアルいらずの管理画面を
MTAppjQueryでマニュアルいらずの管理画面を
 
20160317 ichigaya mt_cloud_handson
20160317 ichigaya mt_cloud_handson20160317 ichigaya mt_cloud_handson
20160317 ichigaya mt_cloud_handson
 
iOSでMVVM入門
iOSでMVVM入門iOSでMVVM入門
iOSでMVVM入門
 
20140524 hands on_upload
20140524 hands on_upload20140524 hands on_upload
20140524 hands on_upload
 
詳説 Data api mtddc 拡張版 v3対応
詳説 Data api mtddc 拡張版   v3対応詳説 Data api mtddc 拡張版   v3対応
詳説 Data api mtddc 拡張版 v3対応
 
20150209 movable type seminar
20150209 movable type seminar20150209 movable type seminar
20150209 movable type seminar
 
Media Assembly Kit
Media Assembly KitMedia Assembly Kit
Media Assembly Kit
 
About WinJS
About WinJSAbout WinJS
About WinJS
 
20120128
2012012820120128
20120128
 
20140120 Movable Type Seminar
20140120 Movable Type Seminar20140120 Movable Type Seminar
20140120 Movable Type Seminar
 
Data apiで実現 進化するwebの世界
Data apiで実現 進化するwebの世界Data apiで実現 進化するwebの世界
Data apiで実現 進化するwebの世界
 
Movable Type as a Playground
Movable Type as a PlaygroundMovable Type as a Playground
Movable Type as a Playground
 
20130909 movable type_seminar
20130909 movable type_seminar20130909 movable type_seminar
20130909 movable type_seminar
 
20130911 Movable Type Seminar
20130911 Movable Type Seminar20130911 Movable Type Seminar
20130911 Movable Type Seminar
 
Data API ことはじめ
Data API ことはじめData API ことはじめ
Data API ことはじめ
 

Viewers also liked

せっかくだから俺はこの NPAPI の話をするぜ
せっかくだから俺はこの NPAPI の話をするぜせっかくだから俺はこの NPAPI の話をするぜ
せっかくだから俺はこの NPAPI の話をするぜ
Naruto TAKAHASHI
 

Viewers also liked (20)

せっかくだから俺はこの NPAPI の話をするぜ
せっかくだから俺はこの NPAPI の話をするぜせっかくだから俺はこの NPAPI の話をするぜ
せっかくだから俺はこの NPAPI の話をするぜ
 
他人事ではないWebセキュリティ
他人事ではないWebセキュリティ他人事ではないWebセキュリティ
他人事ではないWebセキュリティ
 
Firefoxの倒し方
Firefoxの倒し方Firefoxの倒し方
Firefoxの倒し方
 
enchant.js meetup! ショートセッション「はじめてのenchant.js AtlasXでゲームをつくる」
enchant.js meetup! ショートセッション「はじめてのenchant.js AtlasXでゲームをつくる」enchant.js meetup! ショートセッション「はじめてのenchant.js AtlasXでゲームをつくる」
enchant.js meetup! ショートセッション「はじめてのenchant.js AtlasXでゲームをつくる」
 
楽しいバグハントの世界
楽しいバグハントの世界楽しいバグハントの世界
楽しいバグハントの世界
 
Coffee Scriptでenchant.js
Coffee Scriptでenchant.jsCoffee Scriptでenchant.js
Coffee Scriptでenchant.js
 
Find Blue Oceans - Through the Competitive World of Bug Bounty
Find Blue Oceans - Through the Competitive World of Bug BountyFind Blue Oceans - Through the Competitive World of Bug Bounty
Find Blue Oceans - Through the Competitive World of Bug Bounty
 
バグハントの話2016up
バグハントの話2016upバグハントの話2016up
バグハントの話2016up
 
proxy2: HTTPS pins and needles
proxy2: HTTPS pins and needlesproxy2: HTTPS pins and needles
proxy2: HTTPS pins and needles
 
BABELで、ES2015(ES6)を学ぼう!
BABELで、ES2015(ES6)を学ぼう!BABELで、ES2015(ES6)を学ぼう!
BABELで、ES2015(ES6)を学ぼう!
 
今すぐブラウザでES6を使おう
今すぐブラウザでES6を使おう今すぐブラウザでES6を使おう
今すぐブラウザでES6を使おう
 
Lets start-react
Lets start-reactLets start-react
Lets start-react
 
Using JavaScript ES2015 (ES6), ES2016, ES2017 in production
Using JavaScript ES2015 (ES6), ES2016, ES2017 in productionUsing JavaScript ES2015 (ES6), ES2016, ES2017 in production
Using JavaScript ES2015 (ES6), ES2016, ES2017 in production
 
20141030 html5j-firefox os-deviceapi
20141030 html5j-firefox os-deviceapi20141030 html5j-firefox os-deviceapi
20141030 html5j-firefox os-deviceapi
 
Windows ストアアプリから使かえるセンサーAPIとデバイスAPI
Windows ストアアプリから使かえるセンサーAPIとデバイスAPIWindows ストアアプリから使かえるセンサーAPIとデバイスAPI
Windows ストアアプリから使かえるセンサーAPIとデバイスAPI
 
ウェブ標準デバイス系 API 総集編 2014
ウェブ標準デバイス系 API 総集編 2014ウェブ標準デバイス系 API 総集編 2014
ウェブ標準デバイス系 API 総集編 2014
 
いでよ、電卓!
いでよ、電卓!いでよ、電卓!
いでよ、電卓!
 
SecurityCamp2015「バグハンティング入門」
SecurityCamp2015「バグハンティング入門」SecurityCamp2015「バグハンティング入門」
SecurityCamp2015「バグハンティング入門」
 
バグハンターの哀しみ
バグハンターの哀しみバグハンターの哀しみ
バグハンターの哀しみ
 
覚醒JavaScript -ES6で作るIsomophicアプリケーション-
覚醒JavaScript  -ES6で作るIsomophicアプリケーション-覚醒JavaScript  -ES6で作るIsomophicアプリケーション-
覚醒JavaScript -ES6で作るIsomophicアプリケーション-
 

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

HTML5 クロスプラットフォームアプリ開発の現実解
HTML5 クロスプラットフォームアプリ開発の現実解HTML5 クロスプラットフォームアプリ開発の現実解
HTML5 クロスプラットフォームアプリ開発の現実解
Monaca
 
Closure Toolsの紹介
Closure Toolsの紹介Closure Toolsの紹介
Closure Toolsの紹介
Yusuke Amano
 
Flux react現状確認会
Flux react現状確認会Flux react現状確認会
Flux react現状確認会
VOYAGE GROUP
 
HTML5でスマートフォン開発の理想と現実
HTML5でスマートフォン開発の理想と現実HTML5でスマートフォン開発の理想と現実
HTML5でスマートフォン開発の理想と現実
Takumi Ohashi
 
Visual Studio 2012 で実現する HTML5 & マルチ デバイス時代の Web 開発
Visual Studio 2012 で実現する HTML5 & マルチ デバイス時代の Web 開発Visual Studio 2012 で実現する HTML5 & マルチ デバイス時代の Web 開発
Visual Studio 2012 で実現する HTML5 & マルチ デバイス時代の Web 開発
Akira Inoue
 
Tiなごや vol.3 Alloyやろまい
Tiなごや vol.3 AlloyやろまいTiなごや vol.3 Alloyやろまい
Tiなごや vol.3 Alloyやろまい
Mori Shingo
 

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

マイクロソフトにとってのWebって?
マイクロソフトにとってのWebって?マイクロソフトにとってのWebって?
マイクロソフトにとってのWebって?
 
DEV-008_Developing on the Edge. ~Web プラットフォームと Cordova~
DEV-008_Developing on the Edge. ~Web プラットフォームと Cordova~DEV-008_Developing on the Edge. ~Web プラットフォームと Cordova~
DEV-008_Developing on the Edge. ~Web プラットフォームと Cordova~
 
ionic - cross platform mobile app 開発
ionic - cross platform mobile app 開発ionic - cross platform mobile app 開発
ionic - cross platform mobile app 開発
 
HTML5 クロスプラットフォームアプリ開発の現実解
HTML5 クロスプラットフォームアプリ開発の現実解HTML5 クロスプラットフォームアプリ開発の現実解
HTML5 クロスプラットフォームアプリ開発の現実解
 
Xamarin 紹介:Windows Phone / iOS / Android アプリ同時開発のススメ 2015/8/20 版
Xamarin 紹介:Windows Phone / iOS / Android アプリ同時開発のススメ 2015/8/20 版Xamarin 紹介:Windows Phone / iOS / Android アプリ同時開発のススメ 2015/8/20 版
Xamarin 紹介:Windows Phone / iOS / Android アプリ同時開発のススメ 2015/8/20 版
 
Xamarin 概要 2014年08月版
Xamarin 概要 2014年08月版Xamarin 概要 2014年08月版
Xamarin 概要 2014年08月版
 
Closure Toolsの紹介
Closure Toolsの紹介Closure Toolsの紹介
Closure Toolsの紹介
 
メトロスタイルアプリ開発 最初の一歩
メトロスタイルアプリ開発最初の一歩メトロスタイルアプリ開発最初の一歩
メトロスタイルアプリ開発 最初の一歩
 
JavaScript(AngularJS・React.js)で作る iOS・Androidアプリハンズオン
JavaScript(AngularJS・React.js)で作る iOS・AndroidアプリハンズオンJavaScript(AngularJS・React.js)で作る iOS・Androidアプリハンズオン
JavaScript(AngularJS・React.js)で作る iOS・Androidアプリハンズオン
 
アプリ開発も出来るイマドキのWeb技術入門(エンジニア適職フェアWeb技術入門セミナー)
アプリ開発も出来るイマドキのWeb技術入門(エンジニア適職フェアWeb技術入門セミナー)アプリ開発も出来るイマドキのWeb技術入門(エンジニア適職フェアWeb技術入門セミナー)
アプリ開発も出来るイマドキのWeb技術入門(エンジニア適職フェアWeb技術入門セミナー)
 
PhoneGapでWebアプリをスマホアプリ化
PhoneGapでWebアプリをスマホアプリ化PhoneGapでWebアプリをスマホアプリ化
PhoneGapでWebアプリをスマホアプリ化
 
Flux react現状確認会
Flux react現状確認会Flux react現状確認会
Flux react現状確認会
 
HTML5でスマートフォン開発の理想と現実
HTML5でスマートフォン開発の理想と現実HTML5でスマートフォン開発の理想と現実
HTML5でスマートフォン開発の理想と現実
 
HTML5 で開発する Windows 8 ネイティブアプリ
HTML5 で開発する Windows 8 ネイティブアプリHTML5 で開発する Windows 8 ネイティブアプリ
HTML5 で開発する Windows 8 ネイティブアプリ
 
Windows Phone / iOS / Android アプリ同時開発のススメ
Windows Phone / iOS / Android アプリ同時開発のススメWindows Phone / iOS / Android アプリ同時開発のススメ
Windows Phone / iOS / Android アプリ同時開発のススメ
 
.NET の過去、現在、そして未来 ~ .NET 最新アップデート
.NET の過去、現在、そして未来 ~ .NET 最新アップデート.NET の過去、現在、そして未来 ~ .NET 最新アップデート
.NET の過去、現在、そして未来 ~ .NET 最新アップデート
 
jQuery/Html5/ASP.NET MVC 対応コンポーネントを用いたデバイス対応業務アプリケーション開発
jQuery/Html5/ASP.NET MVC 対応コンポーネントを用いたデバイス対応業務アプリケーション開発jQuery/Html5/ASP.NET MVC 対応コンポーネントを用いたデバイス対応業務アプリケーション開発
jQuery/Html5/ASP.NET MVC 対応コンポーネントを用いたデバイス対応業務アプリケーション開発
 
Visual Studio 2012 で実現する HTML5 & マルチ デバイス時代の Web 開発
Visual Studio 2012 で実現する HTML5 & マルチ デバイス時代の Web 開発Visual Studio 2012 で実現する HTML5 & マルチ デバイス時代の Web 開発
Visual Studio 2012 で実現する HTML5 & マルチ デバイス時代の Web 開発
 
Phone gap+javascriptスマホアプリ開発(入門編)
Phone gap+javascriptスマホアプリ開発(入門編)Phone gap+javascriptスマホアプリ開発(入門編)
Phone gap+javascriptスマホアプリ開発(入門編)
 
Tiなごや vol.3 Alloyやろまい
Tiなごや vol.3 AlloyやろまいTiなごや vol.3 Alloyやろまい
Tiなごや vol.3 Alloyやろまい
 

More from Yosuke HASEGAWA

More from Yosuke HASEGAWA (7)

次世代プラットフォームのセキュリティモデル考察(前編)
次世代プラットフォームのセキュリティモデル考察(前編)次世代プラットフォームのセキュリティモデル考察(前編)
次世代プラットフォームのセキュリティモデル考察(前編)
 
JavaScript難読化読経
JavaScript難読化読経JavaScript難読化読経
JavaScript難読化読経
 
HTML5のセキュリティ もうちょい詳しく- HTML5セキュリティその3 : JavaScript API
HTML5のセキュリティ もうちょい詳しく- HTML5セキュリティその3 : JavaScript APIHTML5のセキュリティ もうちょい詳しく- HTML5セキュリティその3 : JavaScript API
HTML5のセキュリティ もうちょい詳しく- HTML5セキュリティその3 : JavaScript API
 
Bypass SOP, Theft Your Data - XSS Allstars from Japan / OWASP AppSec APAC 2014
Bypass SOP, Theft Your Data - XSS Allstars from Japan / OWASP AppSec APAC 2014Bypass SOP, Theft Your Data - XSS Allstars from Japan / OWASP AppSec APAC 2014
Bypass SOP, Theft Your Data - XSS Allstars from Japan / OWASP AppSec APAC 2014
 
Chrome-eject がこの先生きのこるには
Chrome-eject がこの先生きのこるにはChrome-eject がこの先生きのこるには
Chrome-eject がこの先生きのこるには
 
[デブサミ2012]趣味と実益の脆弱性発見
[デブサミ2012]趣味と実益の脆弱性発見[デブサミ2012]趣味と実益の脆弱性発見
[デブサミ2012]趣味と実益の脆弱性発見
 
WindowsユーザのためのはじめてのPerlプログラミング
WindowsユーザのためのはじめてのPerlプログラミングWindowsユーザのためのはじめてのPerlプログラミング
WindowsユーザのためのはじめてのPerlプログラミング
 

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