SlideShare a Scribd company logo
1URL : http://ja.monaca.io/ Copyright © Asial Corporation. All Right Reserved.
クロスプラットフォーム開発を可能にする
Monacaとそのセキュリティ対策
アシアル株式会社
代表取締役 田中正裕
masahiro@asial.co.jp
2018年4月23日
2URL : http://ja.monaca.io/ Copyright © Asial Corporation. All Right Reserved.
アシアル株式会社
会社概要
• 創業:2002年
• 資本金:1000万円
• 事業所:東京(本社)、サンフランシスコ
• 従業員数:約50名(8国籍)
事業内容
• 開発プラットフォーム事業:開発ツール、UIフレームワーク
• 開発支援事業:アプリ開発、サーバーサイド(PHP)開発
• 教育事業:トレーニング、執筆
3URL : http://ja.monaca.io/ Copyright © Asial Corporation. All Right Reserved.
バックエンドからフロントエンドまで
フルスタック開発を得意としています
4URL : http://ja.monaca.io/ Copyright © Asial Corporation. All Right Reserved.
Monacaの紹介
5URL : http://ja.monaca.io/ Copyright © Asial Corporation. All Right Reserved.
モバイルアプリ開発基盤 Monaca
HTML5、JavaScript
でアプリ開発
セットアップ不要の
クラウド開発環境
UIフレームワーク
Onsen UI搭載
安心の日本語サポート
6URL : http://ja.monaca.io/ Copyright © Asial Corporation. All Right Reserved.
iOS & Android向けのアプリを同時開発
• Web標準技術でモバイルアプリ開発
• モバイルアプリ開発の未経験者に最適
• 既存のWeb開発チームがアプリ開発チームに
• アプリの運用コストを劇的に低減
• ネイティブ機能を使ったアプリ開発も可能
7URL : http://ja.monaca.io/ Copyright © Asial Corporation. All Right Reserved.
JavaScriptの世界が広がっていく
Stack Overflow Survey 2017 Stack Overflow Survey 2013
“It’s Official: JavaScript Is The Most Commonly Used Programming Language On
Earth.” - Daniel Rowinski, Editor-in-Chief at ARC
※ StackOverflow: 850万人の登録ユーザー、1500万件の
質問と回答を抱える、世界最大の開発者コミュニティ
8URL : http://ja.monaca.io/ Copyright © Asial Corporation. All Right Reserved.
高いUI/UXを表現するUIコンポーネント群
• 様々なモバイルUIの部品をiOSと
Android向けに提供
• 端末のOSにあわせて自動的にデザイ
ンを適用
• 同じソースコードでクロスプラット
フォームUIを実現
• Angular、React、Vue、jQueryなど
各種フレームワークに対応
9URL : http://ja.monaca.io/ Copyright © Asial Corporation. All Right Reserved.
Monacaは “プラットフォーム“
Monacaクラウド
WebベースのIDE デバッガー 好きなIDE/エディタ
プロジェクト管理
コード管理
リモートビルド
mBaaS
10URL : http://ja.monaca.io/ Copyright © Asial Corporation. All Right Reserved.
日本で最も普及しているアプリ開発基盤
20万人
11URL : http://ja.monaca.io/ Copyright © Asial Corporation. All Right Reserved.
WindowsでもiOSアプリ開発
12URL : http://ja.monaca.io/ Copyright © Asial Corporation. All Right Reserved.
ハイブリッドアプリケーション
13URL : http://ja.monaca.io/ Copyright © Asial Corporation. All Right Reserved.
ハイブリッドアプリ
Web技術でネイティブアプリを開発するためのフレームワーク
【特徴】
・プッシュ通知
・オフライン対応
・デバイスAPI、ネイティブAPIへのアクセス
・アプリストアでの販売、ストア課金
14URL : http://ja.monaca.io/ Copyright © Asial Corporation. All Right Reserved.
HTML5+ネイティブ
ネイティブコード
HTML
コンテンツ
アプリ本体はHTML5で実装
ネイティブアプリ形式で配布
ハードウェア機能を利用可能
プラグインでネイティブ機能を拡張
15URL : http://ja.monaca.io/ Copyright © Asial Corporation. All Right Reserved.
Cross Platformツールのシェア
61%
35%
31%
18%
15%
13%
12%
9%
4%
3%
0% 10% 20% 30% 40% 50% 60% 70%
PhoneGap/Cordova
Xamarin
Unity
Qt
Adobe Air
Appcelerator
Corona
Marmelade
Codename One
Live Code
Using this tool Prioritize this tool
Vision Mobile Analysis of Cross-Platform Development, July 2015
16URL : http://ja.monaca.io/ Copyright © Asial Corporation. All Right Reserved.
業界標準のフレームワーク
17URL : http://ja.monaca.io/ Copyright © Asial Corporation. All Right Reserved.
Cordovaフレームワーク(iOS/Android)
コ
ー
ル
バ
ッ
ク
HTML5
CSS
JavaScript
WebView
ネ
イ
テ
ィ
ブ
ロ
ジ
ッ
ク
アプリケーションパッケージ
ネ
イ
テ
ィ
ブ
A
P
I
Android
iOS
18URL : http://ja.monaca.io/ Copyright © Asial Corporation. All Right Reserved.
Cordovaフレームワーク(Windows)
HTML5
CSS
JavaScript
Chakra + EdgeHTML
アプリケーションパッケージ
ラ
ン
タ
イ
ム
A
P
I
Windows
ランタイム
(WinRT)
19URL : http://ja.monaca.io/ Copyright © Asial Corporation. All Right Reserved.
ハイブリッドアプリのセキュリティ
20URL : http://ja.monaca.io/ Copyright © Asial Corporation. All Right Reserved.
'2016 OWASP Mobile Top 10
Improper Platform
Usage
OS機能やセキュリティの仕組みの誤用。Androidインテントやパーミッションの間違い、Keychainの
誤用など。
Insecure Data
Storage
安全でないデータ領域の使用や意図しないデータ漏洩など。
Insecure
Communication
ハンドシェイクの間違いや古いSSLバージョンの使用、暗号化されていない通信など。
Insecure
Authentication
認証処理の不備やセッション管理の問題など。
Insufficient
Cryptography
保護されるべきデータに対して、不完全な暗号を使用。
Insecure
Authorization
認可処理の不備。クライアントサイドでの認可処理や、強制ブラウジングなど。
Client Code Quality コードレベルの実装問題。バッファオーバーフローや文字列処理の間違いなど。
Code Tampering バイナリファイルの改ざんやリソースファイルの変更、動的なメモリの改ざんなど。
Reverse Engineering バイナリファイルからのソースコード復元、使用ライブラリやアルゴリズムの抽出など。
Extraneous
Functionality
隠しバックドアの存在や、リリースアプリに含まれてはいけないコメントの混入など。
21URL : http://ja.monaca.io/ Copyright © Asial Corporation. All Right Reserved.
ハイブリッドアプリのセキュリティ懸念
ネットワーク通信
WebViewから(ページの読み込み、XHRでのAjax)
ネイティブから(Android/iOS)
WebView
ブラウザエンジンの脆弱性
Cordova本体
Cordovaの脆弱性
プラグイン
プラグインの脆弱性
リバースエンジニアリング
ロジックの漏洩やコードの改ざん
ソースコード
ソースコードの脆弱性
Cordova
アプリケーションパッケージ
ネイティブ言語
による実装
JavaScriptによる実装
WebView
ブラウザエン
ジンの脆弱性
ネットワーク
通信
リバースエン
ジニアリング
プラグイン
実装
プラグイン
22URL : http://ja.monaca.io/ Copyright © Asial Corporation. All Right Reserved.
Same-Origin Policy
Cordovaが標準的に使用するiOSのUIWebViewやAndroidのWebViewはfile://プロ
トコルがOriginとなっておりSame-Origin Policyは適用されない。よっ
て、Content-Security Policyの指定が必要となる。
ただし、iOS 9 + Cordova iOS 4.0から利用できる「WKWebView」を用いる
場合、WebViewの不具合からSame-Origin Policyが適用されるため、サー
バー側にCORSヘッダーを付与する必要がある。
ネットワーク通信に対するセキュリティモデル
23URL : http://ja.monaca.io/ Copyright © Asial Corporation. All Right Reserved.
Access OriginとAllow Navigation
Access Origin
設定ファイル(config.xml)にて記述する。初期バージョンより存在。
デフォルトは * (すべて許可)なので注意が必要。<video>タグやWebSocket等は制限されないた
Security Policyの利用が推奨される。
Allow Navigation
Cordova iOS/Android 4.0以上に導入されたセキュリティモデル。Androidはcordova-plugin-whitelist
フォルトで組み込み済)。WebViewで遷移可能なページを制限する。
デフォルトはfile://から開始される(端末内に存在する)URLにナビゲーションを許可する。
<access origin="http://example.com" />
<access origin="*" />
<allow-navigation href="http://example.com/*" />
ネットワーク通信に対するセキュリティモデル
24URL : http://ja.monaca.io/ Copyright © Asial Corporation. All Right Reserved.
Content Security Policy
HTML内に<meta>タグを用いて記述する。KitKat(Android 4.4)以降、およびiOS 7以降で対応。
<meta http-equiv="Content-Security-Policy" content="default-src 'self' data: gap: https://ssl.gstatic.com; style-src 'self' 'unsafe-
inline'; media-src *">
• gap://プロトコル(iOSのUIWebView)およびhttps://ssl.gstatic.com(Androidで必要)を許可。
• eval()関数やインラインスクリプトを禁止。
<meta http-equiv="Content-Security-Policy" content="default-src *; style-src 'self' 'unsafe-inline'; script-src 'self' 'unsafe-inline'
'unsafe-eval'">
• CSSとJavaScriptは同じオリジンのものを許可。
• eval()関数とインラインスクリプトも許可。
ネットワーク通信に対するセキュリティモデル
25URL : http://ja.monaca.io/ Copyright © Asial Corporation. All Right Reserved.
iOS Application Transport Security (ATS)
iOSの持つセキュリティ基準で、iOS 11より必須に。ATSが有効の場合HTTP通信は許可されず、TLS 1.2以上が必須。
Cordovaでは<access>要素もしくは<allow-navigation>要素を指定すると、ATS設定を記述するInfo.plistファイルが上書
きされ、設定が適用される。
下記のように<access>要素が拡張された。
<access origin='*' allows-arbitrary-loads-in-media='true' allows-arbitrary-loads-in-web-content='true' allows-local-
networking='true' />
allows-arbitrary-loads-in-media
• trueの場合、AV Foundation Framework経由で読み込むメディアに対して接続制限が解除される。
allows-arbitrary-loads-in-web-content
• trueの場合、WebViewから行われるリクエストに対して接続制限が解除される。
allows-local-networking
• trueの場合、ローカルネットワークにあるリソースに対して接続制限が解除される。
ネットワーク通信に対するセキュリティモデル
26URL : http://ja.monaca.io/ Copyright © Asial Corporation. All Right Reserved.
WebViewの脆弱性
27URL : http://ja.monaca.io/ Copyright © Asial Corporation. All Right Reserved.
ブラウザ脆弱性
Android
https://developer.android.com/about/dashboards/
バージョン ブラウザ 世界シェア
4.3以前 WebKit 6%
4.4 (KitKat) Blink (Chrome) 10%
5.0以降 Evergreen
Chrome
84%
Android 5以降は常に最新のChromeエンジン
に更新されるため、機種依存は発生しない
iOS
2018年1月18日現在
https://developer.apple.com/support/app-store/
OSが常に自動更新を行うことから、ユーザー
は常に最新2世代のOSを使い続ける傾向にある。
バージョン依存は発生しづらい状況にある。
2018年4月16日
28URL : http://ja.monaca.io/ Copyright © Asial Corporation. All Right Reserved.
Cordova/プラグインの脆弱性
29URL : http://ja.monaca.io/ Copyright © Asial Corporation. All Right Reserved.
Cordovaに関する脆弱性の報告
CVE-2015-5208
Apache Cordova iOS before 4.0.0 allows remote attackers to execute arbitrary plugins via a link.
CVE-2015-5207
Apache Cordova iOS before 4.0.0 might allow attackers to bypass a URL whitelist protection mechanism in an app and load
arbitrary resources by leveraging unspecified methods.
CVE-2015-5204
CRLF injection vulnerability in the Apache Cordova File Transfer Plugin (cordova-plugin-file-transfer) for Android before
1.3.0 allows remote attackers to inject arbitrary headers via CRLF sequences in the filename of an uploaded file.
CVE-2015-8320
Apache Cordova-Android before 3.7.0 improperly generates random values for BridgeSecret data, which makes it easier for
attackers to conduct bridge hijacking attacks by predicting a value.
CVE-2015-5256
Apache Cordova-Android before 4.1.0, when an application relies on a remote server, improperly implements a JavaScript
whitelist protection mechanism, which allows attackers to bypass intended access restrictions via a crafted URI.
Cordova/プラグインの脆弱性
30URL : http://ja.monaca.io/ Copyright © Asial Corporation. All Right Reserved.
Google Play Storeでの対応
脆弱性のあるCordovaが用いられている場合、Google Play Storeにて公開停止が行わ
れる。
Google Play Storeでの説明記事
https://support.google.com/faqs/answer/6325474?hl=ja
現在はCordova Android 4.1.1以前で作られ
たパッケージはアップロード不可。
Cordovaの脆弱性が発生すると今後も対応
が必要になる。メンテナンス体制を整えて
おく必要がある。
Cordova/プラグインの脆弱性
31URL : http://ja.monaca.io/ Copyright © Asial Corporation. All Right Reserved.
リバースエンジニアリング
ハイブリッドアプリのアセットファイル(HTML/JavaScript等)はネイティブコードにコンパイル
されず、ソースコードの状態で端末内に格納される。無用な記述を削除するため、コメント
の削除や難読化(最適化)を実施することが望ましい。
より進んだ対策としては、ビルド時に暗号化を行い実行時に復号する、サードパーティ製の
暗号化プラグインを使用する。復号に使うキーは、リモートサーバー等の安全な場所から取
り出す必要がある。
Monaca Enterpriseでは
アセットを暗号化できる
https://ja.monaca.io/enterprise.html
Cordova/プラグインの脆弱性
32URL : http://ja.monaca.io/ Copyright © Asial Corporation. All Right Reserved.
不要なプラグインの除去
Cordova向けアプリテンプレートの多くが、Cordova Core Pluginsと呼ばれる基本プラグインをすべて同
梱している。実際には使用していないコードが含まれてしまい、脆弱性の温床になる可能性
がある。
Mohamed Shehab et. al, Reducing Attack Surface on Cordova-Based
Hybrid Mobile Apps, MobileDeLi 2014
PhoneGapのWebサイトに掲載されていた622
件のアプリに対しての調査(2014年)では、
プラグインの組み込みと実際の利用に大きな
開きが見られている。
Cordova/プラグインの脆弱性
33URL : http://ja.monaca.io/ Copyright © Asial Corporation. All Right Reserved.
セキュアコーディング
34URL : http://ja.monaca.io/ Copyright © Asial Corporation. All Right Reserved.
コーデイングの指針
Cordovaアプリの大半はSPA型であり、モバイルWebサイトと比べてもJavaScriptのウェイトが高
い。セキュアコーディング対策としてはHTML5向けのプラクティスを適用できる。
• ユーザー入力データのバリデーション
• 適切なエスケープ処理
• JavaScriptインジェクションの回避
• APIキーの適切な管理
セキュアコーディング
35URL : http://ja.monaca.io/ Copyright © Asial Corporation. All Right Reserved.
エスケープ処理
コンテキストに応じたエスケープ処理が必要であるが、適切な記述を行うのは困難。
SPAフレームワークやテンプレートエンジンの採用が望ましい。
<div onmouseover="${data1}">${data2}</div>
<a href="${data3}">link</a>
<iframe srcdoc="${data4}"></iframe>
下記の例ではすべての変数に別のエスケープ処理が必要
バインディングをサポートするフレームワーク
やライブラリ
2-Way Bindingを持つもの
• Angular 1
• Angular 2
1-Way Bindingを持つもの
• React
テンプレートエンジン
• Handlebars
• Mustache
エスケープ処理を自前で実装するのは困難であるた
め、フレームワークを採用することが望ましい。
セキュアコーディング
36URL : http://ja.monaca.io/ Copyright © Asial Corporation. All Right Reserved.
まとめ
37URL : http://ja.monaca.io/ Copyright © Asial Corporation. All Right Reserved.
ハイブリッドアプリのセキュリティ懸念
ネットワーク通信
WebViewから(ページの読み込み、XHRでのAjax)
ネイティブから(Android/iOS)
WebView
ブラウザエンジンの脆弱性
Cordova本体
Cordovaの脆弱性
プラグイン
プラグインの脆弱性
リバースエンジニアリング
ロジックの漏洩やコードの改ざん
ソースコード
ソースコードの脆弱性
Cordova
アプリケーションパッケージ
ネイティブ言語
による実装
JavaScriptによる実装
WebView
ブラウザエン
ジンの脆弱性
ネットワーク
通信
リバースエン
ジニアリング
プラグイン
実装
プラグイン
38URL : http://ja.monaca.io/ Copyright © Asial Corporation. All Right Reserved.
脆弱性とその対策
脆弱性
• OS、WebView → OSのアップデート
• Cordovaの脆弱性 → Cordovaのアップデート
• プラグインの脆弱性 → 最新のプラグインの利用
• アプリケーションの脆弱性 → セキュアコーディング
対策
• 安全なネットワーク通信(SSLの利用)
• OSの持つセキュアな領域の使用
• ソースコードの暗号化
39URL : http://ja.monaca.io/ Copyright © Asial Corporation. All Right Reserved.
ありがとうございました
問い合わせ先:
アシアル株式会社 田中正裕
masahiro@asial.co.jp

