私は今後数日以内に新しいノートパソコンを購入する予定ですが、新しくて素晴らしいウルトラブックに本当に感動しました。長いGNU / Linuxユーザーとして、私はもちろん私が選択したディストリビューションをインストールします。
Windows 8がプリインストールされているコンピュータを購入する必要がある可能性が高いです。 UEFIを実行し、「セキュアブート」機能があり、署名されていないカーネルはブートされません。
UEFIは大丈夫かもしれませんし、BIOSを破棄する必要があるかもしれません。私の考えでは、毛皮はそうだと思います。セキュアブート。
私が知っている限り、信頼できる証明書はファームウェアに組み込まれ、カーネルに含まれます。など。。カーネルの証明書の場合すべてのファームウェアで追跡可能、カーネルが起動します。それ以外の場合は、UEFI が通知し、起動を拒否します。このプロセスは、認証されていないソフトウェアが実行されるのを防ぎます。私は見ることができませんが、これには利点があるかもしれません。
オープンソースのカーネルがどのようにこれらのキーの1つを取得し、まだキーを使用できるのか疑問に思います。無料。私が読んでLinux メーリングリストのスレッドRed Hatの従業員は、Linus TorvaldsにPEバイナリを解析し、カーネルがセキュアブートモードで起動できるようにするために、複雑なワークセットを実行するツールを実装する変更セットをインポートするように依頼しました(私の知る限り)。マイクロソフトはPEバイナリにのみ署名するので、彼らはそれを望んでいます。トバルズ氏は優しくこの変更セットは拒否されました。カーネルはすでに標準を実装していますが、PEは実装していません。。 RedHatはこのコードをカーネルにプッシュしていつかフォークする必要がないように努めています。
見て、これは複雑なことです。私の質問をします:
- 個人ユーザーとして、UEFIとセキュアブートでどのような利点が得られますか?
- これはどうですか兆候完璧ですか?
- 誰が署名/証明書を受け取ることができますか?有料ですか?公開してもいいですか? (Linuxのソースコードにあるべきですか?)
- マイクロソフトが署名を提供する唯一の会社ですか?これを提供できる独立した財団があるべきですか?
これはオープンソースと無料カーネル、趣味/学術カーネル開発者にどのような影響を与えますか?など。。たとえば、今回のキックオフミーティングは(非常に基本的なブートセクタコード):
hang: jmp hang times 510-($-$$) db 0 db 0x55 db 0xAA
ニュース1このウェブサイトからこれがこの質問のインスピレーションでした。スペインのLinuxユーザーグループは次のとおりです。スペインLinuxこの問題について、欧州委員会にマイクロソフトに対して苦情を申し立てました。
心配すべきでしょうか?私は排他的なソフトウェアの使用を拒否するか、信じる編集会社。これまでこれをやってきて、今後も続けたいと思います。よろしくお願いします。
答え1
このプロセスは、認証されていないソフトウェアが実行されるのを防ぎます。私は見ることができませんが、これには利点があるかもしれません。
ハードウェアから起動できるものと起動できないものを制御する新しいセキュリティメカニズムがあります。安全機能。遅すぎるまで、それが必要だとは感じません。しかし、私は外れた。
Linuxメーリングリストで、Red Hatの従業員がLinus TorvaldsにPEバイナリを解析し、複雑なワークセットを実行してカーネルを安全に起動モードにするためのツールを実装する変更セットを取得するように要求したスレッドを読んだ(私が知る限り) )。 )。
ドライバ(GPUファームウェアなど)は、セキュアブートに従って署名する必要があります。それ以外の場合は、別のルートキットかもしれません。現状は、これらのドライバがPE形式で署名されていることです。とにかく、カーネルはこれらなしで起動できますが、ハードウェアは機能しません。カーネルでPEフォーマットを解析することは、各ハードウェアベンダーが各展開のBLOBに署名する必要がある場合、またはそのためにユーザースペースフレームワークを設定するよりも技術的に簡単なオプションです。 Linusはもはやマイクロソフトのディックを吸うことを決心しました。これは技術的な主張ではありません。
個人ユーザーとして、UEFIとセキュアブートでどのような利点が得られますか?
最も顕著な機能はUEFIクイックブートです。 Windows 8のロゴがある数台のデスクトップは、あまりにも早く起動し、起動メニューのポップアップを見逃すことがよくあります。インテルとOEMはこの分野で多くの作業を行いました。
あなたが迷惑なLinuxユーザーの1人であれば浮腫そしてコードの複製情熱的にファームウェアレベルでマルチブートを管理し、ブートローダを完全に削除したい場合があります。 UEFIはブートマネージャあなたはそれを使用することができますカーネルで直接起動または、ファームウェアメニューを使用して別のオペレーティングシステムを起動することを選択します。少しはんだ付けする必要があるかもしれませんが。
また、起動時とファームウェアメニューのグラフィックも優れています。起動時にセキュリティが強化されました(セキュアブート)。その他の機能(IPv4 / 6ネットワークブート、2TB +ブートデバイスなど)は、主に企業ユーザーを対象としています。
とにかくリヌスのように説明する、BIOS / UEFIは「OSをロードしてそのまま使用」するようになっており、高速ブート機能を持つ一般ユーザーの場合、UEFIはまさにそうです。 BIOS以上の機能を実行しますが、家庭用ユーザーについては気にしません。
この署名はどのように行われますか?
理論的には、バイナリは秘密鍵を使用して暗号化され、署名を生成します。次に、公開鍵で署名を確認し、秘密鍵の所有者がバイナリに署名したことを証明し、バイナリを確認します。ウィキペディアでもっと見る。
技術的には、バイナリのハッシュのみが署名され、署名はPE形式と追加の形式の回転でバイナリに組み込まれます。
プログラム的に、公開鍵はOEMによってファームウェアに保存され、Microsoftによって提供されます。 2つのオプションがあります。
- 独自のキーペアを作成して安全に管理します。自分の公開鍵をファームウェアにインストールします。、自分の秘密鍵でバイナリに署名します(兆候Ubuntuでは、デザインFedoraから)または
- バイナリをマイクロソフトに送信し、署名を取得します。
誰が署名/証明書を受け取ることができますか?有料ですか?公開してもいいですか? (Linuxのソースコードにあるべきですか?)
署名/証明書はバイナリに含まれているため、すべてのユーザーがそれを受け取る必要があります。誰でも自分のCAを設定して証明書を生成できます。ただし、Microsoftがあなたの証明書を生成できるようにするには、Verisignを通じてあなたの身元を確認する必要があります。手続き費用は99ドルです。公開鍵はファームウェアにあります。秘密鍵はマイクロソフトの金庫にあります。証明書は署名付きバイナリにあります。ソースコードは含まれません。
マイクロソフトが署名を提供する唯一の会社ですか?これを提供できる独立した財団があるべきですか?
技術的側面は、PKI管理、身元確認、すべての既知のOEM、およびハードウェアベンダーとの調整プロセスと比較して非常にマイナーです。これは高価です。マイクロソフトは長年のインフラストラクチャ(WHQL)と経験を持っています。それで彼らはバイナリに署名することを提案しました。どんな独立財団でも同じサービスを提供できますが、これまでどの財団もそうしたことはありません。
IDF 2013のUEFIカンファレンスでは、Canonicalが一部のタブレットファームウェアにも独自のキーを追加し始めたのを見ました。そのため、CanonicalはMicrosoftを介さずに独自のバイナリに署名できます。しかし、彼らはあなたが誰であるかわからないので、あなたのためにバイナリに署名する可能性はありません。
これはオープンソースや無料カーネル、趣味/学術カーネル開発者などにどのような影響を与えますか?
カスタムカーネルは署名されていないため、セキュアブートでは起動しません。しかし、オフにすることができます。
Secure Bootの信頼モデルはカーネルの特定の側面をロックします。現在、rootユーザーでも/dev/kmemに記録してカーネルを破損することはできません。再開時にカーネルイメージがブートキットに変更されないようにする方法がないため、ディスク(アップストリームジョブ)から休止状態にすることはできません。カーネルがクラッシュすると、kdump(kexec)メカニズムを使用してブートキットを起動できるため(アップストリームでも動作する)、コアをダンプできません。これは議論の余地があり、Linusによってメインラインカーネルに承認されていませんが、一部のディストリビューション(Fedora、RHEL、Ubuntu、openSUSE、SUSE)には、とにかく独自のセキュリティブートパッチが付属しています。
個人的には、セキュアブートカーネルに必要なモジュールシグネチャを構築するには10分かかりますが、実際にコンパイルするには5分しかかかりません。モジュールの署名をオフにしてccacheをオンにすると、カーネルビルドに1分しかかかりません。
UEFIはBIOSとはまったく異なる起動パスです。 UEFIファームウェアはすべてのBIOSブートコードを呼び出すわけではありません。
Hispalinuxと呼ばれるスペインのLinuxユーザー組織は、この問題について欧州委員会にマイクロソフトに対して苦情を申し立てました。
上記のように、マイクロソフト以外の誰も公共サービスを実行しません。マイクロソフトがこれを悪意を持って意図したという証拠はありませんが、マイクロソフトが事実上の独占的地位を乱用するのを防ぐことはできません。そのため、FSF と Linux ユーザー グループは実用的ではなく、実際に座って問題を建設的に解決することはできませんが、Microsoft に圧力をかけて結果を警告する強力な必要性があります。
心配すべきでしょうか?私は独自のソフトウェアまたは信頼できる会社が署名したソフトウェアの使用を拒否します。これまでこれをやってきて、今後も続けたいと思います。
セキュアブートを使用する理由:
- 実際のセキュリティ攻撃ベクトルを削除します。
- これは、ユーザーがハードウェアをより自由に制御できる技術的なメカニズムです。
- Linuxユーザーは、マイクロソフトがセキュアブートを独占する前に、セキュアブートを理解して対処する必要があります。ポリシー。
答え2
私は最近、Windows 8とUEFIセキュリティブートを搭載したノートブックを購入し、このプロセスを経ました。多くの時間と研究の最後に、次の質問に答えることができます。
- 「家庭ユーザー」カテゴリに属していないようです。
一般ユーザーが気付くUEFIの利点は、画面で一番最初に見ることがMicrosoft/ベンダーブランドのUEFIブートローダーディスプレイであることです。これらのうち何も怖いたとえば、「設定するにはDelを押し、起動デバイスを選択するにはF11を押します。」などがあります。
その後、Microsoftカーネル/ブートローダの待受画面にスムーズに切り替えます。これは、「プロンプトの力」Microsoftテーマの経験を提供します。これが実用性だと好みの問題だと思います。起動時に表示することを期待する一般的な情報が得られず、迷惑になります。たとえば、ベンダーがデフォルトのUEFI / Bios設定に入るために標準キーを使用しない場合は、幸運です。
ああ、理論的には、ブートセクタウイルスをブロックしたり、少なくとも作成者に誰かのIDを生成/盗んだり、Verisignに99ドルを支払うことができます(RedHat Fedoraパス。Googleで検索)。
実際の署名の実行方法の詳細については、以下を確認してください。http://al.robotfuzz.com/playing-with-uefi-secure-boot-part-2-basic-authenticode-signing-with-ms-tools/
WHO?ちょうどマイクロソフトか。
ああ、もう一つ質問。誰でも任意のキーを使用してコードに署名できます。問題は、システムが信頼できる認証キーで署名されたコードのみを実行することです。鍵の公開鍵は工場でシステムUEFIコアにインストールされ、秘密鍵で署名されたUEFIプログラム(起動コード)の署名を確認するために使用されます。
工場で誰の公開鍵がインストールされているかを推測してください。デフォルトでは、セキュアブートを有効にするように要求した人は誰ですか?
すべてのシステムメーカーは、明らかにマイクロソフトのキーをここに配置します。それらできるCanonical(Ubuntu)キー、Red Hatキー、Appleキーなども入れてください。ただし、鍵が多ければ多いほど、侵害点が多くなり、保存できる鍵の数には物理的な制限が明らかにあります。
- ブートセクタコードとは何ですか?いいえ、BIOS 継承です。 UEFIコードを書いてみたい場合は、次の点を確認してください。http://x86asm.net/articles/uefi-programming-first-steps/
あなたのような反抗的なコンピュータユーザーのためのソリューションは何ですか?
システムベンダーからシステム起動構成にアクセスできることを願っています。
セキュアブートをオフにできることを願っています。セキュアブートがない場合、Windowsのスタートアップコードは引き続き実行されます。
幸運な場合は、システムベンダーが独自の認証局キーを入力して署名することを許可します。これは、セキュアブートを試みる場合にのみ実際に必要です。
私のMSIノートブックを使用すると、上記のすべてを行うことができます。
私は誰でも無料でLinuxディストリビューションを受け取り、オペレーティングシステムを変更できる世界を見たいです。これがセーフブート前のものです。また、ブートセクタウイルスもたくさんあります。システム構成でセキュアブートを無効にする必要があるのは、オペレーティングシステムをインストールする能力があるか、またはインストールする人を知っていることを確認するのに十分な小さな障害である可能性があります。
メーカーによって電源が切れないのは悪いことです。製造元がセキュアブートの無効化を防ぐために「説得」しない限り、マイクロソフトに責任を負わないでください。