最近、スマートフォンアプリやWebサービスを通じた情報漏洩のニュースが相次いでいます。アプリから情報が漏れると聞くと、「アプリそのものにウイルスが仕込まれていたのでは?」と思うかもしれません。しかし、実際にはアプリ自体に問題がなくても、アプリが接続しているサーバーや、その先にあるシステムの弱点を突かれて情報が漏れるケースがあります。
こうした問題を理解するためには、まずスマートフォンアプリがどのような仕組みで動いているのか、そして「サーバー」とは何なのかを知っておくことが大切です。
1. そもそもサーバーとは何か?
サーバーとは、簡単に言えば、ほかのコンピューターやスマートフォンからの要求に応じて、情報やサービスを提供するコンピューターのことです。
例えば、スマートフォンで天気予報アプリを開いたとします。アプリの画面や操作部分はスマートフォンに入っていますが、最新の天気情報までスマートフォンの中に保存されているわけではありません。アプリがインターネットを通じてサーバーに問い合わせ、サーバーから情報を受け取ることで、最新の天気が表示されます。
レストランに例えると、スマートフォンはお客さん、アプリは注文を伝える窓口、サーバーは注文を受けて料理を用意する厨房のようなものです。利用者がアプリを操作すると、その要求がサーバーに送られ、サーバーが必要な処理を行って結果を返します。
2. サーバーにはどんな種類があるのか?
サーバーにはさまざまな種類があり、それぞれ担当する役割が異なります。すべてが同じコンピューターで動いている場合もあれば、役割ごとに別々のサーバーを用意している場合もあります。
- Webサーバー:Webサイトのページや画像などを利用者に届けます。
- APIサーバー:アプリや別のシステムから送られてくる要求を受け付け、必要な情報や処理結果を返します。
- データベースサーバー:顧客情報、会員情報、注文履歴などのデータを保存・管理します。
- アプリケーションサーバー:利用者からの要求に応じて、料金計算や予約処理など、サービスの具体的な処理を行います。
- メールサーバー:メールの送信や受信、保管を担当します。
- DNSサーバー:Webサイトのドメイン名を、接続先となるIPアドレスに変換します。
- 認証サーバー:利用者が本人であるかを確認し、ログインなどの認証を担当します。
- ファイルサーバー:画像、文書、動画などのファイルを保存・管理します。
例えば、ショッピングアプリで商品を購入する場合、商品情報を取得するサーバー、会員情報を確認するサーバー、注文を処理するサーバー、購入履歴を保存するデータベースなど、複数の仕組みが連携して動いています。
3. サーバーはどこにあるのか?
サーバーは、必ずしも自社のオフィスや社内に置かれているわけではありません。設置や利用の形態には、主に次のようなものがあります。
- オンプレミス:企業や組織が自社の施設内などにサーバーを設置し、自ら管理する方式です。
- クラウド:インターネット経由で、外部事業者が提供するサーバーやシステムを利用する方式です。
- レンタルサーバー:事業者が用意したサーバーの一部や機能を借りて利用する方式です。
最近のアプリやWebサービスでは、クラウドを利用するケースが増えています。自社で物理的なサーバーを持たなくてもサービスを運営できる一方、クラウドの設定やアクセス権限の管理を誤ると、情報漏洩につながる可能性があります。
4. APIとは何か?アプリとサーバーをつなぐ仕組み
アプリとサーバーの間で情報をやり取りするときに使われる仕組みのひとつが「API」です。APIとは、異なるソフトウェアやシステム同士が情報をやり取りするための仕組みやルールのことです。
例えば、スマートフォンのアプリで会員情報を表示するとき、アプリはAPIを通じてサーバーに情報を要求します。サーバーは要求を確認し、必要な情報を返します。
レストランに例えるなら、APIは注文の方法や注文票のようなものです。お客さんが厨房に直接入って料理を作るのではなく、決められた方法で注文を伝え、厨房が処理した結果を受け取ります。
APIサーバーは、そのAPIを通じた要求を受け付けるサーバーを指す呼び方です。APIそのものとAPIサーバーは同じ意味ではありません。
APIはアプリだけでなく、企業間のシステム連携や、地図・決済・配送状況などの外部サービスとの連携にも使われています。便利な仕組みですが、誰がどの情報にアクセスできるのかを正しく管理しなければ、情報漏洩の原因になることがあります。
5. スマートフォンアプリはどう動いているのか?
一般的なスマートフォンアプリは、次のような流れで動いています。
- 利用者がスマートフォンでアプリを開き、ログインや検索などの操作を行います。
- アプリがAPIを通じてサーバーに情報を要求します。
- サーバーが利用者の認証やアクセス権限を確認します。
- 必要に応じてデータベースから情報を取得し、処理を行います。
- サーバーが結果をアプリに返し、スマートフォンの画面に表示します。
つまり、スマートフォンのアプリは、情報を表示するための窓口のような役割を担っています。実際の情報の多くは、インターネットの向こう側にあるサーバーやデータベースで管理されています。
6. アプリに関係する情報漏洩は、どこで起きるのか?
アプリを通じた情報漏洩は、必ずしもスマートフォン本体やアプリのプログラムが直接攻撃されて起きるわけではありません。アプリが接続しているサーバーや、その先のシステムが狙われることもあります。
① アプリを調べて、接続先のサーバーを攻撃する
アプリの通信内容や動作を解析すると、接続先のサーバーやAPIの情報が分かる場合があります。攻撃者は、アプリそのものではなく、アプリが接続しているバックエンドシステムの弱点を探し、そこを狙うことがあります。
このように、アプリを入り口として、その裏側にあるサーバーやシステムを攻撃する手法は、A2B(App-to-Backend)攻撃と呼ばれます。
アプリが正常に動作していても、接続先のサーバーに弱点があれば、そこから情報が漏れる可能性があります。
② APIのアクセス制御に問題がある
APIには、誰がどの情報を取得できるのかを判断する仕組みが必要です。例えば、ログインしている利用者が、自分以外の人の会員情報まで閲覧できてしまうような状態では、大きな問題になります。
ログインできたことと、すべての情報を閲覧できることは別です。利用者本人であることを確認する「認証」と、その利用者に何を許可するかを判断する「認可」は、分けて管理する必要があります。
この確認が不十分だと、URLやIDなどの値を変更するだけで、他人の情報を取得できてしまう場合があります。
③ 外部サービスへの情報送信に問題がある
アプリは、決済サービス、地図サービス、アクセス解析ツール、広告配信サービスなど、外部のシステムと連携していることがあります。
その連携設定やプログラムに問題があると、本来送る必要のない個人情報や利用者のデータまで外部に送信してしまう可能性があります。
④ 外部システムや委託先から漏れる
アプリの運営会社が直接管理しているサーバーだけでなく、開発会社、クラウド事業者、データ分析会社など、サービスに関係する外部事業者が情報を扱っている場合もあります。
そのため、自社のシステムが安全でも、連携先や委託先の管理が不十分であれば、そこが情報漏洩の原因になることがあります。
7. アプリが正常でも情報は漏れる
ここが、アプリに関係する情報漏洩を理解するうえで重要なポイントです。
利用者のスマートフォンに異常がなく、アプリもいつもどおり動いている。それでも、裏側のサーバーやデータベースで情報が不正に取得されている可能性があります。
スマートフォンがウイルスに感染していなくても、アプリの接続先で問題が起きていれば、利用者の情報は漏れてしまうことがあります。
利用者から見れば、画面に何の変化もないため、情報が漏れていることに気づくのは簡単ではありません。
8. セキュリティソフトだけでは安心できない
パソコンやスマートフォンにセキュリティソフトを導入することは大切です。しかし、それだけですべての情報漏洩を防げるわけではありません。
セキュリティソフトは、主に端末上の不正なプログラムや不審な動作などを検知・防御するためのものです。一方、サーバーの設定ミスやAPIのアクセス制御不備、データベースの公開設定、外部サービスとの連携ミスなどは、別の対策が必要です。
守る対象や攻撃の入口によって、必要な対策は異なります。
- ウイルス対策ソフト:端末上のウイルスや不正なプログラムへの対策
- EDR:端末の不審な動作を監視し、侵入後の活動を検知・対応する仕組み
- ファイアウォール:ネットワークの通信を制御する仕組み
- WAF:WebサイトやWebアプリケーションへの不正な通信を検知・防御する仕組み
- APIセキュリティ:APIへの不正アクセスや、権限のない情報取得を防ぐ対策
- 認証・認可:利用者本人の確認と、利用できる情報や機能の制限
- ログ監視:不審なアクセスや通常とは異なる操作を発見するための記録・監視
ひとつの対策ですべてを守るのではなく、端末、ネットワーク、サーバー、データベース、API、外部サービスなど、それぞれの場所に応じた対策を組み合わせることが重要です。
9. 企業が確認すべきこと
アプリを提供する企業や組織は、アプリそのものの安全性だけでなく、その裏側にあるシステム全体を確認する必要があります。
- アプリが接続しているサーバーやAPIを把握しているか
- 利用者ごとに閲覧・操作できる情報が適切に制限されているか
- データベースやファイルの公開設定に問題がないか
- 外部サービスに必要以上の情報を送信していないか
- 開発会社や委託先のセキュリティ管理を確認しているか
- サーバーやAPIへのアクセスログを記録・監視しているか
- 不正アクセスや情報漏洩が発生した場合の対応手順があるか
特に、アプリの開発や運用を外部企業に委託している場合は、「誰が、どの情報を、どこで管理しているのか」を把握しておくことが大切です。
守るべきなのはスマートフォンだけではない
スマートフォンアプリは、単独で動いているわけではありません。インターネットを通じてサーバーやデータベース、外部サービスと連携しながら動いています。
そのため、情報漏洩を防ぐには、スマートフォンやアプリだけを守ればよいわけではありません。アプリの接続先、APIの仕組み、サーバーの設定、データベースの管理、外部事業者との連携まで含めて、安全性を確認する必要があります。
利用者の画面では何も起きていないように見えても、裏側では情報が漏れていることがある。アプリ時代の情報セキュリティを考えるうえで、この点を理解しておくことが重要です。

G-newsの更新情報を通知で受け取る
新しい記事が公開されたとき、この端末にお知らせします。
