特集
» 2019年09月11日 08時00分 公開

ハードウェアトロイとは? LSIに隠された不正回路を検知する技術に迫る

スパイウェアの代表格である「トロイの木馬」は、セキュリティに関心のある方ならご存じだろう。システムに潜伏し、あるきっかけで活動を開始し、システム内の情報を外イブ外部に流出したり、改ざん、破壊活動を行ったりする厄介なマルウェアだ。そのハードウェア版「ハードウェアトロイ」が猛威を振るいつつある。

[土肥正弘,ドキュメント工房]

目次


ハードウェアトロイとは何か

 ハードウェアトロイは、半導体チップ(LSIなどの集積回路)に本来の機能とは別の回路を仕込み、特定の入力などのトリガーとなる事象が生じた場合に不正な活動を行う。2013年には中国からロシアに輸出された電気アイロンに不正な回路が組み込まれ、周囲の暗号化されていない無線LANを利用しているPCにマルウェアを送り込んで多量のスパムメールを送信する事件が起きている。はっきりと悪意をもった不正行為としてクロ認定されているのはこれだけだが、ハードウェアトロイが組み込まれたと疑われるチップは電気ケトル、スマートフォン、自動車、カメラ、人形などからも発見されている。さらには軍事攻撃に備える監視レーダーの部品にレーダーを停止させる回路が組み込まれていたという未確認情報さえある。こうした事案には、チップそのものが不正活動を意図して作られたと思われるものもあれば、不正回路の存在に気付かず製品にチップを組み込んでしまったものもあるのではないかと思われる。

ハードウェアトロイはどうやって組み込まれるのか

 そもそも最初のチップ仕様記述時点から悪意をもって不正回路を組み込むこともできるが、チップメーカーには悪意がない前提で考えると、次の経路で不正回路が混入される可能性がある。

  1. チップ設計用ツール(設計ソフトウェア)
  2. セルライブラリ(回路パーツ。機能ブロック=マクロセルの設計情報データベース)
  3. 設計済みの機能ブロック(動作確認済みの設計資産=IP(Intellectual Property))
  4. 製造工程でのマスク(回路パターンの転写用原版)
  5. ファブリケーション(回路パターン形成工程)
  6. パッケージング(回路を筐体に組み込む製造最終工程)

(1)の設計用ツールは海外製のものが利用されており、(2)(3)の回路パーツは自社内のもの以外に外部から入手するものが多い。(4)以下の製造工程も外部委託されることがある。チップメーカーは仕様に基づき(1)〜(3)のツールや設計情報を使って、チップ設計用のハードウェア記述言語(Verilog HDLやVHDLなど。記述されたものをRTL記述という)で設計する。設計の後工程は工場で実作業が行われるが、(4)〜(6)の現場工程で不正回路が組み込まれる可能性がある。

 不正回路の混入タイミングとしておおまかには、図1の2つのポイントがあることになる。

ハードウェアトロイが組み込まれるタイミング ハードウェアトロイが組み込まれるタイミング(出典:早稲田大学・東芝情報システム)

 また、FPGA(Field-Programmable Gate array)などでは、チップ製造後にユーザー(機器メーカーなど)が一部の回路を再構成できる(プログラマブル)ため、チップメーカーの最終製品がクリーンであっても、後から不正回路を構成されることも考えられる。

 現在では何らかの電子機器は、情報処理のコア部分であっても単一メーカーの部品だけで組み立てられることはほとんどなくなり、基板上に複数の海外製部品が組み付けられるのが普通だ。一般的にはどの部品も製造者や製造時期などが特定できるトレーサビリティーがあるとはいえ、部品メーカーでさえ気付かずにハードウェアトロイが存在する製品を流通させてしまう可能性がないとは誰にも言えない。

ハードウェアトロイを検出する方法は?

 ではチップに忍び込んだハードウェアトロイをどうやって見つければよいのだろうか。ここからは、まずハードウェアトロイの特徴を確認し、主要な検出手法を見ていく。

ハードウェアトロイの主な特徴

 ハードウェアトロイの主な特徴は、大きく分けて2つ挙げられる。1つは、集積回路全体から見れば「ごく小さな規模の回路」であることだ。

Copyright © ITmedia, Inc. All Rights Reserved.

会員登録(無料)

ホワイトペーパーや技術資料、導入事例など、IT導入の課題解決に役立つ資料を簡単に入手できます。