More Related Content

What's hot

書籍『Monacaで学ぶはじめてのプログラミング』 講義スライド(体験版)
書籍『Monacaで学ぶはじめてのプログラミング』 講義スライド(体験版)書籍『Monacaで学ぶはじめてのプログラミング』 講義スライド(体験版)
書籍『Monacaで学ぶはじめてのプログラミング』 講義スライド(体験版)
アシアル株式会社
 
デブサミ2015「実践!クロスプラットフォーム モバイルアプリ開発」
デブサミ2015「実践!クロスプラットフォーム モバイルアプリ開発」デブサミ2015「実践!クロスプラットフォーム モバイルアプリ開発」
デブサミ2015「実践!クロスプラットフォーム モバイルアプリ開発」
アシアル株式会社
 
Monacaによるモバイルアプリ開発ことはじめ
Monacaによるモバイルアプリ開発ことはじめMonacaによるモバイルアプリ開発ことはじめ
Monacaによるモバイルアプリ開発ことはじめ
アシアル株式会社
 
iOS/Android/Windows クロスプラットフォーム モバイルアプリ開発
iOS/Android/Windows クロスプラットフォーム モバイルアプリ開発iOS/Android/Windows クロスプラットフォーム モバイルアプリ開発
iOS/Android/Windows クロスプラットフォーム モバイルアプリ開発
アシアル株式会社
 
