コンテンツを開く

テーマのトレンド

汚染される機械学習モデル

Andrew Patel

20.08.20 14 min. read

昨年、エフセキュアではAIシステムへの攻撃方法を取り上げて解説したSHERPAレポートを公開しました。このレポートでは、細工された入力データを用いて機械学習モデルをだますことで誤分類の誘発や、機械学習モデルのトレーニングに使用されたデータに関する情報を窃取したり、機械学習モデルそのものを汚染させたりするなどの、いくつかの既知の攻撃方法について詳しく説明しました。この投稿では、これらの攻撃の中でも特に深刻な被害が際立っている「機械学習モデルの汚染」について取り上げたいと思います。

現実を形成する機械学習モデル

オンライン上でトレーニングされた機械学習モデルは、私たちが日常的に利用する多くのサービスに導入されています。最もよく知られているのは、システムとのやり取りに基づいてユーザーに適した行動を推奨するレコメンダーと呼ばれる機械学習モデルです。その一例がYouTubeです。

これらは、私たちがシークレットブラウザウィンドウでYouTubeにアクセスしたときに表示されたデフォルトの推奨動画です。

YouTubeでは、視聴者の地域で人気のある動画や、以前に視聴した動画の履歴に基づいて興味のありそうな推奨動画が表示されます。ユーザーの視聴する動画が増えるほど、システムは、似たようなコンテンツにアクセスした他のユーザーが高評価したり登録したコンテンツをより正確に推奨するようになります。ユーザーがYouTubeにログインすると、基盤となるメカニズムは、推奨内容の精度を高めるために、時間をかけて多くのデータを収集します。そして、その後ユーザーがYouTubeにアクセスしたときに、新しいコンテンツを提案します。同じロジックが、Netflixなどのビデオプラットフォームや、Spotifyなどの音楽ストリーミングサービスにも導入されています。

Amazonに代表されるオンラインショッピングサービスでも、同様の方法で商品を推奨しています。ユーザーがある商品を表示すると、同じ商品をチェックしたり購入した他のユーザーがアクセスや購入したアイテムが推奨されます。ユーザーがさらに買い物をしていくと、システムは、その買い物習慣を類似した他の客の買い物習慣と一致させるよう推奨内容を微調整します。

Facebook、Twitter、Instagram、TikTokなどのソーシャルネットワークは、ほとんどがレコメンダーに基づいています。ソーシャルネットワークにおけるすべてのアクション(投稿、表示、いいね、リツイート、フォローなど)は、フォローすべき他のアカウントを提案する推奨アルゴリズムへの入力を生成し、最近のアクティビティを通知し、ユーザーがタイムラインに表示するコンテンツさえも決定します。

オンラインでトレーニングされたモデルは、クレジットカード詐欺防止、ネットワーク侵入検知、スパムフィルタリング、医療診断、および障害検知など、バックエンドシステムでも使用されています。また、TripAdvisorなどのオンラインレビューサイトや、MicrosoftのTayなどのチャットボットにも見られます。Tayに関してはTwitterユーザーによって操作され、あっという間に人種差別的な暴言を吐くようになってしまいました。(英語)

これらのサービスにおけるシステム内部の機能はすべて共通しています。サービスを利用するユーザーによって生成された新しいデータで継続的に更新またはトレーニングされる機械学習モデルに支えられています。Twitterのツイート、リツイート、ハッシュタグ、フォローなどはすべて、モデルを更新するための入力として利用されます。視聴され、高評価を受け、コメントされたすべての動画、およびYouTubeに登録されているすべてのチャネルは、モデルを再トレーニングするための入力になります。これらのモデルの仕組みとトレーニング方法の詳細は、各サービスや機能ごとに異なりますが、基本となるメカニズムは多かれ少なかれ類似しています。

推奨事項の操作は誰にでもできる

モデルの次期更新の際の入力を汚染することにより、推奨アルゴリズムや他の類似システムは簡単に操作されてしまいます。たとえば、オンラインショッピングサイトを攻撃して、製品Aをチェックまたは購入した買い物客に意図的に製品Bの購入を促したい場合、製品Aと製品Bを複数回表示させる(またはAとBの両方をほしい物リストまたは買い物かごに追加する)だけで済みます。ソーシャルネットワークにおいて、あるハッシュタグをトレンドにしたい場合は、そのハッシュタグを大量に投稿したりリツイートするだけでよいのです。新たに作成した偽の政治的アカウントに注目を集めたいのなら、他の大量の偽アカウントでフォローさせ、そのコンテンツに継続的にアクセスさせるのです。

