
公開アプリの解析からサーバー攻撃へ
NICTの脅威情報分析チームLETTICEは、公開Androidアプリを解析し、接続先のバックエンドサーバーを狙う攻撃を「A2B攻撃(App-to-Backend Attack)」と名付けました。国内で相次ぐ情報漏えい事案の原因の一つとして特定し、Androidアプリを公開する事業者に3種の対策を示しています。
攻撃者はアプリを入手して解析し、通信先のサーバーやAPI(アプリとサーバーが情報をやり取りする仕組み)を調べます。得た情報を使い、接続先の仕様に合わせてサーバーを攻撃します。バックエンドサーバーは、アプリ利用者向けの機能を動かし、ログイン認証や利用者情報の管理などを担います。
事業者が非公開だと考えていたサーバーの仕様も、アプリの解析から知られる可能性があります。サーバーに脆弱性があれば、その弱点を狙った不正アクセスや個人情報の漏えいにつながるおそれがあります。NICTは、同様の問題がiOSアプリやWebサービスのバックエンドAPIでも起こり得るとしています。
API情報は静的解析と通信の観察から得られる
Androidアプリの解析には、アプリのファイルを調べる静的解析と、実行中の通信を観察する方法があります。GitHub上の「apkre」は、APKを展開してコードを調べる工程と、アプリを動かして通信を記録する工程を組み合わせ、API情報を抽出するツールです。
同ツールは、アプリ内のURLや認証に関する記述を調べ、実行時の通信から接続先、リクエスト、応答の情報を集めます。個別の画面操作で初めて通信するAPIも、アプリを操作しながら通信を記録すれば対象になります。
集めた情報から、APIの接続先や通信方式、送受信データの形式、認証設定などを整理できます。こうした解析で得た仕様を使い、対象サーバーに合わせて攻撃するのが、NICTの定義するA2B攻撃です。NICTは、AIによってアプリ解析や脆弱性探索が効率化し、攻撃がより多くのシステムに広がる可能性にも注意を促しています。
NICTが挙げた脆弱性と初動
NICTが主に悪用されるものとして挙げた脆弱性は、SSRF(サーバーサイド・リクエスト・フォージェリ)、RCE(リモートコード実行)、SQLインジェクション、安全でない直接オブジェクト参照(IDOR)の4種類です。APIの仕様を把握されると、これらの弱点を狙った攻撃につながります。
事業者への推奨策は、侵害の確認、脆弱性の点検、暫定的な緩和策の3つです。緩和策には、特定のアクセス元の遮断や、不要なAPIの停止があります。注意喚起には、攻撃に関連するIoC(侵害指標)も掲載されています。
NICTは、対策を進める際に、社内のセキュリティ担当者や開発・運用の委託先、セキュリティ専門事業者への相談を案内しています。また、個々のシステムの診断や改修には、構成や運用状況に応じた確認が必要だとしています。注意喚起はAndroidアプリを提供する事業者向けですが、NICTはiOSアプリやWebサービスのAPIにも同様の注意が必要だとしています。
APIをサーバー側で守る基本策
OWASPのAPIセキュリティリスクでは、利用者が送る識別子を使ってデータにアクセスする各機能で、対象データへの認可を確認するよう求めています。認証トークンの窃取や認証の実装不備は、利用者になりすました不正利用につながり得ます。
APIが要求できるデータ量や回数を制限しないと、サーバーへの負荷や認証への総当たり攻撃につながるおそれがあります。また、クライアントアプリに表示前のデータ選別を任せず、API側で必要な情報だけを返すことも、過剰なデータ公開を避けるための対策です。
OWASPは、ログ記録や監視が不十分だと、攻撃の検知や対応が遅れ、侵入後の活動が続く可能性を挙げています。









