web-dev-qa-db-ja.com

ファームウェアバックドア保護

http://en.wikipedia.org/wiki/Advanced_Configuration_and_Power_Interface#Security_Risk

Ubuntu Linuxの創設者であるマークシャトルワースは、ACPIをトロイの木馬に例えました[28]。彼はプロプライエタリファームウェア(ファームウェアACPIまたはその他のファームウェア)をセキュリティリスクとして説明し、「デバイスのファームウェアはNSAの親友である」と述べ、ファームウェア(ACPIまたは非ACPI)を巨大な割合のトロイの木馬と呼んでいます。低品質のクローズドソースファームウェアはシステムセキュリティへの大きな脅威であると指摘しています:[7]「最大の間違いは、NSAがこの信頼の立場を悪用する唯一の機関であると想定することです—実際、すべてのファームウェアが、製造元からの最高度の無能さ、および非常に広範囲のそのような機関からの最高度の能力の厚意により、すべてのファームウェアが不安の余剰プールであると想定することは妥当です。」.

この問題の解決策として、彼は宣言型ファームウェア(ACPIまたは非ACPI)を求めてきました[7]。コードをチェックおよび検証できるように、ファームウェアはオープンソースである必要があります。ファームウェアは宣言型である必要があります。つまり、「ハードウェアのリンクと依存関係」を記述し、実行可能コードを含めないでください。

とにかく、ACPIまたは一般的にバックドアから自分を適切に保護する方法はありますか?

ファームウェアは、バックドアやトロイの木馬に非常に簡単に感染または注入される可能性がありますか?

6
Jason

ファームウェアはコードです。一部のハードウェアデバイスに代わってCPUで実行されます。または、デバイス上で直接実行されます。

一般的に、あなた自身のハードウェアがあなたをスパイすることに専念しているなら、あなたは失うでしょう。さらに心配な開発は、多くのハードウェア(キーボードなど)にアップグレード可能な完全に正直なファームウェアが含まれており、いくつかのマルウェアが実際に発見されていることです。一部のファームウェア(「アップグレード可能」機能を使用)を悪意のあるコードに置き換えます。

すべての最大のファームウェアは [〜#〜] bios [〜#〜] ;と呼ばれます。これは、オペレーティングシステムが読み込まれる前に、コンピューターの起動時に最初に実行されるコードです(実際、BIOSがOSの読み込みを担当しています)。 BIOS自体にインストールされたマルウェアは、定義により、オペレーティングシステムの完全な再フォーマットと再インストールに抵抗します。 "-チェルノブイリウイルス"としてよく知られている CIHウイルス は、1998年にすでにBIOSを混乱させていました(しかし、それは専門家ではなく、BIOSを混乱させ、BIOSがステルス感染したわけではありません)。最近のウイルスは非破壊的な方法でインストールされ、存続します。

BIOSは、コンピューターの再フラッシュ可能なファームウェアの唯一の部分ではないため、可能性は大きくなります。

ファームウェアでインストール可能なウイルスを作成するには、ハードウェアとファームウェアの形式をリバースエンジニアリングする必要があります。攻撃者はそれをしているようです。オープンソースファームウェアは、技術的にはそのようなリバースエンジニアリングを容易にしますが、修正可能なセキュリティの脆弱性を探す「防御者」にも役立ちます。それは古典的な オープンソース/クローズドソースのセキュリティ議論 であり、かなり長い間続いており、まだ明確な結論には至っていません。

ただし、「宣言のみのファームウェア」を求めるのは少し見当違いです。つまり、ハードウェアにはCPUで実行される特定のコードが付属していてはいけません。代わりに、そのようなコードはオペレーティングシステムドライバーにある必要があります。これは、2つの主な方法で、全体の状況を考慮に入れていません。

  • マシンは、OSとドライバーを実際にロードするために起動できる必要があります。そのため、ハードディスクへのアクセス方法を知っているファームウェア(つまり、BIOS)がどこかにまだ存在している必要があります。

  • 多くの周辺機器には独自のCPUがあります。もちろん、これにはGPUが含まれますが、すべてのネットワークインターフェイス、キーボード...そして、それらについては、「宣言のみのファームウェア」を呼び出すことは実際には意味がありません。 CPU、およびOSはそれを見ることはありません。 Appleキーボード 実証済み のファームウェアに挿入されたキーロガー。


一般的な回避策:

  • チャンスがファームウェアが最初にクリーンであることになるように、厳格な内部セキュリティ手順(特に従業員のバックグラウンドチェック)を備えた「信頼できるソース」からのハードウェアのみで作業しますそして正直。

  • ファームウェアが再フラッシュできないようにします。ここでも、これはハードウェアに依存します。たとえば、一部のマザーボードでは、特定のジャンパが物理的に設定されていない限り、BIOSを再フラッシュできません。そうしないと、必要なリフラッシュ電流がチップに到達できません。

再フラッシュ可能なファームウェアを備えた既存のハードウェアの多くは、再フラッシュ不可能にすることができず、「信頼できるソース」は、どの国から見ても珍しいものです(パーツが異なる国にあるため)。したがって、これらの一般的な回避策は実際にはありません。実用的。

(たぶん、中国は「100%中国のコンピュータ」を思いつくかもしれませんが、すべての部品を国の領土で生産することは、彼らの誠実さと信頼性を信頼できることと同じではありません。)

6
Tom Leek