スマホアプリ提供時に実施すべき 「セキュリティリスク検出」とは?
近年、専門スキルが無くても簡単に開発できるスマホアプリ開発ツールが公開され、iPhoneやAndroidのスマホアプリ公開が進めやすくなってきています。
その反面、スマホアプリのセキュリティ対策は、その専門性から対応が進みにくいのではないでしょうか。
「ソフトウエア等の脆弱性関連情報に関する届出状況[2019年第4四半期(10月~12月)]」※によると、本調査期間内でのスマートフォン向けアプリ脆弱性届け出件数は「16件」となっており、ウェブアプリケーションソフトよりも多い報告件数となっています。
今後さらなる利用拡大が見込まれるスマホアプリ、セキュリティ対策はどのように進めればよいでしょうか。
そこで今回は、スマホアプリのセキュリティリスク検出(診断)についてご紹介します。
スマホアプリによって起きてしまった、 大規模な情報漏えい事故
急拡大を続けるスマホアプリ業界。いまや、ネットバンキング、オンラインショッピング、オンラインゲームなど、様々なスマホアプリが公開されています。
5Gの台頭やアフターコロナの情勢を見越して今後も学習系アプリや業務クラウド系アプリなど、スマホアプリの数は増え続けることが予想されます。
一方で、スマホアプリのセキュリティはどこまで対応されているのでしょうか。
2019年7月、2020年3月には、大手企業が提供したスマホアプリによる、大規模な情報漏えい事故が発生しました。
2019年7月の事故では、QR決済アプリのリリース翌日から大規模な不正アクセスがあり、ログイン情報を乗っ取られるという被害が発生しました。さらに、クレジットカードからの不正チャージも発生し、QR決済サービスの停止や被害者への補償など、アプリ提供企業側の損失は甚大だったと考えられます。
2020年3月の事故では、スマホアプリの不正ログイン被害が発生し、個人情報が漏えいしました。同サービスのWebサイト経由での被害は発生しておらず、スマホアプリ固有の問題による被害となっています。
これらは氷山の一角であり、スマホアプリが不正利用されるケースはまだまだ潜んでいると考えられます。
一般的にアプリを公開する際にはアプリストアが利用されますが、公開時の審査は「スマホ本体に影響を与えないか、公序良俗に反するものではないか」といった観点で実施されます。
アプリストアのガイドラインには開発者向けのセキュリティ機能要件も記載されており、アプリストアの審査対象にセキュリティ項目も含まれていると考えられますが、あくまで「スマホ本体への影響」といった視点が重視されます。
そのため「脆弱性有無」の検査はアプリストアの審査では対象外となり、「脆弱性診断」などほかの方法によって調査する必要があります。
スマホアプリを発生元とする情報漏えいやクレジットカードの不正利用被害は、前述の事故例のように、アプリ提供元に補償が求められるケースもあります。
スマホアプリを公開する企業は、スマホアプリのセキュリティリスクを「診断」し、なるべく早く問題点を見つけ、速やかに問題を修正することが重要です。
iPhoneやAndroidのスマホアプリ、 セキュリティリスクはどのように「診断」できる?
スマホアプリのセキュリティリスクは、「脆弱性診断」によって見つけ出すことが可能です。
脆弱性診断とは、検査対象の脆弱性を検出するセキュリティ診断のことで、診断手法の観点からツール診断と手動診断に大別されます。
診断実施者 | 費用 | 診断前準備 | 診断方法 | |
---|---|---|---|---|
ツール診断 | 自社 | ツール費用+作業者工数+ツール学習コスト | 検査対象の洗い出しなど自社で実施 | 自動スキャン |
手動診断 | 専門会社
|
診断内容による (予算により診断内容を絞るケースもある) |
事前ヒアリング結果をもとに専門会社が対応 | 専門技術者による実行ファイル解析 (リバースエンジニアリング) |
ツール診断は自社主体で診断を実施できるなどメリットもありますが、ツールを使いこなすためには脆弱性に関する知識が必要となるケースもあります。
手動診断は検査対象にあったきめ細かい診断が可能など柔軟性が高いものの、診断結果が「診断実施者のスキルに依存」してしまうこともあり、診断実施者の高いスキルが求められます。
診断サービスによっては、専門技術者による中間コードや機械語の解析※まで実施可能なものもありますが、非常に高度な技術が必要となるため、解析を実施できるセキュリティエンジニアはあまり多くないと言われています。
-
※
中間コードや機械語の解析(ソースコードの静的解析):サーバへの不正通信を行うロジックがないか、スマホ本体に保存されたデータを改ざんできてしまう仕組みがないかなど、ツール診断だけではわからない脆弱性を検出可能
診断結果は「レポート」で客観的に判断しましょう
脆弱性診断の結果は、診断手法(ツール診断、手動診断)によらず、「レポート(報告書)」として提供されることが一般的です。
レポートでは主に、事前に設定した検査項目に対する判定結果を確認できます。
手動診断では、脆弱性の危険レベルと必要な対策について把握することが可能です。
レポートを「技術者視点の客観的な判断結果」として活用し、今後発生してしまう可能性のあるセキュリティ事故を未然に防ぎましょう。
見つかった脆弱性、一番大切なのは「その後の対策」
セキュリティ診断によって見つかった脆弱性は、対策を打つことで、より良いサービス・アプリへ成長させたい。
診断を実施される皆さんが望まれている結果ですよね。
しかしながら、診断結果からその後の対策を導き出すには、最新のセキュリティ知識や豊富な診断経験が必要となるため、「診断結果が出たけど、有効な策が見つけられない」といった、診断結果を生かしきれないケースもあります。
ではどのようにすれば「診断結果を生かせる」のか。
専門会社の知見を、自社サービスの成長へ生かすという方法があります。
手動診断で提供される診断結果レポートには、脆弱性の危険レベルとあわせて「必要な対策」が掲載されることもあります。
また、「どのようにすればセキュリティリスクが実現されてしまうのか」を整理した「検知された脆弱性の再現手順」が記載されるケースもあり、セキュリティリスクの再現性検証も可能です。
専門家視点で指摘された「必要な対策」を、自社の運用などに合わせて具体的な対策へ落とし込み、お客さまにとって安全なサービス・アプリを提供しましょう。