4
Cコンパイラをゼロからコンパイルし、Unix / Linuxをゼロからコンパイルする方法
アメリカ/イギリス以外の大規模なサービス組織で働いているとしましょう。UNIXサーバーとLinuxサーバーを幅広く使用しています。 この記事を読むと、Cコンパイラにバックドアを簡単に挿入でき、そのコンパイラでコンパイルされたコードにもバックドアが含まれることに言及しています。すべての暗号化方法、ハードウェア、およびソフトウェアにバックドア/弱点を置くというNSA / GCHQの命令に関する最近のリークを考えると、コンパイラは障害の重大なポイントになりました。すべての標準UNIX / Linixディストリビューションが危険にさらされる可能性があります。システム、データ、および顧客データを不正な政府によって侵害することはできません。 この情報を基に、信頼できるコンパイラをゼロから構築したいと考えています。その後、そのコンパイラを使用してソースコードからオペレーティングシステムとアプリケーションを構築できるように、安全な基盤を構築します。 質問 ソースコードからコンパイラをコンパイルし(一見鶏卵のシナリオ)、信頼できるUnix / Linuxディストリビューションをゼロからコンパイルするための正しい(そして安全な方法)は何ですか? 私や他の人がセキュリティ欠陥のソースコードを読んで理解する能力を持っていると仮定できるので、ソースコードはコンパイルする前に最初に吟味されます。私が本当に望んでいるのは、このコンパイラをゼロから安全に作成し、カーネル、OSのその他の部分、およびアプリケーションをコンパイルするために使用できる作業ガイドです。 セキュリティスタックは、そのスタックで実行されているオペレーティングシステムまたはアプリケーションに自信がある場合、ベースレベルで開始する必要があります。はい、ハードウェアのバックドアがあり、ビルド中にコンパイラにマイクロコードを挿入する可能性があることを理解しています。現時点では、米国で設計されていないチップを使用することを除いて、私たちができることはあまりありません。このレイヤーを最初にソートして、バックドアが挿入される前に古いコンピューターで構築できると仮定します。 ブルース・シュナイアーが言うように:「エンジニアに対して、私はこう言います。私たちはインターネットを構築し、私たちの何人かはそれを破壊するのを助けました。今、自由を愛する私たちはそれを直さなければなりません。」 追加リンク: http://nytimes.com/2013/09/06/us/nsa-foils-much-internet-encryption.html?pagewanted=all&_r=0 http://theguardian.com/commentisfree/2013/sep/05/government-betrayed-internet-nsa-spying