web-dev-qa-db-ja.com

オーディオ入力ベクトルのファジング

数日前、電話をかけなければならず、電話の向こう側には、音声認識ソフトウェアを使用するマシンがあり、サービスメニューに対する顧客の音声応答を検証していました。この種の入力をある種のランダムに生成されたノイズファイルなどでファズすることが可能かどうか自分に尋ねましたか?最後に、ソフトウェアは、何らかのヒューリスティックスまたは何らかの機械学習システムなどによって顧客の声を分析します。

7
Dirk

http://www.McAfee.com/us/resources/data-sheets/foundstone/ds-interactive-voice-response-assessment.pdf

上記のペーパーでは、そのようなシステムの監査について説明しています。最初に、APIを使用して呼び出し(この場合はスカイプ)を自動化し、DTMFベースのインターフェースのファジングに取り組みます。これらのシステムのいくつかは純粋に音声認識に基づいているようで、タッチトーンビットを自動化するだけで多くのエクスプロイトを見つけることができます。

http://www.securitytube.net/video/4255

また、そのようなシステムを壊すことに関するいくつかの情報を持っています。

したがって、1)の場合、必ずしも音声を直接ファズする必要はありません。

さて、あなたがそれをファズの声にしなければならないと決めたなら、私はあなたのためにそれをするライブラリが存在しているとは思いません。私は記録された単語の辞書から始めます-おそらく http://shtooka.net/ -そして、単語のありそうな組み合わせを再生するスクリプトを書きます。 skype apiを使用して呼び出しを行い、次に、システムをテストするために思いついた文章を再生します。

システムでランダムなノイズ/サイントーンを発射することも有益かもしれません。以前の電話のフリークのようにシステムを開くようなテスト頻度が見つかるかもしれません。文字通り、テストトーンのスクリプトを作成するのに役立つ多数のプログラムがあります。必要に応じて、Web Audio APIを使用してその部分をJavaScriptで記述することもできます。

次に、音声認識ソフトウェアを使用して、失敗と成功を検出することができます。

事前にシステムを完全にマッピングしないと、これは不可能です。上記でリンクしたテスト計画はそれを示唆しており、そこから始める必要があると思います。

5
baordog