AIキーストロークパターン検出によるパスワードの認識を防ぐ方法

AIキーストロークパターン検出によるパスワードの認識を防ぐ方法

著者: Vision NP

翻訳者:陳俊

レビュー丨Chonglou

最近、比較的隠れていたネットワーク セキュリティの脆弱性を暴露する研究レポート (https://arxiv.org/pdf/2308.01074.pdf) がオンラインで公開されました。この脆弱性を利用すると、Zoom などのビデオ会議サービスを使用しているときにキーボード入力の音に対して攻撃を仕掛けることができる。

サリー大学、ダラム大学、ロンドン大学ロイヤル・ホロウェイ校の専門家による研究によると、人工知能システムは、タイピング時に出る音に基づいて、人がノートパソコンのキーボードでどのキーを押したかを正確に識別できるという。

1. 研究結果

この研究から得られた重要な洞察と意味は次のとおりです。

1. 音ベースの攻撃: 研究により、人工知能システムはキー入力音の信号を最大 90% 以上の精度で検出できることが判明しました。たとえば、Zoom 通話やその他の種類の音声通信中にどのキーが押されたかなどです。これを基に、サイバー犯罪者はキー入力時の音を分析することで、パスワードや課金情報などの機密情報を入手することができます。

2. ビデオ会議の脅威が増大:特にCOVID-19の流行中、Zoomなどのビデオ会議ツールが広く使用されるようになり、このようなプラットフォームに関連する潜在的なセキュリティリスクは増大し続けています。さらに、デバイスに内蔵されたマイクの普及により、音声攻撃の脅威がさらに増大します。

3. 機械学習と音響分析: 研究者らは、さまざまなキーの押下に関連付けられた音声信号を分析できる機械学習アルゴリズムを使用しました。同時に、人工知能システムは、音声録音内のさまざまなパターンや特徴を学習して認識することもできます。異なる指が異なる強さでキーを押したとしても、アルゴリズムはキーの特徴を正確に識別できます。これは、信号を識別して活用する機械学習の強力な能力を完全に実証しています。

4. 精度の向上: 研究では、キーストロークの識別において高い精度が達成され、電話通話の録音の成功率は 95%、Zoom 通話の録音の成功率は 93% でした。このような正確さは、このような攻撃によってもたらされるセキュリティ上の脅威を無視できないことを示しています。

5. 公開討論の重要性: 研究者たちは、マイクを備えたスマートデバイスがさまざまな家庭でますます普及するにつれて、人工知能技術に関する公開討論と管理が必要であると考えています。そうは言っても、音を使った攻撃は倫理的問題やプライバシー問題を引き起こすことは必至であり、国民が真剣に検討する必要がある。

6. サイドチャネル攻撃: この形式の攻撃では、予期しない信号 (音声など) を組み合わせて、不正なアクセスや情報を取得します。これは、ネットワーク セキュリティ戦略においてさまざまな攻撃ベクトルを考慮することの重要性を十分に示しています。

7. ユーザーの行動への影響: 微妙な動きや音でも、巧妙な攻撃者によって悪用される可能性があります。したがって、ユーザーはビデオ会議通話中、特に機密情報(パスワードを含む)を入力する際に​​は注意を払うことをお勧めします。

8. 攻撃の継続的な進化: 時間の経過とともに、AI モデルに基づくさまざまな攻撃の精度が大幅に向上します。したがって、サイバーセキュリティの実践に対する意識を継続的に向上させ、必要に応じて調整する必要があります。

2. 多層保護の組み合わせ

上記がこの調査レポートの主な結論です。では具体的に、サウンドベースの攻撃から Web アプリケーションとユーザーをどのように保護できるのでしょうか?

このような攻撃は依然として進化しているため、Web アプリケーションとユーザーの動作のセキュリティと整合性を強化し、攻撃のリスクを最小限に抑えるには、次の多層アプローチを組み合わせて使用​​する必要があります。

✅ 2 要素認証 (2FA) を実装する: この方法では、ユーザーがアカウントにアクセスするために 2 番目の種類の認証情報 (パスワードに加えて、認証アプリからのログイン コードや生体認証など) を提供する必要があるため、セキュリティがさらに強化されます。つまり、通常は、確認コードをユーザーのモバイル デバイスまたは電子メールに送信し、認証アプリでランダム コードを生成する必要があるため、単一のパスワード ディメンションに基づく攻撃が軽減されます。以下は、ニーズに応じて特定の Web アプリケーションに 2FA を実装する方法の例です。

コードソース: Google Cloud、Firebase 認証ライブラリを使用した JavaScript コード

上記のコードは、Firebase Authentication を使用して多要素認証を実装するプロセスを示しています。具体的には、このコード スニペットは、2 番目の要素として電話番号を検証することに重点を置いています。もちろん、このコード スニペットを調整して、特定のアプリケーションの実際のニーズに合わせて時間ベースのワンタイム パスワード (TOTP) MFA を統合することで、他の多要素認証 (MFA) オプションを提供することもできます。ただし、多要素認証を実装する際には、他の潜在的なセキュリティ問題やユーザー エクスペリエンスを無視しないように注意してください。

✅ 生体認証を使用する: このような検証方法 (指紋や顔認識など) はパスワードよりも複製が困難なため、攻撃者による不正アクセスに対する保護層が追加されます。このリンク (https://stackoverflow.blog/2022/11/16/biometric-authentication-for-web-devs) では、Web 開発者がアプリケーションに実装することが多い生体認証の詳細なガイドを入手できます。

生体認証フローチャート

✅ノイズ低減アルゴリズム: Web アプリケーションにノイズ低減アルゴリズムを実装すると、キーストロークによって生成される検出可能な音を低減できます。これは必ずしも最も効果的な保護ではありませんが、攻撃者が AI ツールを使用して短時間でサウンドパターンを正確に検出することが難しくなる可能性があります。

 <head> <title>Noise Reduction Web App</title> </head> <body> <button id="startButton">Start Recording</button> <button id="stopButton" disabled>Stop Recording</button> <br> <audio id="audioElement" controls></audio> <script> let audioContext, mediaStream, scriptProcessor; const bufferSize = 2048, threshold = 0.05; const startButton = document.getElementById('startButton'); const stopButton = document.getElementById('stopButton'); const audioElement = document.getElementById('audioElement'); startButton.addEventListener('click', startRecording); stopButton.addEventListener('click', stopRecording); function startRecording() { navigator.mediaDevices.getUserMedia({ audio: true }).then(stream => { audioContext = new (window.AudioContext || window.webkitAudioContext)(); mediaStream = stream; scriptProcessor = audioContext.createScriptProcessor(bufferSize, 1, 1); scriptProcessor.onaudioprocess = e => { const inData = e.inputBuffer.getChannelData(0), outData = e.outputBuffer.getChannelData(0); for (let i = 0; i < bufferSize; i++) outData[i] = Math.abs(inData[i]) < threshold ? 0 : inData[i]; }; audioContext.createMediaStreamSource(mediaStream).connect(scriptProcessor); scriptProcessor.connect(audioContext.destination); startButton.disabled = true; stopButton.disabled = false; }).catch(error => console.error('Error accessing microphone:', error)); } function stopRecording() { if (audioContext) { audioContext.close(); mediaStream.getTracks().forEach(track => track.stop()); scriptProcessor = audioContext = null; startButton.disabled = false; stopButton.disabled = true; } } </script> </body> </html>

上記のコード スニペットは、Web Audio API を使用してノイズ低減効果を実現する方法を示しています。もちろん、RNNoise や SpeexDSP などの他のオーディオ処理ライブラリを使用することもできます。これがどのように機能するか見てみましょう。

まず、コードを HTML ファイルとして作成し、Web ブラウザーで開きます。完了後のインターフェースは次のようになります。

Web Audio APIを使用してノイズを低減する

次に、「録音を開始」をクリックし、Web ブラウザでマイクへのアクセスを許可します。

次に、ランダムに生成されたサウンドの録音と分析を開始します。

Web Audio API は、より高度なオーディオ処理タスクに使用できるさまざまなノードとメソッドを提供することに注意してください。 Web アプリケーションの特定のニーズに基づいて、さまざまなオーディオ ライブラリを試すことができます。

✅ キーボード レイアウトのランダム化: 仮想キーボード上のキーの順序を並べ替えることができるため、攻撃者がキーの音の方向のみに基づいて入力内容を検出することが困難になります。一部の金融機関では、音声ベースの攻撃からユーザーを保護するために、この一般的な方法をすでに採用しています。

✅ キーの押下タイミングをランダム化: キーの押下間隔に可変の時間間隔を導入することで、攻撃者がどのキーが押されたかを判断するのをより困難にすることができます。次のコード例を参照してください。

 <head> <title>Randomized Key Press Timing</title> </head> <body> <input id="textInput" type="text"> <script> const textInput = document.getElementById('textInput'); textInput.addEventListener('keydown', event => { setTimeout(() => console.log('Key pressed:', event.key), Math.random() * 500); }); </script> </body> </html

上記のキーロジックランダム化の適用により、ランダムキー遅延の発生をシミュレートします。 HTML ファイルとして作成し、Web ブラウザーで開くことができます。完了したら、表示されるテキスト ボックスに単語を入力できます。

ランダムキー押下遅延ページレイアウト

Web ブラウザのコンソールに、押したキーと、その結果生じるランダムな遅延が表示されます。

上記のコード スニペットを自由に変更し、独自の Web アプリケーションに統合することができます。また、さまざまなキーストロークを試して、ランダムなタイミングがテキスト入力の動作にどのように影響するかを確認することもできます。

✅ユーザーを教育する: 音声攻撃の潜在的なリスクについてユーザーの認識を高め、ビデオ通話中や公共の場ではパスワードや個人データなどの機密情報を入力しないようにします。さらに、Web アプリケーションのパスワードを入力するときに、大文字と小文字、数字、記号 (#、$、%、* など) などの組み合わせを使用するようにユーザーに強制することもできます。

✅セキュリティ監査を定期的に実行する: Web アプリケーションのセキュリティ監査と侵入テストを定期的に実行し、潜在的な脆弱性をタイムリーに特定して解決します。これにより、攻撃者よりも先に、必要なセキュリティ対策をより簡単に実装できるようになります。さらに、Web アプリケーションを開発する際には、SQL インジェクション、クロスサイト スクリプティング (XSS)、クロスサイト リクエスト フォージェリ (CSRF) など、攻撃者に悪用される可能性のある一般的な脆弱性がアプリケーションに残らないように、安全なプログラミング手法に従う必要があります。

✅マイクのプライバシー設定: Web アプリでマイクのアクセス許可を取得する必要がある場合は、ユーザーが承認によって生じる可能性のある結果を理解し、これらのアクセス許可を自由に制御できるようにします。たとえば、必要がない場合はマイクのアクセスを無効にするオプションを提供します。もちろん、これを行うにはアプリケーションのアーキテクチャの一部を調整する必要があるかもしれません。

✅多層セキュリティ: ファイアウォール、侵入検知システム (IDS)、リアルタイム セキュリティ監視などの多層セキュリティ制御を実装し、潜在的な攻撃に対処します。現在、多くのワンストップ セキュリティ プラットフォームでは、マルウェア スキャン、SSL 証明書、DDoS 保護、バックアップと復元などの機能も提供できます。

✅ 暗号化: 強力な暗号化プロトコルを使用することで、ユーザーのデバイスと Web アプリケーション間の通信のセキュリティを確保し、データの盗聴や傍受を防止できます。通常、信頼できる証明機関 (CA) から SSL/TLS 証明書を取得する必要があります。

✅ 定期的に更新してパッチを適用する: 当然のことながら、新たに発見された脆弱性が悪用されるのを防ぐために、Web アプリケーションと基盤となるインフラストラクチャ コンポーネントを最新のセキュリティ パッチで更新する必要があります。

✅ユーザーガイド: 安全な使用ガイドラインと適切なアーキテクチャ情報 (情報アーキテクチャ、IA) をユーザーに提供します。たとえば、ビデオ通話中にキーボードで機密情報を入力しないようにユーザーに通知したり、キーボードのキー入力音をマスクするためにバックグラウンド ノイズを使用したりします。

3. まとめ

要約すると、研究では、AI がキー入力の音に基づいて機密データを識別できる可能性があることが示されています。ビデオ会議の利用が広まるにつれ、音声ベースの攻撃の脅威は爆発的に増大するでしょう。

音声ベースの攻撃の潜在的なリスクを軽減するために、Web アプリケーションと組み合わせることができる多層セキュリティ アプローチについて説明します。ただし、どんなセキュリティ対策も絶対確実なものではないことに留意してください。

技術に精通した攻撃者は、サウンドベースの攻撃に加えて、Glupteba などのモジュール式のブロックチェーン対応マルウェアを採用して、悪用可能な Web アプリケーションの脆弱性を探っています。したがって、最新の脅威の傾向を理解し、Web アプリケーションのセキュリティを強化することが重要です。

オリジナルリンク: https://hackernoon.com/is-ai-eavesdropping-on-you-defend-your-passwords-from-ai-keystroke-pattern-detection

——翻訳者紹介——

51CTO コミュニティの編集者である Julian Chen 氏は、IT プロジェクトの実装で 10 年以上の経験があります。社内外のリソースとリスクの管理に長けており、ネットワークと情報セキュリティの知識と経験の普及に重点を置いています。

<<:  AIと遊ぶ4つの簡単な方法

>>:  IBM WatsonX: AIを企業の生産性の中核に

ブログ    
ブログ    

推薦する

ニッチから人気へ: 世界的な AI イノベーションが「ソフト」になった理由

この人工知能の波が出現したとき、世界中の AI 研究所が競争を重視していたことを今でも覚えています。...

自動運転車を最も必要としているのは誰でしょうか?

ほぼすべての道路状況に適応できる自動運転車の開発は、間違いなく非常に困難な課題です。無人運転車を実現...

YOLO-NAS: 最も効率的なターゲット検出アルゴリズムの1つ

YOLO-NAS 物体検出導入YOLO (You Only Look Once) は、ディープ ニュ...

ガートナー:AIと自動化は次世代SASEの重要な機能となる

近年、セキュア アクセス サービス エッジ (SASE) テクノロジーは急速に発展し、産業界で広く使...

...

...

内部テスト中です! Word、Excel、Outlookに機械学習が搭載される

マイクロソフトは、機械学習を使用して人々がより効率的に仕事を遂行できるよう支援する、多数の新機能を ...

...

...

ChatGPTメジャーアップデート!新しい API 関数呼び出し、コンテキストが 4 倍に急増、価格が下落

ビッグデータダイジェスト制作ただ! OpenAI は GPT シリーズのメジャーアップデートをリリー...

マイクロソフトがAI開発に関する無料電子書籍をリリース、インテリジェントなチャットボットの構築方法を教える

最近、Microsoft は、Microsoft AI プラットフォームを使用してインテリジェントな...

2019 年のトップ 5 ディープラーニング コース

現在、ディープラーニングはデータサイエンスの分野で最も人気のあるスキルとなっています。ディープラーニ...

指紋、顔、虹彩: 適切な生体認証技術を選択するには?

[[351445]]最近、クレジットカード会社からデータ漏洩に関する連絡がありましたか? あるいは...

CIO 向けガイド: ジェネレーティブ AI の「ハイライト モーメント」を実現する 5 つの方法

あらゆる誇大宣伝と主流の採用率の高さにもかかわらず、生成 AI は生産性のピークに到達する前に、幻滅...

5Gは19の業界に浸透?これらの5つの分野はもっと注目に値する

2019年、「5G」は大いに期待されるテクノロジーの流行語となり、その人気は間違いなく人工知能に劣り...