昨今、スマートフォンアプリのセキュリティインシデントが増加の一途を辿っており、セキュリティ強化はアプリ開発者にとっての急務となっています。

アプリのセキュリティリスクを把握するには、専門家によるチェックを受けるのが確実です。先日、MonacaではAndroidアプリ脆弱性検査ツール「Secure Coding Checker」との連携を開始しました。Secure Coding Checkerを利用すると、Androidアプリをごく簡単な操作で検査し、現状の問題点や改善策を確認することができます。

セキュリティチェックはビルド完了の画面から

Androidアプリのビルド完了画面の下の方に、Secure Coding Checkerボタンが追加されました。

このボタンをクリックするだけでセキュリティチェックが開始されます。

結果は次のように表示されます。

無償版では下記の検査項目が確認できます。

検査項目 判定内容
Cordovaのバージョン Cordova Androidのバージョンが4.1.1未満の場合、「違反」と判定
Crosswalkを使う minSdkVersionが19未満かつCrosswalkプラグインを未使用の場合、「注意」と判定
Content Security Policy minSdkVersionが19以上またはCrosswalkプラグインを使用の場合、Cordova CLI TemplateのCSP定義と異なるHTMLファイルを列挙し、「注意」と判定
Whitelists config.xmlのaccess origin, allow-intent href, allow-navigation hrefを表示し、これらが適切かをユーザーに質問し、適切でないと回答した場合、「注意」と判定

最近開発されたアプリであれば minSdkVersion は19以上である場合が多いはずですので、Content Security PolicyとWhitelistsのチェックがメインになるかと思います。

Secure Coding Checkerについて

Secure Coding Checkerの検査基準は、一般社団法人日本スマートフォンセキュリティ協会(JSSEC)の出しているAndroidアプリのセキュア設計・セキュアコーディングガイドに100%準拠しています。執筆時点の最新版である2017年2月1日版はPDFで471ページに渡る文書になっており、すべてを読み解き正しい判断を下すには相当な工数がかかるでしょう。特にサードパーティ製のCordovaプラグインを解析し適切なセキュリティチェックを行うのは難しいと言えます。Secure Coding Checkerを使えば、これらの工数を削減し手軽に外部評価を受けられます。

Secure Coding Checkerはアプリ数に応じた料金体系となっているので、何度も繰り返し検査を行うことができます。開発段階から都度検査を行うことで、リリース直前になって発覚した問題による手戻りの発生を防げるようになります。また、Web APIが公開されているのでCIとの連携も容易で、セキュリティチェックの自動化も行えます。


無償版のSecure Coding Checkerには機能制限があるため、より詳細なセキュリティチェックを受けたい場合には有償版の利用を推奨しています。とはいえ、まずは試してみないことにはわからないと思いますので、Androidアプリのビルドを行った際にはぜひSecure Coding Checkerを実行してみてください。