ゾンビカード攻撃、期限切れVisaカードで非接触決済が可能になる新手口

セキュリティ研究者らが、失効した一部のVisa非接触カードを再び「生き返らせ」、NFC決済に使用できてしまう「ゾンビカード」攻撃を実証しました。

この攻撃は、カードの有効期限データの取り扱いに関するVisaの EMV Kernel 3の脆弱性を悪用するものです。カードと決済端末の間に位置する攻撃者は、取引の暗号学的チェックを損なうことなく、端末に送信される有効期限情報を改ざんできます。

マサチューセッツ大学アマースト校の研究者Raja Hasnain Anwar氏、Gerard DeCunha氏、Muhammad Taqi Raza氏は、第35回USENIX Security Symposiumで発表した論文の中でこの調査結果を明らかにしました。

今回の研究は、端末側と発行会社側でカードの有効期限の表現方法が異なり、かつその整合性検証が不十分な場合に、有効期限の強制チェックが破綻し得ることを浮き彫りにしています。

攻撃の仕組み

この攻撃を成立させるには、失効した実物のカードと決済端末(POS)との間に、能動的なNFC中間者リレーを介在させる必要があります。

研究者らの概念実証では、NFC対応のAndroidスマートフォン2台を使用しました。1台は端末付近でカードをエミュレートし、もう1台は失効カード付近でPOS端末をエミュレートすることで、両者間の非接触決済通信を中継しました。

Image

取引の最中、攻撃者は「Application Expiration Date」というデータオブジェクト(EMVタグ5F24として知られる)を傍受し、過去の日付から未来の日付へと書き換えます。この改ざんだけで、端末側のローカルな有効期限チェックを通過させるのに十分だといいます。

重要な点として、研究者らはTrack 2 Equivalent Dataについては変更を加えていません。このデータにも有効期限の値が含まれており、通常はオンライン与信照会の際に発行会社側へ送信されます。

Visa Kernel 3では、端末側に提示される5F24の値が、取引時に検証される署名済みデータと一貫して暗号学的に紐づけられているわけではありません。そのため、高速な動的データ認証(Dynamic Data Authentication)や発行会社側で検証可能なアプリケーション暗号(application cryptogram)を損なうことなく、通信経路上でのデータ改ざんが可能になってしまいます。

結果として、端末はカードが実際には失効しているにもかかわらず、有効であると誤って認識してしまいます。

EMV非接触決済では、セキュリティに関する判断がカード、端末、アクワイアラー(加盟店契約会社)、決済ネットワーク、発行銀行の間に分散しています。今回の調査によれば、Visa Kernel 3は特に緩い環境を生み出しているといいます。というのも、端末側は単一の有効期限値のみに依拠している一方で、発行会社側は別の値を使用している可能性があるためです。

発行会社が決済を承認するには、失効したカードであっても有効な暗号学的マテリアルを保持している必要があり、かつそのカード番号(PAN: Primary Account Number)に紐づくアカウントが有効なままである必要があります。

研究者らの観察によれば、発行会社ごとに挙動は異なっていました。ある銀行は、金額や加盟店種別を変えた改ざん取引を承認してしまった一方、別の銀行は一貫してこれらを拒否し、顧客に対して交換後のカードを使うよう案内していたといいます。

この攻撃はEMVの暗号方式そのものを破ったり、決済カードを偽造したりするものではありません。むしろ、カードのライフサイクル管理における不備を突くものです。古いカードであっても有効な取引暗号を生成できてしまう一方で、発行会社側は特定の物理カードの有効期限を検証するのではなく、アカウントやPANが有効かどうかに基づいて与信を承認してしまう可能性があるのです。

研究者らは、さまざまなEMVカーネル、端末、加盟店、そして米国の大手銀行5行が関わる実際の取引でこの手法を検証しました。

その結果、この問題はすべてのEMVシステムに共通する普遍的な欠陥ではないことも示唆されています。Mastercard Kernel 2、American Express Kernel 4、Discover Kernel 6に対しては、同様の改ざんは機能しませんでした。これらの実装では、有効期限表現同士の整合性をチェックしているか、該当データが暗号学的に保護されているためです。

Image

この攻撃の脅威モデルには、いくつもの大きな制約もあります。攻撃者は、失効・交換済み・紛失・盗難のいずれかに該当するカードを入手する必要があり、さらにカードと決済端末との間にNFCリレーの位置取りを確立する能力も求められます。

そのため、この手法は単純なカードスキミングに比べて実行のハードルが高いといえます。とはいえ、失効カードを自動的に無害だとみなすべきではないことを、この研究は示しています。

論文では、決済ネットワークおよび端末ベンダーに対し、有効期限に関わる重要データを認証済みの取引フィールドに暗号学的に紐づけ、端末側と発行会社側それぞれに提示される有効期限値の整合性を強制するよう提言しています。

発行会社側も、PANと有効期限を一体のクレデンシャル(認証情報)として扱い、提示されたカードのライフサイクル状態が有効なカードと一致しない場合には与信を拒否すべきだとしています。

銀行各行は、交換後のカードを発行した後は、少額決済やオンライン与信照会の場合も含め、旧カードのクレデンシャルを一貫して失効させるべきです。また決済システム側でも、全ゼロのTerminal Verification Resultsで隠蔽するのではなく、端末側の有効な検証結果を発行会社に伝えるようにすれば、リスクをさらに低減できる可能性があります。

カード保有者にとっての実践的なアドバイスは明快です。失効・交換済みのカードは、EMVチップと磁気ストライプの両方を切断するなどして物理的に破棄するか、発行会社が承認した廃棄手段を通じて返却してください。

調査の遅れによるインシデントを未然に防ぎましょう。15,000のSOCから得られる脅威インテリジェンスで、Tier 1のセキュリティ運用を強化できます。 TI LookupをSOCに統合する

翻訳元: https://gbhackers.com/new-zombie-card-attack/

本記事は gbhackers.com の記事を翻訳・要約したものです。