製造業は、物理的な意思決定の権限を、いつの間にかAI検査システムとその周辺のシステムに委ねてきました。そのシステムが操作され得るかどうかを検証している企業はほとんどなく、しかも本当に警戒すべき攻撃は、攻撃らしい姿をしていません。
工場のラインを歩くとき、最近ある質問をするようになりました。そして、明快な答えが返ってくることは、もう期待しなくなりました。
そのビジョンシステムは、誰がテストしたのですか。
動くかどうか、という意味ではありません。それなら誰でも答えられます。たいていは数字付きで。スクラップは減った、直行率は上がった、人手の検査員がいた頃よりラインは速く回る。そうではなく、誰かが腰を据えて、意図的に誤った判定を出させようと試したことがあるのか、という意味です。
返ってくるのは、たいてい一瞬の沈黙と、「それはインテグレーターのシステムなので」という趣旨の答えです。事実としてはその通りであることが多いのですが、それで何かが片づくわけでもありません。
これは怠慢ではないと思います。どの組織のプロセスの適応速度よりも速くギャップが開いてしまった、というのが実態でしょう。そして、そのギャップが具体的に何なのかを明確にしておく価値があります。
工場の現場で何が変わったのか
長い間、製造業におけるAIは助言者という位置づけでした。予測を出し、推奨を出し、ダッシュボードを表示する。その先では必ず人間がその出力を見て、どうするかを判断していました。つまり、モデルと結果の間には人間が立っていたのです。モデルが間違っていても、気づくチャンスがありました。
多くの工場はすでにその段階をとうに越えていますが、セキュリティの考え方はそれに追いついていない、というのが私の見立てです。自動外観検査(AOI)は、人間が判定を確認することなく部品の合否を決めています。予知保全モデルは、どの設備を止め、どの設備を動かし続けるかを決定します。ロボットの経路計画はセンサー入力に応じてリアルタイムで調整され、プロセス制御システムはパラメータを継続的にチューニングしています。
これらは助言システムではありません。意思決定システムであり、その決定は物理世界に着地します。
示唆的なのは、それらがどうやって導入されたかです。セキュリティレビューを経て入ってきたものはごくわずかです。製造部門や品質部門を通じて、あるいは装置メーカーのインテグレーションパッケージに同梱されて入ってきて、通常の設備投資と同じ観点で評価されました。精度仕様を満たすか。サイクルタイムはどうか。総コストはいくらか。どれも真っ当な問いですが、誰かが意図的にそのシステムを操作しようとしたら何が起きるか、という問いはそこに含まれていません。
その結果、現代のほとんどの工場の中に、監督なしに重大な判定を下し、ネットワークから到達可能で、攻撃者の視点で一度も検証されたことのないシステム群が居座ることになりました。
誰も見張っていない障害モード
製造業のセキュリティの議論は、その多くが可用性を中心に回っています。ランサムウェア、ダウンタイム、生産停止1時間あたりの損失額。理由は分かります。定量化でき、経営層にも一文で伝わり、名の知れた企業が実際に被害を受けてきたため、机上の話ではなく現実として感じられるからです。
ただ、可用性への攻撃には、起きていることが分かるという特徴があります。ラインが止まり、画面がロックされ、数分以内に誰かが電話をかけている。ひどい一日ですが、少なくともひどい一日だと分かります。
私が注視しているのは、何も壊れたように見えないシナリオのほうです。仮に、検査モデルが「良品」と見なす範囲を誰かがずらせるとしましょう。生産は通常通り続きます。指標は健全に見えます。ダッシュボードの数字はモデル自身が生成している数字であり、モデルにとってはすべてが正常だからです。不良部品が組立品に流れ込み、組立品が出荷され、問題をいずれ表面化させる仕組みは、セキュリティの時間軸ではなく保証の時間軸で動きます。
これをスローモーションの侵害と表現する人もいますが、少し違うと思っています。誤った判定そのものは、まったく遅くありません。機械の速度で、何千回も、設計通りに実行されます。遅いのは発覚です。そして発覚したとき、対応するのはセキュリティインシデントではなく、リコールです。どこまで広がったのかを突き止めるために、1年分かそれ以上の生産記録を再構築することになります。
この非対称性こそが、この業界においてインテグリティ(完全性)がもっと注目されるべきだと私が考える理由です。ダウンタイムは即座に分かり、自分たちのスケジュールで復旧できます。汚染された判定は、顧客がたまたま教えてくれたときに初めて分かります。
AI検査システムが操作される3つの経路
この記事は、脅威アクターと攻撃手法の分類学に仕立てることもできますが、その形にしたところで、月曜日の行動が変わる人はいないと思います。そこで、私ならまず見るであろう3つの領域を、平易な言葉で挙げます。
再学習ループは入力である。量産現場のビジョンモデルの多くは生産データで再学習されており、つまり再学習に供給されるパイプラインそのものが攻撃対象領域です。ラベリング工程、画像ストア、判定の正誤をフィードバックする仕組みのいずれかにアクセスできる者は、モデルの判定境界をずらす経路を持っています。現実的な形は、一度の劇的な変更ではありません。それではすぐに露見します。漸進的な形です。モデルは決して壊れて見えません。ただ、わずかに間違ったことを学習し、それを一貫して、高速で、文句も言わずに実行し続けるだけです。
物理的な入力は、モデルを欺くように作り込める。表面のマーキング、コーティング、照明条件といった物理世界での改変を含め、人間の検査員なら意識にも上らないような変更でビジョンモデルを打ち負かせることは、膨大な研究文献が示しています。敵対的サンプルの話を学術的な成果として読めば興味深いだけです。しかし、モデルが合否の最終権限を握るラインに置き換えれば、それは不適合品を通すための実用的な手法になります。そして、この置き換えは、まだ十分に広く行われていないと思います。
そのモデルがどこから来たのか、誰も説明できない。3つの中で最も地味ですが、私の経験上、圧倒的に最も多いのがこれです。導入済みモデルの大半は内製ではありません。装置メーカーやシステムインテグレーターから来たもので、多くの場合、公開リポジトリから取得した事前学習済みコンポーネントの上に構築されています。モデルが何のデータで学習されたのか、稼働開始後に誰が変更を加えたのか、いま動いているバージョンが検証済みのバージョンと同一なのかを尋ねると、たいてい正直な「分かりません」が返ってきます。これはかなり純粋な形のサプライチェーンリスクです。構造的には署名なしファームウェアを動かしているのと同じ問題であり、署名なしファームウェアをこの業界が容認することはないはずです。
なぜこれが品質問題なのか
工場の経営陣に提示したいフレーミングは、これはITの問題であるのと少なくとも同じ程度に、品質の問題だというものです。この主張の組み立てはまだ磨いている途中だと認めますが、核になる部分は単純です。
製造業にはすでにこの規律があり、率直に言って、私が関わるほとんどの業界よりも上手に実践しています。校正なしにゲージを使用に供する人はいません。受入検査なしにサプライヤーの材料証明を受け入れる人もいません。文書化と再認定なしに検証済みプロセスを変更する人もいません。この厳格さが存在するのは、上流の小さな未検出の誤りが、伝播する時間を与えられたときに何に化けるかを、全員が理解しているからです。
ところが、何を出荷するかを決めるモデルが導入されると、その装置一式が事実上まったく適用されません。敵対的な条件に対する校正はされていません。入力が操作されていないかの検証もされていません。時間の経過に伴う挙動が、偶然ではないかもしれないドリフトとして監視されてもいません。
私はこれを、注意の欠如ではなく分類の誤りだと読んでいます。これらのシステムは頭の中で「生産設備」として整理され、「敵対者が存在するもの」としては整理されませんでした。だから、本来これを捕捉したはずの品質の仕組みが、一度もそこに向けられなかったのです。
このフレーミングには実利的な理由もあります。不良率に責任を持つ人々は、これに対処するための勘所も、予算権限も、組織文化上の発言力も、すでに持っています。品質部門の責任者には、脅威アクターの話をするより、「あなたの指標の上流に未検証のものがある」と伝えるほうが、物事が速く動くものです。
実践的な出発点
ここまでの話に思い当たる節があるなら、最初の一歩はツールの購入ではありません。リストを作ることです。
製品、プロセス、安全に影響する自律的な判断を下すシステムを、施設内で洗いざらい書き出してください。このリストを記憶だけで出せる組織はほとんどありませんし、作る作業そのものが視界を晴らしてくれます。「意思決定者」だと思わなくなっていたものが、次々と浮かび上がってくるからです。
各項目について、来歴と変更管理を確立します。どこから来たのか、その下に何があるのか、誰が変更できるのか、そして今日のバージョンが稼働開始時に検証されたものと一致するという証拠は何か。
その上で、精度の検証だけでなく敵対的な観点からのテストを行ってください。ホールドアウトセットに対する性能は、条件が正常なときのモデルの挙動を教えてくれます。誰かが本気で打ち負かそうとしているときの挙動については、ほとんど何も語りません。この2つは、答えの異なる別々の問いです。
最後に、稼働率だけでなく判定の分布を計測してください。合格率が静かにずれていくモデルは、何かを伝えています。ほとんどの工場では、誰もその信号を受信していません。チャンネルがそもそも作られていないからです。
要するに
製造業で私が心配する攻撃は、ラインを止めるものではありません。ラインを動かし続けたまま、知っていれば決して出荷しなかったはずのものを作らせる攻撃です。
それはSIEMには現れません。18か月後の保証データの中に現れます。そもそも見つけられれば、の話ですが。
もっと早く教えてくれたはずの指標は、品質チームが毎週すでに回覧している数字です。ただ、それがまだセキュリティの数字として読まれていないだけであり、読まれるべきだ、というのが私の主張です。
よくある質問
AI検査システムは本当に操作できるのですか?
できます。文書化された経路としては、再学習データを汚染してモデルの合格境界を徐々にずらす方法、人間の一瞥は通過しつつモデルを欺く物理的な入力を作り込む方法、そして検証されていないサードパーティ製モデルをラインに到達する前に改ざんする方法があります。より広いテストの規律については、AIペネトレーションテストのガイドで解説しています。
精度テストと敵対的テストの違いは何ですか?
精度テストは、正常な条件下でホールドアウトセットに対するモデルの性能を測定します。敵対的テストは、操作された入力、汚染されたデータ、すり替えられたモデルなど、誰かが意図的に打ち負かそうとしているときの挙動を測定します。前者で高得点を取りながら後者で大きく破綻するシステムはあり得ますし、実際の攻撃に似ているのは後者だけです。
自社工場のAIシステムがリスクにさらされているか、どう判断すればよいですか?
まず、製品、プロセス、安全に影響する自律的な判断を下すすべてのシステムの棚卸しから始めてください。各システムについて3つの問いを立てます。モデルの出所を誰か証明できるか。誰が変更できるのか。判定パターンがずれたとき、誰かが気づくのか。答えが1つでも「いいえ」なら、そのシステムは未検証の攻撃対象領域です。
SubRosaは、量産環境で稼働するビジョンシステムや意思決定システムを含む、AIおよび機械学習システムに対する敵対的テストを提供しています。自社の施設でこれが何を意味するのかを整理したい方は、お気軽にご相談ください。