何が起きたか
JPCERT/CCは、10月15日に、国内で相次いでいる不正アクセスについて、攻撃に使われたインフラの調査結果を公開しました。10月8日の注意喚起(10月23日に更新)に続くものです。
調査記事には、次のことが書かれています(要旨)。
- 調査の過程で、攻撃者がAIを使って、既知の脆弱性のスキャンや、API経由の攻撃を行っていたことが、確認されました。
- 攻撃元のサーバーは、複数、確認されています。日本以外の地域向けのWebサービスも、狙われていました。
- 確認された手口の1つは、スマホアプリ(Androidの配布ファイル)を解析して、そこで使われているAPIを特定し、SSRFなどの脆弱性が、ないかを調べる、というものです。攻撃元のサーバーに、アプリを解析するツールや、解析したファイルが、置かれていました。
- 別のサーバーでは、MySQL、Jenkins、メールゲートウェイなどを狙う、さまざまな手法の痕跡と、標的のネットワーク内に置いたとみられるWebシェルが、確認されています。内部への侵入を試みていたと考えられる、とされています。
調査記事で確認された、1つ目の手口の流れは、次の3つです。
- 攻撃者が、公開されているスマホアプリのファイルを入手し、解析ツールで、中身を調べる。
- アプリの中から、アプリが使っているAPIを、特定する。
- 特定したAPIに、SSRFなど、脆弱性がないかを、調べる。
次の2点は、この流れの続きではなく、別の情報です。
- JPCERT/CCの注意喚起(AT-2026-0030)には、別の事例として、管理用のAPIへの不正なリクエストで、情報が不正に書き換えられた、という確認があります。
- 調査記事では、今回の攻撃と、直接関係しないとされた別のサーバーで、内部のネットワークへの侵入を試みたと考えられる痕跡(Webシェルなど)が、確認されています。
調査記事は、「被害を受けた組織に共通する点」を、明確には述べていません。国内で情報漏えいを公表した組織が、この手口で攻撃されたかは、記事から、分かりません。
この記事の材料は、10月23日までの情報です。調査記事の補足(Flutterアプリの解析)と、IPアドレスなどの技術的な詳細は、記事に書いていません。その後の続報は、確認できていません。
自社に関係あるか
スマホアプリや、Webのサービスを、自社で公開しているか、委託先に作って運用してもらっている会社が、関係します。まず、次のどれに当たるかを決めてください。
- スマホアプリも、WebのAPIも、公開していない: この記事の作業は要りません。ただし、自社のWebサイトや、会員向けのシステムの裏側で、APIが使われていることがあります。制作会社に、確認できた場合に限ります。
- スマホアプリか、WebのAPIを、公開している(自社、または、委託先が運用): 下の確認に進みます。
- 分からない: 公開している前提で、「今日やること」の1番から進めます。Webサイトやアプリを作った会社に、聞いてください。
5分でできるチェック
「はい」が望ましい質問です。
- 公開しているスマホアプリと、WebのAPI(会員向けのサイトの裏側を含む)を、書き出していますか(はい / いいえ)
- それぞれに、開発した会社と、運用している会社が、分かりますか(はい / いいえ)
- アプリの中に、秘密鍵や、長く使える認証の情報を、入れていないと、開発した会社に確認できていますか(はい / いいえ / 分からない)
- APIは、サーバーの側で、利用者の確認と、操作の許可を、していると確認できていますか(はい / いいえ / 分からない)
- 業務で使わないAPIや、管理用の機能が、インターネットに公開されていないと確認できていますか(はい / いいえ / 分からない)
「いいえ」と「分からない」は、下の作業の対象です。
今日やること
- 公開しているスマホアプリと、WebのAPIを、書き出す。開発した会社と、運用している会社も、書きます。分からないものは、「不明」と書き、確認する人と期限を決めます。
開発した会社や、運用している会社に、次の質問を送る。この質問の内容は、調査記事が推奨する対策に、基づいています。
当社が公開しているスマホアプリと、API(会員向けのシステムの裏側を含む)について、教えてください。
アプリの中に、秘密鍵や、長く使える認証の情報を、入れていませんか。
APIは、サーバーの側で、利用者を確認し、操作の内容に応じて、許可していますか。アプリの中の署名や、難読化だけに、頼っていませんか。
短い時間に、何度もアクセスされたときの制限(レート制限)と、不審なリクエストの監視は、ありますか。
外部のURLを取得するAPIで、接続先を制限し、リダイレクトのあとの宛先も、確認していますか。
業務で使わないAPIや、管理用の機能が、インターネットに公開されていませんか。
質問と一緒に、ログの確認も、頼む。
- JPCERT/CCの注意喚起(AT-2026-0030)に、不審なIPアドレスや、User-Agentの一覧があります。それらからのアクセスが、公開しているAPIやWebのログに、ないかを、見てもらいます。
- IPAは、ログの確認を、まず直近1か月で行い、そのあと、3か月に広げるよう、案内しています。
- 回答で、問題が分かったときは、対応する人と日を決め、実施し、確認する。たとえば、アプリに埋め込まれた秘密鍵があるときは、その鍵を無効にして、新しいものに替えます。
- ログに、不審なアクセスの痕跡が見つかったときは、自分で消さず、ログを保全して、専門の業者に切り替える。
- IPAは、異常なログやアカウントが見つかったときは、速やかにセキュリティインシデントと判定するよう、案内しています。
- あわせて、専門のセキュリティベンダーに、詳細調査を依頼することを、強く推奨しています。
「質問を送った」は、完了ではありません。次の4つがそろったら、完了です。
- 公開しているアプリとAPIの一覧ができ、各行に、開発した会社と運用している会社か、「不明」が書かれている。「不明」の行には、確認する人と期限が、書かれている。
- 質問への回答を、文書で受け取った。
- 回答で問題が分かったものは、対応が実施され、実施後の状態を確認した。対応しないと判断したときは、判断した人と根拠を記録した。
- ログの確認が実施され、結果を受け取った。痕跡が見つかったときは、専門の業者による調査が実施され、結果を受け取り、見つかった問題の是正まで済んでいる。
自社で対応が難しい場合
次のどれかに当たるときは、開発した会社、運用している会社、専門の業者に切り替えてください。
- アプリやAPIを作った会社が、分からない、または、連絡が取れない
- 質問の内容が、分からない、または、回答の内容を、判断できない
- ログの見方が、分からない
- 不審なアクセスの痕跡、見覚えのないアカウントや、ファイルが見つかった。インシデントとして扱い、ログなどの証拠を保全したうえで、専門の業者に、詳しい調査を頼んでください