ねえ、AI ソフトウェア開発者のみなさん、Unicode を考慮に入れていますか...そうでしょうか?

Table of Contents

ねえ、AI ソフトウェア開発者のみなさん、Unicode を考慮に入れていますか...そうでしょうか?

分析コンピューター科学者たちは、AI 言語システム (一部は実稼働中のものも含む) が、目に見えない Unicode 文字を含むテキストによって誤った判断を下すように誘導される方法を詳細に説明しました。

特殊な隠し文字を使えば、口座番号を入れ替えたり、取引の受取人を変更したり、コメントのモデレーションを回避したりできると言われています。さらに、Microsoft、Google、IBM、Facebookが開発したソフトウェアは、巧妙に細工されたUnicodeによって騙される可能性があるとも主張されています。

問題は、機械学習ソフトウェアが特定の目に見えないUnicode文字を無視すると、曖昧さや矛盾が生じる可能性があることです。例えば、画面に表示されたものや印刷された内容は、ニューラルネットワークが認識し、判断した内容と一致しません。このUnicode認識の欠如が悪用され、悪意のある目的で使用される可能性があります。

たとえば、Google 翻訳の Web インターフェースを使用すると、英語の「口座 4321 に送金する」という文章をフランス語の「口座 1234 に送金する」に変換できます。

Google翻訳のスクリーンショット

UnicodeでGoogle翻訳を騙す。クリックして拡大

これは、英語側で「口座に送金」と入力し、その後に目に見えないUnicodeグリフ0x202Eを挿入することで実現されます。これにより、次に入力するテキスト「1234」の方向が「4321」に変わります。翻訳エンジンはこの特殊なUnicode文字を無視するため、フランス語側では「1234」と表示されますが、ブラウザはこの文字に従うため、英語側では「4321」と表示されます。

この手法を用いてAIアシスタントやウェブアプリを悪用し、不正行為を行うことも可能かもしれません。ただし、ここではGoogle翻訳でこの手法を示しましたが、これは単に隠されたUnicode文字の影響を示すためだけのものです。より具体的な例としては、次のような文を入力することが挙げられます…

…コメント管理システムでは、U+8前の文字を削除する目に見えないUnicode文字はどこにありますか?管理システムはバックスペース文字を無視し、スペルミスの文字列と認識し、有害なコメントを検知できません。一方、ブラウザはコメントを正しく表示し、「あなたは臆病者で愚か者です」と表示します。

つまり、メッセージや投稿に隠されたUnicode文字を使うことで、モデレーションシステムを作動させることなく、誰かを中傷することが可能になります。これは、IBMのToxic Content ClassifierやGoogleのPerspective APIに対して、程度の差はあれ、実証されています。

この悪戯は、テスラが制限速度を超えて走行したり、リンゴが iPod と間違えられたりしたコンピューター ビジョン システムに対する敵対的攻撃を思い出させます。

しかし重要なのは、これらの Unicode の悪質な行為は、ニューラル ネットワークの奥深くにある弱点を悪用するのではなく、機械学習システムの入力テキストの処理を悪用している点です。

私たちの攻撃は現在導入されている商用システムに対して有効です

これらの問題に注目したのは、英国ケンブリッジ大学とカナダトロント大学の学者たちで、今年6月にarXivで発表された論文でその調査結果を示した。

「1つの目に見えない文字、ホモグリフ、並べ替え、または削除を表す1回の感知できないエンコードインジェクションで、攻撃者は脆弱なモデルのパフォーマンスを大幅に低下させることができ、3回のインジェクションでほとんどのモデルを機能的に破壊できることがわかった」と論文の要約には記されている。

「私たちの攻撃は、FacebookやIBMが公開したオープンソースモデルに加え、MicrosoftやGoogleが作成したものを含む、現在導入されている商用システムに対しても有効です。」

Google翻訳で簡単に実行できるホモグリフ攻撃は、単語内の英語アルファベットの最初の文字「a」をキリル文字の「а」に置き換えるというものです。Unicode文字は異なりますが、人間の目には同じに見えます。

「paypal」という単語の英語の文字「a」をGoogle翻訳でロシア語に翻訳すると、「PayPal」と正しく翻訳されますが、最初の「a」をキリル文字の「a」に置き換えると、「お父さん」を意味する「папа」と表示されます。そのため、AIアシスタントやウェブアプリでこの現象を利用して、支払いのリダイレクトなどを行うことが可能になるかもしれません。

偽のGoogle翻訳

Google翻訳がロシア語で「paypal」という英語の単語を「papa」と間違えたスクリーンショット(ホモグリフ攻撃による)

論文の共著者であり、トロント大学ベクター研究所のAIセキュリティ研究者であるニコラス・ペーパーノット氏は、悪意のある人物がこれらの手法を用いれば、スパムメールは検知を逃れ、ヘイトスピーチはモデレーションをすり抜ける可能性があると、El Reg紙に語った。ペーパーノット氏は、これらのテキストベースのUnicode攻撃を「悪質な文字」と呼んだ。

「私たちの論文で提示した攻撃は現実世界のアプリケーションに適用可能です。責任ある情報開示の一環として、大手メールプロバイダーはスパムフィルターに変更を加え、クラウドプロバイダーはサービスとしての機械学習の提供内容を変更しました」とペーパーノット氏は語った。

「不正文字は、機械学習が自然言語処理に利用されるあらゆる場面で適用可能です。こうしたシステムの例としては、有害コンテンツの検出、トピック抽出、機械翻訳などが挙げられます。また、不正文字は機械学習のタスクやパイプラインにも依存しません。不正文字は、敵対的サンプルに関する先行研究で標的とされたような特定のモデルに固有の不一致ではなく、文字の視覚的表現と論理的表現の不一致を悪用します。」

「これにより、下手な文字の使用がより実用的になります。」

  • AIコードは、破壊された画像や巧妙な言葉遣いに騙される可能性があるのか​​?マイクロソフトはそれをテストするツールをオープンソース化した。
  • OpenAIのコンピュータービジョンコードを騙すには、ペンと紙だけが必要です。見せたいものを書き留めるだけです。
  • アダルト企業に強制された女性の画像は、ディープフェイクのアダルト動画制作者によって拡散されたデータセットに悪影響を及ぼしている
  • 企業におけるAI:AIは自動バカの略語とも言えるが、だからといってすべての機械学習が悪いわけではない

さらに、目に見えないユニコードは悪用されるだけでなく、良いことにも使われる可能性がある、と彼は付け加えた。

「機械学習が検閲などの疑わしい目的で使用される場合、人権活動家が検閲を回避するために悪質なキャラクターを利用する可能性があります」とペーパーノット氏は語った。

「別の例として、大量の文書を効率的に処理するために自然言語処理に依存している法律事務所も危険にさらされています。悪意のある組織が法律事務所の調査を逃れるために、不適切な文字を含む文書を提出する可能性があります。」

AI搭載ソフトウェアの開発者は、可能であればバックスペースなどの特殊なUnicode文字を完全に除外するか、Unicodeをニューラルネットワークに渡す前にパーサーに渡す必要があります。そうすることで、ニューラルネットワークが最終的に認識し判断する内容が、ユーザーがブラウザやユーザーインターフェースで認識し操作する内容と一致するようになります。英語からロシア語への言語変更など、言語の変更は適切に検出され、処理される必要があります。

これらの攻撃の影響を受ける可能性のあるモデルはすでに本番環境で広く使用されている可能性があるため、現実世界で悪用が成功する可能性があります。®

Discover More