JINS MEME DEVELOPER HANDS-ON (Monaca / Apache Cordova編)
JINS MEME DEVELOPER HANDS-ON (Monaca / Apache Cordova編)JINS MEME DEVELOPER HANDS-ON (Monaca / Apache Cordova編)
JINS MEME DEVELOPER HANDS-ON (Monaca / Apache Cordova編)
アシアル株式会社
 
HTML5×Monacaプログラミング教育事例セミナー・ワークショップ資料
HTML5×Monacaプログラミング教育事例セミナー・ワークショップ資料HTML5×Monacaプログラミング教育事例セミナー・ワークショップ資料
HTML5×Monacaプログラミング教育事例セミナー・ワークショップ資料
アシアル株式会社
 
CodePushとReact Nativeで緊急OTAリリース!了解!
CodePushとReact Nativeで緊急OTAリリース!了解!CodePushとReact Nativeで緊急OTAリリース!了解!
CodePushとReact Nativeで緊急OTAリリース!了解!
Masayuki Iwai
 
Sharoid Service Menu
Sharoid Service MenuSharoid Service Menu
Sharoid Service Menusharoid
 
ADFS クレームルール言語 Deep Dive
ADFS クレームルール言語 Deep DiveADFS クレームルール言語 Deep Dive
ADFS クレームルール言語 Deep Dive
Suguru Kunii
 
Androidでもサクサク動くHTML5ハイブリッドアプリの作り⽅
Androidでもサクサク動くHTML5ハイブリッドアプリの作り⽅Androidでもサクサク動くHTML5ハイブリッドアプリの作り⽅
Androidでもサクサク動くHTML5ハイブリッドアプリの作り⽅
アシアル株式会社
 
2019年9月18日開催AWS Japan × Atlassianセミナー_セッション2「AmazonカルチャーとDevOps」
2019年9月18日開催AWS Japan × Atlassianセミナー_セッション2「AmazonカルチャーとDevOps」2019年9月18日開催AWS Japan × Atlassianセミナー_セッション2「AmazonカルチャーとDevOps」
2019年9月18日開催AWS Japan × Atlassianセミナー_セッション2「AmazonカルチャーとDevOps」
アトラシアン株式会社
 
脅威分析の手法によりウェブサーバーにウイルス対策ソフトが必要かを検証する
脅威分析の手法によりウェブサーバーにウイルス対策ソフトが必要かを検証する脅威分析の手法によりウェブサーバーにウイルス対策ソフトが必要かを検証する
脅威分析の手法によりウェブサーバーにウイルス対策ソフトが必要かを検証する
Hiroshi Tokumaru
 
20201029 hirata
20201029 hirata20201029 hirata
20201029 hirata
beyond Co., Ltd.
 
Privacy by Design with OWASP
Privacy by Design with OWASPPrivacy by Design with OWASP
Privacy by Design with OWASP
Riotaro OKADA
 
2021/4/28 に修正されたl aravel のsql injection について
2021/4/28 に修正されたl aravel のsql injection について2021/4/28 に修正されたl aravel のsql injection について
2021/4/28 に修正されたl aravel のsql injection について
oshiro_seiya
 
120分聞けばドヤ顔で語れる apache cordova スーパー勉強会
120分聞けばドヤ顔で語れる apache cordova スーパー勉強会120分聞けばドヤ顔で語れる apache cordova スーパー勉強会
120分聞けばドヤ顔で語れる apache cordova スーパー勉強会
Monaca
 
Php on windows vol.2 - session.1 - 公開用
Php on windows   vol.2 - session.1 - 公開用Php on windows   vol.2 - session.1 - 公開用
Php on windows vol.2 - session.1 - 公開用
hirookun
 
Visual Studio 2015 を使用した Cordova アプリの開発
Visual Studio 2015 を使用した Cordova アプリの開発Visual Studio 2015 を使用した Cordova アプリの開発
Visual Studio 2015 を使用した Cordova アプリの開発
Osamu Monoe
 
WordPress APIで作るモバイルアプリ
WordPress APIで作るモバイルアプリWordPress APIで作るモバイルアプリ
WordPress APIで作るモバイルアプリ
アシアル株式会社
 
Web担当者が知っておくべきPHPとセキュリティ
Web担当者が知っておくべきPHPとセキュリティWeb担当者が知っておくべきPHPとセキュリティ
Web担当者が知っておくべきPHPとセキュリティ
Yasuo Ohgaki
 

What's hot (20)

書籍『Monacaで学ぶはじめてのプログラミング』 講義スライド(体験版)
書籍『Monacaで学ぶはじめてのプログラミング』 講義スライド(体験版)書籍『Monacaで学ぶはじめてのプログラミング』 講義スライド(体験版)
書籍『Monacaで学ぶはじめてのプログラミング』 講義スライド(体験版)
 
デブサミ2015「実践!クロスプラットフォーム モバイルアプリ開発」
デブサミ2015「実践!クロスプラットフォーム モバイルアプリ開発」デブサミ2015「実践!クロスプラットフォーム モバイルアプリ開発」
デブサミ2015「実践!クロスプラットフォーム モバイルアプリ開発」
 
Monacaによるモバイルアプリ開発ことはじめ
Monacaによるモバイルアプリ開発ことはじめMonacaによるモバイルアプリ開発ことはじめ
Monacaによるモバイルアプリ開発ことはじめ
 
iOS/Android/Windows クロスプラットフォーム モバイルアプリ開発
iOS/Android/Windows クロスプラットフォーム モバイルアプリ開発iOS/Android/Windows クロスプラットフォーム モバイルアプリ開発
iOS/Android/Windows クロスプラットフォーム モバイルアプリ開発
 
JINS MEME DEVELOPER HANDS-ON (Monaca / Apache Cordova編)
JINS MEME DEVELOPER HANDS-ON (Monaca / Apache Cordova編)JINS MEME DEVELOPER HANDS-ON (Monaca / Apache Cordova編)
JINS MEME DEVELOPER HANDS-ON (Monaca / Apache Cordova編)
 
HTML5×Monacaプログラミング教育事例セミナー・ワークショップ資料
HTML5×Monacaプログラミング教育事例セミナー・ワークショップ資料HTML5×Monacaプログラミング教育事例セミナー・ワークショップ資料
HTML5×Monacaプログラミング教育事例セミナー・ワークショップ資料
 
CodePushとReact Nativeで緊急OTAリリース!了解!
CodePushとReact Nativeで緊急OTAリリース!了解!CodePushとReact Nativeで緊急OTAリリース!了解!
CodePushとReact Nativeで緊急OTAリリース!了解!
 
Sharoid Service Menu
Sharoid Service MenuSharoid Service Menu
Sharoid Service Menu
 
ADFS クレームルール言語 Deep Dive
ADFS クレームルール言語 Deep DiveADFS クレームルール言語 Deep Dive
ADFS クレームルール言語 Deep Dive
 
Androidでもサクサク動くHTML5ハイブリッドアプリの作り⽅
Androidでもサクサク動くHTML5ハイブリッドアプリの作り⽅Androidでもサクサク動くHTML5ハイブリッドアプリの作り⽅
Androidでもサクサク動くHTML5ハイブリッドアプリの作り⽅
 
2019年9月18日開催AWS Japan × Atlassianセミナー_セッション2「AmazonカルチャーとDevOps」
2019年9月18日開催AWS Japan × Atlassianセミナー_セッション2「AmazonカルチャーとDevOps」2019年9月18日開催AWS Japan × Atlassianセミナー_セッション2「AmazonカルチャーとDevOps」
2019年9月18日開催AWS Japan × Atlassianセミナー_セッション2「AmazonカルチャーとDevOps」
 
脅威分析の手法によりウェブサーバーにウイルス対策ソフトが必要かを検証する
脅威分析の手法によりウェブサーバーにウイルス対策ソフトが必要かを検証する脅威分析の手法によりウェブサーバーにウイルス対策ソフトが必要かを検証する
脅威分析の手法によりウェブサーバーにウイルス対策ソフトが必要かを検証する
 
20201029 hirata
20201029 hirata20201029 hirata
20201029 hirata
 
Privacy by Design with OWASP
Privacy by Design with OWASPPrivacy by Design with OWASP
Privacy by Design with OWASP
 
2021/4/28 に修正されたl aravel のsql injection について
2021/4/28 に修正されたl aravel のsql injection について2021/4/28 に修正されたl aravel のsql injection について
2021/4/28 に修正されたl aravel のsql injection について
 
