IntelのHidden Minix OSとセキュリティに関する真実

Intelチップセットベースのマザーボードをお持ちの場合、それがIntel Management(Intel ME)ユニットを搭載している可能性が高いです。 これは新しいことではありません。 そして、そのほとんど知られていない機能の背後にあるプライバシー問題に関する懸念が数年間提起されました。 しかし突然、ブロゴスフィアが問題を再発見したようです。 そして私たちはこのトピックに関する多くの半真実または単なる間違った記述を読むことができます。

それで私ができる限り多くのあなたがあなた自身の意見を述べるためのいくつかの重要なポイントをはっきりさせようとしましょう:

インテルMEとは何ですか?

まず、IntelのWebサイトから直接定義を出しましょう。

多くのインテル®チップセット・ベースのプラットフォームに組み込まれているのは、インテル®Management Engine(インテル®ME)と呼ばれる小型の低電力コンピューター・サブシステムです。 インテル®MEは、システムのスリープ中、ブートプロセス中、およびシステムの実行中にさまざまなタスクを実行します。

つまり、Intel MEはマザーボードに別のプロセッサを追加して他のサブシステムを管理するということです。 実際のところ、それは単なるマイクロプロセッサではありません。それは、独自のプロセッサ、メモリ、およびI / Oを備えたマイクロコントローラです。 まるでそれがあなたのコンピュータの中の小さなコンピュータであるかのように本当に。

その補助ユニットはチップセットの一部であり、メインCPUダイ上にはありません。 独立しているということは、Intel MEはメインCPUのさまざまなスリープ状態の影響を受けず、コンピュータをスリープモードにしたときやシャットダウンしたときにもアクティブなままであることを意味します。

私が言える限りでは、Intel MEはGM45チップセットから始まって存在しています - それは2008年かそこらに私たちを連れ戻します。 初期の実装では、Intel MEは物理的に取り外せる独立したチップ上にありました。 残念ながら、最近のチップセットにはIntel MEがノースブリッジの一部として含まれていますが、これはあなたのコンピュータが動作するのに不可欠です。 公式には、Intel MEを無効にするために悪用された可能性があるとしても、Intel MEの電源を切る方法はありません。

私はそれが「リング-3」で動くと読んだそれはどういう意味ですか?

Intel MEを「ring -3」で実行していると言うと、混乱を招きます。 保護リングは、たとえばカーネルが特定のプロセッサ命令を使用できるようにするために、プロセッサによって実装されるさまざまな保護メカニズムですが、その上で実行されるアプリケーションでは実行できません。 重要な点は、「リング」で実行されているソフトウェアが、より高いレベルのリングで実行されているソフトウェアを完全に制御できることです。 より高いレベルのリングで実行されているソフトウェアに対して、監視、保護、または理想化または仮想化された実行環境を提示するために使用できるもの。

通常、x86では、アプリケーションはリング1で実行され、カーネルはリング0で実行され、最終的なハイパーバイザーはリング-1で実行されます。 プロセッサのマイクロコードには「ring -2」が使用されることがあります。 また、「ring -3」は、メインCPU上で実行されているすべてのものよりもさらに高度な制御が可能であることを説明する方法として、Intel MEについて説明するためにいくつかの論文で使用されています。 しかし、「ring -3」は確かにあなたのプロセッサの実用的なモデルではありません。 もう一度繰り返してみましょう。IntelMEはCPUダイの上にさえありません。

特に、Google / Two Sigma / Cisco / Split-Desktop Systemsのレポートの最初のページで、一般的なIntelベースのコンピュータのいくつかの実行層の概要をご覧になることをお勧めします。

インテルMEの問題は何ですか?

設計上、Intel MEはマザーボードの他のサブシステムにアクセスできます。 RAM、ネットワークデバイス、および暗号化エンジンを含みます。 そしてそれはマザーボードに電力が供給されている限り。 さらに、帯域外通信用の専用リンクを使用してネットワークインターフェイスに直接アクセスできるため、Wiresharkやtcpdumpなどのツールでトラフィックを監視しても、必ずしもIntel MEから送信されたデータパケットを見ることはできません。

Intelは、Intelチップセットを最大限に活用するにはMEが必要だと主張しています。 最も便利なことですが、特に企業環境でリモート管理やメンテナンス作業に使用することができます。 しかし、インテル以外の誰もがそれができることを正確には知りません。 そのため、そのシステムの機能とその使用方法や悪用方法についての正当な質問があります。

