クレジットカードやキャッシュカードを使ってATMからお金を引き出す時は、自分で設定した暗証番号を入力する必要があります。用心深い人は他人に暗証番号を知られないように、入力する時にキーパッドを手で覆うこともあるかもしれませんが、「機械学習モデルを利用すれば、キーパッドを手で隠していてもそれなりの精度で暗証番号を推測可能」との研究結果が発表されました。
[2110.08113] Hand Me Your PIN! Inferring ATM PINs of Users Typing with a Covered Hand
https://arxiv.org/abs/2110.08113
Credit card PINs can be guessed even when covering the ATM pad
https://www.bleepingcomputer.com/news/security/credit-card-pins-can-be-guessed-even-when-covering-the-atm-pad/
ATMからカードを使ってお金を引き出す際の認証方法として「暗証番号の入力」が広く利用されていますが、ATMの近くに小型カメラを仕掛けて暗証番号を盗み見る犯罪の手口が存在します。そのため、セキュリティの意識が高い人の中には、暗証番号を入力する時はキーパッドをもう一方の手で隠しているという人も多いはずです。
新たにプレプリントサーバーのarXivに投稿された査読前論文は、「ATMのキーパッドで4桁または5桁の暗証番号を入力する人々のビデオを撮影し、機械学習モデルを利用して入力したキーを推測する」という攻撃手法について研究したもの。研究チームは、「ATMのユーザーはキーパッドを手で隠すことが暗証番号を盗み見る攻撃に対する有効な防御だと考えているものの、この防御手法を明確に評価した科学的な文献はない」と指摘しています。
研究チームはまず、キーパッドの寸法とキーの間隔について模倣した攻撃対象のATMのレプリカを作成しました。続いて、ATMのレプリカで暗証番号を入力する様子を撮影した映像を利用して、キーパッド上の手の動きからどのキーを押したのかを推測し、キーごとに確率を割り当てるようにモデルをトレーニングしました。トレーニングには、さまざまな人口統計的バックグラウンドを持つ58人の被験者が4桁または5桁の暗証番号を入力した5800本のビデオが使われたとのこと。
そして、トレーニングした機械学習モデルの精度を確かめるため、実際にATMのキーパッドで暗証番号を入力する様子を撮影したビデオから、4桁または5桁の暗証番号を推測させる実験を行いました。その結果、入力ミスでカードがロックされてしまう「3回」の試行回数以内に暗証番号を正確に推測する確率は、5桁の暗証番号で30%、4桁の暗証番号で41%に達しました。
機械学習モデルは暗証番号を推測するために、まず入力していない方の手で隠しきれていないキーを除外し、入力する方の手の動きとキー間の距離に基づいてキーを推測しているとのこと。そのため、キーを入力する様子を撮影するカメラの位置が重要な役割を果たしていたとのことで、研究チームは「ATMの上部」にピンホールカメラを隠すことが攻撃者にとって最善のアプローチだったと指摘しています。また、カメラが音声を録音することもできる場合、キーごとに押した時の音がわずかに異なることを利用して、さらに予測精度を改善できるそうです。
コンピューター関連メディアのBleeping Computerは、今回の研究結果を基にして以下のような対策が展開できると述べています。
・銀行が4桁だけでなく5桁以上の暗証番号を選択するオプションを提供している場合、より長い暗証番号を設定する。
・入力しない方の手がキーパッドを覆う割合が暗証番号の推測精度に影響するため、できる限りキーパッド全体を覆うようにする。
・コンピューター画面で「ランダムで数字が配置された仮想のキーパッド」を選択できる場合、備え付けのキーパッドではなく仮想のキーパッドを選択する。
なお、研究チームが機械学習モデルではなく78人の人間の被験者を対象に、キーパッドを入力する様子の映像を見せて5桁の暗証番号を推測させたところ、平均精度はわずか7.92%だったとのことです。
この記事のタイトルとURLをコピーする