120分聞けばドヤ顔で語れる apache cordova スーパー勉強会
120分聞けばドヤ顔で語れる apache cordova スーパー勉強会120分聞けばドヤ顔で語れる apache cordova スーパー勉強会
120分聞けばドヤ顔で語れる apache cordova スーパー勉強会
 
Php on windows vol.2 - session.1 - 公開用
Php on windows   vol.2 - session.1 - 公開用Php on windows   vol.2 - session.1 - 公開用
Php on windows vol.2 - session.1 - 公開用
 
Visual Studio 2015 を使用した Cordova アプリの開発
Visual Studio 2015 を使用した Cordova アプリの開発Visual Studio 2015 を使用した Cordova アプリの開発
Visual Studio 2015 を使用した Cordova アプリの開発
 
WordPress APIで作るモバイルアプリ
WordPress APIで作るモバイルアプリWordPress APIで作るモバイルアプリ
WordPress APIで作るモバイルアプリ
 
Web担当者が知っておくべきPHPとセキュリティ
Web担当者が知っておくべきPHPとセキュリティWeb担当者が知っておくべきPHPとセキュリティ
Web担当者が知っておくべきPHPとセキュリティ
 

Similar to クロスプラットフォーム開発を可能にするMonaca

kintone連携スマホアプリの開発・配布体験_生形 可奈子氏
kintone連携スマホアプリの開発・配布体験_生形 可奈子氏kintone連携スマホアプリの開発・配布体験_生形 可奈子氏
kintone連携スマホアプリの開発・配布体験_生形 可奈子氏
kintone papers
 
Monacaでつくるハイブリッドアプリ
MonacaでつくるハイブリッドアプリMonacaでつくるハイブリッドアプリ
Monacaでつくるハイブリッドアプリ
Monaca
 
.NET の過去、現在、そして未来
.NET の過去、現在、そして未来.NET の過去、現在、そして未来
.NET の過去、現在、そして未来
Akira Inoue
 
HTML5ハイブリッド アプリ開発実践編
HTML5ハイブリッド アプリ開発実践編HTML5ハイブリッド アプリ開発実践編
HTML5ハイブリッド アプリ開発実践編Monaca
 
企画者が押さえておきたいHtml5アプリ開発の要点
企画者が押さえておきたいHtml5アプリ開発の要点企画者が押さえておきたいHtml5アプリ開発の要点
企画者が押さえておきたいHtml5アプリ開発の要点
Monaca
 
Oracle APEXユーザー会の紹介
Oracle APEXユーザー会の紹介Oracle APEXユーザー会の紹介
Oracle APEXユーザー会の紹介
Nakakoshi Yuji
 
ICT ERA+ABC 2012東北講演
ICT ERA+ABC 2012東北講演ICT ERA+ABC 2012東北講演
ICT ERA+ABC 2012東北講演Monaca
 
スマートフォンアプリケーション開発の最新動向
スマートフォンアプリケーション開発の最新動向スマートフォンアプリケーション開発の最新動向
スマートフォンアプリケーション開発の最新動向
Tsutomu Ogasawara
 
技術選択とアーキテクトの役割
技術選択とアーキテクトの役割技術選択とアーキテクトの役割
技術選択とアーキテクトの役割
Toru Yamaguchi
 
Firefox OS - Blaze Your Own Path
Firefox OS - Blaze Your Own PathFirefox OS - Blaze Your Own Path
Firefox OS - Blaze Your Own Pathdynamis
 
HTML5ハイブリッドアプリ開発のベストプラクティス
HTML5ハイブリッドアプリ開発のベストプラクティスHTML5ハイブリッドアプリ開発のベストプラクティス
HTML5ハイブリッドアプリ開発のベストプラクティス
アシアル株式会社
 
多対多のクラウド利用を支えるデータ標準化技術
多対多のクラウド利用を支えるデータ標準化技術 多対多のクラウド利用を支えるデータ標準化技術
多対多のクラウド利用を支えるデータ標準化技術
CData Software Japan
 
NSA NB委員会セミナー「モバイルアプリ開発業務におけるmonacaの活用」
NSA NB委員会セミナー「モバイルアプリ開発業務におけるmonacaの活用」NSA NB委員会セミナー「モバイルアプリ開発業務におけるmonacaの活用」
NSA NB委員会セミナー「モバイルアプリ開発業務におけるmonacaの活用」
アシアル株式会社
 
20161111 java one2016-feedback
20161111 java one2016-feedback20161111 java one2016-feedback
20161111 java one2016-feedback
Takashi Ito
 
デブサミ2014【13-D-2】成井弦氏 HTML5が創り出す新たな世界
デブサミ2014【13-D-2】成井弦氏 HTML5が創り出す新たな世界デブサミ2014【13-D-2】成井弦氏 HTML5が創り出す新たな世界
デブサミ2014【13-D-2】成井弦氏 HTML5が創り出す新たな世界
Developers Summit
 
Data API + AWS = (CMS どうでしょう 札幌編)
Data API + AWS =  (CMS どうでしょう 札幌編)Data API + AWS =  (CMS どうでしょう 札幌編)
Data API + AWS = (CMS どうでしょう 札幌編)
Yuji Takayama
 
Javaアプリケーションの モダナイゼーションアプローチ
Javaアプリケーションの モダナイゼーションアプローチJavaアプリケーションの モダナイゼーションアプローチ
Javaアプリケーションの モダナイゼーションアプローチ
CData Software Japan
 
Keycloak入門
Keycloak入門Keycloak入門
Keycloak入門
Hiroyuki Wada
 
C# を使い倒す!クロス プラットフォーム アプリ開発とクラウド連携の新潮流 - Xamarin セッション
C# を使い倒す!クロス プラットフォーム アプリ開発とクラウド連携の新潮流 - Xamarin セッションC# を使い倒す!クロス プラットフォーム アプリ開発とクラウド連携の新潮流 - Xamarin セッション
C# を使い倒す!クロス プラットフォーム アプリ開発とクラウド連携の新潮流 - Xamarin セッション
Yoshito Tabuchi
 
Monacaで簡単スマートフォンアプリ開発体験講座
Monacaで簡単スマートフォンアプリ開発体験講座Monacaで簡単スマートフォンアプリ開発体験講座
Monacaで簡単スマートフォンアプリ開発体験講座Monaca
 

Similar to クロスプラットフォーム開発を可能にするMonaca (20)

kintone連携スマホアプリの開発・配布体験_生形 可奈子氏
kintone連携スマホアプリの開発・配布体験_生形 可奈子氏kintone連携スマホアプリの開発・配布体験_生形 可奈子氏
kintone連携スマホアプリの開発・配布体験_生形 可奈子氏
 
Monacaでつくるハイブリッドアプリ
MonacaでつくるハイブリッドアプリMonacaでつくるハイブリッドアプリ
Monacaでつくるハイブリッドアプリ
 
.NET の過去、現在、そして未来
.NET の過去、現在、そして未来.NET の過去、現在、そして未来
.NET の過去、現在、そして未来
 
HTML5ハイブリッド アプリ開発実践編
HTML5ハイブリッド アプリ開発実践編HTML5ハイブリッド アプリ開発実践編
HTML5ハイブリッド アプリ開発実践編
 
企画者が押さえておきたいHtml5アプリ開発の要点
企画者が押さえておきたいHtml5アプリ開発の要点企画者が押さえておきたいHtml5アプリ開発の要点
企画者が押さえておきたいHtml5アプリ開発の要点
 
Oracle APEXユーザー会の紹介
Oracle APEXユーザー会の紹介Oracle APEXユーザー会の紹介
Oracle APEXユーザー会の紹介
 
ICT ERA+ABC 2012東北講演
ICT ERA+ABC 2012東北講演ICT ERA+ABC 2012東北講演
ICT ERA+ABC 2012東北講演
 
スマートフォンアプリケーション開発の最新動向
スマートフォンアプリケーション開発の最新動向スマートフォンアプリケーション開発の最新動向
スマートフォンアプリケーション開発の最新動向
 
技術選択とアーキテクトの役割
技術選択とアーキテクトの役割技術選択とアーキテクトの役割
技術選択とアーキテクトの役割
 
Firefox OS - Blaze Your Own Path
Firefox OS - Blaze Your Own PathFirefox OS - Blaze Your Own Path
Firefox OS - Blaze Your Own Path
 
HTML5ハイブリッドアプリ開発のベストプラクティス
HTML5ハイブリッドアプリ開発のベストプラクティスHTML5ハイブリッドアプリ開発のベストプラクティス
HTML5ハイブリッドアプリ開発のベストプラクティス
 
多対多のクラウド利用を支えるデータ標準化技術
多対多のクラウド利用を支えるデータ標準化技術 多対多のクラウド利用を支えるデータ標準化技術
多対多のクラウド利用を支えるデータ標準化技術
 
NSA NB委員会セミナー「モバイルアプリ開発業務におけるmonacaの活用」
NSA NB委員会セミナー「モバイルアプリ開発業務におけるmonacaの活用」NSA NB委員会セミナー「モバイルアプリ開発業務におけるmonacaの活用」
NSA NB委員会セミナー「モバイルアプリ開発業務におけるmonacaの活用」
 
