東京電機大学研究推進社会連携センター総合研究所 サイバー・セキュリティ研究所 教授 上野洋一郎先生インタビュー「コンピュータの原理原則に着眼したセキュリティカーネル技術とその応用に関する研究」(第1回)


今のセキュリティソフトの権限はRing3で、マルウェアの侵入のみを防いでいるということですか?

 Ring3 とRing0を行き来しているイメージです。侵入を防ぎ、さらにOSの書き換えも防ぐ機能をもっています。
 しかしコンピュータのシステムは、基本的に「早い者勝ち」です。先に動いた方が、後から動いた方に対して制限をかけたり、姿を隠して攻撃を防ぐことができるようになるのです。また、マルウェアを作っている人物は、WindowsやMacintosh、LinuxなどのOSをいつでも入手可能であり、セキュリティホールの解析をして、OSよりも早く動くための細工をマルウェアに施しているため、防御側が圧倒的に不利な立場にあるのです。
 さらに、最近のマルウェアは、これまでより発見しにくくなっています。
「ランサムウェア」をご存知ですか? 最近流行しているマルウェアで、ユーザのアプリケーションとして端末に入り込み、ユーザの大事なデータを勝手に暗号化して「データを元に戻してほしかったら、金を払え」と脅してお金儲けをしようとする方法です。
 とても悪質ですが、OSにとっては重要なプログラムを書き換えられたわけではないので、一般的なアプリケーションと区別がつきません。
 そこで、マルウェアに感染させず、感染してもハードウェアへの書き換えをさせない強力なセキュリティシステムを作るためには「OSよりも早く動いて上位権限を確実に確保する」「マルウェアの攻撃を受けないOS外に存在する」、この2点を実現すべきだと考えました。

「OSよりも早く動く」というのが、イメージできないのですが……。

 コンピュータの電源を入れたとき、じつはすぐにOSが起動するのではなく、まずUEFI(一昔前ならBIOS)というシステムが起動します。
 ①UEFIがブートストラップを起動させる、②ブートストラップがOSを起動させる、③OSがドライバやその他のアプリケーションを起動させる、という流れで、コンピュータは使用できる状態になるのです。
 ほとんどのマルウェアは③で動き出すので、セキュリティソフトが①で動き出せば、OSよりもマルウェアよりも早く動き出すことができます。しかしUEFIやブートストラップは、OSが動き出すといなくなってしまいます。
 セキュリティソフトはOSよりも早く動き、OSが動き出してもコンピュータに残り続けなければならないので「Ring-1(マイナス1)」という、より上位の権限を使います。

Ring0より上位の権限があるのですか。

 そうです。Ring-1は、1つのハードウェアで複数のOSを同時に動かす仮想環境をつくるためのものですが、Ring0より権限が上位にあるため、OSやOSを介して動く全てのアプリケーションから隔離されています。
 今回の研究は、セキュリティソフトにRing-1の権限を与えて、他のアプリケーションやOSからの干渉を受けることなく、OSとアプリケーションをすべて監視できるようになる、独自のセキュリティカーネル技術です。

Ring-1権限を持つセキュリティカーネル技術なら、ランサムウェアも発見して駆逐できるようになるのですか?

 いいえ、監視が可能になるのと、マルウェアを判別したり駆逐したりすることは、別の問題です。
 たとえば、このセキュリティカーネル技術に「ハードディスクに新しいアプリケーションを追加させない」という命令を出させれば、アプリケーションの一種であるマルウェアが入り込めなくなるので、現在の状態を完全に維持することができます。
 これは用途が限定されているコンピュータ、たとえば駅の券売機や銀行のATM等は、機能を追加することがないため、マルウェアに対してほぼ無敵状態になれます。