SNSサービス運営 A社

SNSサービスを運営するスタートアップ企業。 少人数体制の社内開発チームにより既存iOSアプリを開発運営。 運用作業と並行してandroid版アプリの開発を行う上で、リリース前の脆弱性のチェックを当社にご依頼いただきました。

Androidアプリにおける脆弱性診断事例

SNSサービス運営 A社
スマホアプリ開発責任者
K 様

K 様

スマートフォン向けのアプリを開発する際に、「セキュリティ」の重要性はますます増大しています。設計の段階でセキュリティを考慮した開発を行うだけでなく、最終的に脆弱性のないアプリを開発することが重要です。
Androidアプリの開発では、脆弱性によってサービスの停止、損害の発生といった問題が出てくることもあります。実際、BookLiveが運営する家族向けアルバムアプリ「リコネ」に脆弱性があり、登録した家族情報がほかのユーザーから閲覧可能な状態にあることが判明したことで、サービスは停止に追い込まれ、対象となる家族に1000円分のクオカードを配布することになりました。

また、日本語IMEアプリの「Simeji」は、入力したテキストを外部に送信する機能がありましたが、バグのため送信しない設定にしていても送信されていた、として謝罪しました。イメージの悪化によってユーザーの離脱やイメージ向上のための新たなコストがかかっています。
こうした問題は、アプリに致命的な脆弱性があったために発生しています。しかし、アプリ開発において脆弱性をなくすことは非常に難しく、社内でコードを確認したり、動作確認したりするだけでは発見できないことも多いのです。

そこで、弊社では専門的な脆弱性検査を行うことで、アプリのリリース前に致命的な脆弱性を発見し、脆弱性が発生するプロセスを明らかにしてレポートをお届けする「スマートフォンアプリセキュリティ診断」サービスを提供しています。このページでは、弊社のサービスをご利用されたSNSサービスのA社の事例を紹介します。

診断期間は5営業日。リリース直前の脆弱性対策を迅速に完遂(A社)

弊社のSNSサービスでは、当初iOS向けのアプリを提供していましたが、ユーザー数の拡大のため、Androidアプリの提供も必要になりました。スタート当時はシェアの高いiOS向けだったのですが、やはりAndroidユーザー様向けにもサービスを提供する必要があり、アプリの開発をスタートしました。

Androidアプリは自由度が高いのですが、iOSアプリと機能を同等にそろえ、しかも様々な端末で動作するようにするのが大変でした。AndroidアプリにはiOSアプリ開発にはない苦労もあり、開発チームはそうした問題に対処することに力を注いでいました。同時にiOSアプリの管理も必要で、開発は難航していました。
しかも、リリース日が迫っていて、アプリの脆弱性チェックを行う時間もなかなか取れない状況でした。その時間の少ない中、脆弱性検査を外部に委託することになり、そこで見つけたのがイエラエセキュリティでした。その最大の理由が、脆弱性検査にかかる期間が5営業日で、料金も70万円という点でした。
検査期間が短いといっても、コードのチェックだけでなく、実際にアプリを動作させて、そこに脆弱性が潜んでいないかを検査してくれるため、検査内容も十分だと感じての依頼でした。

アプリ開発が一定の段階に達した段階で、イエラエセキュリティにはAPKファイルを提供して検査をお願いしました。実際に5営業日後には検査が終了し、詳細なレポートが送付されてきました。診断結果は、「リスクレベル緊急の指摘事項がある」というE判定でした。いくつかの問題が挙げられている中に、特に「WebViewを通じたローカルファイルの漏えい」という項目が致命的でした。ほかにも、「WebView の addJavascriptInterface を通じた任意コード実行」という脆弱性もあり、すぐに対処が必要でした。

PoCによって社内で危機感を共有、安心して開発が可能に(A社)

詳細なレポートはわかりやすく、開発チームはすぐに問題点を把握したのですが、さらにレポートには「再現方法」としてPoC(Proof of Concept)のコードが記載されていたことに驚きました。この通りに実行すると、実際に問題が再現されました。このPoCによる再現は、特に開発チーム以外の説得に効果的でした。実際に目の前で問題を再現したことで危機感が社内で共有され、問題の脆弱性をまず解消するように命じられ、チーム一丸となって脆弱性の解消に携われました。

1週間以内にこうした詳細なレポートがもらえたため、アプリの開発が停滞することもなく、無事に予定していたリリース日にアプリをリリースできました。開発チームも安心して開発でき、リリース後も脆弱性をついた攻撃によってお客様にご迷惑をおかけすることもありませんでした。

脆弱性診断報告書診断結果報告書(サンプル)
脆弱性の再現方法として、上記のようにPoC(Proof of Concept)コードを記載しております。
※報告書サンプル請求をご希望の方は、お問い合わせページよりご請求ください。

リバースエンジニアリングによる脆弱性検査にも強み

弊社イエラエセキュリティの脆弱性検査では、ご提供いただいたAPKファイルをルート化した端末上で動作させ、実際の利用状況を確かめながらの動的解析を行います。アプリ内で生成されたファイルの中身、発生する通信、メモリ内容などを検査し、問題がないかをチェックします。
同時にリバースエンジニアリングによってバイナリをJavaとsmaliに戻し、ソースコードの静的解析も行います。攻撃者目線でチェックを行い、動的解析のみでは発見できないような脆弱性も調査します。

apk menu

検査結果は詳細なレポートしてまとめて送付しますが、弊社の強みはリバースエンジニアリングによる静的解析です。その中で実際に脆弱性をついて攻撃を実現させるPoCを盛り込んでいます。Python等で記述されたコードを使って、開発者は実際の脆弱性をついた攻撃の動きを確認することができます。

また、最短で5営業日というスピーディな検査も実現しています。アプリのリリース日まで時間がないという状況でも、確実な脆弱性検査を実施します。検査の性質上、アプリ開発は一定の段階に達したおり、検査を行って問題があった場合、それを修正しても時間のロスは最小限に抑えられます。PoCも同梱するため、問題点の把握、解消も容易です。

イエラエセキュリティでは、お客様が新機能の開発やより洗練したアプリの開発に専念して、安心してアプリをリリースできる環境をご提供します。

株式会社イエラエセキュリティのスマートフォンアプリ診断サービスについてはこちら