北米におけるモバイルバンキングアプリのセキュリティ動向
北米のモバイルバンキングアプリのセキュリティを調査し、広範に存在する脆弱性と、サイバーセキュリティ対策を強化する差し迫った必要性を明らかにします。この分野における急速な技術の進歩とともに、サプライチェーンの脆弱性や、安全でない可能性のあるプログラミング手法の採用といった課題を取り上げます。
主な知見
- 変化し続ける状況:銀行アプリの30%は2021年以降にリリースされたものであり、急速な進化を示している一方で、多くのアプリは古いままです。
- 更新頻度:アプリの3分の2が過去3か月以内に更新されており、セキュリティとイノベーションへの取り組みがうかがえます。
- 技術的な多様性:C++が主流であり、それぞれのプラットフォームではKotlinとObjective-Cが首位を占めています。クロスプラットフォーム開発ではCordovaが好まれており、新しいアプリケーションではFlutterが選ばれることが多いという全体的な傾向とは対照的です。
- サプライチェーンとネイティブライブラリの脆弱性:脆弱なネイティブライブラリへの依存が大きなセキュリティ上の課題となっています。85%を超えるアプリに脆弱なコンポーネントが含まれており、安全なサプライチェーン管理の必要性が浮き彫りになっています。
- 広範に存在する脆弱性:98%のアプリに脆弱性があり、55%には重大度がクリティカルまたは高の問題があります。
- バックエンドのクリティカルな問題:リモートコード実行、依存関係の混乱(Dependency Confusion)、XSSといったクリティカルな脆弱性の存在は、セキュアコーディングと依存関係の精査の重要性を示しています。
- 生体認証の不備:古い生体認証APIは、安全な認証方式への更新を必要としています。
- OAuthのセキュリティ上の弱点:約10%のアプリに安全でないOAuthの仕組みがあり、アカウント乗っ取りを防ぐためにより強固な認証プロトコルが必要であることを示しています。
- 暗号化と通信のリスク:20%のアプリで暗号化された通信と平文の通信が混在しており、セキュリティ強化が急務な領域であることを示しています。
はじめに
モバイルバンキングアプリケーションが広く普及していることは、現代の銀行業界におけるその重要性を示しています。
Fiservによる調査はこの点を裏付けており、モバイルバンキングアプリケーションの品質や利用可能性と、満足度や顧客離脱率といった主要な顧客指標との間に直接的な相関があることを明らかにしています。この関係は、デジタルバンキングのソリューションがもはや単なる利便性ではなく、銀行の価値提案に欠かせない要素であることを示しています。
さらに、Delta Riskが実施した調査は、銀行のセキュリティ侵害と全体的なセキュリティ態勢が、顧客のロイヤルティや金融機関の選好に及ぼす深刻な影響を明らかにしています。この関係は、デジタルバンキングプラットフォームにおける顧客の信頼と安心を維持するうえで、サイバーセキュリティが極めて重要な役割を担っていることを示しています。
こうした状況の中で、モバイルバンキングアプリは、金銭的な搾取による大きな利益が見込めることから、モバイルマルウェア攻撃の主要な標的となっています。この現実により、顧客の財産を守り、金融機関の評判と信頼性を守るために、安全でプライバシーに配慮したモバイルアプリケーションを開発することの重要性が高まっています。
本記事では、米国とカナダを含む北米全域の銀行モバイルアプリケーションのセキュリティについて、包括的な実証分析を示します。 主な知見は、これらのアプリケーションが提供する機能を広範にマッピングした結果から導き出したもので、そのアタックサーフェスと潜在的な脆弱性、そしてそれらを支える技術スタックの評価も含まれています。
この分析の目的は、モバイルバンキングアプリケーションにおける強固なセキュリティ対策とプライバシー保護の差し迫った必要性に光を当てることです。
アプリケーションの概要
分析の対象は、AndroidとiOSの両方にわたる400以上のアプリケーションです。銀行のモバイルアプリケーションは成熟しているにもかかわらず、最近のデータによると、約30%は2021年以降にリリースされたものであり、20%は2010年以前にまでさかのぼります。

