Copyright Ⓒ KobeDigital Labo , Inc. All rights Reserved 1
自己紹介
株式会社 神戸デジタル・ラボ
ソリューション本部 副本部⾧ 兼
スマートビジネスセクション 部⾧
柏原 健(かしはら けん)
・業務系システム開発の責任者
・アパレル系が得意
・スマホアプリの開発をするならハイブリットと社内で普及中
3.
Copyright Ⓒ KobeDigital Labo , Inc. All rights Reserved 2
いわゆる、システム開発会社
セキュリティなどもやってる
このあたりで
ハイブリットアプリの開発も実施
どんな会社
4.
Copyright Ⓒ KobeDigital Labo , Inc. All rights Reserved 3
今回の内容
弊社では、セキュア開発をすすめています。
もちろん、ハイブリットアプリに対しても
セキュリティを考慮する必要があり、各種
取組を実施していってます。
今回は、その取組内容をご紹介いたします。
5.
Copyright Ⓒ KobeDigital Labo , Inc. All rights Reserved 4
一般的な開発プロセス
05030201 04
要件定義 設計 開発 テスト 運用
セキュリティを担保しろといわれたら?
出荷基準としてセキュリティを担保する。
KDLでも、全ての納品システムの出荷基準として
脆弱性診断を実施しています!
6.
Copyright Ⓒ KobeDigital Labo , Inc. All rights Reserved 5
ぶっちゃけ 大変じゃないの?
「ハイブリットアプリ開発メンバーより」
・診断してたら、アップルの審査に間に合わないじゃん!
・開発コストより診断コストの方が高いんじゃないの?
(弊社では、マニュアル診断を基本としています。)
・ハイブリッドなんだから診断しなくて大丈夫ですよw!
・脆弱性の指摘が山ほどでました、、、
・診断チームと日程調整が合いません。
7.
Copyright Ⓒ KobeDigital Labo , Inc. All rights Reserved 6
ぶっちゃけ 大変じゃないの?
必要性は理解できても、やっぱり大変。
コスト 手戻り
ようするに
今までの開発行程よりやること増えることで
新たな問題も発生する
スケジュール
8.
Copyright Ⓒ KobeDigital Labo , Inc. All rights Reserved 7
じゃぁどうする?
スマホアプリの脆弱性診断はやらない!
じつは、あり!?
業務システムなど特定の条件下では、
脆弱性診断をしない場合も結構あります。
KDLでもお客様と書面で合意をとり、診断をしない場合もあります。
出荷基準としての脆弱性診断をするのは大変!
脆弱性診断も必要
やっぱり基本は、
9.
Copyright Ⓒ KobeDigital Labo , Inc. All rights Reserved 8
じゃぁどうする?
自分たち(開発者)でやれば良くない?!
開発段階から自分たちでチェックできれば・・・
スケジュール・コストも調整しやすいのでは
ということで
出荷基準としての脆弱性診断をするのは大変!
10.
Copyright Ⓒ KobeDigital Labo , Inc. All rights Reserved 9
Secure Coding Checker を使ってみる!
APKファイルをアップするだけ
開発時から何度でもチェック可
超~簡単
Webベースでセキュリティチェックしてくれる
修正方法が確認しやすい
11.
Copyright Ⓒ KobeDigital Labo , Inc. All rights Reserved 10
Secure Coding Checker を使ってみる!
赤いアイコンがいっぱい・・・
(ドキッとして、げんなり)
早速チェックすると・・・
12.
Copyright Ⓒ KobeDigital Labo , Inc. All rights Reserved 11
ハイブリットアプリの構成をおさらい
HTML
コンテンツ
OS API
ネイティブコード
コルドバとか
ネイティブ部分
HTMLやJavaScriptを使う、
業務ロジック部分
検査ではわかりにくい部分も結構大事
このあたりで結構違反がでる
このあたりは注意がでる注意でも実際ここが大事
業務ロジック部分に
脆弱性が埋もれてる
可能性あり
!
違反が出てても
問題ないところもある
!
13.
Copyright Ⓒ KobeDigital Labo , Inc. All rights Reserved 12
よく提案するハイブリットアプリ構成
会員管理
セッション管理
コンテンツ管理
HTML
コンテンツ
ネイティブコード
商品管理
決済管理店舗管理
まわりのシステムとの連携部分も重要
(通信の暗号化、認証方法、個人情報の扱い)
各システムとのデータ連携
14.
Copyright Ⓒ KobeDigital Labo , Inc. All rights Reserved 13
Secure Coding Checker を使ってみる!
・開発PFやチェックツールを使えばセキュアになるわけではない
100%
・ハイブリッドアプリの特性を理解すること
・アプリの要件によって、HTMLとJavaScript部分が重要
・まわりのシステムにお願いすることもある
わかったこと
・お客様にお願い(合意)することも大事
15.
Copyright Ⓒ KobeDigital Labo , Inc. All rights Reserved 14
セキュア開発って?
05030201 04
要件定義 設計 開発 テスト 運用
開発やテスト段階でのセキュリティ考慮が大事
設計や要件定義段階でのセキュリティ考慮が重要
だけでなく
SHIFT LEFT
16.
Copyright Ⓒ KobeDigital Labo , Inc. All rights Reserved 15
セキュア開発って?
05030201 04
要件定義 設計 開発 テスト 運用
OWASPアプリケーションセキュリティ検証標準(3.0.1)
に基づいてセキュリティ要件を策定し、設計に反映
要件定義~設計
・セキュアなフレームワークを利用してWEBアプリケーションを開発
・コーディングチェッカーを導入し、コーディング時に脆弱性を排除
開発
全納品物に対して『OWASP TOP 10』
を基準とした脆弱性診断を実施
テスト
脆弱性対策、バージョン管理、防御、監視、
事故対応で、「セキュリティ運用」をサポート
運用
各開発プロセスに対してセキュリティを考慮しています。
17.
Copyright Ⓒ KobeDigital Labo , Inc. All rights Reserved 16
Monacaを利用した開発事例
アパレルブランドアプリ
(パシオス)
アパレルブランド情報アプリ
ブランドやアイテムの最新情報や
クーポンの通知が可能。
チラシの情報表示も可能
あまりセキュリティ要件としては
厳しくなくコンテンツを表示するのみ
18.
Copyright Ⓒ KobeDigital Labo , Inc. All rights Reserved 17
Monacaを利用した開発事例
アパレルブランドアプリ
(Arpege story)
〇〇 〇〇
アパレルブランド情報アプリ
ブランドやアイテムの最新情報や
クーポンの通知が可能。
また、ログインすることでポイント
も管理することができる会員証アプ
リとして利用可能。
ログインすることで氏名・ポイントを
アプリ側に連携し表示。
APIで認証をしてトークを発行したり、
SSLで通信をしたり連携通信まわりで
セキュリティを考慮。
19.
Copyright Ⓒ KobeDigital Labo , Inc. All rights Reserved 18
Monacaを利用した開発事例
アパレルブランドアプリ
(1er Arrondissement)
〇〇 〇〇
アパレルブランド情報アプリ
ブランドやアイテムの最新情報や
クーポンの通知が可能。
また、ログインすることでポイント
も管理することができる会員証アプ
リとして利用可能。
ログインすることで氏名・ポイントを
アプリ側に連携し表示。
APIで認証をしてトークを発行したり、
SSLで通信をしたり連携通信まわりで
セキュリティを考慮。
20.
Copyright Ⓒ KobeDigital Labo , Inc. All rights Reserved 19
Monacaを利用した開発事例
アパレルブランドアプリ
(feerique)
アパレルブランド情報アプリ
ブランドやアイテムの最新情報や
クーポンの通知が可能。
また、ログインすることでポイント
も管理することができる会員証アプ
リとして利用可能。
ログインすることで氏名・ポイントを
アプリ側に連携し表示。
APIで認証をしてトークを発行したり、
SSLで通信をしたり連携通信まわりで
セキュリティを考慮。
21.
Copyright Ⓒ KobeDigital Labo , Inc. All rights Reserved 20
Monacaを利用した開発事例
パティシエ向け情報アプリ
(日仏商事)
パティシエとパン職人向けの情報配信
アプリ
アンケート結果がリアルに共有される
ことで最新のトレンドをキャッチ可能。
会員管理もしたいという要望だったが
目的的にはアンケートの集計で傾向を
みたいというものだったので、ニック
ネームや性別といった属性にとどめる
ことで、セキュリティリスクを低減
22.
Copyright Ⓒ KobeDigital Labo , Inc. All rights Reserved 21
Monacaを利用した開発事例
業務
アプリ
アパレル展示会アプリ
〇〇〇(〇〇〇)様 〇〇〇(〇〇〇)様
アパレル展示会場での受注アプリ
NFCリストバンドで展示会場の
端末(iPad)にログインをする事で
スムーズな受注が可能。
アプリやネットワークもイントラ内
の仕組みのためインフラまわりで
セキュリティを考慮
23.
Copyright Ⓒ KobeDigital Labo , Inc. All rights Reserved 22
Monacaを利用した開発事例
スーツ専門店会員アプリ
スーツ専門店会員アプリ
会員情報やポイント情報の連携あり。
スーツの仕上がり情報をプッシュ通
知することで会員とのコミュニケー
ションができる。
精度の高い会員情報をとる必要があり
会員登録ルートの整理を実施。
ユーザーがアプリから登録するのでは
なく、スタッフが店舗システムから登
録した情報をアプリに表示。
通信はVPNで実施。
24.
Copyright Ⓒ KobeDigital Labo , Inc. All rights Reserved
MonacaやSCCなどを利用しながら
セキュア開発を進めていきましょう!