Chaos Computing Clubカンファレンスのドイツの情報セキュリティ研究者Karsten Nohl、dexter、およびFabian Braunleinは、サイバー犯罪者が買い手の銀行カードと売り手の口座からお金を盗むために使用できる重大な支払いプロトコルの脆弱性について話しました 。
問題は何ですか
ユーザーは決済システムを信じることができるはずです。決済端末はどこにでもあり、銀行カードによる支払いがますます一般的になり、一部の国では非現金取引の量が現金支払いを上回ります。
それにもかかわらず、この支払いインフラストラクチャのほとんどは、前世紀の90年代の独自のプロトコルに基づいています-実際には、これは多数のセキュリティホールの存在を意味します。 支払い端末とプロセッサは、ますます攻撃者の標的になりつつあります。
財務データの盗難
犯罪者は、支払いプロトコルの脆弱性を使用して、多数の銀行カードの情報にアクセスし、PINコードを入手できます。
たとえば、ドイツでは、支払い端末とキャッシュレジスタ間の通信の主な通信プロトコルはZVTです。 ハッカーが銀行カードから情報を読み取って、ストアのローカルネットワークにアクセスできるようにするだけです。
さらに悪いことに、このプロトコルは、カードのPINコードをリモートで読み取るためのメカニズムを実装しています。 暗号署名(MAC)で保護されています。 ただし、対称暗号化キーはいわゆるハードウェアセキュリティモジュール(HSM)に格納され、その一部は単純なタイミング攻撃を受けやすいため、攻撃者はキーにアクセスできます。
重要な点は、多くの支払い端末で同じキーが使用されることです。これにより、攻撃者が攻撃を実行する機会が開かれます(安全なシステムを設計する基本原則に反します)。
加盟店アカウントの侵害
さらに、金融プロトコルのセキュリティの欠如は、攻撃者が売り手のアカウントからお金を盗む機会を開きます。
支払い端末は、ISO 8583標準を使用してインターネット経由で特別な支払いプロセッサと通信します(これは銀行とやり取りします)。この標準にはさまざまな「方言」があります。 また、重大な脆弱性も含まれています。
特に、認証エラーの1つは次のとおりです。 暗号認証プロトコルを実行するために、端末は秘密鍵を使用します。 これまでのところ、とても良い。 しかし、その後、ZVTエラーが繰り返し表示されます-多くの端末が同じキーを保存します。 特定の端末で1つの番号(端末ID)を置き換えると、この端末が「リンク」されている売り手のアカウントへのアクセスが開きます。 さらに悪いことに、端末IDはチェックごとに出力されます。これにより、攻撃がさらに簡単になります。
その結果、攻撃者は携帯通信のプロモーションコード(トップアップコード)の払い戻しまたは支払いを行うことができます。
提示された攻撃の詳細な説明は、 このPDFにあります。
それほど悪くない
ドイツの研究者によって発見された支払いプロトコルのセキュリティ問題は、主にドイツで使用されている技術に影響を及ぼし、他の国ではそれほど一般的ではありません。
それにもかかわらず、ロシアの情報セキュリティ研究者は、わが国で営業している銀行のシステムの深刻な脆弱性や、 ATMや支払い端末自体への攻撃の可能性に関する情報も公開しています。