20161111 java one2016-feedback
20161111 java one2016-feedback20161111 java one2016-feedback
20161111 java one2016-feedback
 
デブサミ2014【13-D-2】成井弦氏 HTML5が創り出す新たな世界
デブサミ2014【13-D-2】成井弦氏 HTML5が創り出す新たな世界デブサミ2014【13-D-2】成井弦氏 HTML5が創り出す新たな世界
デブサミ2014【13-D-2】成井弦氏 HTML5が創り出す新たな世界
 
Data API + AWS = (CMS どうでしょう 札幌編)
Data API + AWS =  (CMS どうでしょう 札幌編)Data API + AWS =  (CMS どうでしょう 札幌編)
Data API + AWS = (CMS どうでしょう 札幌編)
 
Javaアプリケーションの モダナイゼーションアプローチ
Javaアプリケーションの モダナイゼーションアプローチJavaアプリケーションの モダナイゼーションアプローチ
Javaアプリケーションの モダナイゼーションアプローチ
 
Keycloak入門
Keycloak入門Keycloak入門
Keycloak入門
 
C# を使い倒す!クロス プラットフォーム アプリ開発とクラウド連携の新潮流 - Xamarin セッション
C# を使い倒す!クロス プラットフォーム アプリ開発とクラウド連携の新潮流 - Xamarin セッションC# を使い倒す!クロス プラットフォーム アプリ開発とクラウド連携の新潮流 - Xamarin セッション
C# を使い倒す!クロス プラットフォーム アプリ開発とクラウド連携の新潮流 - Xamarin セッション
 
Monacaで簡単スマートフォンアプリ開発体験講座
Monacaで簡単スマートフォンアプリ開発体験講座Monacaで簡単スマートフォンアプリ開発体験講座
Monacaで簡単スマートフォンアプリ開発体験講座
 

More from Monaca

展示会出展を成功させるたった一つのこと
展示会出展を成功させるたった一つのこと展示会出展を成功させるたった一つのこと
展示会出展を成功させるたった一つのこと
Monaca
 
LT「料金プラン改定後のMonacaについて」
LT「料金プラン改定後のMonacaについて」LT「料金プラン改定後のMonacaについて」
LT「料金プラン改定後のMonacaについて」
Monaca
 
クロスプラットフォーム活用のポイント
クロスプラットフォーム活用のポイントクロスプラットフォーム活用のポイント
クロスプラットフォーム活用のポイント
Monaca
 
US Meetup Tour
US Meetup TourUS Meetup Tour
US Meetup Tour
Monaca
 
New things about Cordova 4.0
New things about Cordova 4.0New things about Cordova 4.0
New things about Cordova 4.0
Monaca
 
Cordova and PhoneGap Insights
Cordova and PhoneGap InsightsCordova and PhoneGap Insights
Cordova and PhoneGap Insights
Monaca
 
はやわかりHTML5ハイブリッドアプリ開発事情
はやわかりHTML5ハイブリッドアプリ開発事情 はやわかりHTML5ハイブリッドアプリ開発事情
はやわかりHTML5ハイブリッドアプリ開発事情 Monaca
 
Using PhoneGap to develop incredible HTML5 hybrid mobile apps
Using PhoneGap to develop incredible HTML5 hybrid mobile appsUsing PhoneGap to develop incredible HTML5 hybrid mobile apps
Using PhoneGap to develop incredible HTML5 hybrid mobile apps
Monaca
 
How to make Twitter app with PhoneGap/Cordova
How to make Twitter app with PhoneGap/CordovaHow to make Twitter app with PhoneGap/Cordova
How to make Twitter app with PhoneGap/Cordova
Monaca
 
HTML5ハイブリッド アプリ開発の実践〜開発現場ですぐに活かせるコツを伝授〜
HTML5ハイブリッド アプリ開発の実践〜開発現場ですぐに活かせるコツを伝授〜HTML5ハイブリッド アプリ開発の実践〜開発現場ですぐに活かせるコツを伝授〜
HTML5ハイブリッド アプリ開発の実践〜開発現場ですぐに活かせるコツを伝授〜Monaca
 
高いUXをハイブリッド開発で実現するためのポイント
高いUXをハイブリッド開発で実現するためのポイント高いUXをハイブリッド開発で実現するためのポイント
高いUXをハイブリッド開発で実現するためのポイント
Monaca
 
LODチャレンジデー オープンデータを利用したサンプルアプリ
LODチャレンジデー オープンデータを利用したサンプルアプリLODチャレンジデー オープンデータを利用したサンプルアプリ
LODチャレンジデー オープンデータを利用したサンプルアプリMonaca
 
第6回LODチャレンジデー Monaca紹介資料
第6回LODチャレンジデー Monaca紹介資料第6回LODチャレンジデー Monaca紹介資料
第6回LODチャレンジデー Monaca紹介資料
Monaca
 
Android Bazaar Conference講演資料「Onsen UIデビュー!」
Android Bazaar Conference講演資料「Onsen UIデビュー!」Android Bazaar Conference講演資料「Onsen UIデビュー!」
Android Bazaar Conference講演資料「Onsen UIデビュー!」
Monaca
 
Phone gap+javascriptスマホアプリ開発(入門編)
Phone gap+javascriptスマホアプリ開発(入門編)Phone gap+javascriptスマホアプリ開発(入門編)
Phone gap+javascriptスマホアプリ開発(入門編)
Monaca
 
ハイブリッドアプリ開発最前線から見たHtml5の理想と現実
ハイブリッドアプリ開発最前線から見たHtml5の理想と現実ハイブリッドアプリ開発最前線から見たHtml5の理想と現実
ハイブリッドアプリ開発最前線から見たHtml5の理想と現実
Monaca
 
事例で解説するハイブリッドアプリ開発のポイント
事例で解説するハイブリッドアプリ開発のポイント 事例で解説するハイブリッドアプリ開発のポイント
事例で解説するハイブリッドアプリ開発のポイント Monaca
 
HTML5 クロスプラットフォームアプリ開発の現実解
HTML5 クロスプラットフォームアプリ開発の現実解HTML5 クロスプラットフォームアプリ開発の現実解
HTML5 クロスプラットフォームアプリ開発の現実解Monaca
 
事例で学ぶHTML5スマフォアプリ開発セミナー
事例で学ぶHTML5スマフォアプリ開発セミナー事例で学ぶHTML5スマフォアプリ開発セミナー
事例で学ぶHTML5スマフォアプリ開発セミナーMonaca
 
PhoneGapユーザー会@大阪 講演資料
PhoneGapユーザー会@大阪 講演資料PhoneGapユーザー会@大阪 講演資料
PhoneGapユーザー会@大阪 講演資料
Monaca
 

More from Monaca (20)

展示会出展を成功させるたった一つのこと
展示会出展を成功させるたった一つのこと展示会出展を成功させるたった一つのこと
展示会出展を成功させるたった一つのこと
 
LT「料金プラン改定後のMonacaについて」
LT「料金プラン改定後のMonacaについて」LT「料金プラン改定後のMonacaについて」
LT「料金プラン改定後のMonacaについて」
 
クロスプラットフォーム活用のポイント
クロスプラットフォーム活用のポイントクロスプラットフォーム活用のポイント
クロスプラットフォーム活用のポイント
 
US Meetup Tour
US Meetup TourUS Meetup Tour
US Meetup Tour
 
New things about Cordova 4.0
New things about Cordova 4.0New things about Cordova 4.0
New things about Cordova 4.0
 
Cordova and PhoneGap Insights
Cordova and PhoneGap InsightsCordova and PhoneGap Insights
Cordova and PhoneGap Insights
 
はやわかりHTML5ハイブリッドアプリ開発事情
はやわかりHTML5ハイブリッドアプリ開発事情 はやわかりHTML5ハイブリッドアプリ開発事情
はやわかりHTML5ハイブリッドアプリ開発事情
 
Using PhoneGap to develop incredible HTML5 hybrid mobile apps
Using PhoneGap to develop incredible HTML5 hybrid mobile appsUsing PhoneGap to develop incredible HTML5 hybrid mobile apps
Using PhoneGap to develop incredible HTML5 hybrid mobile apps
 
How to make Twitter app with PhoneGap/Cordova
How to make Twitter app with PhoneGap/CordovaHow to make Twitter app with PhoneGap/Cordova
How to make Twitter app with PhoneGap/Cordova
 
HTML5ハイブリッド アプリ開発の実践〜開発現場ですぐに活かせるコツを伝授〜
HTML5ハイブリッド アプリ開発の実践〜開発現場ですぐに活かせるコツを伝授〜HTML5ハイブリッド アプリ開発の実践〜開発現場ですぐに活かせるコツを伝授〜
HTML5ハイブリッド アプリ開発の実践〜開発現場ですぐに活かせるコツを伝授〜
 
高いUXをハイブリッド開発で実現するためのポイント
高いUXをハイブリッド開発で実現するためのポイント高いUXをハイブリッド開発で実現するためのポイント
高いUXをハイブリッド開発で実現するためのポイント
 
LODチャレンジデー オープンデータを利用したサンプルアプリ
LODチャレンジデー オープンデータを利用したサンプルアプリLODチャレンジデー オープンデータを利用したサンプルアプリ
LODチャレンジデー オープンデータを利用したサンプルアプリ
 