たとえば、Intel MEは、キーワードを検索するためにRAM内の任意のバイトを読み取る、またはNICを介してそれらのデータを送信する可能性があります。 さらに、Intel MEはメインCPU上で実行されているオペレーティングシステム(および場合によってはアプリケーション)と通信できるため、悪意のあるソフトウェアがIntel MEを使用してOSレベルのセキュリティポリシーを回避するというシナリオを想像できます。

このサイエンスフィクションですか? さて、私は個人的にデータ漏えいや他の悪用がIntel MEを彼らの主な攻撃ベクトルとして使用したことに気づいていません。 しかし、Igor Skochinskyを引用すると、そのようなシステムが何のために使用されることができるかについての理想的なものが得られます。

Intel MEにはいくつかの特定の機能があり、これらのほとんどは、企業環境に何千ものワークステーションを展開する担当のIT担当者に与えることができる最も優れたツールと見なすことができますが、非常に興味深い手段があります。悪用 これらの機能には、KVMとして機能するだけでなく、リモート管理、プロビジョニング、および修復の機能を備えたActive Managment Technologyが含まれます。 System Defense機能は、Intelマシンで利用可能な最低レベルのファイアウォールです。 IDEリダイレクトとシリアルオーバーLANにより、コンピュータはリモートドライブから起動したり、感染したOSを修復したりできます。また、Identity Protectionには、2要素認証用のワンタイムパスワードが埋め込まれています。 所定の間隔でPCへのチェックインに失敗した場合、または「ポイズンピル」がネットワーク経由で配信された場合にPCを無効にする「盗難防止」機能の機能もあります。 この盗難防止機能は、コンピュータを殺したり、ドライブの暗号化キーを消去するようにディスクの暗号化を通知することができます。

Intel MEの機能の概要を説明するために、REcon 2014会議のIgor Skochinskyによるプレゼンテーションをご覧ください。

  • スライド
  • ビデオ

補足として、Intel AMTが有効になっているときにIntel ME上で実行されているHTTPサーバーを使用するローカルおよびリモートユーザーの特権昇格に関して、2017年5月に公開されたCVE-2017-5689を参照してください。 。

しかし、すぐに慌てる必要はありません。ほとんどのパーソナルコンピュータでは、AMTを使用していないのでこれは問題にならないからです。 しかし、それはIntel MEとそこで走っているソフトウェアを狙った可能性のある攻撃の考えを与えます。

インテルMEについて何を知っていますか? Minixとどのような関係がありますか?

Intel MEとその上で動作するソフトウェアは密接に関連しており、関連情報にアクセスできる人々は秘密保持契約に拘束されています。 しかし独立した研究者のおかげで我々はまだそれについていくらかの情報を持っている。

Intel MEはフラッシュメモリをBIOSと共有してファームウェアを保存します。 しかし残念ながら、コードの大部分はフラッシュの単純なダンプではアクセスできません。それは、MEマイクロコントローラのアクセスできないROM部分に格納されている機能に依存しているためです。 さらに、アクセス可能なコード部分は、非公開のハフマン圧縮テーブルを使用して圧縮されているようです。 これは暗号化ではなく、その圧縮であり、難読化もあります。 とにかく、それはリバースエンジニアリングインテルMEに役立ちませ

バージョン10までは、Intel MEはARCまたはSPARCプロセッサをベースにしていました。 しかし、Intel ME 11はx86ベースです。 4月、Positive Technologiesのチームは、IntelがOEM /ベンダに提供するツールとROMバイパスコードの分析を試みました。 しかし、ハフマン圧縮のために、彼らはそれほど遠くまで行くことができませんでした。

しかし、Intel MEに似ているがIntel Atomプラットフォームで利用可能なTXE(Trusted Execution Engine)を分析することができました。 TXEのいいところは、ファームウェアがハフマンエンコードされていないことです。 そしてそこに彼らは面白いことを見つけました。 私はここでextensoの中の対応する段落引用するのを好みます:

さらに、解凍されたvfsモジュールの内部を調べたとき、明らかにMinix3コードから派生した文字列「FS:偽の子for forking」と「FS:for for use childの上にフォーク」がありました。 ME 11はAndrew Tanenbaumによって開発されたMINIX 3 OSに基づいているようです:)

明確にしておきましょう:TXEにはMinixから「借りた」コードが含まれています。 それは確かです。 他のヒントはそれがおそらく完全なMinix実装を実行することを示唆しています。 最後に、証拠がないにもかかわらず、ME 11がMinixにも基づいていることを、あまりにも多くのリスクなしで想定することができます。