上記の例が示すように、ソーシャルメディアのアルゴリズムを操作する手口を理解するのに高度な知識は必要ありません。このユーザーはコンテンツを継続的にリツイートしていることを示しており、これは、問題のユーザーが多くのTwitterアカウントを操っている可能性があるということです。Twitterでは、ユーザーがリツイートした後で取り消し、再度リツイートすることを認めています。従って、再度リツイートするたびに、コンテンツが繰り返し表示されます。中には自分のコンテンツの露出度を高めるために、この戦術を用いているTwitterアカウントすら存在します。.

2019年の英国総選挙期間中に、リーズ市の病院で起きた事件に関する偽情報は、偽アカウント集団が著名なジャーナリストや政治家にTwitterで返信することによって拡散されました(英語)。この返信スパムは、特に多忙な人やパニック状態にある人々を標的にして、だます(信じ込ませたり、巻き込んだりする)ことで知られています。このような偽情報でも、著名人のTwitterアカウントが関与しているとなると、正当化されることになります。その後、右翼のTwitterグループがこの事件に気付き、彼らのアカウント(およびsockpuppets)から同様のメッセージを投稿し続けたため、この偽情報はさらに広がって行きました(そして、発生源の悪意のある活動は隠蔽された可能性があります)。この種の活動は、ソーシャルネットワークでは極めて一般的と言えます。

2019年に発生したリーズ市病院事件の際に投稿された、最初の偽ツイートの一部です。これらのツイートが、政治家やジャーナリストが投稿したコンテンツへの返信であることに注目してください。その後、これらの返信は、他のTwitterユーザーによって模倣されています。

アルゴリズムはどのように操作されるのか

推奨アルゴリズムへの攻撃は、攻撃者の動機に応じてさまざまな方法が用いられます。プロモーション攻撃は、推奨システムをだまして、できるだけ多くの人に製品、コンテンツの一部、またはユーザーを宣伝するために使用されます。逆に、販促活動を妨げる攻撃を実行して、製品、コンテンツの一部、またはユーザーを宣伝しないようにすることもできます。アルゴリズム操作は、ソーシャルエンジニアリングの目的にも使用できます。理論的には、攻撃者が特定のユーザーにおけるシステムとのやり取を把握すれば、そのユーザーを標的にしてYouTubeの動画、悪意のあるアプリケーション、偽アカウントをフォローするように推奨することが可能になります。このようにアルゴリズム操作は、偽情報、フィッシング、詐欺、世論の誘導、迷惑コンテンツの宣伝、個人やブランドの信用失墜など、さまざまな目的に使用されます。誰かを金で雇い、Googleのオートコンプリート機能を操作することさえ可能なのです。

信用を失墜させる攻撃については以下のブログ投稿で解説しています。https://blog.f-secure.com/5-adversarial-ai-attacks-that-show-machines/(英語)推奨アルゴリズムに対する攻撃は、自動化されていたり、攻撃者の大規模な連携によって実行されることがよくあります。標的とするモデルを実効的な方法で頻繁に改ざんするには、かなり大量の入力データが必要になるため、そのような攻撃には偽アカウントが使用される可能性があります。ただし、オンライン上でトレーニングされるモデルを使用するシステムの場合、一般的なポイズニング攻撃を予防するように設計された保護手段が通常装備されていることも確かです。そのため、攻撃者は実際に攻撃を開始する前に、まずシステムの検知機能を探るこ必要があります。これは使い捨てアカウントを使って実行されます。システムの自動検知機能を探り出すことができれば、正規ユーザーが活動しているように見せかける複数の偽アカウントを自由に作成することが可能になります。

探り当てた結果を、公の場で互いに伝え合う偽情報アカウントを観察することは非常にまれですが、上記は私たちが観察できた例です。これらのアカウントは、人種差別やヘイトスピーチを検知するように設計されたメカニズムを回避する手口について議論しています。

多くの場合、ポイズニング攻撃の検知手法は、入力データの突然の大きな変化を察知するように設計されています。攻撃者は、検知を回避するために汚染データを一定期間にわたってモデルにゆっくりと供給する「ゆでガエル」戦略をとっています。

AIポイズニング攻撃は机上の空論ではなく、既に業界が形成されている