第6回LODチャレンジデー Monaca紹介資料
第6回LODチャレンジデー Monaca紹介資料第6回LODチャレンジデー Monaca紹介資料
第6回LODチャレンジデー Monaca紹介資料
 
Android Bazaar Conference講演資料「Onsen UIデビュー!」
Android Bazaar Conference講演資料「Onsen UIデビュー!」Android Bazaar Conference講演資料「Onsen UIデビュー!」
Android Bazaar Conference講演資料「Onsen UIデビュー!」
 
Phone gap+javascriptスマホアプリ開発(入門編)
Phone gap+javascriptスマホアプリ開発(入門編)Phone gap+javascriptスマホアプリ開発(入門編)
Phone gap+javascriptスマホアプリ開発(入門編)
 
ハイブリッドアプリ開発最前線から見たHtml5の理想と現実
ハイブリッドアプリ開発最前線から見たHtml5の理想と現実ハイブリッドアプリ開発最前線から見たHtml5の理想と現実
ハイブリッドアプリ開発最前線から見たHtml5の理想と現実
 
事例で解説するハイブリッドアプリ開発のポイント
事例で解説するハイブリッドアプリ開発のポイント 事例で解説するハイブリッドアプリ開発のポイント
事例で解説するハイブリッドアプリ開発のポイント
 
HTML5 クロスプラットフォームアプリ開発の現実解
HTML5 クロスプラットフォームアプリ開発の現実解HTML5 クロスプラットフォームアプリ開発の現実解
HTML5 クロスプラットフォームアプリ開発の現実解
 
事例で学ぶHTML5スマフォアプリ開発セミナー
事例で学ぶHTML5スマフォアプリ開発セミナー事例で学ぶHTML5スマフォアプリ開発セミナー
事例で学ぶHTML5スマフォアプリ開発セミナー
 
PhoneGapユーザー会@大阪 講演資料
PhoneGapユーザー会@大阪 講演資料PhoneGapユーザー会@大阪 講演資料
PhoneGapユーザー会@大阪 講演資料
 

Recently uploaded

キンドリル ネットワークアセスメントサービスご紹介 今のネットワーク環境は大丈夫? 調査〜対策までご支援します
キンドリル ネットワークアセスメントサービスご紹介 今のネットワーク環境は大丈夫? 調査〜対策までご支援しますキンドリル ネットワークアセスメントサービスご紹介 今のネットワーク環境は大丈夫? 調査〜対策までご支援します
キンドリル ネットワークアセスメントサービスご紹介 今のネットワーク環境は大丈夫? 調査〜対策までご支援します
Takayuki Nakayama
 
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアルLoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
CRI Japan, Inc.
 
Humanoid Virtual Athletics Challenge2024 技術講習会 スライド
Humanoid Virtual Athletics Challenge2024 技術講習会 スライドHumanoid Virtual Athletics Challenge2024 技術講習会 スライド
Humanoid Virtual Athletics Challenge2024 技術講習会 スライド
tazaki1
 
論文紹介:Deep Learning-Based Human Pose Estimation: A Survey
論文紹介:Deep Learning-Based Human Pose Estimation: A Survey論文紹介:Deep Learning-Based Human Pose Estimation: A Survey
論文紹介:Deep Learning-Based Human Pose Estimation: A Survey
Toru Tamaki
 
Generating Automatic Feedback on UI Mockups with Large Language Models
Generating Automatic Feedback on UI Mockups with Large Language ModelsGenerating Automatic Feedback on UI Mockups with Large Language Models
Generating Automatic Feedback on UI Mockups with Large Language Models
harmonylab
 
ReonHata_便利の副作用に気づかせるための発想支援手法の評価---行為の増減の提示による気づきへの影響---
ReonHata_便利の副作用に気づかせるための発想支援手法の評価---行為の増減の提示による気づきへの影響---ReonHata_便利の副作用に気づかせるための発想支援手法の評価---行為の増減の提示による気づきへの影響---
ReonHata_便利の副作用に気づかせるための発想支援手法の評価---行為の増減の提示による気づきへの影響---
Matsushita Laboratory
 
「進化するアプリ イマ×ミライ ~生成AIアプリへ続く道と新時代のアプリとは~」Interop24Tokyo APPS JAPAN B1-01講演
「進化するアプリ イマ×ミライ ~生成AIアプリへ続く道と新時代のアプリとは~」Interop24Tokyo APPS JAPAN B1-01講演「進化するアプリ イマ×ミライ ~生成AIアプリへ続く道と新時代のアプリとは~」Interop24Tokyo APPS JAPAN B1-01講演
「進化するアプリ イマ×ミライ ~生成AIアプリへ続く道と新時代のアプリとは~」Interop24Tokyo APPS JAPAN B1-01講演
嶋 是一 (Yoshikazu SHIMA)
 
This is the company presentation material of RIZAP Technologies, Inc.
This is the company presentation material of RIZAP Technologies, Inc.This is the company presentation material of RIZAP Technologies, Inc.
This is the company presentation material of RIZAP Technologies, Inc.
chiefujita1
 
遺伝的アルゴリズムと知識蒸留による大規模言語モデル(LLM)の学習とハイパーパラメータ最適化
遺伝的アルゴリズムと知識蒸留による大規模言語モデル(LLM)の学習とハイパーパラメータ最適化遺伝的アルゴリズムと知識蒸留による大規模言語モデル(LLM)の学習とハイパーパラメータ最適化
遺伝的アルゴリズムと知識蒸留による大規模言語モデル(LLM)の学習とハイパーパラメータ最適化
t m
 
生成AIがもたらすコンテンツ経済圏の新時代  The New Era of Content Economy Brought by Generative AI
生成AIがもたらすコンテンツ経済圏の新時代  The New Era of Content Economy Brought by Generative AI生成AIがもたらすコンテンツ経済圏の新時代  The New Era of Content Economy Brought by Generative AI
生成AIがもたらすコンテンツ経済圏の新時代  The New Era of Content Economy Brought by Generative AI
Osaka University
 

Recently uploaded (10)

キンドリル ネットワークアセスメントサービスご紹介 今のネットワーク環境は大丈夫? 調査〜対策までご支援します
キンドリル ネットワークアセスメントサービスご紹介 今のネットワーク環境は大丈夫? 調査〜対策までご支援しますキンドリル ネットワークアセスメントサービスご紹介 今のネットワーク環境は大丈夫? 調査〜対策までご支援します
キンドリル ネットワークアセスメントサービスご紹介 今のネットワーク環境は大丈夫? 調査〜対策までご支援します
 
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアルLoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
 
Humanoid Virtual Athletics Challenge2024 技術講習会 スライド
Humanoid Virtual Athletics Challenge2024 技術講習会 スライドHumanoid Virtual Athletics Challenge2024 技術講習会 スライド
Humanoid Virtual Athletics Challenge2024 技術講習会 スライド
 
論文紹介:Deep Learning-Based Human Pose Estimation: A Survey
論文紹介:Deep Learning-Based Human Pose Estimation: A Survey論文紹介:Deep Learning-Based Human Pose Estimation: A Survey
論文紹介:Deep Learning-Based Human Pose Estimation: A Survey
 
Generating Automatic Feedback on UI Mockups with Large Language Models
Generating Automatic Feedback on UI Mockups with Large Language ModelsGenerating Automatic Feedback on UI Mockups with Large Language Models
Generating Automatic Feedback on UI Mockups with Large Language Models
 
ReonHata_便利の副作用に気づかせるための発想支援手法の評価---行為の増減の提示による気づきへの影響---
ReonHata_便利の副作用に気づかせるための発想支援手法の評価---行為の増減の提示による気づきへの影響---ReonHata_便利の副作用に気づかせるための発想支援手法の評価---行為の増減の提示による気づきへの影響---
ReonHata_便利の副作用に気づかせるための発想支援手法の評価---行為の増減の提示による気づきへの影響---
 
「進化するアプリ イマ×ミライ ~生成AIアプリへ続く道と新時代のアプリとは~」Interop24Tokyo APPS JAPAN B1-01講演
「進化するアプリ イマ×ミライ ~生成AIアプリへ続く道と新時代のアプリとは~」Interop24Tokyo APPS JAPAN B1-01講演「進化するアプリ イマ×ミライ ~生成AIアプリへ続く道と新時代のアプリとは~」Interop24Tokyo APPS JAPAN B1-01講演
「進化するアプリ イマ×ミライ ~生成AIアプリへ続く道と新時代のアプリとは~」Interop24Tokyo APPS JAPAN B1-01講演
 
This is the company presentation material of RIZAP Technologies, Inc.
This is the company presentation material of RIZAP Technologies, Inc.This is the company presentation material of RIZAP Technologies, Inc.
This is the company presentation material of RIZAP Technologies, Inc.
 
遺伝的アルゴリズムと知識蒸留による大規模言語モデル(LLM)の学習とハイパーパラメータ最適化
遺伝的アルゴリズムと知識蒸留による大規模言語モデル(LLM)の学習とハイパーパラメータ最適化遺伝的アルゴリズムと知識蒸留による大規模言語モデル(LLM)の学習とハイパーパラメータ最適化
遺伝的アルゴリズムと知識蒸留による大規模言語モデル(LLM)の学習とハイパーパラメータ最適化
 