最近までMinixは確かに有名なOS名ではありませんでした。 しかし、最近いくつかのキャッチーなタイトルが変わりました。 それと、Minixの作者であるAndrew Tannenbaumによる最近の公開書簡は、おそらくIntel MEをめぐる現在の宣伝文句の根底にあります。

Andrew Tanenbaum?

あなたが彼を知らないなら、Andrew S. TanenbaumはオランダのアムステルダムのVrije大学のコンピュータ科学者であり名誉教授です。 私を含む何世代にもわたる学生は、Andrew Tanenbaumの本、著書、そして出版物を通じてコン​​ピュータサイエンスを学びました。

教育目的で、彼は80年代後半にUnix風のMinixオペレーティングシステムの開発を始めました。 そして、Usenetの論争で有名になり、当時はLinus Torvaldsという若い男がモノリシックとマイクロカーネルの長所について話しました。

Andrew Tanenbaum氏は、私たちが今日興味を持っているものとして、彼らがMinixを使ったことについてのIntelからのフィードバックがないことを宣言しました。 しかしIntelへの公開書簡の中で、彼は数年前にIntelのエンジニアからMinixについて多くの技術的な質問をし、さらにシステムの一部を選択的に削除してそのフットプリントを減らすことができるようにコード変更を要求したと説明した。

Tannenbaum氏によると、IntelはMinixに興味がある理由を説明したことがありません。 「最初の急増の活動の後、数年間ラジオの沈黙がありました」 、それは今日まで続いています。

最後に、Tannenbaumはその立場を説明します。

記録のために、私はIntelが私に連絡したとき、彼らは彼らが取り組んでいたものを言っていないと述べたいと思います。 企業がNDAなしで将来の製品について話すことはめったにありません。 私はそれが新しいイーサネットチップかグラフィックチップか、あるいはそのようなものだと思いました。 私が彼らがスパイエンジンを造っているのではないかと疑っていたら、私は確かに協力しなかったでしょう[…]

私たちがTannenbaumとMinixに近づく方法と、厳密に言えばIntel MEを追求する目的の両方に関して、Intelの道徳的行動に疑問を投げかけることができるならば、彼らはMinixプロジェクトに付随するBerkeleyライセンスの条件に従って完全に行動しました。

MEに関するさらに詳しい情報

Intel MEに関するより技術的な情報とそのテクノロジに関するコミュニティの知識の現在の状態を探しているなら、TROOPERS 17 ITセキュリティ会議のために公開されたPositive Technologyプレゼンテーションを見てみることをお勧めします。 誰もが簡単に理解できるわけではありませんが、これは確かに他の場所で読まれた情報の妥当性を判断するための参照です。

そして、AMDの使用はどうですか?

私はAMDのテクノロジに慣れていません。 あなたがより多くの洞察力を持っているのであれば、コメント欄を使用して私たちに知らせてください。 しかし、私が言うことができることから、AMDの加速処理ユニット(APU)ラインのマイクロプロセッサは、それらが追加のARMベースのマイクロコントローラを埋め込むという同様の機能を持っていますが、今回は直接CPUダイ上にあります。 驚くべきことに、その技術はAMDによって "TrustZone"として宣伝されています。 しかし、そのIntel対応物のように、誰がそれが何をするのか本当に知りません。 そして、あなたのコンピュータに追加されるエクスプロイトサーフェスを分析するためにそのソースにアクセスすることはできません。

だから何を考える?

それらの主題について妄想になるのはとても簡単です。 たとえば、イーサネットまたはワイヤレスNIC上で実行されているファームウェアが、隠しチャネルを介してデータを送信することを狙っていないことを証明するものは何ですか。

Intel MEをより大きな関心事にしているのは、文字通りホストコンピューターで起こっていることすべてを見る小さな独立したコンピューターであるという、異なる規模で動作するからです。 個人的には、最初の発表以来、私はIntel MEに不安を感じました。 しかし、それは私がIntelベースのコンピュータを実行することを妨げませんでした。 確かに、IntelがMonitoring Engineとそれに関連するソフトウェアをオープンソース化することを選択したなら、私は好むでしょう。 または彼らがそれを物理的に無効にする方法を提供したならば。 しかし、それは私だけに関係する意見です。 あなたは確かにそれについてあなた自身の考えを持っています。

最後に、私が上記で述べたように、その記事を書くことの私の目標はあなたあなた自身の意見を述べることができるようにあなたに可能な限り多くの検証可能な情報を与えることでした…

推奨されます

Lernstift:Linuxベースのスマートペン
2019
Linux FoundationはLinuxトレーニングコースで40%の割引を提供しています
2019
修正E:lock / var / cache / apt / archives / lockを取得できませんでした
2019