レコメンダー、検索エンジン、その他の同様のオンラインサービスに対して、すでに数多くの攻撃が行われています。実際、これらの攻撃を支援する業界が存在しています。単純にWeb検索をするだけで、不正なサービスを見つけることができます。アップストアの評価を操作し、レストランの偽レビューを投稿し、Webサイトにコメントし、オンライン投票数を増やし、ソーシャルネットワーク上のコンテンツやアカウントのエンゲージメントを高めるようなさまざまなサービスが安価に購入できます。これらのサービスが流行し、低コスト化していることは、それらがすでに広く使用されていることを物語っています。

上記は購入可能なTwitterアカウントです。

この投稿を執筆している最中に、私が頻繁に協力し合っている偽情報研究者(botvolution)が、英国の政界でTwitterのフォロワーを販促している上記アカウントを見つけました。

モデルが汚染されているという事実は、めったに気づくことができません。オンラインショップが製品Aに加えて製品Bも推奨し始めたとしても、誰も気づかないでしょう。買い物客は、製品Bが推奨されるのは奇妙だと思うかもしれませんが、そのまま買い物を続けるでしょう。ちなみに、オンラインショッピングのアルゴリズムに対する攻撃は単なる理論ではありません。Amazonの推奨アルゴリズムが操作されて、医学分野で医学出版物と一緒にワクチン接種拒否の文献を推奨し白人至上主義、反ユダヤ主義、イスラム教徒に対する偏見4chanトロールキャンペーンを広めQAnon関連資料を推奨した事実があります。また、最近では、Boogaloo(極右過激派)関連の商品を販売するために、独自の命名スキームを使用してAmazonの検知ロジックを回避していることが発見されました。この最後の例は、アルゴリズムを操作する攻撃ではありませんが、大変興味深いものです。つまり、ある種のコンテンツの公開を防いだり、この場合のように販売されるのを防ぐ対策を打ち破る手口を示しているからです。

汚染されたモデルの修復が困難な理由

システムの所有者が異常に気づき、モデルが攻撃された疑いを抱いた場合、どのようにして修復するのでしょうか?通常そのプロセスは決して簡単ではありません。オンラインショップのオーナーが、自分のサイトで製品Aだけでなく製品Bを推奨し始めたことに気づき、攻撃の被害に遭った疑いを持った場合は、まず履歴データを調べて、モデルが製品Bを推奨し始めた原因を特定します。これを行うには、製品Aと共に、製品Bの表示、いいね、および購入に関するすべてのインスタンスを収集する必要があります。次に、それらのやりとりを生み出したユーザーが本物か偽物かを判断します。しかし、攻撃者が偽アカウントを実在の人物のように振る舞う手口を熟知している場合には、判断するのは非常に困難になります。これが攻撃であると結論付けることができた場合はモデルの修復作業に移ります。

汚染されたモデルを修復するには、ほとんどの場合、再トレーニングをすることになります。モデルの旧バージョン(攻撃が開始された日の前日からの)を使用して、過去から現在までの間に蓄積されたすべてのデータに対してモデルをトレーニングしますが、悪意のあるエントリは削除します。次に、修復されたモデルを本番環境にデプロイしてビジネスを再開します。汚染された入力データのクリーニングとモデルの再トレーニングは両方共にかなりの時間を要することに注意してください。将来のある時点で新たな攻撃を発見した場合は、同じ手順をもう一度実行する必要があります。ソーシャルネットワークやその他の大規模オンラインサイトは、ほぼ常に多くの領域で攻撃を受けています。新しい攻撃が発見されるたびに、クリーンなデータでモデルを再トレーニングすることは不可能ですので、実際には行っていません。たとえ最も単純なケースであっても、汚染されたモデルを修復することは非現実的であり、汚染モデルは放置されたままになります。

「偽り」の操作が「本物」になり得る

ソーシャルネットワークの場合、アルゴリズム汚染は、「偽り」のアクティビティと実際のオーガニックアクティビティの両方で発生する可能性があることに注意してください。連携したアクター達は、多くのユーザーが目にするのに十分なだけコンテンツを拡散し、さらにそのユーザーが拡散していきます。高度なアクター(国家など)は、独自の目的を押し進めるために、優秀な不正操作者の画策に委ねます。このような活動は、過去数年間に注目を集めた政治イベント中に発生していることが知られています。現在、大規模な操作は、新型コロナウイルスに関する偽情報の拡散、抗議活動に関する偽記事の流布、過激派グループへの勧誘などの目的で使用されています。

以下に、2020年7月28日(私がこの投稿を書いている最中)に、Facebookで反マスク、反ワクチンの偽情報キャンペーンが拡散された事例を紹介します。

