KYCにおけるインジェクション攻撃とは何か#
本人確認の文脈におけるインジェクション攻撃とは、攻撃者が通常の撮影パイプラインを傍受し、本物のカメラ入力の代わりに不正なデータを差し込むときに発生します。本物の本人確認書類と自分自身の顔をカメラに提示する代わりに、攻撃者はあらかじめ用意した画像やビデオを確認フローに注入します。これらの攻撃は、KYC確認が確認しようとする物理的な現実を回避します。
インジェクション攻撃は、本人確認詐欺の中で最も急速に増加しているカテゴリーになりました。ライブネス検知と書類確認が物理的な提示攻撃(印刷写真をかざす行為)に対して強化されるにつれ、攻撃者はソフトウェア層で動作するデジタルなインジェクション手法へと移行しています。参入障壁は低く、仮想カメラソフトウェアは自由に入手でき、ディープフェイク生成ツールは技術に詳しくないユーザーにも手の届くものになっています。
攻撃ベクトル#
仮想カメラのなりすまし
OBS Virtual Camera、ManyCam、またはカスタムドライバなどの仮想カメラソフトウェアは、正規のカメラデバイスとしてオペレーティングシステムに自らを提示します。KYC確認SDKを含め、カメラへのアクセスを要求するあらゆるアプリケーションは、物理カメラの入力ではなく仮想カメラのフィードを受け取ります。攻撃者は、あらかじめ録画したビデオを再生したり、別のアプリケーションを画面共有したり、仮想カメラを通じて合成コンテンツを流し込んだりできます。
書類の再生攻撃
書類の再生攻撃では、攻撃者は盗まれた、または不正に取得した本人確認書類の高解像度画像を用いて、それをカメラに提示します。高度な手口では、書類画像を高DPIの画面に表示し、画面再撮影のアーティファクトを検査しない基本的な書類撮影システムを欺くことができます。
ディープフェイクのセルフィー
ディープフェイク技術により、攻撃者は他人の現実的な顔のビデオを生成できます。本人確認書類の参照写真を用いて、攻撃者は書類の写真に一致する合成ビデオを作成し、それを仮想カメラ経由で注入できます。高度なディープフェイクは、リアルタイムでライブネスチャレンジに応答し、要求に応じて首を回したりまばたきしたりできます。
画面再撮影
攻撃者は書類またはセルフィーを一方の画面に表示し、その画面に向けたデバイスのカメラで撮影します。これは、不正なコンテンツを使用しながら仮想カメラの検出を回避し得る、物理とデジタルのハイブリッド攻撃です。
インジェクション攻撃は、巧妙な多段階攻撃として組み合わせることができます。攻撃者は、書類撮影の段階では物理的な書類の複製を、セルフィーの段階では仮想カメラ経由で注入したディープフェイクを使用するかもしれず、その場合、防御側はフローの異なる段階で異なる種類の攻撃を検出しなければなりません。
防御層#
インジェクション攻撃に対する効果的な防御には、複数の独立した検出層が必要です。攻撃者は個々の防御の弱点を見つけて悪用するため、単一の手法だけでは不十分です。多層防御の原則が当てはまります。各層は、前の層をすり抜けた攻撃を捉えるように設計されています。
デバイスの完全性検証
第一の防御層は、撮影環境が信頼できるものであることを検証します。モバイルプラットフォームでは、これには、ルート化またはジェイルブレイク(カメラAPIのフックを可能にする)の確認、改ざんに対するアプリケーションのコード完全性の検証、SDK関数呼び出しを傍受し得るFridaやXposedなどの計装フレームワークの検出、そしてカメラAPIが仮想ソースではなく物理的なハードウェアセンサーからのデータを返していることの確認が含まれます。
書類のライブネス
書類のライブネス検証は、本人確認書類が、画面表示やデジタル画像の印刷コピーではなく、カメラの前に存在する物理的な物体であることを確認します。手法には次のものが含まれます。カメラが画面を撮影するときに生じるモアレパターンの干渉の分析。LCD/OLEDディスプレイの特徴的なピクセルグリッドの検出。プラスチック/ポリカーボネート製の書類と平らな画面とで異なる光の反射パターンの分析。そして、本物の書類でホログラムやセキュリティ機能の応答が異なる、書類を傾けるようユーザーに求めることです。
顔のライブネスとアンチスプーフィング
顔のライブネス検知は、当社の生体認証に関する記事で述べたとおり、物理的・デジタルの両方の提示攻撃に対して堅牢でなければなりません。デバイスの画面が顔に色付きの光のパターンを投射する照明ベースのチャレンジは、特定のチャレンジシーケンスを知らなければ反射光のパターンをディープフェイクで再現することが極めて困難であるため、強力な防御を提供します。サーバー側のライブネス評価は、クライアント側でのライブネスチェックの回避を防ぎます。
フレームハッシュチェーン
フレームハッシュチェーンは、撮影された各ビデオフレームを暗号学的ハッシュによってその前のフレームに結び付け、改ざんの痕跡が残るシーケンスを作り出します。攻撃者がストリームの途中で別のソースのフレームを注入すると、ハッシュチェーンが壊れます。ハッシュチェーンはサーバーが提供するノンスで初期化され、撮影セッションを特定の確認要求に結び付け、過去に撮影されたセッションの再生を防ぎます。
ストリームの完全性検証#
個々のフレームの完全性を超えて、撮影ストリーム全体について整合性を検証しなければなりません。これには、物理カメラと合成ソースとで異なる、フレームレートの安定性、露出の一貫性、センサーノイズのパターンといった時間的特性の分析が含まれます。動き視差の分析は、前景と背景の要素がデバイスの動きに応じて適切にずれるかどうかを確認することで、平らな面(画面)を検出できます。
メタデータ分析は追加のシグナルを提供します。物理カメラは、焦点距離、絞り、センサーモデルといったEXIFデータを埋め込んでおり、既知のデバイスプロファイルと照合できます。仮想カメラや注入されたストリームは、これらのメタデータを省略したり、検出可能な形で偽造したりすることがあります。
サーバー側の検証#
クライアント側の検証だけに決して依存しないでください。ユーザーのデバイス上で行われるあらゆるチェックは、デバイスを掌握した十分な動機を持つ攻撃者によって回避され得ます。すべての重要な完全性およびライブネスの判定は、撮影された生データに基づいてサーバー側で検証しなければなりません。
サーバー側の検証は、確認の完全性に関する最終的な裁定者です。サーバーは、撮影されたフレーム、メタデータ、ハッシュチェーン、ライブネスチャレンジの応答を受け取り、次の事項を独立して検証します。ハッシュチェーンの完全性、ライブネスチャレンジの応答の正しさ、生体比較の結果、書類の真正性シグナル、そして書類撮影とセルフィー撮影の各セッション間の相互整合性です。
多層防御アーキテクチャ#
KYC確認のための完全な多層防御アーキテクチャは、攻撃者が成功するためにはすべての層を同時に突破しなければならないように、これらの防御を重ね合わせます。
- 第1層(デバイス):ルート化/ジェイルブレイクの検出、アプリの完全性検証、仮想カメラの検出。
- 第2層(撮影):書類のライブネス、照明チャレンジを用いた顔のライブネス、フレームハッシュチェーンの初期化。
- 第3層(伝送):セッションバインディングと再生防止を備えた、暗号化され証明書ピン留めされたチャネル。
- 第4層(サーバー):独立したライブネス評価、生体比較、書類の真正性分析、ハッシュチェーンの検証。
- 第5層(分析):セッション横断的な異常検知、デバイスフィンガープリントのクラスタリング、繰り返される提出試行に対する速度チェック。
各層は独立して動作し、それぞれの信頼度シグナルを報告します。最終的な確認の判定はすべての層を考慮し、いずれか単一の層での失敗が、提出を審査または却下のためにフラグ付けするのに十分です。このアーキテクチャは、攻撃者が個々の防御を回避する方法を見つけたとしても、システム全体がその完全性を維持することを保証します。