2017年11月30日木曜日

AIセーフティ設計


いつの間にか、自動車はコンピュータだらけになっている。このため、車のクラックという新たな脅威が発生している。鍵を開けられたなんてことはまだカワイイほうで、高速度運転中に急ハンドルするようなことも、理論的には可能だ。

自動車の場合、制御を奪われることは命の危険があるから、話は深刻である。物理的、理論的に様々な対策がされているにしても、対策には対策がある。今のコンピュータでもいたちごっこが続いているから、ある時点で相手が強くなる可能性は否定できない。

自動車はまだ物理的な存在であるから、物理的にエンジンと車軸を切り離すとか、「ケーブルを切る」ようなセーフティを付けることは可能だ。工業機械によくあるような「緊急停止ボタン」を付けることも考えられるだろう。それはそれとして、肝心のコンピュータセキュリティをどう向上させればよいのか。

自動車の場合、一般のサーバシステムと違ってリアルタイム且つ分散制御であり、アーキテクチャはかなり異なる。また自動車の型や規模によっても違う。技術者の市場規模は小さい。そんな中で、自動車ベンダが脅威と感じるのは、高度な知識を擁するクラッカーだろうか。それともAIだろうか。

自動車を1台買ってきて、これにAIを繋いで、「自動車の制御を乗っ取れたら勝ち」というゲームを強化学習させる、そんな時代がくるかも知れない。例えば、ハンドルを右に10°、左に10°を2秒サイクルで3回切れれば勝ち、とか、走行状態でエンジンを停止できたら勝ち、などだ。

これは自動車にとってはかなりの脅威ではないか。なぜなら、自動車はほとんどの時間オフラインだし、アップデートが頻繁にあるわけでもない。OSのように毎月パッチが配布されるようなものでもない。一方で攻撃は何時起こるかわからないからだ。

そこで考えるのが、自動車側にもAIを搭載し、「乗っ取られたら負け」「防御できたら勝ち」のゲームを強化学習させる、つまりAI同士の対決をさせるシステムだ。この場合、攻撃側AIももちろん自動車側が準備する。

この場合、「ハンドルを2秒サイクルで2回左右に10°切られたら三度目を阻止する」というものであってはならない。結果としてそうなってしまえばもちろん負けだが、阻止自体は不正な通信であることを見抜く必要がある。そうでなければ、独立したセンサを付けて非常スイッチにつなげれば実現できてしまう。

AlphaGoZeroと違って対等の勝負ではないから、学習環境には少し工夫が必要である。恐らくは勝敗判定マシンが別途必要であろうし、受け側(自動車側)の学習の効率は極めて悪いだろう。全自動ではできず、人手が必要になるかもしれない。

それでもこれを進めていくことでお互いが切磋琢磨し、脆弱性はどんどん塞がれていく。そして外部コンピュータ側の負荷ないしは通信量が一定以上になったら、つまり攻撃側のコストが見合わなくなったら、セーフティは一応完璧になったと言えるだろう。

なお、この手法は、自動車に限らずあらゆるコンピュータシステムに適用可能と思われる。小さい制御システムから始め、他のインフラにも適用される時がくるだろう。

0 件のコメント:

コメントを投稿

注目の投稿:

超音波モーターの原理によるVR用トレッドミル

  VRにおけるリアリティ問題の一つに、その場で動くのではなく移動する場合、つまり歩いたり走ったりすることが挙げられる。実際にはその場にいるので、歩いたかのように足場を調節してやる必要がある。 これを実現する方法として、すり鉢状の滑りやすい足場を作っておく方法と、トレッドミルを使...

人気の投稿: