【脆弱性】Intel SGXにマルウェア秘匿の危険性【2019/02/14】

脆弱性情報
スポンサーリンク

月刊Intel脆弱性2月号増刊付録

勘弁してほしい 

スポンサーリンク

Intel SGXについて

 

Intel SGXとは?

そもそもIntel SGXとは何なのか。

よくわからなかったので調べてみました。

Intel SGXでは、CPU内に「enclave」と呼ばれる隔離スペースを作りその中でセンシティブなデータを保持し処理を実行可能です。そのため、OSやソフトウェアで重要なデータ実行しないため、データを読み取られることがなくセキュリティを高められます。SGXを使うとプログラムはコードやデータ用の保護されたenclaveを確立できます。enclave内はシステム上のプログラムから盗み見たり改ざんしたりすることはできないため安全性が保たれています。そしてSGXではホワイトリスト化された署名キーのついたプロセスのみ実行許可することで、悪意あるプログラムの実行を予防しています。

https://gigazine.net/news/20190214-intel-sgx-vulnerability/

というわけで、なんかプログラム実行のセキュリティを高める機能らしいです。

 

Intel SGX対応CPU

こちらの機能、「Skylake」から実装されたようです。

Intelの第6世代CPUですね。

Skylakeの製品一覧はこちら

上記一覧以降に開発されたCPUはIntel SGXの機能を持っているようです。

 

Intel SGXの機能

機能について調べたのですがよくわからなかったので自分なりに整理してみました。

間違っていたらご指摘お願いいたします・・・。

 

そもそも、通常のプログラムの実行の仕組みは、ソフトウェアレイヤにプログラムを作成し、格ハードウェアデバイスの記憶領域やプロセッサを参照したりすることで実行しています。(超ざっくり説明ですが)

ですが、悪意のあるプログラム(マルウェア)を実行してしまうと、各種デバイスや他のプログラムに対してクラック攻撃をされる恐れがあります。

よって、それを防ぐためにアンチマルウェアソフトがあるわけです。

悪意のあるプログラムを実行時に検知し、本当にまずければ遮断します。

ですが、マルウェアとアンチマルウェアソフトはいたちごっこで、マルウェア側がアンチマルウェアソフトをすり抜けるものを作り、それを対策し・・・・の繰り返しです。

そこで、重要なプログラムは隔離領域で実行することで、マルウェアからの影響を受けないようにする仕組みが考案されました。

それがIntel SGXです。

CPUの中にEnclaveという隔離領域を作成し、そこでプログラムを動かします。

隔離領域のため、他の領域からは参照できない(著しく制限される)し、Enclaveに格納されたプログラムから他のオブジェクトを参照するときにも、署名認証によりアクセス制限されており、認証されないとアクセスできない仕組みになっています。

よって、プログラム自体が改ざんされる恐れはないし、悪意のあるプログラムをEnclaveで動かすこともできない、というわけですね。

 

今回の脆弱性について

 

脆弱性の内容

今回の脆弱性はどこにあるかというと、

Enclaveに格納されているプログラムを実行する際のアクセス制限に脆弱性があり、認証を突破して不正に各デバイスに対してアクセスできてしまう

という事象が発覚しました。

どういうことかというと、隔離領域であるEnclaveにマルウェアを仕込んで、HW/SWクラックなどができる可能性がある、ということです。

こいつの何がまずいかというと、

Enclaveは隔離領域なので、アンチマルウェアソフトがEnclave内を参照できず、マルウェアの実行を検知できない

という点。

セキュリティ強化のために用意した領域が、マルウェアの隠れ蓑になってしまうということです。

ミイラ取りがミイラになるってやつですね。

 

対策

では、どうしたら対策になるのかというと・・・

バージョンアップとかそういうのは探したのですがなさそうでした・・・。

ハードウェア内臓の脆弱性なので、CPUを取り換えることぐらいしか対策はなさそうですね。

あとはIntel SGXの無効化でしょうか。

マザーボードのメーカーによるようですが、設定項目があるようです。この辺参照

とはいえ、無効化したことによる影響とかはわかりませんが・・・

 

影響度合

ちなみにEnclaveに何かを仕込むためには、OSないしBIOSへの管理者権限がないと無理そうです。

※さらっと調べただけなので違うかもしれません。

ので、ADMIN権限をハックされなければ大丈夫だと思いますが、問題はサーバ仕入れのとき。

サーバやBTOのPCなど、すでに組み立っているものを購入したときに、その仕入れ先業者もしくはメーカーが悪意のある企業だった場合、Enclave領域にマルウェアを仕込んだ状態でよこしてくる可能性があります。

さすがに大手メーカーなどであればそんなことはないでしょうが、海外(謎の中華企業など)からの仕入れの際は気を付けたほうがいいかと思います。

 

あとがき

いろいろ書きましたが、日本語で説明のあるページが少なく、うんちな英語力で英語サイトを調べまわったので、間違いがある可能性があります。というか可能性が高いです。

ので、概要だけ参考にしていただいて、影響や対策は各自調べていただくと幸いです・・・。

 

参考サイト

Intel CPUのセキュリティ機構「SGX」にマルウェアを隠すことでセキュリティソフトで検出できない危険性、概念実証用のプログラムも公開済み
IntelはSkylake世代のCPUから、センシティブな情報を悪意ある者に読み取られないように隔離して実行するセキュリティ機構「SGX(Software Guard Extensions)」を取り入れました。しかしCPU内にデータと実行プロセスを隔離する「飛び地」を作るSGXにマルウェアを仕込ませることで、セキュリテ...

 


INTEL インテル CPU Corei7-9700K INTEL300シリーズ Chipsetマザーボード対応 BX80684I79700K【BOX】

 


MSI Z390-A PRO ATX マザーボード [Intel Z390チップセット搭載] MB4617

コメント

タイトルとURLをコピーしました