注目すべきことに、これらのアプリケーションの3分の2以上(67%)が過去3か月以内に更新されており、頻繁にリリースする傾向がうかがえます。しかし、約10%は2年以上更新されておらず、一部のアプリケーションが古くなりつつある可能性を示しています。

iOSプラットフォームではアプリのサイズが大きくなっており、4%は340MBを超えて最大500MBに達し、15%は150MBを超えています。対照的に、Androidアプリケーションは一般的に小さく、100MBから130MBの範囲にあるのはわずか3%です。


この分析から、銀行アプリのエコシステムは一貫した更新サイクルと大きなアプリサイズを特徴とする一方で、2年以上更新されていない古いアプリも無視できない割合で残っていることが分かります。
技術アーキテクチャ
技術スタック
このセクションでは、プログラミング言語やフレームワークに焦点を当てて、モバイルアプリケーションの技術的な構成と、それらとアプリケーションの脆弱性との関連を調べます。
モバイルアプリケーションで最も多く使われているプログラミング言語はC++でした。これは、画像の最適化やファイルの圧縮といった機能を強化するネイティブライブラリで広く使われていることによるものです。
AndroidプラットフォームではKotlinが2位につけ、iOS開発者の間ではObjective-Cが引き続き人気を保っています。クロスプラットフォーム開発では、Cordovaが最も利用されているフレームワークであり、新しいアプリケーションではFlutterが選ばれることが多いという全体的な傾向とは対照的です。

機能とケイパビリティ
機能とケイパビリティについては、Androidモバイルアプリケーションの大多数がカメラへのアクセスと生体認証を備えており、銀行アプリで生体認証によるセキュリティが広く採用されていることを示しています。
さらに、これらのアプリケーションの30%がWiFiとBluetoothの権限を必要としており、相当数のアプリケーションが機能強化のためにこれらの接続を活用していることが分かります。
一方で、広告ライブラリを組み込んでいるアプリケーションは15%にとどまり、ユーザー追跡機能を持つものはわずか5%です。これは、大半のアプリケーションがユーザーのプライバシーを優先し、侵襲的な追跡を避けていることを示唆しています。

iOSでも状況は変わらず、すべてのアプリケーションが認証のためにカメラへのアクセスとFace IDを必要としており、銀行アプリにおける生体認証によるセキュリティへの傾向を裏付けています。iOSにおけるユーザー追跡の普及率はAndroidと同じ割合であり、プラットフォームをまたいでユーザーのプライバシーへの取り組みが一貫していることを示しています。

ネイティブの依存関係
分析の結果、モバイルアプリケーション全体で、Zlib、libpng、libjpeg、sqlite、curl、opencvといったネイティブライブラリに大きく依存していることが明らかになりました。これらのライブラリには、さまざまな脆弱性が含まれていることが知られています。

たとえば、一部のアプリケーションで確認されたcurlのバージョン7.49.0は、CVE-2022-35252、CVE-2022-32221、CVE-2022-27782をはじめとする複数のCVEの影響を受けており、その影響はサービス拒否からバッファオーバーフローにまで及びます。

これらの依存関係がセキュリティに及ぼす影響については、「セキュリティ上の課題と脆弱性」のセクションで詳しく検討します。
バックエンド
分析によると、平均してアプリケーションの80%は、CDNや分析からさまざまなAPIシステムに至るまで、40未満のバックエンドとやり取りしています。注目すべきことに、これらのアプリケーションの約20%は、最大120の異なるバックエンドに接続しています。

特にAndroidアプリケーションはバックエンドへの接続がより多様であり、10%が100から300のバックエンドサービスを利用しています。

地理的には、これらのバックエンドの大半は米国にあり、次いで欧州、特にオランダ、フランス、スペイン、アイルランド、英国に多く存在します。バックエンドの所在地として中国が3位に入っていることは注目に値します。中国のサーバーと通信する米国の機密性の高いアプリケーションには、しばしば厳しい目が向けられているからです。ただし、こうした通信は主に中国資本の銀行に関連するものです。

