特に企業のサーバやPCが、たとえスタンドバイ状態やシャットダウン状態であっても、攻撃を受ける可能性のある脆弱性が確認されました。2017 年 11 月 20 日、Intel は、同社の「Management Engine(マネジメント・エンジン、ME)」で確認されたいくつかの脆弱性に関するセキュリティ情報を公開しました。Intel ME はコンピュータのマザーボードに搭載されたシステムであり、コンピュータの OS が動いていない状態でも常にバックグラウンドで動作しています。このセキュリティ情報の中で、「Common Vulnerabilities Scoring System(共通脆弱性評価システム、CVSS)」のスコアが 6.7(中程度)から 8.2(高)にわたる、ME、Trusted Execution Engine(TXE)および Server Platform Services(SPS)で確認された複数の脆弱性に対して更新プログラムが公開されています。影響を受ける ME のバージョンは 8.X~11.X です。
しかし、2017 年 5 月 1 日には、特に企業の PC とネットワークにさらに大きな影響を与える可能性のある権限昇格に関する脆弱性「CVE-2017-5689」が公開されています。この脆弱性を狙う攻撃には特定の要因と発生条件の両方または一方が必要であるものの、成功した場合、攻撃者は管理者権限によるアクセスや遠隔からの再起動、シャットダウン等が可能になります。この「CVE-2017-5689」を今回 11 月 20 日に公開された様々な脆弱性と組み合わせて利用することにより、攻撃の可能性が高まることになります。
このセキュリティ課題は「Silent Bob is Silent(2017 年 12 月 5 日現在アクセス不可)」と題されたリサーチペーパーで公開されました。11 月 20 日に公開された ME の脆弱性の CVSS スコアは最高でも 8.2(高)だったのに対し、「CVE-2017-5689」は9.8(重大)です。
11 月 20 日のセキュリティ情報で公開された様々な脆弱性と「CVE-2017-5698」が組み合わせて利用された場合の影響の大きさを考慮すると、ユーザおよびシステム管理者は ME の更新を急ぐ必要があります。また、この ME が利用する 16992 番~16995 番ポートをブロックまたは無効化することも推奨されます。
■Intel ME プラットフォームの概観
ハードウェアとソフトウェアからなるこのプラットフォームは、945 チップセットファミリ(サウスブリッジは ICH7)として知られる 82573E 以降の Intel のチップセットに 2008 年から組み込まれており、高性能 PC、ノート PC、サーバチップセットファミリ等に統合されています。古いものでも「vPro」が搭載された PC には ME が組み込まれています。
簡単に説明すると、Intel ME とはマザーボード上のチップセットに存在する、オペレーティングシステム(OS)とは別の小さなシステムのことです。ME は PC がスリープまたはスタンバイ、さらにはシャットダウンされた状態でも動作しています。この小さくて目立たないシステムがバックグラウンドで動作するためには、PC であれば電源に接続されていること、ノート PC であればバッテリーが入っているだけで十分です。「Skylake(ME11.X)」より前のチップセットでは、RT-OS ThreadX、Web サーバ、J Executable File Format(JEFF)でアプレットを実行する JavaVM エンジンとともに、ARC アーキテクチャに組み込まれています。
図 1:Intel マネジメント・エンジンのアーキテクチャ(Intel の画像を元に再作成)
■リバースエンジニアリングによる ME の解析
11.X(Skylake)以降のバージョンで、Intel は、x86-core Intel Quark マイクロコントローラ上で動作する MINIX3 カーネルに基づく OS を採用しています。ME は、主 CPU とチップセット初期化プロシージャにとって決定的に重要なため、停止や無効化はできません。そのため、不要な管理モジュールを減らしプラットフォームの初期化に必要なモジュールのみを残す「me_cleaner」プロジェクトが存在します。このプロジェクトは、11.X より前のバージョンで部分的に成功し、ファームウェアのイメージサイズを1.5MB/5MB から 90kB 程度にまで削減することができました。バージョン 11.X ではファームウェアの構造が変わり、2MB/7MB から 300kB 程度への削減となっています。ME がファームウェアの修正を検知すると PC は起動しません。起動していた場合は 30 分以内にシャットダウンします。このような自己チェック機能のため、ME のコード修正は容易ではありません。
しかし、x86 プラットフォームに対する ME の変更により、リサーチャと攻撃者の双方にとって ME のリバースエンジニアリングが比較的容易になりました。ME のコードは見えない状態になっているはずでしたが、解明され攻撃者によって悪用されるのは時間の問題でした。
ME のコードをリバースエンジニアリングしたリサーチャによって、ハードウェアの初期化後に ME を無効化する隠れオプションの存在が報告されました。ME への変更を必要とするこのオプションの使用には危険が伴います。
図 2:ネットワークとホスト OS との通信を図示した ME の接続アーキテクチャ(Intel の画像を元に再作成)
図 3:ME が企業ネットワーク/PC に接続する仕組み、通信プロトコルは SOAP/HTTP/HTTPS(Intel の画像を元に再作成)
■被害に遭わないためには
ME は PC のイーサネットポートにアウトオブバンド(OOB)インターフェイスとして接続し、16992 番~16995 番ポートで通信します。オンライン検索エンジン「Shodan」で調査したところ、5,000 台以上の PC が 16922 番ポート(HTTP プロトコルによる AMT Web サーバ)をインターネットに露出していることが確認できました。それらの中には、Intel ME への攻撃を調査するためのハニーポットや既に更新プログラムを適用した ME もあるかもしれません。しかし、それらを除いたとしても、依然として多くの PC に脆弱性「CVE-2017-5698」が残っていると考えられます。単純なプロキシルールを設定するだけでこれらの脆弱な PC に管理者としてログインすることが可能です。想定される攻撃の中で最も軽微なものは、PC の再起動またはシャットダウンです。さらに攻撃例を挙げると、ME で「Serial over LAN(SOL)」が有効化されている場合、攻撃者は OS またはその PC で実行中のハイパーバイザに対して管理者権限でアクセスすることが可能です。
また、管理ログに外部からのログインイベントが記録されないことも確認されています。インターネットに露出している PC 以外にも、Intel 製のファイアウォールやルータを含め、企業ネットワークには内部からアクセス可能な脆弱な ME がさらに存在することが予想されます。16992 番~16995 番ポートに対するトラフィックをブロックし、ネットワークトラフィックを注意深く監視する必要があります。
以下は、「CVE-2017-5689」 を狙った攻撃の被害を軽減および予防するためのベストプラクティスです。
- ME のファームウェアを更新すること
- Intel Management Engine Interface Driver、Intel(R) Management & Security Status software、LMS service のような Intel ME のホスト OS コンポーネントを更新すること
- ME 設定および ME OS コンポーネントを見直し、不要なモジュールや機能を停止または無効化すること
- エンドポイントとファイアウォールの両方で 16992 番~16995 番ポートをブロックすること
トレンドマイクロのネットワークセキュリティ対策製品「TippingPoint」は、ネットワークからの攻撃を防ぐために、脆弱性を狙ったパケットをブロックするシグネチャをリリースしています。ただし、ME をホストする OS にはローカルからのアクセスも可能なため、徹底した防御策を実施してください。
「TippingPoint」は、以下の MainlineDV filter により「 CVE-2017-5689」 を狙う脅威をブロックします。
- 28214: HTTP: Null response digest
- 28456: HTTP: Intel Active Management Technology Authentication Bypass Vulnerability
参考記事:
- 「Mitigating CVE-2017-5689, an Intel Management Engine Vulnerability」by Vít Šembera (Threat Researcher)
翻訳:澤山 高士(Core Technology Marketing, TrendLabs)