近年、小売業やホスピタリティ業界を襲った大規模なクレジットカード情報漏洩の多くは、攻撃者がPOSシステムにメモリスクレイピングマルウェアを感染させたことが原因です。しかし、カードリーダーとPOS決済アプリケーション間の認証と暗号化が不十分なため、この種のデータを盗むより簡単な方法が存在します。
POSシステムは専用のコンピューターです。通常はWindowsで動作し、キーボード、タッチスクリーン、バーコードスキャナー、PINパッド付きカードリーダーなどの周辺機器を備えています。また、取引処理専用の決済アプリケーションもインストールされています。
攻撃者がPOSシステムから決済カードデータを盗むためによく用いる手法の一つは、窃取したリモートサポートの認証情報などを用いて、マルウェアをPOSシステムに感染させることです。これらのマルウェアプログラムは、POSシステム上の決済アプリケーションで処理される際に、システムのメモリをスキャンしてクレジットカードデータを探すため、メモリスクレーパーまたはRAMスクレーパーと呼ばれます。
ターゲット:ガソリンスタンド
しかし火曜日、ラスベガスで開催されたBSidesカンファレンスで、米国を拠点とするPOSおよびATMメーカーNCRのセキュリティ研究者、ニール・ヴァルトマン氏とパトリック・ワトソン氏が、PINパッド付きカードリーダーやガソリンスタンドの支払い端末など、ほとんどの「支払いインタラクションポイント」に対して有効な、よりステルス性に優れた効果的な攻撃手法を実演した。
これらのデバイスに共通する主な問題は、POS決済ソフトウェアにデータを送信する際に認証と暗号化が行われていないことです。そのため、ネットワークやシリアル接続を傍受する外部デバイス、あるいはPOSシステム自体を実行する「シムソフトウェア」を介した中間者攻撃の脅威にさらされています。
研究者たちはデモのために、PINパッドと決済アプリシミュレーターを搭載したノートパソコン間のデータケーブルを傍受するトラフィックキャプチャソフトウェアを搭載したRaspberry Piデバイスを使用しました。PINパッドにはメーカーとモデルを隠すためのカスタムトップカバーが付いていましたが、多くのベンダーが影響を受けるため、研究者たちは特定のベンダーを非難したくありませんでした。
デモでは、内部関係者や技術者を装った人物がインストール可能な外部デバイスが使用されていましたが、攻撃者はリモートアクセスできれば、決済アプリのDLL(ダイナミックリンクライブラリ)ファイルを改変するだけで、OS内部のデータ傍受を行うことが可能です。正規の決済ソフトウェアによって読み込まれる改変されたDLLは、メモリスクレイピングを行うマルウェアよりもはるかに検出が困難です。
ルシアン・コンスタンティン 研究者のパトリック・ワトソン氏とニール・ヴァルトマン氏は、決済端末に偽の PIN 再入力プロンプトを表示させました。
NCRの研究者らは、攻撃者がこの攻撃手法を使ってカードの磁気ストライプにエンコードされたデータを盗み出し、それを複製できるだけでなく、カード所有者を騙して暗証番号やカード裏面に印刷されたセキュリティコードまでも入手できることを明らかにした。
通常、PINパッドはPOSソフトウェアにPIN番号を送信する際に暗号化します。これは業界の要件であり、メーカーはこれに準拠しています。
「PINを再入力してください」—攻撃者がそれを盗むことができるように
しかし、中間者攻撃者は、いわゆるカスタムフォームをアップロードすることで、PINパッド画面に不正なプロンプトを挿入することも可能です。これらの画面プロンプトには、「PINを再入力してください」や「カードのセキュリティコードを入力してください」など、攻撃者が望むあらゆる情報が表示されます。
セキュリティ専門家は、暗証番号を再入力してはいけないことや、CVV2とも呼ばれるカードセキュリティコードはオンラインのカード非提示取引にのみ必要であることを知っているかもしれないが、一般消費者はこれらのことを知らないのが普通だと研究者らは述べている。
実際、彼らは過去に決済業界の専門家にこの攻撃方法を実演したが、彼らの90パーセントはPIN再入力画面に疑念を抱かなかったと述べている。
一部のPINパッドには、カスタム画面に表示される単語を制限するホワイトリストが搭載されていますが、多くのホワイトリストでは「再入力してください」という単語は許可されています。また、許可されていない場合でも、PINパッドのカスタムフォームでは画像が許可されているため、フィルターを回避する方法があります。攻撃者は、画面に通常表示されるのと同じ色とフォントで、これらの単語を含む画像を挿入するだけで済みます。
また、この攻撃はEMV規格に準拠した、つまりICチップ搭載カードに対応したカードリーダーやPINパッドに対しても有効であることも注目すべき点です。EMV技術は、攻撃者がICチップ搭載カードから盗んだトラックデータを用いて複製を作成し、EMVをまだサポートしていない国や、EMV非対応でカードスワイプのみに対応した端末で使用することを防ぐことはできません。
また、EMV は電子商取引の取引には影響を及ぼさないため、攻撃者がカードの追跡データとカードの CVV2 コードを入手した場合、オンラインで不正な取引を実行するために必要なすべての情報が手に入ることになります。
メーカーに対しては、研究者らはポイントツーポイント暗号化(P2PE)の実装を推奨しています。これは、PINパッドから決済プロセッサまでの接続全体を暗号化するものです。既存のハードウェアにP2PEを実装できない場合は、少なくともPINパッドとPOSソフトウェア間の通信をTLS(トランスポート層セキュリティ)で保護し、決済アプリケーションからPINパッドに返されるすべてのリクエストにデジタル署名することを検討する必要があります。
一方、消費者はPINパッドでPINの再入力を求められても、絶対に再入力してはいけません。また、画面に表示されるメッセージを読み、追加情報を求めるメッセージには注意が必要です。Apple Payなどのデジタルウォレットサービスを使ったモバイル決済は、現時点では従来の決済端末よりも安全であるため、可能な限り利用すべきです。