銀行アプリのアタックサーフェス
権限
分析の結果、アプリケーションは基本的なインターネットアクセスから、WiFi設定の変更やフラッシュライトの使用に至るまで、幅広い権限を要求していることが明らかになりました。

iOSの権限システムはよりシンプルであり、広範な権限に伴うリスクを軽減できる可能性があります。
データによると、iOSアプリケーションの20%が連絡先とマイクへのアクセスを要求しています。さらに、30%が位置情報へのアクセスを求め、5%が継続的な位置情報の追跡を必要としています。

まとめると、アプリケーションは一般に機能のためにさまざまな権限を必要とする一方で、一部のアプリケーションは、継続的な位置情報の追跡や個人データへのアクセスなど、より侵襲的な権限を要求しています。
露出
分析により、アプリケーション内に大きなアタックサーフェスが存在することが浮き彫りになりました。Androidでは、複数のサービス、コンテンツプロバイダー、アクティビティが顕著に実装されており、脆弱性の潜在的な入口が広がっています。
iOSでは、アプリケーションは認証のコールバック、支払い、ディープリンクなど、さまざまな目的でURLスキームハンドラーを多用しており、同様に潜在的なセキュリティリスクへの露出を高めています。


セキュリティ上の課題と脆弱性
分析について
モバイルアプリケーションには、ユーザー認証なしで、自動化された静的解析と動的解析の手法を活用した包括的な脆弱性スキャンを実施しました。
静的解析の対象は次のとおりです。
- Facebook SDKのデバッグモードなど、セッション情報を漏えいさせる可能性のある設定上の欠陥
- 古い依存関係や依存関係の混乱を含む、サプライチェーンの脆弱性
- SQLインジェクションやファイルパスのトラバーサルといったプログラミングエラーを検出するためのテイント解析
- ハードコードされたシークレットや脆弱な暗号化の実装

動的解析の対象は次のとおりです。
- カバレッジを高めるためのAPIフッキングと自動化されたインタラクション
- 既知の脆弱性を特定するためのバックエンドの傍受と、SQLインジェクション(SQLi)やXML外部エンティティ(XXE)攻撃といった未知の問題の可能性を探るためのファジングテスト

結果は懸念すべきものであり、98%のアプリケーションに少なくとも1つの脆弱性があり、55%に重大度がクリティカルまたは高の脆弱性が含まれていました。その内容は、リモートからのデータ漏えいや安全でない暗号といったクライアント側の問題から、リモートコード実行を含むサーバー側の問題にまで及びました。


一方で、強固なセキュリティ対策を示したアプリケーションはわずか0.4%でした。これらのアプリケーションは、更新された依存関係、安全な暗号の実装、安全な通信プロトコル、そしてネットワークセキュリティポリシーやレガシーストレージオプションの無効化といったさまざまなハードニング戦略を備えていました。