このFacebookでの拡散は、Twitterでも同様の波を引き起こし、以下のスクリーンショットのように、米国の第1位と2位のトレンドにランキングされています。拡散した偽情報へ抗議する投稿には、偽情報の内容がハードコードされている点に注目すべきです。偽情報の拡散は、それに対する抗議の投稿が静まった後も、削除されるまで何時間も続きました。

ソーシャルネットワーク側は、このストーリーへのリンクを削除する措置を講じましたが(英語)、すでに拡散した後でした。そのため、多くの人々はその映像を見て、真実であると思い込みました。それが実は偽情報であり、その後ソーシャルメディアから削除されたという事実には気づかないでしょう。これが大量の偽ストーリーや陰謀論が拡散していく姿であり、現在QAnonのようなグループが広まっている理由です。コンテンツを事後処理的に削除することは、本来もっと深いレベルで解決されるべきであった問題に対する応急措置に過ぎません。前述したようなキャンペーンは、このような手口でコンテンツを拡散するメカニズムを理解したうえで対処することにより、人々がコンテンツを見て影響を受ける前にブロックすることができます。

汚染が始まる前に止める

すでに汚染されたモデルを修復することは、ほとんどの場合実行不可能であることを考えると、論理的な対抗策は、攻撃が発生したときにそれを検知することです。もし攻撃を検知できるなら、次回のモデル更新の前に、汚染された入力を破棄して、モデルの完全性を維持することができます。モデルポイズニング攻撃を検知および防止するために提案されている、さまざまなメカニズムと手法があります。これらには、レート制限、回帰テスト、入力妥当性チェック、手動によるモデレーション、および各種の異常検知と統計的手法が含まれます。私は、これらの一部をSHERPAレポートで解説しました(英語)。その他については、今後のブログ投稿で説明したいと思います。このようにさまざまな手法があるにもかかわらず、アルゴリズム操作の検知は依然として非常に困難な作業であることには変わり有りません。

この問題に取り組むひとつの方法は、攻撃メカニズムを開発して、それがモデルの入力データとモデル自体にどのように影響するかを理解することです。攻撃が理解されれば、それに対する防御策を講じることができるはずです。SHERPAプロジェクトの(英語)一環として、私たちはオンライン分散型機械学習モデルに対する攻撃を調査しています。異常検知システムに対する実際の攻撃をシミュレーションして、それらがどのように機能し、どれほど効果的であるかを調べています。ここで得られたデータを使用して、これらの攻撃を検知するメカニズムを開発します。この作業は現在進行中であり、近い将来に最初の成果を公開する予定ですので、ぜひご期待ください。

ソーシャルネットワークについて考察する場合、ポイズニング攻撃の検知は、解決する必要がある問題の一端に過ぎません。システムのユーザーが意図的に不正なトレーニングデータを作成していることを検知するためには、偽のアカウントを見分けたり、プラットフォームを操作するために特別に連携したアカウントを識別する方法も必要です。また、ソーシャルネットワークが大規模に対処する必要のある問題には、オンラインでのハラスメントやヘイトスピーチなど、アルゴリズム操作以外の問題も存在しています。

影響の大きさや、解決すべき問題の数は過小評価すべきでない

私はこの記事を締めくくるにあたり、レコメンダーの操作から生じる脅威、特にソーシャルネットワークを悪用した脅威は、広範囲にわたり社会に影響を及ぼすことを改めて強調したいと思います。アルゴリズムの操作により、全く虚偽の記事や陰謀論と共に、数値や統計情報が改ざんされた本物のニュースやオンライン投票が拡散することが広く知られています。これらの偽情報メカニズムは、今日でも大きな影響を及ぼし続けており、公衆衛生に損害を与え、社会を分断し、憎悪と過激主義を助長し、ひいては治安を悪化させることに繋がります。この事実は、英国のロシアレポート(英語)でも言及されています。また、これらは間違いなく、さまざまなグループや組織(次の「Cambridge Analyticas」)、および他の国家によって研究され改良されている強力な武器でもあります。ソーシャルネットワークを運営する企業は、これらの問題をしっかりと認識し、対処しようとしていることは間違いないと思います。

しかしながら、最近見受けられる状況では、依然として解決必要とする多く問題あり、なお一層の努力をすべきなのです(英語)。

 

Andrew Patel

20.08.20 14 min. read

カテゴリ

関連する投稿

Newsletter modal

登録を受付ました。 購読受付のメールをお送りしたのでご確認ください。

Gated Content modal

下のボタンをクリックしてコンテンツを確認ください。