web-dev-qa-db-ja.com

ファームウェアの永続的なマルウェアに対する緩和策としてのオープンソースファームウェア?

デバイスファームウェアに定着している永続的なマルウェアの脅威を心配しています。ファームウェアのセキュリティの複雑さに詳しくないので、SEに問い合わせます。

私は最近、すべての専有ファームウェアが削除され、オープンソースのファームウェア、BIOS、およびオペレーティングシステムが付属するFSF認定のラップトップについて知りました。たとえば、 Taurinus X2 です。

私の質問は、そのようなラップトップが BadBIOS などのファームウェアマルウェアに対してより優れた保護を提供するかどうかです。ファームウェアの変更を検査する機能や、定期的にファームウェアをリロードする機能など、オープンファームウェアラップトップにはない独自仕様ファームウェアラップトップにはない緩和策はありますか?心に留めておく必要があるオープンファームウェアの他の側面はありますか?洞察力を事前にありがとう!

4
taltman

ケン・トンプソンはこの問題を Reflections on Trusting Trust の論文に書き留めたと思います。

自分で完全に作成していないコードは信頼できません。ソースレベルの検証や精査によって、信頼できないコードが使用されるのを防ぐことはできません。

したがって、私たちにできる唯一のことは 脅威モデル で可能な脅威を列挙し、特定のレベルの深さで名目上の信頼レベルを置くことです。


私の質問は、そのようなラップトップがBadBIOSなどのファームウェアマルウェアに対してより優れた保護を提供するかどうかです。

この質問に対する特効薬はありませんが、一般に、信頼できるブートチェーンを提供するラップトップを探す必要があります。 Microsoftのセキュアブート、ハードウェアTPM、TPMをサポートするOSなどの機能は、BadBIOSおよびその他の攻撃バリアントに対する実際の商用レベルの軽減策に最も近いものです。

ファームウェアの変更を検査する機能や、定期的にファームウェアをリロードする機能など、オープンファームウェアラップトップにはない独自仕様ファームウェアラップトップにはない緩和策はありますか?

これはOSS固有ではありませんが、ここでも、ラップトップのTPMに依存して信頼のレベルを提供することは、ここで探すべき一般的なアプローチです。

0
89H6AHbqCQnMpv

いいえ、オープンソースファームウェアは、「オープン」であるという理由だけで「ファームウェアマルウェアに対するより優れた保護」を提供しません。それでも、クローズドソースファームウェアと同じ脆弱性が存在する可能性があります( システムの遮断:コアブートおよびUEFIベースのシステムにおける新しい脆弱性 を参照)。

ファームウェアが一般的な種類ではなく、少数のBIOSメーカーの単一文化の一部ではないという理由だけで、感染の可能性を大幅に低減します(感染したいBIOSの数?問題の背景)、MacまたはLinuxを使用するのと同じように、Windowsウイルスから免疫されます(ただし、MacおよびLinuxウイルスは存在します)。

ただし、オープンソースのファームウェアmayは、感染に対する耐性を高める追加の保護を実装します。たとえば、Chromebook は署名されたファームウェア を使用し、ほとんどの変更はマシンを起動不可能にします(物理的なアクセスを必要とする開発者モードを有効にしない限り)。同じ機能が最近のIntel BootGuardで提供されていることに注意してください(開発者モードがないことを除いて-いったん有効にすると、署名チェックを削除できません)。

追伸BadBIOSが本物であることが確認されていないことに注意してください。研究者によって提示された概念実証のルートキットがいくつかあり、一部のネットワークアプライアンスのBIOSを対象としたリークされた数式グループファイルにいくつかのものがありましたが、AFAIKで確認されたのは、かなり古いバージョンのみを対象とするMebromiでしたAward BIOSバージョン。脅威モデルについて考え、より現実的な脅威に最初に集中することをお勧めします(例:フィッシング/ソーシャルエンジニアリング)。

1
Igor Skochinsky

はい、Libiquity Taurinus X200は、オープンファームウェアを介して透過性を提供する優れた方法です(オープンファームウェアを主張する人もいますが、Libiquityは2016年後半に最も完成したようです)。安全なコードレビューを実行したいのであれば、コードはオープンソースなので、コードを読んでください。

これらのプロパティをテストする場合は、静的アナライザーを使用してコードを構築する方法を学び、ここで作業を確認することをお勧めします https://github.com/chipsec/chipsec

0
atdre