こちらの記事は、セキュリティ専門家の松野によるニュース解説ラジオ「今日の10分セキュリティラジオ」の放送内容を文字に起こしご紹介しています。
IPAおよびJPCERT/CCは、Androidアプリ「Spoon(スプーン)」に、外部サービスのAPIキーがハードコードされていない問題が存在すると「JVN」で発表した。(記事はこちら)
【お届けするニュースはサイバーセキュリティ専門ニュースサイト「ScanNetSecurity」の提供でお送りしています。】APIキーがハードコードされている脆弱性が発見されています。ご利用中の方は最新版へのアップデートを検討してください。発見された脆弱性の内容と、APIキーがハードコードされた場合のリスクについて説明します。
今回の脆弱性は、Androidアプリに外部サービスのAPIキーがハードコードされている問題が存在するというものです。影響を受けるアプリは、Android Spoon アプリバージョン 7.11.1 から 8.6.0 までです。影響として、アプリ内のデータを解析された場合、外部サービスと連携するためのAPIキーが窃取される可能性があります。なお、この脆弱性によって製品の利用者が直接影響を受けることはないとしています。
深刻度を表すCVSSv3の基本値は4.0で、3番目に高い「警告」とされています。脆弱性の詳細は、本脆弱性に割り当てられたCVE番号「CVE-2024-23453」で検索してみてください。
CVSSとは、共通脆弱性評価システムの略称で、システムの脆弱性に対して深刻度を評価するためのオープンな業界標準です。CVSSは脆弱性の深刻度に対してスコアを割り当て、対応者が脅威に応じて対応とリソースに優先順位を付けることを可能にしてくれます。
CVSS は、基本評価基準、現状評価基準、環境評価基準の3つのグループから成り立っています。基本評価基準は、脆弱性自体が持つ固有の特性を評価し、脆弱性が公表される際の一般的なスコアとして割り当てられています。
現状評価基準は、攻撃コードの存在や脆弱性の拡散度など、脆弱性の時間的な特性を評価し、基本評価基準のスコアを調整することができます。環境評価基準は、対象システムのセキュリティ要求度など、特定の環境における脆弱性の影響度を評価し、スコアをさらに調整することができます。
CVSSは、セキュリティベンダーやソフトウェア開発者によって、客観的な評価や優先順位付けに使用されており、脆弱性の深刻度を共通の言語で表現しているため、異なる組織や個人とのコミュニケーションを容易にしてくれます。
ちょっと難しい話になってしまったので簡単にまとめると、CVSS のスコアは0から10までの数値で表されるので、スコアが高いほど、脆弱性の深刻度が高いということだけでも覚えておいてください。
APIキーをハードコードした場合、誤って公開されることで攻撃者の手に渡り、不正アクセスに悪用されるリスクが考えられます。
まず、APIとは、アプリケーションプログラミングインターフェースの略称で、プログラムがシステムの機能を共有・連携させるための仕組みです。APIキーは、APIへのアクセスを認証するための文字列で、プログラムがそのAPIを利用するために必要となります。
そして、ハードコードとは、ソースコードに値を直接記述する方法です。プログラムで変更される可能性のない値に対して使われることがありますが、ハードコードされた値に機密情報が含まれる場合、プログラムなどから値が漏洩した際に、影響を受ける可能性があります。
例えば、円周率を使用するプログラムを開発する場合、その値は変更されることがなく、円周率は誰もが知っている情報であるため、その値をハードコードすることができます。一方で、個人名や誕生日は変更されることはありませんが、個人情報に該当するため、プログラムにハードコードすることは適切ではないことになります。
APIキーは、外部サービスと通信するための認証情報です。APIキーがハードコードされている場合、プログラムを解析することで、攻撃者がAPIキーを入手することができます。APIキーを入手した攻撃者は、外部サービスへの不正アクセスを行うことができるため、APIキーはハードコードするべきではないと言われています。
今日の10分セキュリティラジオにて毎週月・水・金にセキュリティの最新ニュースを取り上げ解説を行っています。隙間の時間の情報収集にぜひお役立てください!
お見積り・ご相談など、お気軽にご相談ください
サイトTOPへ