INT0ってなんじゃろ?

日経エレ7-25にF.TRONというベンチャーのINT0?というセキュアブートのための特殊ボードの記事がある。
http://ec.nikkeibp.co.jp/item/backno/NE1061.html

F.TRON
http://www.ftron.info/
http://ja-jp.facebook.com/pages/%E6%A0%AA%E5%BC%8F%E4%BC%9A%E7%A4%BEFtron/195043760532751?sk=wall

一般社団法人日本通信安全促進協会と同じ住所?
http://www.j-csa.com/


で、中身はPCIカードのOPTION ROM経由で特別なOSなどを起動させるらしい。
ただ、日経の記事で紹介されていながら、ググった程度では詳細不明なところがセキュリティ技術っぽい。


記事ではMBRへの攻撃などを行うRootKitを心配しているようだが、これについての対策はすでにある。
まず、WindowsではVistaからBitLockerと呼ぶHDDの暗号化機能がサポートされたが、これはTPMと呼ばれるセキュリティチップとBIOSのTrustedBootの仕組みを使い、SecureBootを実現している製品だ。
例えば、MBRやIPLが改ざんされると、TrustedBootによって検出される。検出結果はTPMで保存され、その値が期待値と異なることから、TPM上で必要な暗号鍵が使えなくなる。
また、ChromeOSは一応汎用PC上で動くのだが、独自のBIOSを用いてSecureBootを行う。PCベースで安全な端末を実現する場合、ChromeOSを利用するのが今のおすすめと思う。


また、不正BIOSも心配する場合、OPTION ROM経由での別起動では不十分とおもわれる。X86にはSMMモードという強権があり、これはBIOSが管理している。もし、ここが乗っ取られてしまえば、OSもVMMも危険に晒される事になる。一般に、大手メーカー製のPCの場合、BIOSには改竄対策が施されており、その改竄はなかなか難しいと思うが、巷の組み立てPC用のマザーボードではBIOS ROMの取替えは超簡単である。


BIOSを信用するなら、USB起動でも十分安全だといえるが、問題は、そっくりな偽USBがあったっ場合、人間にはその区別が難しい事。そのため、Trusted Computingでは Trusted Boot と Attestation でSWの真偽を判別することができるようになっている。


などと、心配の種は尽きないが、日経の記事では詳細がよくわかりませんでした。

  • その後

日経エレ11-28に詳しい記事が掲載されました。
http://techon.nikkeibp.co.jp/article/HONSHI/20111124/201839/

不思議なのは、日経エレでしかこの話を見ないこと。
普及を本気で目指すのであれば、
セキュリティ機能の話は関連する学会や標準化団体で議論すべきだと思います。

さて、BIOSやSMM、MBRなどに潜むRootKitは以前からTPMとTrustedBootを利用すれば検出可能です。
Linuxでは以前から利用可能でしたが、
WindowsでもVista移行であれば、BitLockerを用いることである程度は防げます。
Windows 8がSecureBootに対応すれば、こうしたRootKitの問題はあまり気にしなくても良くなると思います。
こうした仕組みは業界標準団体のTCGにより仕様策定やメンバー企業による製品化が進められていますので、
F.TronTCGのメンバーになると良いかと思います。

INT0で利用されている監視方法は昔よく検討された時期があるので、特許に抵触している可能性があります。
また近年ではVMMによるIntrospection技術が近いかもしれない。
PC上に安全な領域を作る話も、MSが昔提唱したNGSCBや、IBMのTVDのコンセプトと同じと思われます。

一番の技術的な問題はWindowsUnixなどのCOTS OSの複雑さで、WhiteListにせよ、BlackListにせよ、
Anomaly Detectionにせよ、完璧なものを作ることは非常に困難なことです。

PCのBIOSはセキュリティの脅威が無かった頃に設計された、過去の遺物なので、
これを細工するよりは、根本的に新しい仕組みを導入すべきと思いますが、
なかなか難しいのが現実です。