(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-03-19
(54)【発明の名称】ニューラルトロイの木馬耐性畳み込みニューラルネットワークの配備
(51)【国際特許分類】
G06N 3/0464 20230101AFI20240312BHJP
G06F 21/55 20130101ALI20240312BHJP
【FI】
G06N3/0464
G06F21/55
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2023558142
(86)(22)【出願日】2022-03-21
(85)【翻訳文提出日】2023-11-10
(86)【国際出願番号】 US2022021110
(87)【国際公開番号】W WO2022204005
(87)【国際公開日】2022-09-29
(32)【優先日】2021-03-22
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
(71)【出願人】
【識別番号】521436740
【氏名又は名称】ユニバーシティ オブ サウス フロリダ
【氏名又は名称原語表記】UNIVERSITY OF SOUTH FLORIDA
【住所又は居所原語表記】3802 Spectrum Boulevard,Suite 100,Tampa,Florida 33612(US)
(74)【代理人】
【識別番号】100114775
【氏名又は名称】高岡 亮一
(74)【代理人】
【識別番号】100121511
【氏名又は名称】小田 直
(74)【代理人】
【識別番号】100202751
【氏名又は名称】岩堀 明代
(74)【代理人】
【識別番号】100208580
【氏名又は名称】三好 玲奈
(74)【代理人】
【識別番号】100191086
【氏名又は名称】高橋 香元
(72)【発明者】
【氏名】カラム,ロバート アンソニー
(72)【発明者】
【氏名】オルネイ,ブルックス アレン
(57)【要約】
いくつかの実施態様では、畳み込みニューラルネットワーク(CNN)モデルにおける悪意のある攻撃を識別するためのシステムは、CNNモデルを使用してオブジェクトの分類を実行するターゲットコンピューティングシステムと、注入されたニューラル攻撃を識別する攻撃識別コンピューティングシステムとを含む。攻撃識別コンピューティングシステムは、CNNモデル及び関連するパラメータに基づいて、CNNモデルと関連付けられたパラメータの元の重みを変更することにより、CNNモデルのエコシステムを生成し、パラメータの元の重みを変更された重みで更新し、セキュアデータストアにパラメータの更新された重みを記憶し、更新された重みに基づいて、CNNモデルのための更新ファイルを生成し、更新ファイルを使用して、CNNモデルを更新し、更新されたCNNモデルを、更新されたCNNモデルに基づいて攻撃者コンピューティングシステムによってニューラル攻撃を検出するように構成されたターゲティングコンピューティングシステムに送信する、ように構成され得る。
【選択図】
図1
【特許請求の範囲】
【請求項1】
畳み込みニューラルネットワーク(CNN)モデルにおける悪意のある攻撃を識別するためのシステムであって、
CNNモデルを使用してオブジェクトの分類を実行するターゲットコンピューティングシステムであって、トレーニングデータセットを使用して前記CNNモデルを生成するように構成されている前記ターゲットコンピューティングシステムと、
注入されたニューラル攻撃を識別する攻撃識別コンピューティングシステムであって、
前記ターゲットコンピューティングシステムから前記CNNモデル及び前記CNNモデルに関連付けられたパラメータを受信し、
前記受信したCNNモデル及び前記パラメータに基づいてCNNモデルのエコシステムを生成し、前記エコシステムを生成することは、前記CNNモデルに関連付けられた前記パラメータの元の重みを変更することを含み、
前記CNNモデルに関連付けられた前記パラメータの前記元の重みを前記変更された重みで更新し、
前記CNNモデルに関連付けられた前記パラメータの前記更新された重みを、セキュアデータストアに記憶し、
前記更新された重みに基づいて、前記受信したCNNモデルの更新ファイルを生成し、
前記更新ファイルを使用して、前記受信したCNNモデルを更新し、
前記ターゲットコンピューティングシステムに対して、前記更新されたCNNモデルを送信する、
ように構成されている、前記攻撃識別コンピューティングシステムと、
を備え、
前記ターゲティングコンピューティングシステムは、さらに、(i)前記更新されたCNNモデルを使用し、(ii)前記更新されたCNNモデルに基づいて、前記更新されたCNNモデルに対する、攻撃者コンピューティングシステムによるニューラル攻撃を検出する、ように構成されている、
前記システム。
【請求項2】
前記ニューラル攻撃が、悪意のあるデータを前記トレーニングデータセットに注入することを含んだニューラルトロイの木馬攻撃を含む、請求項1に記載のシステム。
【請求項3】
前記CNNモデルに関連付けられた前記パラメータが、前記CNNモデルの前記トレーニングデータセットを含む、請求項1に記載のシステム。
【請求項4】
前記CNNモデルのエコシステムを生成することが、前記受信したCNNモデルに関連付けられた前記パラメータに確率論的パラメータ変異を適用することを含む、請求項1に記載のシステム。
【請求項5】
前記CNNモデルのエコシステムを生成することが、
第1の時点で、ユーザ定義の値に基づいて、前記受信したCNNモデルに関連付けられた前記パラメータの重みをシフトさせることと、
第2の時点で、乱数生成器を使用して、前記受信したCNNモデルに関連付けられた前記パラメータの前記重みをシフトさせることと、
をさらに含む、請求項1に記載のシステム。
【請求項6】
前記CNNモデルに関連付けられた前記パラメータの前記元の重みを更新することが、前記変更された重みを前記元の重みに追加することを含む、請求項1に記載のシステム。
【請求項7】
前記受信したCNNモデルの前記更新ファイルを生成することが、
前記更新された重みを用いて前記受信したCNNモデルを再トレーニングすることと、
前記再トレーニングに基づいて、前記再トレーニングの前後の前記更新された重みの行列を決定することと、
前記行列に基づいて、前記更新ファイルにおいて前記更新された重みをXORすることと、
を含む、請求項1に記載のシステム。
【請求項8】
前記受信したCNNモデルを更新することが、前記更新された重みのデルタを前記ターゲットコンピューティングシステムに送信することを含む、請求項1に記載のシステム。
【請求項9】
前記ターゲットコンピューティングシステムが、他のターゲットコンピューティングシステムのクラスタの一部であり、前記ターゲットコンピューティングシステムは、前記他のターゲットコンピューティングシステムのクラスタと同じである、請求項1に記載のシステム。
【請求項10】
前記受信したCNNモデルに関連付けられた前記パラメータの前記元の重みを変更することが、前記元の重みを所定の閾値だけシフトさせることを含む、請求項1に記載のシステム。
【請求項11】
前記所定の閾値が、1%である、請求項10に記載のシステム。
【請求項12】
前記攻撃識別コンピューティングシステムが、
前記更新ファイルを暗号化し、
前記暗号化された更新ファイルを前記ターゲットコンピューティングシステムに送信する
ようにさらに構成されており、
前記ターゲットコンピューティングシステムが、
前記攻撃識別コンピューティングシステムから、前記暗号化された更新ファイルを受信し、
前記暗号化データファイルを復号し、
前記復号されたデータファイルを使用して前記CNNモデルを更新する
ように構成されている、
請求項1に記載のシステム。
【請求項13】
前記ターゲットコンピューティングシステムが、前記CNNモデルを使用して環境内のオブジェクトを分類するように構成されている、請求項1に記載のシステム。
【請求項14】
前記ターゲットコンピューティングシステムが、自動運転車両、モノのインターネット(IOT)デバイス、及び人工知能(AI)デバイスのうちの少なくとも1つである、請求項1に記載のシステム。
【請求項15】
前記ターゲティングコンピューティングシステムが、前記ニューラル攻撃を検出することに応じて前記攻撃識別コンピューティングシステムにアラートを送信するようにさらに構成されており、
前記攻撃識別コンピューティングシステムが、(i)前記ターゲティングコンピューティングシステムから前記アラートを受信し、かつ(ii)前記CNNモデルを使用して前記ニューラル攻撃の識別を他のコンピューティングシステムに送信するようにさらに構成されている、
請求項1に記載のシステム。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願の相互参照
本出願は、2021年3月22日出願の米国特許出願第17/208,616号の優先権を主張し、その開示は参照することにより全体が本明細書に組み込まれる。
【0002】
本文献は、概して、「ニューラルトロイの木馬」とも称される、悪意のある特徴(すなわち、一部の悪意のあるデータを使用してトレーニングされたニューラルネットワークモデル)を含むニューラルネットワークモデルの検出に関連するデバイス、システム及び方法について説明する。
【背景技術】
【0003】
自動運転車両などの最新システムは、重要な実行時決定を行うために機械学習(ML)及び/または人工知能(AI)にますます依存している。畳み込みニューラルネットワークは、例えば、自動運転車両及び他の最新システムにおいて、画像を処理し、分類タスクを実行することができる。そのようなニューラルネットワークは、分類された出力情報または他の識別された出力情報に相関する入力データを含むことができるトレーニングデータから生成されたモデルを含むことができる。モデルは例えば、複数の異なる層を含むことができ、これらの層は、入力データからの異なる特徴を対応する分類または識別された出力情報に変換する。モデルがトレーニングされると、このモデルを使用して入力データを処理し、適切な分類または他の出力情報を決定することができる。
【0004】
ニューラルネットワークは、特に、潜在的に悪意のあるトレーニングデータがトレーニングプロセスに注入された場合に、攻撃を受けやすいことが判明している。「ニューラルトロイの木馬」とも称されるこうした攻撃は、それらの悪意のある目的の達成に成功する可能性がある。なぜなら、それらの攻撃は、ステルス性がある可能性があり、検出が困難である可能性があるからである。例えば、ニューラルトロイの木馬は、ニューラルネットワーク構成(すなわち、ニューラルネットワークモデル)に対してステルス的な変更を引き起こすことがあり、それによって、適切な機能を実現するために正確な入力分類に依存している自動運転車両などのシステムに感染する。例えば、攻撃者は、自動運転車両のようなシステムで使用されるニューラルネットワークのためのトレーニングデータを抽出し、トレーニングデータを変更し、
トロイの木馬によって挿入された構成を元のシステムに戻す。
【発明の概要】
【0005】
この文献は、概して、ニューラルトロイの木馬の影響を、より容易に検出可能なレベルまで増幅することができるように、ニューラルネットワーク構成のエコシステムの配備を記載している。開示された技術は、自動運転車両などのシステムに対する配備セキュリティを改善し、ニューラルトロイの木馬のようなステルス攻撃のより迅速な検出及び緩和を可能にすることができる。開示された技術は、異なるデバイス及び/またはシステム(例えば、IoTデバイス、最先端の人工知能を使用しているデバイスなど)に対するニューラルネットワークの異なる用途において、より迅速にニューラルトロイの木馬を検出することもできる。
【0006】
ステルス攻撃は、システムの畳み込みニューラルネットワーク(CNN)などのニューラルネットワークを再トレーニングすることを目的とし得る。そのような攻撃は、分類の精度を低下させることがあり、またはシステムにオブジェクトの分類を混乱させたり混同させたりする可能性がある。例えば、自動運転車両のCNNは、攻撃者によって元のトレーニングモデルとは異なる方法で複数のオブジェクトを分類するように再トレーニングされ得る。自動運転空間では、これは安全性に関する懸念を引き起こす可能性がある。確率論的パラメータ変異などの技術を使用することで、開示された技術はニューラルトロイの木馬やデータポイズニングなどの、原因となる攻撃の拡散を防ぐことができる。攻撃がエコシステム内の他のデバイスまたはシステムに拡散するのを防ぐことができる。
【0007】
開示された技術は、確率論的パラメータ変異及びデルタ更新技術を使用して、システムの全体の精度に影響を与えないニューラルネットワークのいくつかのパラメータに小さな変更を加えることを提供することができる。開示された技術は、ネットワークの構造を変更することを提供しない場合がある。小さい変化はノイズのように扱うことができ、システムはそれに対して耐性を有することができる。本明細書に記載される更新技術と組み合わせて使用されるときには、ネットワークをエコシステム内で更新して、エコシステム内の1つのネットワーク及び1つのシステムから別のネットワーク及びシステムへのニューラルトロイの木馬の拡散を防ぐことができる。
【0008】
開示された技術は、ニューラルネットワークトロイの木馬を適用することができる実用的な脅威モデルを提供することができる。CNNは、確率論的パラメータ変異によって元のCNNから導出することができるエコシステムとして配備可能である。デルタ更新技術を使用すると、開示された技術により、現場においてCNNを更新することができ、分類器に関して攻撃者にさらされる情報をより少なくすることができ、モデルエコシステムへのポイズニングまたはニューラルトロイの木馬ベースの攻撃を効果的に阻止することができる。エコシステム全体での適切なセルフチェック手順及びプールされた検証を用いると、1つのモデルに対するステルス攻撃を、攻撃のステルス性を維持しながら、多様なエコシステム内の他のいずれのモデルにも変換することができない可能性がある。
【0009】
本明細書に記載される特定の実施形態は、CNNモデルを使用してオブジェクトの分類を実行するターゲットコンピューティングシステムであって、トレーニングデータセットを使用してCNNモデルを生成するように構成されているターゲットコンピューティングシステムと、注入されたニューラル攻撃を識別する攻撃識別コンピューティングシステムと、を含む畳み込みニューラルネットワーク(CNN)モデルにおける悪意のある攻撃を識別するためのシステムを含む。攻撃識別コンピューティングシステムは、ターゲットコンピューティングシステムからCNNモデル及びCNNモデルに関連付けられたパラメータを受信し、受信したCNNモデル及びパラメータに基づいてCNNモデルのエコシステムを生成し、エコシステムを生成することは、CNNモデルに関連付けられたパラメータの元の重みを変更することと、CNNモデルに関連付けられたパラメータの元の重みを変更された重みで更新することを含み、CNNモデルに関連付けられたパラメータの更新された重みを、セキュアデータストアに記憶し、更新された重みに基づいて、受信したCNNモデルの更新ファイルを生成し、更新ファイルを使用して、受信したCNNモデルを更新し、ターゲットコンピューティングシステムに対して、更新されたCNNモデルを送信する、ように構成されている。このターゲティングコンピューティングシステムは、さらに、(i)更新されたCNNモデルを使用し、(ii)更新されたCNNモデルに基づいて更新されたCNNモデルに対する、攻撃者コンピューティングシステムによるニューラル攻撃を検出する、ように構成されている。
【0010】
そのようなシステムは、任意選択的に、以下の特徴のうちの1つまたは複数を含むことができる。ニューラル攻撃は、悪意のあるデータをトレーニングデータセットに注入することを含んだニューラルトロイの木馬攻撃を含むことができる。CNNモデルに関連付けられたパラメータは、CNNモデルのトレーニングデータセットを含むことができる。CNNモデルのエコシステムを生成することは、受信したCNNモデルに関連付けられたパラメータに確率論的パラメータ変異を適用することを含むことができる。CNNモデルのエコシステムを生成することは、第1の時点で、ユーザ定義の値に基づいて、受信したCNNモデルに関連付けられたパラメータの重みをシフトさせ、第2の時点で、乱数生成器を使用して、受信したCNNモデルに関連付けられたパラメータの重みをシフトさせることをさらに含むことができる。CNNモデルに関連付けられたパラメータの元の重みを更新することは、変更された重みを元の重みに追加することを含むことができる。受信したCNNモデルに対する更新ファイルを生成することは、更新された重みを用いて受信したCNNモデルを再トレーニングすることと、再トレーニングに基づいて、再トレーニングの前後の更新された重みの行列を決定すること、及び行列に基づいて、更新ファイルにおいて更新された重みをXORすることを含むことができる。受信したCNNモデルを更新することは、更新された重みのデルタをターゲットコンピューティングシステムに送信することを含むことができる。ターゲットコンピューティングシステムは、他のターゲットコンピューティングシステムのクラスタの一部とすることができ、ここで、ターゲットコンピューティングシステムは、他のターゲットコンピューティングシステムのクラスタと同じである。受信したCNNモデルに関連付けられたパラメータの元の重みを変更することは、元の重みを所定の閾値だけシフトさせることを含むことができる。所定の閾値は、1%であり得る。攻撃識別コンピューティングシステムはさらに、更新ファイルを暗号化し、暗号化された更新ファイルをターゲットコンピューティングシステムに送信するように構成することができる。ターゲットコンピューティングシステムは、攻撃識別コンピューティングシステムから暗号化された更新ファイルを受信し、暗号化されたデータファイルを復号し、復号されたデータファイルを使用してCNNモデルを更新するように構成することができる。ターゲットコンピューティングシステムは、CNNモデルを使用して環境内のオブジェクトを分類するように構成することができる。ターゲットコンピューティングシステムは、自動運転車両、モノのインターネット(IOT)デバイス、及び人工知能(AI)デバイスのうちの少なくとも1つであってよい。ターゲティングコンピューティングシステムは、ニューラル攻撃を検出することに応じて攻撃識別コンピューティングシステムにアラートを送信するようにさらに構成可能であり、攻撃識別コンピューティングシステムは、さらに、(i)ターゲティングコンピューティングシステムからアラートを受信し、かつ(ii)CNNモデルを使用してニューラル攻撃の識別を他のコンピューティングシステムに送信するように構成することができる。
【0011】
本明細書に記載されるデバイス、システム、及び技術は、以下の利点のうちの1つまたは複数を提供することができる。例えば、開示された技術は、より容易に検出可能なレベルまでトロイの木馬の悪意のある影響を増幅することを提供することができる。影響をより容易に識別できるようにすることで、そのような攻撃のより迅速な対応及び緩和を提供することができる。これは、自動運転車両の安全性がトロイの木馬攻撃によって損なわれることを防ぐのに有利であり得る。さらに、開示された技術は、エコシステム内のいずれかのシステムの機能を損なうことなく、エコシステム内で更新可能な他のモデルのシステムからの感染に対して十分なレベルの多様性及び復元性を確保することができる。
【0012】
別の例として、開示された技術は、攻撃者に混乱を引き起こすために確率論的パラメータ変異と呼ばれるプロセスを使用することができる。開示された技術は、攻撃者が攻撃を開始するのを混乱させることによって、自動運転車両などのシステムを更新することを提供することができる。例えば、確率論的パラメータ変異を使用することにより、開示された技術は、入力層における重みを変更して、ニューラルトロイの木馬をより容易に検出し、トロイの木馬攻撃の拡散を停止することが可能となる。システムを更新することは、システムの畳み込みニューラルネットワーク(CNN)で使用される重み及び他のパラメータを損なわない場合がある。したがって、開示された技術は、システムが攻撃されたか、そうでなければ危険にさらされたかを単に識別するのではなく、原因となる攻撃の拡散を阻止することに焦点を合わせることができる。
【0013】
攻撃を、類似のCNNまたは他のシステムのトレーニングモデルに拡散する前に、そのような攻撃についての事前の知識を有することなく、識別することができる。開示された技術は、このような攻撃に関する事前知識を有することなく、ニューラルトロイの木馬攻撃から防御することができる。開示された技術は、確率論的パラメータ変異などの技術を使用して、コネクテッドシステムへの攻撃の拡散を停止することができ、またフェイク更新要求によって開始される攻撃から防御することができる。
【0014】
1つまたは複数の実施態様の詳細は、添付の図面及び下の説明において述べられる。他の特徴及び利点は、説明、図面及び請求項から明らかになる。
【図面の簡単な説明】
【0015】
【
図1】本開示を通して説明されるようなニューラルトロイの木馬攻撃を識別するためのシステムの概念図である。
【
図3】畳み込みニューラルネットワーク(CNN)モデルを多様化するためのアルゴリズムである。
【
図4】本明細書に記載のCNNモデルの重み分布のグラフ描写である。
【
図5A】ニューロンの重みに適用される確率論的パラメータ変異の図である。
【
図5B】ニューロンの重みに適用される確率論的パラメータ変異処理と共に、ニューロンを示す図である。
【
図5C】隠れニューロンを有する例示的な1層フィードフォワードネットワークである。
【
図6A】提案された方法論の全体的なフローの図である。
【
図6C】攻撃者がCNNモデルの更新ファイルにトロイの木馬を挿入する方法を決定したことを示す図である。
【
図7】本明細書に記載のCNNモデルの構造及びパラメータを示す表である。
【
図8】CNNモデルにより用いられるハイパーパラメータ構成を示す表である。
【
図9】本明細書に記載された技術を使用するときのCNNモデルにおける重み間のハミング距離を示す。
【
図10】本明細書に記載された技術を使用した各エコシステムにわたる精度の分布を表す。
【
図11】更新前後のCNNモデルの分類誤差の差異を示す混同行列を示す。
【
図12】単一モデルへのLFAの実装及びその更新ファイルのエコシステム内の他のすべてのネットワークへの適用の結果としての精度の平均損失を示すグラフを表す。
【
図13】コンピューティングデバイス及びモバイルコンピューティングデバイスの一例を示す概略図である。
【
図14】本明細書に記載された技術を実行するために使用されるシステムコンポーネントを示す。
【
図15A】本明細書に記載された技術を実施するためのプロセスのフローチャートである。
【
図15B】本明細書に記載された技術を実施するためのプロセスのフローチャートである。
【発明を実施するための形態】
【0016】
種々の図面における同様の参照記号は、同様の要素を指す。
【0017】
本文献は、一般に、以下に限定されるものではないが、自動運転車両を含むシステムに対する、より迅速な検出及びステルス性のニューラルトロイの木馬攻撃の緩和に関する。ニューラルネットワークは、ヘルスケア、セキュリティ、音声認識、及びコンピュータビジョンなどの産業でますます使用されている。自動車産業の進歩は、環境を処理して決定を下すためにニューラルネットワークに依存することができる自動運転車の概念も生んだ。このような自律システムは、高性能かつ耐性のある深層学習アルゴリズムを備えることができる。これらのシステムの動作上の障害は、怪我や財産の損傷につながる可能性がある。モデルがどのように改ざんされているかという知識なしに、信頼できないMLモデルがシステムに配備されるときにも、セキュリティ上の懸念が生じる可能性がある。MLモデルが信頼できない環境で配備され、動作するときにもセキュリティ上の懸念が生じる可能性がある。
【0018】
敵対的機械学習は、ML及び/またはAIアルゴリズムならびにそれらの実施態様におけるセキュリティ脆弱性をさらし、軽減するために使用することができる。データポイズニング及びニューラルトロイの木馬は、攻撃者が、トレーニング中にいくつかの入力データを変更することによって畳み込みニューラルネットワーク(CNN)の挙動及び性能を変更することを可能にする可能性がある。そのような攻撃は、例えば自動運転車両について、現場で不都合な影響を及ぼす可能性がある。MLシステムに対する攻撃は、攻撃の影響に基づいて分類することができる:1)原因となる攻撃:これは、トレーニング時におけるネットワークの学習プロセスを中断することを目的とし得るものであり、2):回避攻撃:これは、推論の間に分類器を悪用することを目的とし得る。ポイズニングは、トレーニングセット内の汚染された、または誤ってラベル付けされたデータポイントを提供する原因となる攻撃であり得、分類器の精度を低下させる。回避攻撃は、入力サンプルを構築することを試みる試験攻撃の例であり得、この入力サンプルは、分類器をごまかして異なるものとして解釈するようにまたはMLアルゴリズムがどのように動作するのかに関する情報を取得するように設計され得る。
【0019】
ポイズニング技術は、分類器に誘起された誤り率に基づいてその強度を評価することができるが、ニューラルトロイの木馬は、ハードウェアトロイの木馬の特性と同様の特性を具現化するポイズニング技術のサブカテゴリであり得る。敵対者にしか知られていない特定の入力セットによってアクティブ化するため、それらの入力を検出することは困難である可能性がある。そのような攻撃によって引き起こされる脅威は、壊滅的であり得る。例えば、ニューラルネットワークIPは、自動運転車において道路標識を分類するために使用されてもよく、埋め込まれたトロイの木馬は、ステッカーが標識上にあるときに、分類器に、75mph速度制限標識として停止標識を認識させる場合がある。
【0020】
攻撃それ自体の実用性に加えて、エコシステム内で動作するそのモデルのコピーが、数千、さらには数百万にも及ぶ場合がある。攻撃者が1つのデバイスへの攻撃をうまく実装できた場合には、攻撃者は、この攻撃を他の同一または類似のデバイスに転送することもできる。通常は、敵対的攻撃の伝達可能性とは、異なるアーキテクチャで複数の異なるモデルをだますための、または複数の異なるネットワークアーキテクチャに適用可能なポイズニング攻撃のための、敵対例の能力を指す。
【0021】
ニューラルネットワークに対するバックドア攻撃またはトロイの木馬攻撃は、汚染されたデータセットを用いてネットワークをトレーニング/再トレーニングすることを含み得る。トレーニングデータセットは、トロイの木馬トリガが埋め込まれたサンプルを含むことができ、ここでトロイの木馬トリガは、汚染されていないトレーニングデータとは異なる分布から引き出された「ノイズ」であり得る。このトリガは、サンプル画像に追加されたとき、人間には区別できない可能性がある。しかしながら、トレーニングプロセスを介してモデルを固有にプログラミングして、このパターンを認識し、攻撃者がサンプルを望むものとして分類することができる。トロイの木馬の完成は、通常のテストデータに対する分類精度に最小限の影響を与えるはずである。ネットワークは仕様に従って動作し、トリガは、元のトレーニングデータと同じ分布から引き出されたデータでテストしているときにはトロイの木馬をアクティブ化しないため、トロイの木馬は検出が困難になり得る。
【0022】
ニューラルトロイの木馬は、ハードウェアトロイの木馬と類似の特性を有する。例えば、大部分の入力に対して、ニューラルネットワークIPは、仕様に従って機能し、トロイの木馬のアクティブ化はニューラルネットワークIPの機能を大幅に変更し得る。しかしながら、ハードウェアトロイの木馬を、自然に発生する可能性のある特定の(シーケンス)入力(複数可)に応じてトリガするように設計することができ、その際に攻撃者がトリガ入力(シーケンス)を手動で供給する必要はない。ニューラルトロイの木馬の場合、入力画像は、アクティブ化用のトロイの木馬トリガを含む必要があり、これは、トリガが、以前に見られたものとは異なる分布から来るシグネチャであるため、異常な発生である可能性がある。これは、攻撃者がトレーニングデータにアクセスする(または複製する)必要があるだけでなく、実行時中に入力データに影響を与える能力も有している必要があることを意味する。
【0023】
場合によっては、ニューラルネットワークIPを、モデルの精度を損なうことなく、明るいピクセルのパターンを含むデータセットに悪意のあるいくつかの例を追加することによってバックドア攻撃することができる。分類器は、標識の下面にバックドア付きステッカーを含む一時停止標識を誤って表示させられることもある。一部のトロイの木馬攻撃は、トロイの木馬をトリガするために使用される特定のニューロンを選択し、選択されたニューロンの出力値を最大化するトロイの木馬トリガを作成することができる。ネットワークのバイナリ表現で冗長空間内にソフトウェアトロイの木馬を埋め込むことによってビットレベル攻撃を行うことも可能である。トロイの木馬は、ネットワークから抽出され、ターゲットシステム上で実行され、悪意のある動作を実行する可能性がある。例えば、「フォーク爆弾」をニューラルネットワークに埋め込んで実行することができる。また、重みの「脆弱」ビットを発見するように特別に構成されたトリガを生成することもできる。次いで、それらのビットに対してビットフリップ攻撃(例えばロウハンマー)を実施することができ、それによってネットワークは目標クラスへのすべての入力を分類する。例えば、この種の攻撃を使用すると、ネットワークはテスト画像の92%を、8800万ビットの総ビットから84ビットのフリップだけしか有さないターゲットクラスに、誤って分類する可能性がある。トロイの木馬攻撃には、ラベルフリップ攻撃やポイズニング攻撃法も含まれ得る。ラベルフリップ攻撃では、フリップされるトレーニングセットからのラベルを単に要求することができる。その結果、分類器に、誤ってラベル付けされたクラス全体にわたって特定の特徴を誤学習させる可能性がある。本明細書で説明するように、ラベルフリップ攻撃の実施態様は、その実施態様の容易さ及びアーキテクチャに依存しない性質に起因する再トレーニング後の誤り率の増加をシミュレートするためのベースラインとして使用することができる。
【0024】
したがって、開示された技術は、単一モデルではなく、変形のエコシステムとしてCNNを配備することを提供する。開示された技術は、セキュリティの目的でニューラルネットワークのアーキテクチャを活用することができる。エコシステムは、元のトレーニングされたモデルから導出可能であり、すべての導出されたモデルは、構造的に異なり得るが、モデルは元のモデル及び互いに対して機能的に等価であり得る。したがって、開示された技術は、配備用の同じモデルの、構造的に異なるが機能的に同等の変形のエコシステムを提供することができる。例えば、大規模なネットワークの場合、構造的に異なるが機能的には同等である数百万の変形例を生成することができる。
【0025】
確率論的パラメータ変異を使用することができ、この場合、元のモデルの重みθを小さいランダム量だけシフトさせることができる。デルタ更新手順を使用することもでき、このデルタ更新手順は、Δθ値を含む更新ファイルとすべてのパラメータのXORによって機能することができる。本明細書に記載された技術を使用してモデルを更新することにより、エコシステム内のすべてのシステム及び/またはデバイスにわたってニューラルトロイの木馬イベントの存在を増幅することができる。この技術は、トロイの木馬の悪意のある影響を容易に検出可能なレベルに増幅することにより、ニューラルトロイの木馬のより大きなエコシステムへの影響への伝達可能性に対して効果的であり得、したがって、エコシステムとしてモデルを配備することにより、エコシステムをよりニューラルトロイの木馬攻撃に対してより弾力的にすることが可能である。
【0026】
図を参照すると
図1は、本開示全体を通して説明されるような、ニューラルトロイの木馬攻撃を識別するためのシステム100の概念図である。システム100は、コンピュータシステム102、攻撃者システム104、及びターゲットシステム106Aを含むことができる。ターゲットシステム106Aは、エコシステム108内のシステム106B~Nのクラスタと通信しているか、そうでなければその一部であってよい。システム102、104及び106A~Nは、ネットワーク(複数可)110を介して(例えば有線及び/または無線で)通信することができる。
【0027】
ターゲットシステム106Aは、システムの重要なコンポーネントとしての推論のためのニューラルネットワークを含む市販製品であり得る。ターゲットシステム106Aの実際の例は、自動運転車とすることができ、この場合、道路標識、マーカ、歩行者、他の自動車などを見て解釈する車両の能力のために、ニューラルネットワーク推論エンジン(例えば、
図14を参照)を使用することができる。このシナリオでは、システム106Aが可能な限りフォールトトレラントであることが重要になる可能性がある。なぜなら、重要な瞬時の間の誤分類は、致命的な結果をもたらす可能性があるからである。ターゲットシステム106Aは、一般的な改ざん手段からの保護を防ぐために、いくつかのベースラインのセキュリティプロトコルを適所に有することもできる。例えば、システム106Aのリモート更新が進行中であるとき、システム106Aは、性能に関するいくつかの異なるメトリック、例えば組み込みセルフテスト(BIST)に関する更新の適用前及び適用後にニューラルネットワークを評価することができる。例示的なメトリックには、検証セットの損失及び精度、重みヒストグラムの統計的比較、及び更新ファイルのチェックサムが含まれ得る。これらの基本的なセキュリティプロトコルの存在を、システム106Aの配備のためのベースラインと見なすことができる。
【0028】
攻撃者システム104は、ターゲットシステム106Aにおけるセキュリティプロトコルをバイパスする悪意のある更新を実装することができる。攻撃者システム104は、エコシステム108内の他の多くのデバイスまたはシステム106B~Nへその更新を可能な限り拡散することを計画することもできる。一般に、この更新をニューラルトロイの木馬と呼ぶことができる。トロイの木馬の悪意のある意図は、極めて低い速度で標的とされた誤分類を誘発する可能性があり、その結果、ターゲットシステム106AのBISTによる検出が極めて困難である。一例は、自身の自動運転車を有し、エコシステム108内の同じモデルの車両(例えば、システム106B~N)を所有している他のユーザに、そのセキュリティメカニズムを破り、トロイの木馬の更新をどのように送信するかを学習した攻撃者システム104であろう。
【0029】
攻撃者システム104がターゲットシステム106Aへのアクセスを有することを想定することができる。このアクセスにより、攻撃者システム104は、システム106Aのネットワークに入力を適用し、そのネットワークへの出力を観察することができる。これはブラックボックス攻撃と称することもでき、ここで、攻撃者システム104は、システム106Aのアーキテクチャについての知識が限られているか知識がないが、入力及び出力を観察することはできる。試行錯誤により、攻撃者システム104は、入力及びそれらの対応する出力を観察することによって、分類モデルの自身のコピーを抽出することができる。
【0030】
本開示全体を通して記載されたニューラルトロイの木馬を実装するために(例えば、
図1のAを参照して)、攻撃者システム104は、ターゲットシステム106Aのネットワークモデルに対するトレーニングデータのサブセットまたは元のトレーニングデータと同じ分布に従う所与のアプリケーションに対する少なくとも一部のデータへのアクセスを必要とする。トレーニングデータを使用して、攻撃者システム104は、ターゲットクラスラベルに対応するデータのいくつかのサブセットを誤ってラベル付けし、ターゲットシステム106Aのネットワークを再トレーニングすることができる。次いで攻撃者システム104は、ターゲットシステム106Aのベースラインセキュリティプロトコルを回避できるという条件で、更新を生成してシステム106Aに適用することができる。
【0031】
図示のように、攻撃者システム104は、ターゲットシステム106Aのトレーニングデータセットにニューラルトロイの木馬を注入することができる(A)。攻撃者システム104は、本明細書に記載された任意のポイント(例えば、A~Hのいずれか1つまたは複数の前、間、または後)にニューラルトロイの木馬を注入することができる。ターゲットシステム106Aは、そのネットワークモデル及び関連するパラメータをコンピュータシステム102に送信することができる(B)。このネットワークモデルは、畳み込みニューラルネットワーク(CNN)に用いることができる。受信したモデル及びパラメータを使用して、コンピュータシステム102は、ネットワークモデルのエコシステムを生成することができる(C)。コンピュータシステム102は、生成されたエコシステムに関連付けられた生成されたモデルパラメータを、重みデータストア112に記憶することもできる(D)。さらに、コンピュータシステム102は、ターゲットシステム106Aのネットワークモデルの更新ファイルを生成することができる(E)。コンピュータシステム102は、更新ファイルを使用してターゲットシステム106Aのネットワークモデルを更新することができる(F)。その後、ターゲットシステム106Aは、更新されたモデルを実行することができる(G)。更新されたモデルは、本明細書で説明するように、攻撃者システム104または他の攻撃者によるニューラルトロイの木馬の任意の注入を認識可能にすることができる。したがって、ニューラルトロイの木馬がターゲットシステム106Aのためのトレーニングデータセットに(例えばAで)挿入されるとき、ターゲットシステム106Aは、トロイの木馬が実際にトレーニングデータセットに挿入されたという通知をコンピュータシステム102に送信することができる(H)。
【0032】
図2は、脅威モデルの概要を示す。図示されているように、攻撃者は「オラクル」デバイスへのアクセスを得ることができる。攻撃者は、オラクルデバイスから分類モデルを抽出することができる。次いで、攻撃者は、分類モデルのこの抽出されたコピーに対するトロイの木馬攻撃を実装し、オラクルデバイスに対する悪意のある更新を生成することができる。悪意のある更新が攻撃者の目標を達成した場合、攻撃者は、ネットワークを介して発見可能である1つまたは複数の他の同一のデバイスに、悪意のある更新をアップロードして続行することができる。
【0033】
図3は、畳み込みニューラルネットワーク(CNN)モデルを多様化するためのアルゴリズムである。CNNは多数のトレーニング可能なパラメータ(例えば重み、アクティブ化、バイアス項など)を必要とし得る。説明の例として、AlexNetは、合計で62,378,344のトレーニング可能なパラメータを有している。ネットワークパラメータが32ビットの浮動小数点の形態であると仮定すると、AlexNetモデルの合計サイズは、約237MBと推定することができる。ネットワークのバイナリでの表現は、ネットワークアーキテクチャに起因する重みの構造及び編成ならびにそれらのバイナリ表現に起因して、曖昧であり得る。浮動小数点数の性質と構造の違いにより、値に対する小さな変更は、暗号の分野と同様にアバランシェ効果を生じさせることができ、十進の値の小さな変更は、その数のバイナリ表現の大きな変更を生じることができる。本明細書で説明しているように、浮動小数点数の挙動及びモデル重みの曖昧性を強化して、確率論的パラメータ変異を介して分類モデルの多様なエコシステムを形成することができる。
【数1】
でトレーニングされたCNNモデルM及びユーザ定義のシフトパーセンテージ閾値t
pにより、
図3のアルゴリズムに示されているようにプロセスを定式化することができる。
【0034】
図4A~Bは、本明細書に記載のCNNモデルの重み分布のグラフ描写である。
図4Aは、確率論的パラメータ変異が適用され得る前後の重みのヒストグラムを示す。
図4Bには、Δw値のヒストグラムが示されている。
図4A~
図4Bに示した結果は、t
p=0.10(10%多様性閾値)を使用して生成可能である。
図4A~
図4Bの両方を参照すると、ニューラルネットワークにおける重みの分布は、分類器のアーキテクチャ、トレーニングデータ及び正則化のタイプ/パラメータなど、所与のアプリケーションの多くの異なる態様によって決定することができる。そう言いながらも、ネットワークの重みは、典型的には小さい10進数値のガウス分布に従うことができる(例えばAlexNetの場合、W
i=[-0.015,0.015])。本明細書に記載されたプロセス及び技術は、非線形の手法で重みの分布を変更することができる。
【0035】
図5Aは、ニューロンの重みに適用される確率論的パラメータ変異の図である。
図5Bは、ニューロンの重みに適用される確率論的パラメータ変異処理と共に、ニューロンを示す図である。
図5Cは、隠れニューロンを有する例示的な1層フィードフォワードネットワークである。
図5A~
図5Cを参照すると、重みをシフトさせることは、t
pによって指定された範囲で、重み付けベースで行うことができる。このシフト範囲をすべての重みに一度に適用すると、いくつかの重みが意図されるよりも大きな値だけシフトすることがあり、このことは精度に悪影響を及ぼす可能性がある。また、シフト量Δwを計算するために乱数生成器を利用して、Mから生成されるすべてのモデルM
dが固有になり得ることを確実にしてもよい。ユーザ定義の値t
pを用いることで、このシフト量を0からw×tの範囲内のランダム値として計算することができ、つまり、ユーザが0.01(1%)の値を供給すると、M内のすべての重みを当該重みの値の1%だけシフトさせることができる。シフトはランダムに行うことができるので、
図5A~
図5Cに示されているように、MからM
dまでの重みの分布に非線形の関係が存在し得る。
【0036】
図5Aでは、重みをまず、ユーザ定義の閾値t
pによって乗算して、{δ
0,δ
1,...,δ
n}を取得し、次いでこれを擬似乱数生成器(PRNG)に渡して、ΔW
kの値を供給することができる。ランダムPRNGは、負または正のδ
kの値に対して、それぞれ(δ
k,0)及び(0,δ
k)の範囲内の値を生成可能である。得られた値を元の重みに加えることができ、これによって元の重みが効果的に変異される。
図5Bでは、入力層のドット積に重みを加算することによって、出力を計算することができる。次いで、アクティブ化関数を適用することができる。最終的に、
図5Cに示すように、例示的な1層フィードフォワードネットワークは、入力層と出力層との間の隠れ層内に隠れニューロンを含むことができる。
【0037】
図5A~
図5Cを参照して説明したネットワークパラメータがシフトしても、ネットワークは、
図9A~
図9Cに示されているMとMとの間の比較的高い平均ハミング距離(HD)を有する、元のモデルに対してテストデータにおいてほぼ同一の精度を維持することができる。Δwの値の範囲は、+/-δではなく、δrと0との間であり得る。これは、重みが+/-量だけシフトしている例では、結果として生じるモデルの精度にいっそう顕著な影響が及ぼされ得るからである。精度に対するより顕著な効果は、所与のニューロンへの入力に対する重みの極性に起因し得る。負の重みがより正になる場合、及びその逆の場合には、ニューロンの判断境界のシフトを大幅に大きくすることができる。この範囲に加えて、一部の実施態様では、確率論的パラメータ変異は、重みにのみ適用することができ、バイアス項には適用しない。ポイズニング試行の結果はほぼ同一とすることができるが、バイアス項を省いてもベースライン精度に良い影響を与えることができる。
【0038】
図6Aは、提案された方法論の全体的なフローを示す図である。図示されているように、最終的なネットワークMをトレーニングすることができる。モデルMのn個のコピーを導出するために、確率論的パラメータ変異を重みに適用することができる。次いで、これらの重みを、将来の配備に備えて、セキュアデータベースに記憶することができる。これにより、エコシステムをMから導出することができ、エコシステム内のネットワーク毎の重みを記憶することができる。いくつかの実施態様において、重み/パラメータの記憶には、n*(Mのサイズ)の総ストレージ要件が伴う可能性がある。しかしながら、1つまたは複数のモデル圧縮技術を適用することで、このストレージ要件を緩和することができる。エコシステム内の各モデルについてのパラメータを記憶することは、エコシステム内のモデルに対してパーソナライズされた、セキュアな更新を発行することを可能にするために有利であり得る。
【0039】
図6Bは、XOR更新手順の図である。従来、ニューラルネットワークモデルは、ネットワーク自体のバイナリファイルを置き換えることによって更新され得る。重みは、初期配備と将来の更新との間にネットワークの構造が変更されなかった場合にのみ、ファイルに記憶してオンデマンドでロードすることができる。インターネットを介したこのネットワークの送信は、ネットワークベースの攻撃による脅威にモデルを意図せずさらす可能性があり、攻撃者はモデルを傍受して、標的デバイスまたはシステムへの送信を継続する前に悪意を持って変更する可能性がある。その結果、セキュリティ及びプライバシーの制限に起因して、この従来の更新手順は実行不可能になり得る。
【0040】
したがって、本明細書で説明するXOR更新手順を、これらの脆弱性に対処するために使用することができる。この手順を使用することによって、ウェイト全体そのものではなく重みのデルタを、ターゲットデバイスまたはネットワークを含んでいるシステムに送信することができる。バイナリファイルをロードすることによって、すべての重みを置き換える代わりに、バイナリファイルをメモリにロードすることができ、
図4Bに示されているように、重みは、更新ファイル内の対応する値と各重みをXORすることによって、更新することができる。
【0041】
ネットワーク用の更新ファイルを生成するプロセスは、次のように行うことができる。すなわち、まず始めに、モデルを、新しいデータまたはネットワークのパフォーマンスを改善するように選択された異なる/新しいパラメータで再トレーニングすることができ、次に、再トレーニングの前後の重みの行列を取り、それらを一緒にXORすることによって、更新ファイルを生成することができる。このプロセスは、2つの理由から有利になり得る。第1に、ネットワークを監視する攻撃者に潜在的にさらされるデータ量を最小限に抑えることができ、攻撃者が実際の重みが何であるかを推測する方法はない。第2に、XOR機能に起因して、ニューラルネットワークの重みを更新する能力を維持することができる。
【0042】
図6Cは、攻撃者がCNNモデルの更新ファイルにトロイの木馬を挿入する方法を決定したことを示す図である。本明細書に記載する更新手順(例えば、
図6A~
図6Bを参照)の使用は、送信前に更新ファイルを暗号化するなどの追加的な予防措置またはセキュリティの層を排除しなくてもよい。本明細書で説明するXORベースの更新手順と併せて、確率論的パラメータ変異によって、モデルとその更新ファイルとの間に1対1関係を提供することができる。重みをランダムにシフトさせることに関連付けられた非線形性のために、モデルM
diに対して更新を行い、代わりにそれをモデルM
djに適用することは、精度の劣化のいずれかまたは一般にモデルの機能を妨害することによってさえ、M
djに意図しない機能を導入する可能性がある。
このことも、攻撃者がトロイの木馬の複数のネットワークを攻撃しようとする実際的な脅威のシナリオに拡張することができる。
【0043】
図4Cに示されているように、攻撃者はM
diにトロイの木馬攻撃をしたが、XOR不整合によって引き起こされる固有の妨害のために、M
djに適用されたときに、同じ更新でフラグを立てた。元のモデルの精度に対して最適化/改善を行うことができる場合、エコシステム内のすべてのモデルを更新して、これらの改善を共有することができる。このことは、最初にMの新しいバージョンを取得し、確率論的パラメータ変異を適用して、新しいエコシステムM
ec={M
d0,M
d1,...,M
dn}を導出することによって行うことができる。次に、各モデルは、各モデルのパラメータをXOR処理することにより、新しいエコシステムから古いエコシステム内の各モデルにマッピングすることができる。これによって、エコシステムに配備可能な各モデルの更新を導出することができる。新しいパラメータは、データベースまたは本明細書に記載されたデータストアに現在存在するものを上書きすることができる。
【0044】
本明細書で説明するXORベースの更新プロセスに加えて、精度の変化及び/またはトレーニングパラメータを評価するための追加的なメカニズムを、潜在的に悪意のある更新に対する保護手段として実装することができる。生産中に更新が行われないと、モデルの精度に悪影響を及ぼす可能性がある。このため、ネットワークを実行しているデバイスまたはシステムは、XORベースのプロセスを介してモデルの更新を試みることができ、この更新の前後で精度をテストすることができる。精度が特定量だけ(またはすべて)低下した場合には、その更新を悪意のあるものと見なして破棄することができる。
【0045】
図7は、本明細書に記載のCNNモデルの構造及びパラメータを示す表700である。説明の例として、CNNは、MNISTデジット分類のためのLeNet-5モデルに基づいて構築され得る。パラメータの構造全体を
図7の表700に示す。このモデルは、2つの2D畳み込み層を有することができ、これらの2つの2D畳み込み層の後には、最大プーリング層、2つの全結合層及び1つのソフトマックス層が含まれる。平均して、このモデルは、比較的短いトレーニング時間で、テストセットに対して99%の精度を達成することができる。
【0046】
説明の例は、MNIST分類器に適用され、単精度(32ビット)及び半精度(16ビット)の浮動小数点表現に量子化されて、開示された技術のスケーラビリティを実証することができる。開示された技術のためのソフトウェア実施態様は、Tensorflowとのインタフェースのための高水準ライブラリであるKerasなどのライブラリを使用して実行することができる。これらのワークロードの処理は、Gaiviコンピュータビジョンクラスタ上のNvidia Titan V GPUを含むがこれらに限定されない、任意の1つまたは複数のコンピューティング構成を使用して行うことができる。
【0047】
図8は、CNNモデルにより用いられるハイパーパラメータ構成を示す表800である。本明細書に記載の通り、説明の例では、ラベルフリップ攻撃(LFA)をシミュレーションすることができる。LFAは、ネットワークの再トレーニング段階中に実施される目標とするラベルのサンプルを目標とすることができる。バッチサイズは、LFAの結果を平滑化することができる。バッチサイズが大きいほど、バッチ内の汚染されたサンプルの数を少なくすることができ、これは、逆伝播の実行時に計算される結果として生じる損失をより小さくできることを意味し、したがって、汚染されたサンプルに対してトレーニングを行うときのエラーをより小さくできることを意味する。したがって、複数の異なるハイパーパラメータ戦略を使用して、ポイズニング中の重みに種々の影響を及ぼす攻撃者の目標を達成することが可能である。
【0048】
LFAに関する元のトレーニングデータは、再利用することができる。したがって、トレーニング及び再トレーニングに使用されるデータの分布に偏差がない場合がある。その結果として、ネットワーク内の重みは、攻撃を実行している間の最小の変化を見ることができる。この説明の例は、開示された技術の有効性を異なる重み更新戦略で実証するために、トレーニングハイパーパラメータの複数の構成によって実行することができる。それらの構成は、
図8の表800に示されている。構成のうちの2つに対し1e-3の標準学習速度を用いることができ、他の2つの構成に対し、5e-3のより高い学習速度を、より短いトレーニング時間で用いることができる。より高い学習速度を用いた試行は、重みに対するより大きな初期更新をもたらすことができ、これによってポイズニングされた更新を適用する際の精度の差がより大きくなり得る。これらの試行についての結果を、以下にさらに記載する。
【0049】
図9A~
図9Cは、本明細書に記載された技術を使用するときのCNNモデルにおける重み間のハミング距離を示す。
図9Aは、32ビットの精度と16ビットの精度の両方に対して確率論的パラメータ変異が適用される前と適用された後のモデルにおけるすべての重みの間の平均ハミング距離(HD)のグラフを示す。
図9Bは、t
p(0.01、0.05、0.10)に対する異なる値での32ビットフリップ確率のグラフである。
図9Cは、t
p(0.01、0.05、0.10)に対する異なる値での16ビットフリップ確率のグラフである。
図9B及び
図9Cの両方における点線は、対応する浮動小数点表現に対して最終値ビットをマーキングすることができる(32ビットの場合には2
21、16ビットの場合には2
9)。符号ビットはフリップしないが、最下位の3つの指数ビットのみがゼロでないフリップ確率(<0.05)を有する。
【0050】
図9A~
図9Cを参照すると、上述の方法及び技術とベースラインMNIST分類器とを使用して、この説明の例では、0.2%の増分で値t
p=[1.0,10.0]の範囲でシミュレーションを実行することができる。t
pの値ごとに、元のモデルの1000の変異バージョンを含むエコシステムを生成することができる。そのようなバージョンの精度は、元と比較することができる。2つのメトリックを考慮することができる。モデルA及びBの重みの間のHDは、可能な限り50%に近くあるべきであり、モデルA及びBの間のテスト精度の差は、可能な限り0%に近くあるべきである。
【0051】
平均HDは、攻撃者の観点からモデル間の曖昧さを評価するためのメトリックとして使用することができ、理想的には50%であり得る。
図9A~
図9Cに示されたグラフでは、垂直線は、例えばIEEE754規格を使用して、所与の浮動小数点精度の最終値ビットに対応するx軸上の点に位置決め可能である。この確率は、確率論的パラメータ変異を適用できる単一の重みごとに、その特定のビットフリップの頻度を調べることによって計算することができる。
【0052】
いずれの場合も、値ビットの大部分はフリップの50%を超える確率を有するのに対して、指数ビット(<5%の確率を有する3つの最下位ビットは除く)及び符号ビットはフリップしない。これは、シフト閾値(<10%)に対する上限が比較的小さいことを理由として予想することができる。したがって、HDは、SPMプロセスによって影響を受けるネットワークの部分である仮数に関して定義することができる。その結果、
図9Aには、HDがt
pに対して対数比例して増加し、仮数ビットでは50%に近づくことが示されている。32ビットネットワークでは、たとえ重みをそれらの値の1%だけシフトさせても、結果として生じるネットワーク間でHDが40%を超える場合がある。このことは、望ましい結果を達成するためにt
pの値を大きくする必要がない場合があることを示している。
【0053】
図10A~
図10Cは、本明細書に記載された技術を使用した各エコシステムにわたる精度の分布を表す。
図10Aは、32ビット精度での各閾値パーセンテージに対するエコシステム全体の分布のグラフを示している。
図10Bは、16ビット精度での各閾値パーセンテージに対するエコシステム全体の分布のグラフを示している。
図10Cは、各閾値レベルでのエコシステムの平均試行精度のグラフを示す。カットオフ(99%)をモデルの開始するベース精度とすることができ、最適値(5%)を、精度が元のモデルから劣化する前の最大値とすることができる。カットオフ値を下回る場合には、望ましくない結果となる可能性がある。t
pの値が増加すると、精度は、比較的小さいが漸次的な損失となる可能性がある。10%の高いt
dであっても、精度の損失は0.02%未満であり得る。それでも、エコシステムは元のエコシステムからの精度を下げてはならず、したがって多様性のレベルを最大化することができる最適値としてt
p=0.05で追加のカットオフを引き出すことができるが、精度はベースライン以上であってよく、最適値を過ぎたばかりの時点から低下し始め得る。t=0.05を最適値として観察すると、これは、計算を最小限に抑えるためにエコシステムをポイズニングしたときの影響を測定するための、本明細書に記載された説明の例のためのカットオフ値であり得る。
【0054】
図10A~Cを参照すると、元のモデルとエコシステムとの関係性の評価に関して、エコシステムの試行精度の相違を可能な限り最小化(例えば理想的には0)することができる。ハイレベルでは、ネットワークの機能が損なわれない可能性があり、精度がほぼ同一になり得る一方で、バイナリ表現での重み値に関するそれらの構造は、HDによって示されるように著しく異なり得る。したがって、コンポーネントの完全性を損なうことなく、モデルのエコシステムを多様化することができる。
【0055】
図11A~
図11Bは、更新前後のCNNモデルの分類誤差の差異を示す混同行列を示す。
図11A~
図11Bに示されている説明の例では、攻撃者は、任意のモデルM
iにアクセスし、1を7として分類するための誤り率を増加させることのできるM
iに対する更新を作成した。結果として生じたM
iについての混同行列を、
図11Aに示す。次に攻撃者は、この同じトロイの木馬による更新を使用し、それをエコシステム内の別のモデルM
jに転送することができる。本明細書に記載されているデルタ更新手順を使用して、M
iは、M
iの更新ファイルで更新される。結果として生じた混同行列を、
図11Bに示す。混同行列で示されているように、結果として生じるM
iの精度は同一になり、攻撃者による標的型の誤分類の目標を達成することができる。しかしながら、M
iでは、M
iの更新ファイルによって提供されるデルタは、M
iの機能を破壊し、精度を著しく低下させる可能性があり、それによって、トロイの木馬の攻撃の検出が著しく容易になる。
【0056】
図11A~
図11Bを参照すると、開示された技術の目標の1つは、同じ機能を実行するモデルのエコシステムを与えられると、攻撃者がエコシステム内の所定のネットワークをトロイの木馬攻撃する試みの成功は、攻撃者がそのエコシステム内の別のモデルにトロイの木馬をアップロードしようと試みた場合に、成功を保証できないことである。トロイの木馬はできる限りステルス性で検出可能でないことに依存している。そのため、この与えられたトロイの木馬は、トロイの木馬がモデルの精度に影響を与えない場合にのみ、有効であると分類され得る。したがって、混同行列により、デルタ更新手順の前後のモデルの性能の差が示される。負の値は、モデルがそれぞれの予測と真値のペアリングについてより少ない決定を下したことを示し、一方、正の値は、そのペアリングについてより多くの決定を示した。正の値は劣化であり得る一方で、負の値は改善であり得る。
【0057】
この
図11A~
図11Bの例では、攻撃者はM
iにトロイの木馬を挿入した。これは、
図11Aに示すように、クラス1の誤り率を7にわずかに増加させた。全体的に、モデルの精度は不変のままであり、したがって、1を7に誤分類するという攻撃者の目標を達成し、未検出のまま留まっていたため、トロイの木馬は成功した。次に攻撃者は、エコシステム内の別のモデルM
jにトロイの木馬の更新をアップロードすることができ、その結果、
図11Bに混同行列が生じる。従って、本明細書に記載された確率論的パラメータ変異とデルタ更新手順の組み合わせ使用の結果、エコシステム内の別のモデルに感染を試みる際にトロイの木馬のステルス性が失われてしまう。このエコシステム内のすべてのモデル(M
jを含む)は、t
p=0.05を使用して生成された。
【0058】
図12は、単一モデルへのLFAの実装及びその更新ファイルのエコシステム内の他のすべてのネットワークへの適用の結果としての精度の平均損失を示すグラフ1200A~Hを表す。グラフ1200A~Dは32ビットネットワークに関する結果を表しており、グラフ1200E~Hは16ビットネットワークに関する結果を表している。本明細書で説明するように、ハイパーパラメータに対する4つの異なる構成を、ネットワークを再トレーニング(ポイズニング)するときに、説明の例で使用することができる。構成ごとに、n=1000を有するエコシステムをt
p={0.010,0.012,0.014,...0.050}に対して生成することができる。t
pの値ごとにエコシステムを取得することができ、30個のランダムモデルをそのエコシステムからサンプリングすることができる。サンプリングされた各モデルに対してポイズニング攻撃を実行することができ、次いで、このモデルに対して使用可能なトロイの木馬の更新を生成することができる。この更新をエコシステム内の他のモデルに適用することができる。サンプリングされたモデルについての精度の平均低下が、グラフ1200A~H内の青色の線(例えば、グラフ1200A~Hのそれぞれの下側の線)によって示されているのに対し、更新の適用後のエコシステムについての精度の平均低下は、グラフ1200A~H内のオレンジ色の線(例えば、グラフ1200A~Hのそれぞれの上側の線)によって示されている。
【0059】
構成を、それらが昇順で重みを変化させる量(したがって精度)で順序付ける場合、それらは、{C3,C1,C4,C2}のように順序付けられる。構成2(lr=5e-3、バッチサイズ=128、エポック=50)のハイパーパラメータは、重みに対して最大の変化をもたらし、これは予想することができる。このことは、目標のモデルに対して0.4%の精度の平均低下によって示すことができる。この構成は攻撃者には理想的ではない可能性があるが、重みを著しく変化させるポイズニング攻撃が存在する場合に、エコシステムにどのような結果をもたらすかを示している。すべての構成の中で、エコシステムでの精度の低下は、直接攻撃を受けたモデルでの精度よりも2~3倍大きくすることができる。
【0060】
本明細書で説明するように、開示された技術は、攻撃者が同じモデルを含む別のデバイスにそのトロイの木馬を首尾よく転送することができないことを保証することに焦点を当てることができ、それによって攻撃の規模及び範囲が制限される。さらに、開示された技術は、攻撃者がスヌーピングを行い、ネットワークに対する特定の更新に関する情報を取得した場合にも、この情報がエコシステム内のいかなる他のデバイスも攻撃しないということを保証することができる。
【0061】
攻撃者が、エコシステムからモデルを実行している何らかのデバイスにアクセスでき、これらのデバイスがトロイの木馬を実装し、そのモデルの更新ファイルを計算したと仮定することができる。トロイの木馬モデルはM
tと示すことができ、更新はUと示され、エコシステム内の別の任意のモデルはM
iと示すことができる。攻撃者が1つまたは複数のM
iまでU
pを適用しようとする場合には、攻撃者の難度が生じる。難度の識別には、重みの浮動小数点値に対する何らかの閾値の定義と、この閾値を考慮するためにU
pのΔwの値を調整する何らかの手法の決定とが含まれ得る。しかしながら、難度を、l)ネットワーク内にいくつの重みがあるか、W、2)重みの浮動小数点の精度f
i(特に仮数)及び、3)モデルの精度を考慮することにより、モデル化することができる。これらの値を使用して、難度dを等式1のように定式化することができる。
【数2】
【0062】
ht Wiについて
【0063】
ネットワーク内の各重みWiに対して、攻撃者は、モデルの精度に悪影響が及ぼされないことを保証しながら、トロイの木馬トリガに対するそれぞれのニューロン(複数可)をアクティブ化するそれらの目標を達成するいくつかの値(複数可)を計算する。この問題の複雑さは、使用される重みのネットワークサイズ及び精度と相対的に増大する。さらに、大規模なエコシステムを使用する場合には、それらの悪意のある更新が他のデバイス全体にわたって有効であることは保証され得ない。そのモデルに対して更新のために1対1のマッピングが存在することの理由は、本明細書で説明している重みのXOR手順が結果として、意図しない大量の重みをシフトさせてしまい得るからである。このことが起こると、トロイの木馬の影響が攻撃者によって意図されたものよりも大幅に高くなる可能性があり、したがって、はるかに非ステルス的であり、検出がより容易になる。経験的には、1000個のネットワークのうち、85%のネットワークがUpで更新されると、10,000個のテスト画像からなるBISTによって検出可能なMtを超える精度の少なくとも2倍の低下を見ることができる。したがって、個別ベースで、犠牲者が問題を特定して、適切なアクション、例えば、ベースラインネットワーク構成に戻すことを取ることができる。さらに、更新後の精度損失をエコシステム全体からプールすることによって、全体的な影響が明らかになり、製造業者がエコシステム全体にわたる修正アクションを適切に取ることができる。
【0064】
実際の脅威シナリオの実例として、N個のテスト画像からなるBISTの回避を目的とする攻撃者を考慮する。攻撃者トロイの木馬をモデルに実行し、精度が1%だけ低下すると、N個の100個のテスト画像を有するBISTがトロイの木馬を捕捉することが予期される可能性があり、これは誤って分類された1つの付加的な画像の差が存在するからである。MNIST分類器での試行を実行することができ、ここでトロイの木馬は、0.15%だけ精度を下げることができる。テストセットが少なくともN=667(10,000/15)個の画像であれば、トロイの木馬を捕捉することが期待され得る。エコシステムに適用されたこの同じトロイの木馬の場合、精度は0.5%低下し、これはN=200(10,000/50)画像毎に誤分類が予想され得ることを意味する。このため、トロイの木馬が挿入されたネットワークは、エコシステム内の他のほとんどのデバイスに対してBISTを失敗する可能性がある。
【0065】
開示された技術は、攻撃を受ける可能性のある構成を多様化することにより、変形デバイスのエコシステムの保護に焦点を当てた機械学習セキュリティの改善を提供する。確率論的パラメータ変異は、開発者が自身のモデルを、構造的に異なるが機能的に等価な自身のモデルの多様なエコシステムとして配備できるように使用することができる。多様性のこの態様は、攻撃者がある1つのデバイス(例えばモデル)への攻撃をうまく実装できる場合に、同じ攻撃を別のデバイスに変換できない可能性があることを保証することができる。また、本明細書に記載されたXORベースの更新メカニズムのデルタ更新手順と組み込まれたセルフチェックを使用すると、開発者は、現場でセキュアに自身のモデルを更新することもできる。開示された技術をより大きなネットワークに適用するときには、特定の層の重みのみを調整して、モデルエコシステム全体にわたって高度な曖昧さを依然として実現することも可能である。
【0066】
図13は、コンピューティングデバイス1300の例及びここで説明する技術を実装するために使用できるモバイルコンピューティングデバイスの例を示す。コンピューティングデバイス1300は、ラップトップ、デスクトップ、ワークステーション、パーソナルデジタルアシスタント、サーバ、ブレードサーバ、メインフレーム、及び他の適切なコンピュータなどの、デジタルコンピュータの様々な形態を表すように意図されている。モバイルコンピューティングデバイスは、パーソナルデジタルアシスタント、携帯電話、スマートフォン、及びこれらに類する他のコンピューティングデバイスなど、モバイルデバイスの様々な形態を表すように意図されている。ここに示されたコンポーネント、その接続及び関係、ならびにその機能は単なる一例に過ぎず、本文献に記載及び/または請求された発明の実施態様を制限することを意図したものではない。
【0067】
コンピューティングデバイス1300は、プロセッサ1302と、メモリ1304と、ストレージデバイス1306と、メモリ1304及び複数の高速拡張ポート1310に接続される高速インタフェース1308と、低速拡張ポート1314及びストレージデバイス1306に接続される低速インタフェース1312とを含む。プロセッサ1302、メモリ1304、ストレージデバイス1306、高速インタフェース1308、高速拡張ポート1310及び低速インタフェース1312のそれぞれは種々のバスを使用して相互接続され、共通のマザーボードに搭載することができ、または適切な場合には他の態様で搭載することができる。プロセッサ1302は、コンピューティングデバイス1300において実行される命令を処理することができ、この命令は、高速インタフェース1308に結合されたディスプレイ1316などの外部入力/出力デバイスにGUIに係るグラフィック情報を表示するための、メモリ1304内またはストレージデバイス1306上に記憶された命令を含む。他の実施態様では、複数のプロセッサ及び/または複数のバスを使用することができ、適切な場合には、複数のメモリ及び複数の種類のメモリと共に使用することができる。また、(例えば、サーババンク、ブレードサーバ群、またはマルチプロセッサシステムとしての)必要な動作の一部を提供する各デバイスに複数のコンピューティングデバイスを接続することもできる。
【0068】
メモリ1304は、コンピューティングデバイス1300内に情報を記憶する。いくつかの実施態様では、メモリ1304は1つまたは複数の揮発性メモリユニットである。いくつかの実施態様では、メモリ1304は、不揮発性メモリユニットまたはユニットである。メモリ1304は、他の形態のコンピュータ可読媒体、例えば磁気ディスクまたは光ディスクなどとすることもできる。
【0069】
ストレージデバイス1306は、コンピューティングデバイス1300に大容量ストレージを提供することができる。いくつかの実施態様においては、ストレージデバイス1306を、コンピュータ可読媒体、例えばフロッピーディスクデバイス、ハードディスクデバイス、光ディスクデバイスもしくはテープデバイス、フラッシュメモリもしくは他の類似のソリッドステートメモリデバイス、またはストレージエリアネットワークもしくは他の構成におけるデバイスを含めたデバイスアレイであり得る、またはそれらを含むことができる。コンピュータプログラム製品は、情報担体に有形に具現化されたものであり得る。コンピュータプログラム製品は、実行されるときに1つまたは複数の方法、例えば上記にて記載されている方法などを実施する命令を含むこともできる。コンピュータプログラム製品はまた、メモリ1304、ストレージデバイス1306、またはプロセッサ1302上のメモリなどの、コンピュータ可読媒体または機械可読媒体に有形に具現化することもできる。
【0070】
高速インタフェース1308は、コンピューティングデバイス1300の帯域負荷が高い動作を管理するのに対し、低速インタフェース1312は、それより帯域負荷が低い動作を管理する。機能のかかる割り当ては単なる一例である。いくつかの実施態様においては、高速インタフェース1308は、メモリ1304と、ディスプレイ1316と、(例えばグラフィックプロセッサまたはアクセラレータを介して)種々の拡張カード(図示せず)を受容できる高速拡張ポート1310とに結合されている。本実施態様では、低速インタフェース1312はストレージデバイス1306及び低速拡張ポート1314に結合されている。種々の通信ポート(例えばUSB、Bluetooth、イーサネット、無線イーサネット)を含み得る低速拡張ポート1314は、キーボード、ポインティングデバイス、スキャナ、またはスイッチもしくはルータなどのネットワークデバイスなどの1つまたは複数の入力/出力デバイスに、例えばネットワークアダプタを介して結合することができる。
【0071】
コンピューティングデバイス1300は、図中に示されているように、多数の異なる形態で実装することができる。例えば、それは、1つの標準的なサーバ1320として、または標準的なサーバの群で複数回、実装することができる。加えて、それは、例えばラップトップコンピュータ1322などのパーソナルコンピュータに実装することもできる。また、ラックサーバシステム1324の一部として実装することもできる。これに代えて、コンピューティングデバイス1300からのコンポーネントを、例えばモバイルコンピューティングデバイス1350などのモバイルデバイス内の他のコンポーネント(図示せず)と組み合わせることもできる。かかる各デバイスは、コンピューティングデバイス1300及びモバイルコンピューティングデバイス1350のうち1つまたは複数を含むことができ、システム全体を、相互間で通信する複数のコンピューティングデバイスから構成することができる。
【0072】
モバイルコンピューティングデバイス1350は、他のコンポーネントの中でも、プロセッサ1352、メモリ1364、ディスプレイ1354などの入力/出力デバイス、通信インタフェース1366及びトランシーバ1368を含む。付加的なストレージを提供するために、モバイルコンピューティングデバイス1350には、マイクロドライブまたは他のデバイスなどのストレージデバイスを設けることもできる。プロセッサ1352、メモリ1364、ディスプレイ1354、通信インタフェース1366及びトランシーバ1368のそれぞれは、種々のバスを使用して相互接続され、これらのコンポーネントのうちのいくつかが、1つの共通のマザーボードに搭載され、または適切な場合には他の態様で搭載され得る。
【0073】
プロセッサ1352は、メモリ1364に記憶された命令を含むモバイルコンピューティングデバイス1350内の命令を実行することができる。プロセッサ1352を、別個の複数のアナログ及びデジタルのプロセッサを有するチップのチップセットとして実装することができる。プロセッサ1352は例えば、モバイルコンピューティングデバイス1350の他のコンポーネントの協調をさせることができ、例えばユーザインタフェース、モバイルコンピューティングデバイス1350により実行されるアプリケーション、及びモバイルコンピューティングデバイス1350による無線通信の制御などを行うことができる。
【0074】
プロセッサ1352は、制御インタフェース1358及びディスプレイ1354に接続されたディスプレイインタフェース1356を介してユーザと通信することができる。ディスプレイ1354は、例えば、TFT(薄膜トランジスタ液晶ディスプレイ)またはOLED(有機発光ダイオード)ディスプレイまたは他の適切なディスプレイ技術であってよい。ディスプレイインタフェース1356は、グラフィック情報及び他の情報をユーザに提示するためにディスプレイ1354を駆動するための適切な回路を備えることができる。制御インタフェース1358は、ユーザからコマンドを受け取って、このコマンドをプロセッサ1352へ送信するために変換することができる。加えて、外部インタフェース1362は、プロセッサ1352との通信を提供することができ、これによって他のデバイスとのモバイルコンピューティングデバイス1350の近距離通信が可能となる。外部インタフェース1362は例えば、一部の実施態様では有線通信を提供することができ、または他の実装では無線通信を提供することができ、複数のインタフェースを使用することも可能である。
【0075】
メモリ1364は、モバイルコンピューティングデバイス1350内に情報を記憶する。メモリ1364は、コンピュータ可読媒体、揮発性メモリユニットまたは不揮発性メモリユニットのうちの1つまたは複数として実装することができる。拡張メモリ1374を設けて、拡張インタフェース1372を介してモバイルコンピューティングデバイス1350に接続することもでき、この拡張インタフェース1372は例えば、SIMM(シングルインラインメモリモジュール)カードインタフェースを備えることができる。拡張メモリ1374は、モバイルコンピューティングデバイス1350に対して追加のストレージスペースを提供することができ、またはモバイルコンピューティングデバイス1350用のアプリケーションもしくは他の情報を記憶することもできる。具体的には拡張メモリ1374は、上述したプロセスを実施または補助するための命令を備えることができ、また、セキュア情報を備えることもできる。つまり、例えば拡張メモリ1374を、モバイルコンピューティングデバイス1350に対するセキュリティモジュールとして設けることができ、またモバイルコンピューティングデバイス1350のセキュアな使用を可能にする命令によってプログラミングすることができる。加えて、SIMMカードを介してセキュアアプリケーションを追加の情報と共に提供することができ、これには、SIMMカード上に識別情報をハッキング不能に配置することなどが挙げられる。
【0076】
メモリは例えば、フラッシュメモリ及び/またはNVRAMメモリ(不揮発性ランダムアクセスメモリ)を含むことができ、これについては下記にて説明する。いくつかの実施態様では、コンピュータプログラム製品は情報担体に有形に具現化されている。コンピュータプログラム製品は、実行されると上述したような1つまたは複数の方法を実施する命令を含む。コンピュータプログラム製品は、メモリ1364、拡張メモリ1374、またはプロセッサ1352上のメモリなどのコンピュータ可読媒体または機械可読媒体であり得る。いくつかの実施態様では、コンピュータプログラム製品は、例えば、トランシーバ1368または外部インタフェース1362を介して、伝搬信号で受信され得る。
【0077】
モバイルコンピューティングデバイス1350は、通信インタフェース1366を介して無線通信することができ、この通信インタフェース1366は、必要な場合にはデジタル信号処理回路を含むことができる。通信インタフェース1366は、GSM音声通話(モバイル通信用グローバルシステム)、SMS(ショートメッセージサービス)、EMS(拡張メッセージングサービス)、またはMMSメッセージング(マルチメディアメッセージングサービス)、CDMA(符号分割多元接続)、TDMA(時分割多元接続)、PDC(パーソナルデジタルセルラー)、WCDMA(ワイドバンドコード分割多元接続)、CDMA2000、またはGPRS(汎用パケット無線サービス)などの様々なモードまたはプロトコルでの通信を提供することができる。このような通信は例えば、無線周波数を使用してトランシーバ1368を介して行うことができる。加えて、短距離通信を行うこともでき、例えば、Bluetooth、WiFi、または他のそのようなトランシーバ(図示せず)を使用することができる。加えて、GPS(全地球測位システム)受信モジュール1370は、付加的なナビゲーション関連及び測位関連の無線データをモバイルコンピューティングデバイス1350に供給することができ、この無線データは、モバイルコンピューティングデバイス1350上で実行されるアプリケーションによって適宜使用することができる。
【0078】
また、モバイルコンピューティングデバイス1350は、オーディオコーデック1360を使用して可聴通信することもでき、このオーディオコーデック1360は、ユーザから音声情報を受け取って、使用可能なデジタル情報に変換することができる。オーディオコーデック1360は同様に、例えばスピーカなどを介して、例えばモバイルコンピューティングデバイス1350のヘッドセットのスピーカなどを介して、ユーザに対して可聴音を生成することもできる。このような音には、音声通話からの音を含めることができ、録音された音(例えばボイスメッセージ、音楽ファイルなど)を含めることができ、また、モバイルコンピューティングデバイス1350上で動作するアプリケーションによって生成された音を含むこともできる。
【0079】
モバイルコンピューティングデバイス1350は、図中に示されているように、多数の異なる形態で実装することができる。例えば、それは携帯電話機1380として具現化することができる。それはまた、スマートフォン1382、パーソナルデジタルアシスタント、または類似の他のモバイルデバイスの一部として実装することもできる。
【0080】
本明細書に記載したシステム及び技術の種々の実施態様は、デジタル電子回路、集積回路、特別に設計されたASIC(特定用途向け集積回路)、コンピュータハードウェア、ファームウェア、ソフトウェア、及び/またはこれらの組み合わせにおいて実現することができる。これらの様々な実施態様は、ストレージシステムからのデータ及び命令を受信し、データストレージシステムにデータ及び命令を送信するように結合された、特定目的または汎用の少なくとも1つのプログラマブルプロセッサ、少なくとも1つの入力デバイス、及び少なくとも1つの出力デバイスを含んだプログラム可能なシステム上で実行可能及び/または解釈可能である1つまたは複数のコンピュータプログラムにおける実施態様を含むことができる。
【0081】
これらのコンピュータプログラム(プログラム、ソフトウェア、ソフトウェアアプリケーション、またはコードとしても知られる)は、プログラマブルプロセッサのための機械命令を含み、かつ高水準手続型及び/またはオブジェクト指向プログラミング言語、及び/またはアセンブリ/機械言語で実装され得る。本明細書で使用される場合、機械可読媒体及びコンピュータ可読媒体とは、機械命令及び/またはデータを、機械可読信号として機械命令を受け取る機械可読媒体を含むプログラマブルプロセッサに提供するために用いられる、あらゆるコンピュータプログラム製品、装置及び/またはデバイス(例えば、磁気ディスク、光ディスク、メモリ、プログラマブル論理回路(PLD))を指す。機械可読信号という用語は、機械命令及び/またはデータをプログラマブルプロセッサに提供するために用いられるあらゆる信号を指す。
【0082】
ユーザとのやりとりを提供するために、本明細書に記載のシステム及び技術は、ユーザに情報を表示するための表示デバイス(例えばCRT(ブラウン管)またはLCD(液晶ディスプレイ)モニタ)及びユーザがそれによってコンピュータへの入力を提供することができるキーボードならびにポインティングデバイス(例えば、マウスやトラックボール)を有するコンピュータ上に実装される。他の種類のデバイスもまた、ユーザとのやりとりを提供するために用いることができる。例えば、ユーザに提供されるフィードバックは、あらゆる形式の感覚的フィードバック(例えば、視覚フィードバック、聴覚フィードバック、または触覚フィードバック)であることができ、及びユーザからの入力は、音響、音声言語、または触覚入力であることができる。
【0083】
本明細書に記載のシステム及び技術は、バックエンドコンポーネント(例えば、データサーバ)を含む、またはミドルウェアコンポーネント(例えば、アプリケーションサーバ)を含む、もしくはフロントエンドコンポーネント(例えば、ユーザがそれを通じて本明細書に記載のシステム及び技術の実施態様とやりとりできるグラフィカルユーザインタフェースまたはウェブブラウザを有するクライアントコンピュータ)を含むコンピューティングシステムの中か、またはかかるバックウエア、ミドルウエア、またはフロントエンドコンポーネントの組み合わせに実装され得る。システムのコンポーネントは、あらゆる形式または媒体のデジタルデータ通信(例えば、通信ネットワーク)によって相互接続され得る。通信ネットワークの例は、ローカルエリアネットワーク(LAN)、広域ネットワーク(WAN)、及びインターネットを含む。
【0084】
コンピューティングシステムは、クライアント及びサーバを含むことができる。クライアント及びサーバは、一般には互いにリモート状態にあり、通常は通信ネットワークによってインタラクトする。クライアント及びサーバの関係は、それぞれのコンピュータで動作しており、互いにクライアント対サーバの関係がある、コンピュータプログラムによって生じる。
【0085】
図14は、本明細書に記載された技術を実行するために使用されるシステムコンポーネントを示す。コンピュータシステム102、攻撃者システム104及びターゲットシステム106Aは、ネットワーク(複数可)110を介して通信することができる。
【0086】
攻撃者システム104は、プロセッサ(複数可)1402、モデルデータ変更器1404、トロイの木馬注入モジュール1406、及び通信インタフェース1408を含むことができる。プロセッサ(複数可)1402は、攻撃者システム104の任意の1つまたは複数の動作を実施または実行するように構成することができる。モデルデータ変更器1404は、トレーニングデータセット、またはターゲットシステム106Aのネットワークモデルによって使用される他のデータを受信または抽出することができる。次いで、変更器1404は、そのデータを、悪意を持って変更または更新することができる。次いでトロイの木馬注入モジュール1406は、悪意を持って更新されたデータをターゲットシステム106Aに注入し戻すことができる。モジュール1406は、本開示全体を通して説明したように、エコシステムまたは環境においてターゲットシステム106Aと類似または同じ他のシステムに、悪意を持って更新されたデータの注入を試みることもできる。
【0087】
コンピュータシステム102は、プロセッサ(複数可)1410、エコシステム生成器1412、更新エンジン1416、及び通信インタフェース1422を含むことができる。さらにコンピュータシステム102は、セキュア重みデータストア112(例えばデータベース、クラウドストレージ)と通信することができる。プロセッサ(複数可)1410を、コンピュータシステム102を参照して本明細書で説明する動作のいずれかを実施または実行するように構成することができる。
【0088】
エコシステム生成器1412は、ターゲットシステム106Aのネットワークモデルを受信し、同じ機能を有するネットワークモデルの変形を生成するように構成することができる。生成器1412は、エコシステムを生成するために確率論的パラメータ変異エンジン1414を含むことができる。本開示全体を通して説明したように、エンジン1414は、ターゲットシステム106Aのネットワークモデルに関連付けられたパラメータの重みをシフトさせるように構成することができる。
【0089】
更新エンジン1416は、更新ファイル生成器1418及びモデル更新エンジン1420を含むことができる。生成器1418は、ターゲットシステム106Aのためのネットワークモデルのパラメータの重みを更新するための更新ファイルを生成することができる。生成器1418は、確率論的パラメータ変異エンジン1414によって生成される重みを使用して、更新ファイルを構築することができる。モデル更新エンジン1420は、生成器1418によって作成された更新ファイルを使用して、ターゲットシステム106Aのネットワークモデルを更新するように構成することができる。いくつかの実施態様では、コンピュータシステム102は、更新ファイルを暗号化し、更新ファイルをターゲットシステム106Aに送信することができる。その後、ターゲットシステム106Aは、暗号化された更新ファイルを使用して自身のネットワークモデルを更新することができる。したがって、このような実施態様では、モデル更新エンジン1420が、ターゲットシステム106Aのネットワークモデルを直接的に更新することができない。
【0090】
前述のように、コンピュータシステム102は、セキュアデータストア112と通信することができる。データストア112は、エコシステム1424A~N(モデルはエコシステム生成器1410によって生成されている)内で生成されたモデルの変形、モデル重み1426A~N(モデル重みは確率論的パラメータ変異エンジン1414によって生成されている)、及び更新ファイル1434A~N(更新ファイル生成器1418によって生成されている)などの情報を記憶するように構成することができる。情報1424A~N、1426A~N、及び1434A~Nは、セキュアに記憶され、互いに関連付けることができるため、そのような情報は、ターゲットシステム106Aと同じ環境の他のシステムに適用することができる。その結果、攻撃者システム104がそのトロイの木馬の攻撃を環境内の他の同じシステムに拡散しようとする場合、この攻撃は、同じシステム内で増幅することができ、したがってよりたやすくかつ容易に識別可能/認識可能となる。
【0091】
ターゲットシステム106Aは、プロセッサ(複数可)1428、ニューラルネットワークインタフェースエンジン1430、及び通信インタフェース1432を含むことができる。プロセッサ(複数可)1428は、ターゲットシステム106Aを参照して本明細書で説明する動作のいずれかを実施または実行するように構成することができる。ニューラルネットワークインタフェースエンジン1430は、ターゲットシステム106Aのためのニューラルネットワークモデルを実行または実施して、例えば、複数のオブジェクトを分類し、ターゲットシステム106Aの他の機能を実施するように構成することができる。いくつかの実施態様では、エンジン1430は、コンピュータシステム102から受信した更新ファイルを使用して、ターゲットシステム106Aのためのニューラルネットワークモデルを更新することができる。エンジン1430は、更新されたニューラルネットワークモデルを実行することもできる。いくつかの実施態様では、エンジン1430はまた、トロイの木馬の攻撃が識別されたときに通知をコンピュータシステムに送信することができる。
【0092】
通信インタフェース1408,1422及び1432は、本明細書に記載されるコンポーネントのいずれか1つまたは複数の間の通信を提供するように構成することができる。
【0093】
図15A~
図15Bは、本明細書に記載された技術を実施するためのプロセス1500のフローチャートである。プロセス1500は、コンピュータシステム102または任意の他の同様のコンピューティングシステムもしくは環境によって実施可能である。
【0094】
図15A~
図15Bの両方においてプロセス1500を参照すると、コンピュータシステム102は、ターゲットシステム106Aから、ネットワークモデル及び関連するパラメータを受信することができる(1502)。次いでコンピュータシステム102は、受信したネットワークモデルに基づいてネットワークモデルのエコシステムを生成することができる(1504)。例えば、コンピュータシステム102は、第1の時点で、ユーザ定義の値(複数可)に基づいて、ネットワークモデルのパラメータに関連付けられた重みをシフトすることができる(1506)。ユーザ定義の値は、パーセンテージまたは他の数値であってよい。またコンピュータシステム102は、第2の時点で、乱数生成器を使用して、パラメータに関連付けられた重みをシフトすることができる(1508)。重みをシフトさせると、本明細書で説明したように、元のモデルに対するデータをテストする際に、モデルがほぼ同一の精度を維持することになり得る。
【0095】
コンピュータシステム102は、1512において、シフトされた重みを用いて、パラメータの元の重みを更新することができる。いくつかの実施態様によれば、元の重みを更新することは、シフトされた重みを元の重みに追加することを含むことができる。次いで1514において、パラメータの更新された重みをセキュアデータストア(例えば重みデータストア112)に記憶することができる。
【0096】
コンピュータシステム102は、1516で更新ファイルを生成することもできる。このことは、受け取ったネットワークモデルを、更新された重みによって再トレーニングすることを含むことができる(1518)。これにはまた、再トレーニングの前後で、重みの行列を決定することも含まれ得る(1520)。そのようにすることによって、コンピュータシステム102は更新ファイル内の重みをXORすることができる(1522)。その後、更新ファイルを使用して、ターゲットシステム及び同じ環境またはエコシステム内の他の類似または同じシステムに対するネットワークモデルを更新することができる。
【0097】
受信したネットワークモデルは、1524において更新ファイルによって更新することができる。全体を通して説明したように、コンピュータシステム102は、ネットワークモデルを更新することができ、更新されたネットワークモデルをターゲットシステムに送信することができる。いくつかの実施態様では、コンピュータシステム102は、更新された重みのデルタをターゲットシステムに送信することができる(1526)。その後、ターゲットシステムは、自身のネットワークモデルを更新するためにデルタを使用することができる。
【0098】
コンピュータシステム102は、後の時点に1528で、ターゲットシステムから通知を受信することもできる。この通知は、ターゲットシステムのネットワークモデルによって使用されるトレーニングデータセットまたはその他のデータにニューラルトロイの木馬が挿入されたことが識別されたことを示すことができる。
【0099】
本明細書には多くの特有の実施態様の詳細が含まれているが、これらは、開示された技術の範囲または特許請求され得るものの限定として解釈されるべきではなく、むしろ、特定の開示された技術の特定の実施態様に特有であり得る特徴の説明として解釈されるべきである。別個の実施形態の文脈で本明細書に説明される特定の特徴は、単一の実施形態において部分的または全体的に組み合わせて実施することもできる。逆に、単一の実施形態の文脈で記載されている各種の機能は、複数の実施形態において別々に実施することも、あるいは任意の適切な部分的組み合わせで実行することもできる。さらに、本明細書では、特徴が特定の組み合わせで作用するものとして説明され、及び/または最初にそのように特許請求される場合があるが、場合によっては、特許請求された組み合わせからの1つまたは複数の特徴はその組み合わせから除外されることができ、特許請求された組み合わせは副組み合わせまたは副組み合わせの変形形態を対象とすることがある。同様に、動作は特定の順序で説明される場合があるが、望ましい結果を達成するために、そのような動作が特定の順序もしくは連続した順序で実行されること、またはすべての動作が実行されることを必要とするものとして理解されるべきではない。主題の特定の実施形態について説明した。他の実施形態は、以下の請求項の範囲内である。
【国際調査報告】