人気のAndroidアプリケーション2500本について機密認証情報の扱いをComparitech.comの研究者が調べたところ、1057本では少なくとも1つの機密認証情報が無防備な状態で保存されていることが明らかになった。
この記事は会員限定です。会員登録(無料)すると全てご覧いただけます。
「Google Playストア」で提供されている人気アプリケーション2500本のうち1057本では、少なくとも1つの機密認証情報(アクセストークンやパスワードなど)が無防備な状態で保存されていた。比較サイトComparitech.comが2021年4月19日(現地時間)、同社の研究者の調査結果として明らかにした。
「認証情報」は、エンドユーザーがアプリケーションやWebサイトにログインする際に必要な電子メールアドレスやパスワードといった情報と思われがちだ。だが、アプリケーション自体がファーストパーティーやサードパーティーのサーバ、API、その他のエンドポイントへの接続認証に使用するパスワードやトークンなども認証情報に含まれる。
Comparitech.comの研究者は、多くのアプリケーションが認証情報やWebフック(トリガーの対象となったときにアプリケーションから送信される自動メッセージ)を平文でハードコードしていることを発見した。このため、ユーザーはもちろん、同じ端末にインストールされている他のアプリケーションから簡単にアクセスできてしまう。研究者はオープンソースツールの「APKLeaks」と「Quark Engine」を使って、Google Playストアの人気アプリケーション2500本について、機密情報の保存方法を分析した。
分析対象のアプリケーションが無防備な状態で保存していた認証情報には、次のようなものがあった。
この他、無防備なFirebaseサーバやAWSバケットを指すIPアドレスも発見した。
このような欠陥のある認証情報ストレージは、悪意あるハッカーによって悪用される恐れがある。アプリケーションAPIへの不正アクセスと悪用、機密データの窃盗、ユーザーに対するフィッシング、マルウェアの拡散などの危険性がある。
Comparitech.comは、アプリケーションによるAPIトークンとWebフックの保存方法に見つかった問題点を次のように説明している。
多くのAndroidアプリケーションはAPIを用いて、他のアプリケーションのデータや機能にアクセスしている。例えば、ホテル比較アプリケーションは各ホテルのAPIを使って、予約可能日や宿泊料金のデータを取得する。APIアクセスには通常、機密のAPIキーまたはトークンによる認証が必要になる。
Comparitech.comの研究者は、API認証情報を無防備な状態で保存しているアプリケーションが多いことを発見した。あるアプリケーションは、認証情報を定数として保存していた。これでは、他のアプリケーションから読み取られたり、悪意のある操作によって変更されたりする可能性がある。
研究者は、ハードコードされた認証情報を実際に操作して、「アプリケーションがトークンをリクエストし、取得するプロセス」をさかのぼることに成功した。あるケースでは、米国の有名な配送サービス会社のAPIトークンを発見し、これを用いて、荷物を追跡するためのプライベートAPIエンドポイントにアクセスできた。研究者はそこで調査作業をストップしたが、「攻撃者が同じ脆弱(ぜいじゃく)性を突いて、機密の顧客情報を盗む可能性がある」と指摘している。
APIトークンは、認証情報スタッフィング攻撃に使われることが増えている。認証情報スタッフィングは通常、盗まれた認証情報を使って、botがそれらのパスワードやトークン、キーを共有する他のアカウントにアクセスすることを含む。APIエンドポイントは、認証情報スタッフィング攻撃の標的になりやすい。
WebフックはSMS通知に似ている。カスタムコールバックを利用して、アプリケーションの動作を補強することが可能だ。
Copyright © ITmedia, Inc. All Rights Reserved.