バックエンドの脆弱性
バックエンドシステムで特定されたクリティカルな脆弱性には、特に認証を必要としないものとして、次のようなものがあります。
- SitecoreのLocal File Inclusion(LFI):モバイルアプリケーションとバックエンドの通信を傍受した際に発見された脆弱性で、攻撃者がサーバー上のファイルを読み取ることができます。
- 依存関係の混乱(Dependency Confusion):ソースマップによるコードの漏えいを通じて特定されたもので、名前空間の混乱が原因で、アプリケーションが正規の依存関係を装った悪意あるパッケージを誤ってダウンロードしてしまう場合に発生する脆弱性です。
- クロスサイトスクリプティング(XSS)とオープンリダイレクト:モバイルアプリケーションが使用するサードパーティのソフトウェアコンポーネントで見つかったもので、ユーザーのセッションのコンテキストでの不正なスクリプト実行や、悪意あるサイトへのユーザーのリダイレクトにつながる可能性があります。
サプライチェーン
サプライチェーンの脆弱性は、銀行のモバイルアプリケーションにとって重大なセキュリティリスクです。85%を超えるアプリケーションに少なくとも1つの脆弱なコンポーネントが含まれており、半数以上には重大度が高またはクリティカルのサプライチェーンの脆弱性があります。これらの問題は、ネイティブのメモリ破壊に関するCVEやシリアライゼーションの脆弱性など、さまざまな種類にわたります。例は次のとおりです。
- zlib@1.2.8は複数のCVE(CVE-2022-37434、CVE-2018-25032、CVE-2016-9843、CVE-2016-9842、CVE-2016-9841、CVE-2016-9840)の影響を受けており、データ漏えいからリモートコード実行の可能性に至るまでの問題があります。
- データバインディング機能で知られるcom.fasterxml.jacksonライブラリには、2016年にまでさかのぼるシリアライゼーションの脆弱性がありますが、今なお複数のアプリケーションで見つかっています。 脆弱なコンポーネントがこれほど広く存在していることは、特に銀行アプリケーションという機密性の高い領域において、ソフトウェアサプライチェーン内で徹底したセキュリティ監査と更新を行うことが極めて重要であることを示しています。
認証
認証は銀行のモバイルアプリケーションにとって極めて重要な要素ですが、スキャンの結果、特に生体認証の実装において複数の脆弱性が明らかになりました。主な検出結果は次のとおりです。
- 生体認証のバイパス:一部のアプリケーションは、生体認証に古く安全でないAPIを使用しています。これらのAPIは生体データをセッション情報と安全に結び付けられないため、認証プロセスがバイパス手法に対して脆弱になります。
- OAuthによるアカウント乗っ取り:アプリケーションの約10%が安全でないOAuth認証の仕組みを使用しており、アカウント乗っ取りの脆弱性を抱えています。この欠陥はマルウェアに悪用される可能性があり、ユーザーアカウントへの不正アクセスにつながるおそれがあります。
これらの脆弱性は、最新の安全な認証方式を使うことの重要性と、進化する脅威から守るためにセキュリティプロトコルを継続的に監視し、更新していく必要性を示しています。
トラフィックと暗号化
銀行アプリケーションのセキュリティは、安全な通信チャネルの使用に大きく左右されます。Network Security Policiesなどのハードニングの仕組みで補完された暗号化接続は標準的な手法であり、アプリケーションの100%が通信に暗号化を採用しています。しかし懸念されるのは、これらのアプリケーションの20%が、通信の一部で依然として平文のリクエストを発行していることです。このように混在したアプローチは、機密性の高い可能性のあるデータを傍受や侵害の危険にさらし、全体的なセキュリティ態勢を損ないます。
実際のセキュリティインシデント:ケーススタディ
中国語圏のグループが運営するAndroidとiOSのバンキングマルウェア
出典:https://thehackernews.com/2024/02/chinese-hackers-using-deepfakes-in.html
中国語圏のサイバー犯罪グループであるGoldFactoryは、高度なバンキング型トロイの木馬を開発していることで悪名を高めています。その一つであるGoldPickaxeは、iOSユーザーを標的として、身分証明書、顔認証データ、SMSを盗み出します。2023年半ばから活動しているこのグループはGigabudとも関連があり、アジア太平洋地域、特にタイとベトナムを中心に悪質な活動を行っています。Android向けのGoldDiggerやGoldDiggerPlus、そしてGoldDiggerPlusに組み込まれたGoldKefuなど、さまざまな亜種のマルウェアを展開し、スミッシングやフィッシングといったソーシャルエンジニアリングの手口を使って、現地の銀行や政府機関になりすましています。これらの悪意あるアプリケーションは偽のWebサイトを通じて配布され、iOSの場合はTestFlightや悪意あるモバイルデバイス管理(MDM)プロファイルを通じて配布されています。2023年11月には、Thailand Banking Sector CERTがiOSでの配布手口を明らかにしました。
GoldFactoryのマルウェア群は、機密情報を収集し、通信を傍受することで、セキュリティ対策を回避し、不正な銀行取引を可能にするよう設計されています。たとえばGoldPickaxeは、タイで高額取引に使われている顔認証システムを悪用し、詐欺のためのディープフェイク動画を作成できます。Android向けの亜種であるGoldDiggerとGoldDiggerPlusは、ベトナムの金融アプリを標的として銀行の認証情報を盗み出しており、マルウェアファミリー間でコードレベルの類似性が見られます。GoldKefuでは銀行のカスタマーサービスになりすますためにAgora SDKを使うなど、高度な機能を備えており、GoldFactoryの運用は非常に洗練されています。彼らの活動は、モバイルバンキングマルウェアがもたらす課題が大きくなっていることと、疑わしいリンクを疑ってかかること、アプリのインストールに慎重になること、アプリの権限を定期的に見直すことなど、サイバーセキュリティへの警戒の重要性を示しています。

