- 報告書は、攻撃者がiOSデバイス上でAPIコールを傍受し、正規のもののように見せかけることができると警告
- 従来のセキュリティツールでは、デバイス内での攻撃からアプリを守ることができない
- モバイルデバイスが侵害されると、APIの悪用リスクが大幅に高まる
新たな調査によると、Zimperiumは、モバイルアプリが現在、APIを悪用した攻撃の主戦場となっており、企業にとって詐欺やデータ窃取の深刻なリスクを生み出していると主張しています。
調査によると、Androidアプリの3分の1、iOSアプリの半数以上が機密データを漏洩しており、攻撃者がビジネスに不可欠なシステムへ直接アクセスできる状態になっています。
さらに憂慮すべきことに、報告書は1,000台中3台のモバイルデバイスがすでに感染しており、Androidデバイスの5台に1台が実際にマルウェアに遭遇していると指摘しています。
モバイルAPIの脆弱性の規模
ウェブアプリケーションとは異なり、モバイルアプリはAPIエンドポイントや呼び出しロジックを信頼できないデバイス上に配置するため、改ざんやリバースエンジニアリングのリスクにさらされています。
これにより、攻撃者は通信を傍受したり、アプリを改変したり、不正なAPIコールを正規のもののように見せかけることが可能になります。
従来の防御策であるファイアウォール、ゲートウェイ、プロキシ、APIキー検証などでは、これらアプリ内の脅威を完全に防ぐことはできません。
「APIはモバイルアプリを動かすだけでなく、アプリを危険にさらしている」と、Zimperiumのプロダクトソリューション担当副社長Krishna Vishnubhotla氏は述べています。
「従来のセキュリティツールでは、アプリ内部で発生する攻撃を阻止できません。APIを守るには、クライアント側を保護するアプリ内防御が必要です。」
クライアント側の改ざんは一般的であり、攻撃者はバックエンドシステムに到達する前にAPIコールを傍受・改変できます。
中間者攻撃を防ぐために設計されたSSLピンニングでさえ抜け穴があり、Androidの金融アプリの約3分の1、iOSの旅行アプリの5分の1が依然として脆弱です。
APIの露出にとどまらず、多くのアプリがデバイス上で機密データを不適切に扱っており、Zimperiumはコンソールログ、外部ストレージ、不適切なローカルストレージが一般的な問題であると明らかにしています。
例えば、上位100のAndroidアプリの6%が個人を特定できる情報(PII)をコンソールログに書き込み、4%が他のアプリからアクセス可能な外部ストレージに書き込んでいます。
ローカルストレージも共有されていなくても、攻撃者がデバイスにアクセスすればリスクとなります。
分析によると、全アプリの約3分の1(31%)、上位100アプリの37%がPIIをリモートサーバーに送信しており、その多くが適切な暗号化を行っていません。
一部のアプリには、データを密かに外部に送信したり、ユーザーの操作を記録したり、GPS位置情報を取得して外部サーバーに送信したりできるSDKが組み込まれています。
こうした隠れた活動により、企業のリスクが高まり、公式ストアから入手したアプリであっても重大なセキュリティリスクがあることが示されています。
「モバイルアプリがビジネス運営やデジタル体験を推進し続ける中、APIを内側から守ることが、詐欺やデータ窃取、サービス停止を防ぐために極めて重要です」とVishnubhotla氏は付け加えています。
安全を守るためにできること
- 機密情報の不適切なログ出力がないかアプリを確認し、データ漏洩を防ぐ。
- ローカルストレージのデータが暗号化され、他のアプリからアクセスできないことを確認する。
- ネットワークトラフィックを監視し、暗号化されていない個人情報を送信しているアプリを検出する。
- アプリに組み込まれた悪意のあるSDKやサードパーティコンポーネントを特定・削除する。
- アプリの権限を見直し、意図した機能と合致しているか確認する。
- アプリの挙動を定期的に監査し、侵害の可能性をチェックする。
- アプリの改ざんやリバースエンジニアリングを防ぐ実行時保護を導入する。
- コード難読化を活用し、ビジネスロジックやAPIエンドポイントを攻撃者から守る。
- APIコールが正規かつ改ざんされていないアプリからのみ発生していることを検証する。
- モバイルアプリが侵害された場合に備え、インシデント対応手順を確立する。
- マルウェアやランサムウェア攻撃から保護するモバイルセキュリティソフトを利用する。