日本スマートフォンセキュリティ協会
はじめに
2023年3月2日、JSSEC 技術部会 マルウエア対策WGより「モバイルアプリケーション開発 10大チェックポイント 2023」を発表いたしました。
こちらは、スマートフォンアプリケーションを開発する際に念頭に置きたいチェックポイントを10個選出した啓発文書となっています。
本記事では、本チェックポイントを選定するにあたっての裏話をご紹介したいと思います。
始まりは2021年末
筆者は当時、(株)SHIFT SECURITYにて、スマートフォン脆弱性診断の技術担当として業務にあたっていました。その際、セキュリティに関する国際標準化団体であるOWASPが作成した各種文書をしばしば参照していました。
その中の一つが、「OWASP Mobile Top 10」です。スマートフォンアプリケーションを開発する際に念頭に置きたいチェックポイントを10個選出した啓発文書です。あれ、どこかで聞いたようなお題目ですね。はい、「モバイルアプリケーション開発 10大チェックポイント 2023」と同じなのです。ところがこの文書、最後の更新が2016年で、プロジェクトの開発用ページに「このプロジェクトは更新しないのか?」という質問が上がっているのにも返信がない状態だったのです。スマートフォンアプリケーションを取り巻く環境は日進月歩で進んでおり、さすがに5年以上前の文書を参照しつづけるのは限界があるのではないかと悩んでいました。
「これ、困ってる人ウチだけじゃないはずだし、なんとかなんないかなぁって思ってるんですよねえ」と、ある日の社内ミーティングで愚痴ったところ、「いっそのこと自分たちで最新にするって手はない?」「いや、我々だけじゃ……もっと広く意見を問う場がないとダメでしょう」「広く意見を問うということであれば、我々も所属しているJSSECとかどうですかね?」「あ、それはいいかも。ちょっと聞いてみましょうか」
そんなわけで当時存在した技術部会のSlackで聞いてみたところ、
技術部会長の仲上さんより前向きなコメントをいただきました。
そして、ぜひ2021年新年交流会のライトニングトークで参加者を募ってみては? ということになり、やりました。ライトニングトーク。
結果として非常に好意的な反応をいただきまして、これはぜひJSSEC技術部会の2022年度の活動として取り組もうということになりました。いやー、ありがたいことです。
2022年度の取り組み
JSSEC技術部会 マルウエア対策WGの活動として公式に認められ、月に一度ビデオ会議を開催して検討を進めました。最初はWGのメンバーだけにとどめましたが、より広い意見を問いたいということでJSSEC-News 11月第1号で参画メンバーを募り、通称「JSSEC Mobile Top 10」選定委員会としてオンライン会合を持つようになりました。
最初は2016年のOWASP Mobile Top 10を読み込むところから始め、現代的な文脈で入れたいもの、残したいもの、落としてもいいものを検討しました。
新たに入れたいものとしては次のようなものがあげられました。
- 外部のAPIの利用キーなど、流出しては困るようなクレデンシャル(認証情報)をアプリケーション内に平文で埋め込んでしまうこと。特にAndroidは悪意のある利用者による解析(リバースエンジニアリング)が容易なためリスクが大きい。
- サプライチェーンリスク。アプリケーションが利用しているオープンソースのライブラリに脆弱性が存在したり、他ベンダーから購入したライブラリに悪意があるコードが仕込まれたりしている可能性。
逆に、主にモバイル向けOS(iOS、Android)が日々安全になっていることから、現在ではさほどのリスクがない(開発者として気に掛ける必要が減った)ものを洗い出して、これら新規の項目をどこに入れようか? と議論を重ねました。
結果として12月には10大チェックポイントの選定が終わり、2023年1月には同じくJSSEC 技術部会の成果物である「Androidアプリのセキュア設計・セキュアコーディングガイド」との紐づけも行い、成果物としてはほぼ完成。
同1月に行われた新春交流会で「できました!」という報告のライトニングトークを実施し、
3月1日のセキュリティフォーラムにて一般にお披露目、
翌3月2日に公開、という運びとなりました。この場を借りて選定委員の皆様にお礼を申し上げたく思います。
驚きの展開! OWASP Mobile Top 10再始動
お披露目に向けて準備を進めていた1月18日のこと、長らくメールが流れてこなかったOWASP Mobile Top 10のメーリングリストに驚きの投稿がありました。
タイトルは「OWASP Mobile Top 10 – Reboot」。「このプロジェクトに対するニーズが強くあることが分かったので、再開することにしたよ!」というものです。
実のところ、JSSECにて10大チェックポイントを選定した暁には、本家OWASPに「こんな風に考えてみたんだけど、どうだろう?」と聞いてみるつもりで、OWASP Japan Chapterの岡田さんと相談したりもしていたのですが、このタイミングとは……と、びっくりです。
議論に入ろうとするもついついモタモタしていたら、6月1日に最初のドラフトが出てきました。お、我々が検討したサプライチェーンリスクも含まれている。なるほどなあ……と思いつつ、「クレデンシャルの平文埋め込み」に当たるものが候補には出たものの圏外になっていたので、「私たちは日本のJSSECというスマートフォンセキュリティの団体だよ。私たちのTop10ではこうなっていて、クレデンシャルの平文埋め込みは高いリスクがあると考えているんだ」と述べたところ、最新のドラフトで見事に圏内入りを果たしました。まだドラフトなので、最終版でどうなるかはわかりませんが……。
今後、JSSEC技術部会としてOWASPと連携して、最終的なOWASP Mobile Top 10に私たちの議論が反映されるように、努力していきたいと考えています。応援、よろしくお願いします!