2023年にAndroidのバンキング型トロイの木馬が985の銀行アプリを標的に
出典:https://www.bleepingcomputer.com/news/security/ten-new-android-banking-trojans-targeted-985-bank-apps-in-2023/
2023年のサイバーセキュリティの状況では、10の新たなAndroidバンキングマルウェアファミリーが出現し、金融セクターを標的とする脅威が大幅に増加しました。これらの新たなマルウェアは、前年から存在する19のマルウェアファミリーのアップデートとあわせて、61か国にわたる985の銀行・フィンテック/トレーディングアプリにまで標的を広げています。これらのマルウェアの亜種は、オンラインバンキングの認証情報を盗み、二要素認証による保護を回避し、場合によっては不正な取引を直接実行する高度な機能を備えるよう設計されています。これらのトロイの木馬では、自動送金システム、多要素認証トークンの取得、ソーシャルエンジニアリングの手口の活用といった機能が強化されています。Zimperiumが29のマルウェアファミリーすべてを包括的に分析した結果、月額3,000ドルから7,000ドルのサブスクリプション型の配布モデルや、キーロギング、フィッシング用オーバーレイ、SMSメッセージの窃取といった機能の組み込みなどの傾向が明らかになりました。
脅威の状況は、従来の銀行という標的を超えて、ソーシャルメディア、メッセージングアプリ、個人データにまで広がっており、サイバー犯罪者の目的が多様化していることを示しています。2023年に特定された10の新たなトロイの木馬には2,100を超える亜種があり、その中にはNexus、Godfather、Pixpirateといった有名なものが含まれ、ライブ画面共有から自動取引システムまで、幅広い攻撃手法が見られました。サイバーセキュリティの専門家による継続的な取り組みにもかかわらず、Teabot、Exobot、Mysterybotといったマルウェアファミリーは、特に米国、英国、イタリアなどの国々で依然として重大な脅威となっています。こうした進化する脅威に対抗するため、ユーザーには、アプリをGoogle Play Storeからのみダウンロードする、アプリのレビューと開発者の資格情報を注意深く確認する、要求される権限を精査する、外部ソースからのアップデートや、身に覚えのないメッセージに含まれるリンクを避けるといった安全上の推奨事項を守ることが求められています。

