Artificial Intelligence (AI)
AI PC時代におけるAIモデル改ざんのリスクと対策
AIモデルのセキュリティ対策として、モデルファイルやラベルなどのデータを適切に識別し、不正または不用意な改変を防止する重要性について解説します。
AI PC(AIパーソナルコンピュータ)とは、従来からのCPU(中央演算装置)やGPU(画像処理装置)に加え、NPU(AI専用の処理装置)を追加搭載したPCのことを指します。NPUの働きにより、ローカル端末の内部でAI駆動のアプリケーションを効率的に動作させることが可能となります。これにより、従来のクラウド型AIソリューションに求められていたインターネットの常時接続は不要となり、プライバシー上の懸念も大幅に払拭されることが期待されます。
ローカルAIモデルは、個々のアプリケーションにあわせて逐次カスタマイズできるのと同時に、ワークフローを統合する機能を提供します。さらに、Webアプリやハイブリッド型アプリが行っていた処理の一部を、ローカル端末側で実行させることも可能になります。こうした特徴は、Webアプリ側に課せられていたストレージや計算コストを削減できるという点で、メリットがあると考えられます。
AIモデルのフォーマットとして、Open Neural Network Exchange(ONNX)、PyTorch、Keras、Tensorflowなどが挙げられます。本稿では、標準的なオープン・フォーマットとして広く使用されている「ONNX」に焦点を当てます。ONNXは、Linux FoundationやMicrosoftなどの主要なAI組織からサポートを得ていることもあり、多種多様なソフトウェアやハードウェア・プラットフォームの垣根を超えてシームレスに利用することが可能です。最近に入りMicrosoftは、開発者会議「Microsoft Build」のさまざまなセッション内で、ONNXのことを度々言及してきました。その情報に基づくと、「Copilot+ AI PC」に組み込まれる小規模言語モデル「Phi-3-mini」もONNXフォーマットで提供される予定となっています。
ONNXフォーマットでは、モデルを「グラフ」として表現します。グラフは、「ノード」や「イニシャライザ(重みやバイアスなど)」、「フロー制御要素」などから構成されます。個々のノードは、「入力」、「出力」、「ONNXオペレータ(オペレータ・セットまたはopsetによって定義)」、「属性(オペレータに割り当てられた固定値)」などから構成されます。さらにONNXには、「メタデータ」と呼ばれる要素も存在します。メタデータはモデルの稼動に必須となるものではありませんが、以降に述べるように、モデルの参照情報として利用されます。
具体例として、画像の分割(セグメンテーション)やオブジェクト検知によく使用されるAIモデル「Ultralytics YOLOv8」を取り上げます。図1の通り本モデルでは、検知可能なオブジェクトの種別を表すラベル(文字列)が、メタデータとして提供されます。一方、実際のモデルから得られる出力は「1x84x8400」個の数値によるマトリクスで表現されます。モデルの利用者は、本マトリクスをメタデータのラベルと関連付け、その意味するところを正しく解釈する必要があります。
備考:本メタデータは参照用の情報であり、モデルの稼動に必須のものではない
AI PCなどの機器にONNXやその他フォーマットのモデルをインストールする際には、特に「モデルファイル」と「入出力値の処理ロジック」の2点に注意する必要があります。モデルの使用に際しては、両者に整合性上の問題がないこと(内容の破損や改ざんがないこと)を確認することが望まれます。ここでは、Windows Machine Learningのサンプルに含まれるオブジェクト検知モデル「SqueezeNet」を例に挙げて解説します。
まず、モデルファイルに対して整合性チェックを行い、内容が改ざんされていないこと確認する必要があります。いかなる改ざんも、モデルの出力に影響を与える可能性があります。図2、3に、1つのバイアスを変えただけでモデルの出力が大幅に変化する例を示します。この改ざんされたAIモデルは、写真に含まれる動物が何であろうと、それが常に「金魚(goldfish)」であると回答しています。
次に、モデルの入出力値を解釈する際の処理ロジックについても、チェックする必要がります。SqueezeNetのサンプルでは、動物のラベルがテキストファイルで管理されています。もしこのファイルが改ざんされれば、図4の通り、動物名の部分が任意の文字列で書き換えられます。
一体これの何が問題なのか、と思われるかも知れません。実際にAIアプリケーションが動物を誤識別したり動物名として不適切な文字列を表示したとして、どのような問題が生じるでしょうか。その疑問の答えは、AIの用途に応じて異なります。すでにAIはさまざまな機器や技術、工程で用いられているため、その業務内容や形態に応じて、改ざんの影響度も変わってくると考えられます。
例として、製造プラントの品質管理にオブジェクト検知用AIモデルを用いているケースが挙げられます。もし品質管理を担うAIモデルのファイルが改ざんされた場合、製造ライン上で生成物の不備を検知できなくなります。結果として、品質基準を満たしていない製品を出荷してしまう可能性があります。
別の例として、AIによるオブジェクト検知機能を搭載した監視カメラが挙げられます。近年の監視カメラでは、ストレージ容量節約のために、オブジェクトや動きを検知したタイミングで録画を開始するオプションが提供されています。もし検知用のAIモデルが改ざんされた場合、それはセキュリティ事象に繋がります(例:AIが強盗を「金魚」と認識したために録画が開始されない)。
上述のシナリオは、AI用のモデルファイルやラベルを保護し、不正な改ざんやミスによる改変を防ぐことの重要性を示すものです。対策として、モデルファイルや入出力の処理ロジックを保護する一般的な手法がすでに存在します。例えばモデルの整合性を守る手段として、署名サービス「sigstore」などによってモデルを署名、検証する方式や、ハッシュダイジェスト値を確認する方式が挙げられます。入出力の処理ロジックについては、プログラマ側で、外部ファイルの利用前にその内容を検証することが推奨されます。
ユニバーサルWindowsプラットフォーム(UWP)やWindowsストアのアプリは、保護されたディレクトリ配下(C:\Program Files\WindowsApps)にインストールされるため、その改変には特別な権限が必要となります。しかし、十分な安全性を確保するためには、追加のセキュリティ対策を導入することが望まれます。例えばトレンドマイクロのAIアプリ保護機能は、AI PC時代に求められるAIモデルや各種資産の整合性を守り、改ざん行為を阻止する強力なセキュリティ網として効果を発揮します。
AIフォーラム「Eighth Bipartisan Senate Forum on Artificial Intelligence」のAndrew Ng氏によると、AIはすでに汎用技術の1つであり、そのデータや資産については、ローカル端末に配備されたものもサービス提供されたものも含め、重要な保護対象と見なす必要があります。保護に失敗すれば、破壊的な影響をもたらす可能性があります。こうした中でMicrosoftは、新たな「Copilot+ AI PC」のローカルAIモデルを用いたアプリケーションの開発枠を、独立ソフトウェアベンダー(ISV:Independent Software Vendors)にも広げる方向で動いています。一連の状況を踏まえると、ローカルAIに関連する資産の識別や保護に優れたセキュリティ製品を用いることが、AIの安全性を高める上での重要な鍵になると考えられます。
参考記事:
Guarding AI Models From Malicious Alterations in the AI PC Era
By: Ryan Flores, Philippe Lin, and Roel Reyes
翻訳:清水 浩平(Core Technology Marketing, Trend Micro™ Research)