概要
一応現役の組み込みソフトエンジニアなので、業務で必要となる知識も日々進化しており勉強しないといけないです。最近の私の興味はセキュリティにあって、学んだ知識の定着のために少しずつアウトプットしていきたいと思います。
システムとしてのサイバーセキュリティ
組込み機器でのセキュリティ対策としては下記のようなものが挙げられると思います。
- セキュアブート
- データの暗号化とデジタル署名
この辺りは既にチップメーカが製品化している機能です。ソフトウェアとしての対策はこれらをどのように実現するかに集約されると思うのですが、ハードウェアとしての対策にはどのようなものがあるのか見当がついていないので少し調査してみました。
ハードウェアへの攻撃
サイドチャネルアタック
チップから漏れ出る電磁波や音を解析して秘密鍵など機密性の高い情報を割り出す攻撃です(wikiはこちら)。昨今のSoCは暗号化などセキュリティに関わる処理を専用に行うIPが組み込まれていますが、特に対策をしていないとデータ暗号化などの処理を実行する場合にユニークな電磁波を発生させてしまいます。暗号化コマンド実行時に発生する特定の電磁波をフックにすると、引き続いて処理される秘密鍵や平文データを解読することが可能になってしまいます。
対策としてはセキュリティモジュールの動作中かどうかに依存せず、常に一定のサイドチャネル情報が発生するようにハードウェア設計を行うことになります。
センサへの攻撃
電磁波や超音波、レーザなどの照射によりセンサの計測値に影響を与える攻撃です。例えばカメラなら極端に強い光を照射することで真っ白な映像になったり、逆に光を遮断することで真っ暗な映像になったりというような限界値を入力する攻撃があります。
ジャイロセンサや加速度センサに超音波を照射することで計測値を変動させることができ、さらに意図的な値にコントロールすることすら可能という報告もあります(こちら参照)。