2024年のバンキングマルウェアCoyoteと回避手法
出典:https://www.darkreading.com/threat-intelligence/coyote-malware-preying-61-banking-apps
サイバーセキュリティコミュニティは最近、主にブラジルを中心に61のオンラインバンキングアプリケーションを標的とする、新たなバンキング型トロイの木馬「Coyote」を発見しました。この発見が注目に値するのは、このトロイの木馬がブラジル国内で差し迫った脅威であるからだけでなく、過去に世界中へと活動範囲を広げたブラジルのマルウェアキャンペーンと同様に、国際的な影響を及ぼす可能性があるからです。Coyoteの構成は特に高度で、比較的知られていないプログラミング言語であるSquirrelなどのさまざまな技術を、十数種類以上の悪意ある機能とともに組み込んでいます。これは金融マルウェアの状況における大きな進化であり、2000年から活動と進化を続けてきたブラジルのマルウェア開発者による絶え間ないイノベーションを示しています。
Coyoteの機能は、一般的なバンキング型トロイの木馬の活動にとどまらず、スクリーンショットの取得、キーストロークの記録、プロセスの終了といったコマンドの実行や、被害者のマシンを操作不能にするための偽の「Working on updates…」オーバーレイの表示にまで及びます。こうした機能は、Coyoteが初期アクセス型トロイの木馬やバックドアなど、より危険な形態のマルウェアへと発展する可能性を示唆しています。さらにCoyoteは、検知を逃れるために独自の回避手法を用いています。Squirrelを使って正規のソフトウェアアップデートのパッケージャーを装い、最終段階のローダーにはNimを採用して、検知される痕跡をさらに減らしています。マルウェア開発でより一般的に使われるDelphiなどのプログラミング言語からのこの戦略的な転換は、より高度で検知しにくい手法への移行を示しており、世界中のサイバーセキュリティ防御にとって課題が大きくなっていることを示しています。
モバイルバンキングセキュリティの未来
- 銀行サービスと非金融プラットフォームの統合:この傾向は、データのプライバシーとセキュリティに関する懸念から、大きなリスクを伴います。金融取引を主目的としないプラットフォームに金融サービスを統合すると、サイバー脅威に対するアタックサーフェスが拡大し、ユーザーデータがより脆弱になる可能性があります。
- オープンバンキングと金融エコシステムの拡大:オープンバンキングはイノベーションとパーソナライゼーションをもたらす一方で、データセキュリティと顧客のプライバシーに関するリスクも伴います。金融機関やサードパーティのプロバイダー間で金融データを共有するには、侵害や悪用を防ぐための強固なデータ保護対策が必要です。
- ネオバンクとデジタル専業の金融機関の台頭:ネオバンクは、従来の銀行モデルと規制フレームワークに挑戦しています。完全にデジタルな形で存在するため、特に技術的な障害やセキュリティ侵害が発生した場合に、規制コンプライアンス、財務の安定性、顧客の信頼の面でリスクをもたらす可能性があります。
- 人工知能と機械学習の利用拡大:AIと機械学習には、不透明な意思決定プロセス、顧客サービスに影響を与えるアルゴリズムの偏りの可能性、そしてAIシステムを操作や悪用から守るセキュリティの確保という課題といったリスクが伴います。
- 生体認証とブロックチェーンによるセキュリティ対策の強化:これらの技術はセキュリティの向上を目的としていますが、同時にリスクももたらします。生体データは、侵害されてもパスワードのように変更することができません。また、ブロックチェーン技術は安全ではあるものの、特に銀行システムへの統合や適用において、脆弱性と完全に無縁ではありません。
まとめ
モバイルバンキングアプリケーションの状況は、技術の進歩、消費者の期待の変化、新たな金融プレーヤーの出現によって急速に変化しています。北米の金融機関を対象とした当社の包括的な分析では、モバイルバンキングのセキュリティの現状だけでなく、今後待ち受ける課題と機会も明らかになりました。
主な検出結果:
- セキュリティとプライバシーの懸念:モバイルバンキングアプリケーションが広く普及しているにもかかわらず、セキュリティとプライバシーに関する重大な懸念が依然として存在します。重大度がクリティカルや高のものを含め、アプリケーションの約98%に脆弱性が存在することは、セキュリティ対策を強化する差し迫った必要性を示しています。
- サプライチェーンの脆弱性:調査した銀行アプリケーションの85%以上にサプライチェーンの脆弱性が存在することは、強固なサプライチェーン管理とセキュリティ対策が極めて重要であることを示しています。これらの脆弱性は、金融機関を侵害やデータ漏えいの危険にさらします。
- 新たな傾向とリスク:銀行サービスと非金融プラットフォームの統合、オープンバンキングの拡大、ネオバンクの台頭、AIと機械学習の利用拡大、そして生体認証やブロックチェーン技術の採用は、機会と課題の両方をもたらします。これらの傾向にはいずれも、データのプライバシーに関する懸念から規制コンプライアンスの問題、潜在的なセキュリティの脆弱性に至るまで、固有のリスクが伴います。