生成AIがもたらすコンテンツ経済圏の新時代  The New Era of Content Economy Brought by Generative AI
生成AIがもたらすコンテンツ経済圏の新時代  The New Era of Content Economy Brought by Generative AI生成AIがもたらすコンテンツ経済圏の新時代  The New Era of Content Economy Brought by Generative AI
生成AIがもたらすコンテンツ経済圏の新時代  The New Era of Content Economy Brought by Generative AI
 

クロスプラットフォーム開発を可能にするMonaca

  • 1. 1URL : http://ja.monaca.io/ Copyright © Asial Corporation. All Right Reserved. クロスプラットフォーム開発を可能にする Monacaとそのセキュリティ対策 アシアル株式会社 代表取締役 田中正裕 masahiro@asial.co.jp 2018年4月23日
  • 2. 2URL : http://ja.monaca.io/ Copyright © Asial Corporation. All Right Reserved. アシアル株式会社 会社概要 • 創業:2002年 • 資本金:1000万円 • 事業所:東京(本社)、サンフランシスコ • 従業員数:約50名(8国籍) 事業内容 • 開発プラットフォーム事業:開発ツール、UIフレームワーク • 開発支援事業:アプリ開発、サーバーサイド(PHP)開発 • 教育事業:トレーニング、執筆
  • 3. 3URL : http://ja.monaca.io/ Copyright © Asial Corporation. All Right Reserved. バックエンドからフロントエンドまで フルスタック開発を得意としています
  • 4. 4URL : http://ja.monaca.io/ Copyright © Asial Corporation. All Right Reserved. Monacaの紹介
  • 5. 5URL : http://ja.monaca.io/ Copyright © Asial Corporation. All Right Reserved. モバイルアプリ開発基盤 Monaca HTML5、JavaScript でアプリ開発 セットアップ不要の クラウド開発環境 UIフレームワーク Onsen UI搭載 安心の日本語サポート
  • 6. 6URL : http://ja.monaca.io/ Copyright © Asial Corporation. All Right Reserved. iOS & Android向けのアプリを同時開発 • Web標準技術でモバイルアプリ開発 • モバイルアプリ開発の未経験者に最適 • 既存のWeb開発チームがアプリ開発チームに • アプリの運用コストを劇的に低減 • ネイティブ機能を使ったアプリ開発も可能
  • 7. 7URL : http://ja.monaca.io/ Copyright © Asial Corporation. All Right Reserved. JavaScriptの世界が広がっていく Stack Overflow Survey 2017 Stack Overflow Survey 2013 “It’s Official: JavaScript Is The Most Commonly Used Programming Language On Earth.” - Daniel Rowinski, Editor-in-Chief at ARC ※ StackOverflow: 850万人の登録ユーザー、1500万件の 質問と回答を抱える、世界最大の開発者コミュニティ
  • 8. 8URL : http://ja.monaca.io/ Copyright © Asial Corporation. All Right Reserved. 高いUI/UXを表現するUIコンポーネント群 • 様々なモバイルUIの部品をiOSと Android向けに提供 • 端末のOSにあわせて自動的にデザイ ンを適用 • 同じソースコードでクロスプラット フォームUIを実現 • Angular、React、Vue、jQueryなど 各種フレームワークに対応
  • 9. 9URL : http://ja.monaca.io/ Copyright © Asial Corporation. All Right Reserved. Monacaは “プラットフォーム“ Monacaクラウド WebベースのIDE デバッガー 好きなIDE/エディタ プロジェクト管理 コード管理 リモートビルド mBaaS
  • 10. 10URL : http://ja.monaca.io/ Copyright © Asial Corporation. All Right Reserved. 日本で最も普及しているアプリ開発基盤 20万人
  • 11. 11URL : http://ja.monaca.io/ Copyright © Asial Corporation. All Right Reserved. WindowsでもiOSアプリ開発
  • 12. 12URL : http://ja.monaca.io/ Copyright © Asial Corporation. All Right Reserved. ハイブリッドアプリケーション
  • 13. 13URL : http://ja.monaca.io/ Copyright © Asial Corporation. All Right Reserved. ハイブリッドアプリ Web技術でネイティブアプリを開発するためのフレームワーク 【特徴】 ・プッシュ通知 ・オフライン対応 ・デバイスAPI、ネイティブAPIへのアクセス ・アプリストアでの販売、ストア課金
  • 14. 14URL : http://ja.monaca.io/ Copyright © Asial Corporation. All Right Reserved. HTML5+ネイティブ ネイティブコード HTML コンテンツ アプリ本体はHTML5で実装 ネイティブアプリ形式で配布 ハードウェア機能を利用可能 プラグインでネイティブ機能を拡張
  • 15. 15URL : http://ja.monaca.io/ Copyright © Asial Corporation. All Right Reserved. Cross Platformツールのシェア 61% 35% 31% 18% 15% 13% 12% 9% 4% 3% 0% 10% 20% 30% 40% 50% 60% 70% PhoneGap/Cordova Xamarin Unity Qt Adobe Air Appcelerator Corona Marmelade Codename One Live Code Using this tool Prioritize this tool Vision Mobile Analysis of Cross-Platform Development, July 2015
  • 16. 16URL : http://ja.monaca.io/ Copyright © Asial Corporation. All Right Reserved. 業界標準のフレームワーク
  • 17. 17URL : http://ja.monaca.io/ Copyright © Asial Corporation. All Right Reserved. Cordovaフレームワーク(iOS/Android) コ ー ル バ ッ ク HTML5 CSS JavaScript WebView ネ イ テ ィ ブ ロ ジ ッ ク アプリケーションパッケージ ネ イ テ ィ ブ A P I Android iOS
  • 18. 18URL : http://ja.monaca.io/ Copyright © Asial Corporation. All Right Reserved. Cordovaフレームワーク(Windows) HTML5 CSS JavaScript Chakra + EdgeHTML アプリケーションパッケージ ラ ン タ イ ム A P I Windows ランタイム (WinRT)
  • 19. 19URL : http://ja.monaca.io/ Copyright © Asial Corporation. All Right Reserved. ハイブリッドアプリのセキュリティ
  • 20. 20URL : http://ja.monaca.io/ Copyright © Asial Corporation. All Right Reserved. '2016 OWASP Mobile Top 10 Improper Platform Usage OS機能やセキュリティの仕組みの誤用。Androidインテントやパーミッションの間違い、Keychainの 誤用など。 Insecure Data Storage 安全でないデータ領域の使用や意図しないデータ漏洩など。 Insecure Communication ハンドシェイクの間違いや古いSSLバージョンの使用、暗号化されていない通信など。 Insecure Authentication 認証処理の不備やセッション管理の問題など。 Insufficient Cryptography 保護されるべきデータに対して、不完全な暗号を使用。 Insecure Authorization 認可処理の不備。クライアントサイドでの認可処理や、強制ブラウジングなど。 Client Code Quality コードレベルの実装問題。バッファオーバーフローや文字列処理の間違いなど。 Code Tampering バイナリファイルの改ざんやリソースファイルの変更、動的なメモリの改ざんなど。 Reverse Engineering バイナリファイルからのソースコード復元、使用ライブラリやアルゴリズムの抽出など。 Extraneous Functionality 隠しバックドアの存在や、リリースアプリに含まれてはいけないコメントの混入など。
  • 21. 21URL : http://ja.monaca.io/ Copyright © Asial Corporation. All Right Reserved. ハイブリッドアプリのセキュリティ懸念 ネットワーク通信 WebViewから(ページの読み込み、XHRでのAjax) ネイティブから(Android/iOS) WebView ブラウザエンジンの脆弱性 Cordova本体 Cordovaの脆弱性 プラグイン プラグインの脆弱性 リバースエンジニアリング ロジックの漏洩やコードの改ざん ソースコード ソースコードの脆弱性 Cordova アプリケーションパッケージ ネイティブ言語 による実装 JavaScriptによる実装 WebView ブラウザエン ジンの脆弱性 ネットワーク 通信 リバースエン ジニアリング プラグイン 実装 プラグイン
  • 22. 22URL : http://ja.monaca.io/ Copyright © Asial Corporation. All Right Reserved. Same-Origin Policy Cordovaが標準的に使用するiOSのUIWebViewやAndroidのWebViewはfile://プロ トコルがOriginとなっておりSame-Origin Policyは適用されない。よっ て、Content-Security Policyの指定が必要となる。 ただし、iOS 9 + Cordova iOS 4.0から利用できる「WKWebView」を用いる 場合、WebViewの不具合からSame-Origin Policyが適用されるため、サー バー側にCORSヘッダーを付与する必要がある。 ネットワーク通信に対するセキュリティモデル
  • 23. 23URL : http://ja.monaca.io/ Copyright © Asial Corporation. All Right Reserved. Access OriginとAllow Navigation Access Origin 設定ファイル(config.xml)にて記述する。初期バージョンより存在。 デフォルトは * (すべて許可)なので注意が必要。<video>タグやWebSocket等は制限されないた Security Policyの利用が推奨される。 Allow Navigation Cordova iOS/Android 4.0以上に導入されたセキュリティモデル。Androidはcordova-plugin-whitelist フォルトで組み込み済)。WebViewで遷移可能なページを制限する。 デフォルトはfile://から開始される(端末内に存在する)URLにナビゲーションを許可する。 <access origin="http://example.com" /> <access origin="*" /> <allow-navigation href="http://example.com/*" /> ネットワーク通信に対するセキュリティモデル
  • 24. 24URL : http://ja.monaca.io/ Copyright © Asial Corporation. All Right Reserved. Content Security Policy HTML内に<meta>タグを用いて記述する。KitKat(Android 4.4)以降、およびiOS 7以降で対応。 <meta http-equiv="Content-Security-Policy" content="default-src 'self' data: gap: https://ssl.gstatic.com; style-src 'self' 'unsafe- inline'; media-src *"> • gap://プロトコル(iOSのUIWebView)およびhttps://ssl.gstatic.com(Androidで必要)を許可。 • eval()関数やインラインスクリプトを禁止。 <meta http-equiv="Content-Security-Policy" content="default-src *; style-src 'self' 'unsafe-inline'; script-src 'self' 'unsafe-inline' 'unsafe-eval'"> • CSSとJavaScriptは同じオリジンのものを許可。 • eval()関数とインラインスクリプトも許可。 ネットワーク通信に対するセキュリティモデル
  • 25. 25URL : http://ja.monaca.io/ Copyright © Asial Corporation. All Right Reserved. iOS Application Transport Security (ATS) iOSの持つセキュリティ基準で、iOS 11より必須に。ATSが有効の場合HTTP通信は許可されず、TLS 1.2以上が必須。 Cordovaでは<access>要素もしくは<allow-navigation>要素を指定すると、ATS設定を記述するInfo.plistファイルが上書 きされ、設定が適用される。 下記のように<access>要素が拡張された。 <access origin='*' allows-arbitrary-loads-in-media='true' allows-arbitrary-loads-in-web-content='true' allows-local- networking='true' /> allows-arbitrary-loads-in-media • trueの場合、AV Foundation Framework経由で読み込むメディアに対して接続制限が解除される。 allows-arbitrary-loads-in-web-content • trueの場合、WebViewから行われるリクエストに対して接続制限が解除される。 allows-local-networking • trueの場合、ローカルネットワークにあるリソースに対して接続制限が解除される。 ネットワーク通信に対するセキュリティモデル
  • 26. 26URL : http://ja.monaca.io/ Copyright © Asial Corporation. All Right Reserved. WebViewの脆弱性
  • 27. 27URL : http://ja.monaca.io/ Copyright © Asial Corporation. All Right Reserved. ブラウザ脆弱性 Android https://developer.android.com/about/dashboards/ バージョン ブラウザ 世界シェア 4.3以前 WebKit 6% 4.4 (KitKat) Blink (Chrome) 10% 5.0以降 Evergreen Chrome 84% Android 5以降は常に最新のChromeエンジン に更新されるため、機種依存は発生しない iOS 2018年1月18日現在 https://developer.apple.com/support/app-store/ OSが常に自動更新を行うことから、ユーザー は常に最新2世代のOSを使い続ける傾向にある。 バージョン依存は発生しづらい状況にある。 2018年4月16日
  • 28. 28URL : http://ja.monaca.io/ Copyright © Asial Corporation. All Right Reserved. Cordova/プラグインの脆弱性
  • 29. 29URL : http://ja.monaca.io/ Copyright © Asial Corporation. All Right Reserved. Cordovaに関する脆弱性の報告 CVE-2015-5208 Apache Cordova iOS before 4.0.0 allows remote attackers to execute arbitrary plugins via a link. CVE-2015-5207 Apache Cordova iOS before 4.0.0 might allow attackers to bypass a URL whitelist protection mechanism in an app and load arbitrary resources by leveraging unspecified methods. CVE-2015-5204 CRLF injection vulnerability in the Apache Cordova File Transfer Plugin (cordova-plugin-file-transfer) for Android before 1.3.0 allows remote attackers to inject arbitrary headers via CRLF sequences in the filename of an uploaded file. CVE-2015-8320 Apache Cordova-Android before 3.7.0 improperly generates random values for BridgeSecret data, which makes it easier for attackers to conduct bridge hijacking attacks by predicting a value. CVE-2015-5256 Apache Cordova-Android before 4.1.0, when an application relies on a remote server, improperly implements a JavaScript whitelist protection mechanism, which allows attackers to bypass intended access restrictions via a crafted URI. Cordova/プラグインの脆弱性
  • 30. 30URL : http://ja.monaca.io/ Copyright © Asial Corporation. All Right Reserved. Google Play Storeでの対応 脆弱性のあるCordovaが用いられている場合、Google Play Storeにて公開停止が行わ れる。 Google Play Storeでの説明記事 https://support.google.com/faqs/answer/6325474?hl=ja 現在はCordova Android 4.1.1以前で作られ たパッケージはアップロード不可。 Cordovaの脆弱性が発生すると今後も対応 が必要になる。メンテナンス体制を整えて おく必要がある。 Cordova/プラグインの脆弱性
  • 31. 31URL : http://ja.monaca.io/ Copyright © Asial Corporation. All Right Reserved. リバースエンジニアリング ハイブリッドアプリのアセットファイル(HTML/JavaScript等)はネイティブコードにコンパイル されず、ソースコードの状態で端末内に格納される。無用な記述を削除するため、コメント の削除や難読化(最適化)を実施することが望ましい。 より進んだ対策としては、ビルド時に暗号化を行い実行時に復号する、サードパーティ製の 暗号化プラグインを使用する。復号に使うキーは、リモートサーバー等の安全な場所から取 り出す必要がある。 Monaca Enterpriseでは アセットを暗号化できる https://ja.monaca.io/enterprise.html Cordova/プラグインの脆弱性
  • 32. 32URL : http://ja.monaca.io/ Copyright © Asial Corporation. All Right Reserved. 不要なプラグインの除去 Cordova向けアプリテンプレートの多くが、Cordova Core Pluginsと呼ばれる基本プラグインをすべて同 梱している。実際には使用していないコードが含まれてしまい、脆弱性の温床になる可能性 がある。 Mohamed Shehab et. al, Reducing Attack Surface on Cordova-Based Hybrid Mobile Apps, MobileDeLi 2014 PhoneGapのWebサイトに掲載されていた622 件のアプリに対しての調査(2014年)では、 プラグインの組み込みと実際の利用に大きな 開きが見られている。 Cordova/プラグインの脆弱性
  • 33. 33URL : http://ja.monaca.io/ Copyright © Asial Corporation. All Right Reserved. セキュアコーディング
  • 34. 34URL : http://ja.monaca.io/ Copyright © Asial Corporation. All Right Reserved. コーデイングの指針 Cordovaアプリの大半はSPA型であり、モバイルWebサイトと比べてもJavaScriptのウェイトが高 い。セキュアコーディング対策としてはHTML5向けのプラクティスを適用できる。 • ユーザー入力データのバリデーション • 適切なエスケープ処理 • JavaScriptインジェクションの回避 • APIキーの適切な管理 セキュアコーディング
  • 35. 35URL : http://ja.monaca.io/ Copyright © Asial Corporation. All Right Reserved. エスケープ処理 コンテキストに応じたエスケープ処理が必要であるが、適切な記述を行うのは困難。 SPAフレームワークやテンプレートエンジンの採用が望ましい。 <div onmouseover="${data1}">${data2}</div> <a href="${data3}">link</a> <iframe srcdoc="${data4}"></iframe> 下記の例ではすべての変数に別のエスケープ処理が必要 バインディングをサポートするフレームワーク やライブラリ 2-Way Bindingを持つもの • Angular 1 • Angular 2 1-Way Bindingを持つもの • React テンプレートエンジン • Handlebars • Mustache エスケープ処理を自前で実装するのは困難であるた め、フレームワークを採用することが望ましい。 セキュアコーディング
  • 36. 36URL : http://ja.monaca.io/ Copyright © Asial Corporation. All Right Reserved. まとめ
  • 37. 37URL : http://ja.monaca.io/ Copyright © Asial Corporation. All Right Reserved. ハイブリッドアプリのセキュリティ懸念 ネットワーク通信 WebViewから(ページの読み込み、XHRでのAjax) ネイティブから(Android/iOS) WebView ブラウザエンジンの脆弱性 Cordova本体 Cordovaの脆弱性 プラグイン プラグインの脆弱性 リバースエンジニアリング ロジックの漏洩やコードの改ざん ソースコード ソースコードの脆弱性 Cordova アプリケーションパッケージ ネイティブ言語 による実装 JavaScriptによる実装 WebView ブラウザエン ジンの脆弱性 ネットワーク 通信 リバースエン ジニアリング プラグイン 実装 プラグイン
  • 38. 38URL : http://ja.monaca.io/ Copyright © Asial Corporation. All Right Reserved. 脆弱性とその対策 脆弱性 • OS、WebView → OSのアップデート • Cordovaの脆弱性 → Cordovaのアップデート • プラグインの脆弱性 → 最新のプラグインの利用 • アプリケーションの脆弱性 → セキュアコーディング 対策 • 安全なネットワーク通信(SSLの利用) • OSの持つセキュアな領域の使用 • ソースコードの暗号化
  • 39. 39URL : http://ja.monaca.io/ Copyright © Asial Corporation. All Right Reserved. ありがとうございました 問い合わせ先: アシアル株式会社 田中正裕 masahiro@asial.co.jp