14

私はオペレーティングシステムの開発と低レベルのブートローダーの開発に多くの時間を費やしてきました。しかし、今は、低レベルの環境を離れず、セキュリティに関連することを行わずに、オペレーティングシステムから少し時間を取ってみたいと思っています。

そこで、起動前の認証スキームに従って、独自の標準パスワードユーティリティを構築することにしました。ソフトウェアを少なくとも少しポータブルにしたいので、できるだけ外部サポートを使用しないようにします。実行中のリアルモードOS内からセルフチェックとint19ブートストラップの間のどこかでBIOSに「フック」することができれば、私は最善だと思いました。

ただし、BIOSコードを変更する方法に関する情報を見つけることは不可能であることが判明しました。前述の方法を達成する方法については何も見つかりませんでした。BIOSをフラッシュする方法を説明しているページしか見つかりませんでした。

BIOSコードの読み取り/書き込み方法を知っている人はいますか?または、誰かがこれを説明するページへのリンクを提供できますか?

私は自分のデバイスをブリックすることが可能であるだけでなく、その可能性もあることを知っています。私はリスクを認識しており、それを喜んで受け入れます。

4

3 に答える 3

4

BIOS リバース エンジニアリングに関するPinczakko の記事は、これを調べるのに最適な場所です。同じ著者のも出ていましたが、現在は絶版になっています。

このアプローチがセキュア ブートに向けた最善のアプローチであるかどうかはわかりませんが、このサイトの記事は非常に詳細であり、BIOS ファームウェアを変更する方法を示しているはずです。

于 2011-08-19T21:50:53.083 に答える
3

何を達成しようとしているのかよくわかりませんが、次のようになります。

BIOSは完全にハードウェア固有です。各メーカーはBIOSを更新/フラッシュするための独自のメカニズムを持っているため、BIOSを更新するためのポータブルメカニズムを考え出すことは失敗する運命にあります。たとえば、Bochsを使用する場合は、別のBIOSROMイメージを指定してBIOSを「更新」します。

独自のBIOSを変更/作成する場合は、そのハードウェアに完全に固有のものになります。あなたの最善の策は、オープンソースとしてBochsのようなものから始めることです-BIOSのソースコードを見ることができるので(そしてそれを簡単にテスト/デバッグすることができます)、BIOSコードを理解してそれを変更する合理的なチャンスがありますうまくいくものになりますが、これはあなたがやろうとしていることではないと思います。

OSの起動時にこの認証を実行しないのはなぜですか?データを保護したい場合は、データを暗号化し、ユーザーがログインを提供するか、起動時に復号化キーを提供するように要求する必要があります。

于 2011-08-19T14:28:34.933 に答える
2

「レガシー」PC BIOS を使用することを考えている場合は、Justin が言及した多くの理由により、試すことを思いとどまらせます。1) レガシー BIOS は PC ベンダー固有です。2) クローズド ソースであり、所有権があります。3)システムを拡張するためのレガシー BIOS インターフェイスを定義する業界標準はありません。

一方、UEFIベースの BIOS PC にアクセスできる場合は、独自の PEI/DXE ドライバーを作成してそのような機能を実装できる場合があります。これにより、少なくとも正しい方向に進むことができます。

http://sourceforge.net/apps/mediawiki/tianocore/index.php?title=ようこそ

トピックに関する Intel Press book: Beyond BIOS

BIOS の読み取り/書き込みの実用性に関しては、BIOS を含む SPI 部分を特定し、ROM バーナーを入手する必要があります。SPI パーツは、ソケットに接続されている場合とされていない場合があります。ソケットに取り付けられていない場合は、はんだごてが必要になり、パーツのソケット/ヘッダーを作成できるようになります。あなたは明らかに、プライマリ コンピュータ システムでこのプロジェクトに着手したくありません。おそらく、古いシステムまたはリファレンス ボードを見つけることができます。

于 2011-08-20T02:37:12.223 に答える