openSUSE Factory では再現可能なビルドが実現されています 

OpenSUSE の再現可能なビルド

電力容量 Linux 上で再現可能なビルドを提供することは、透明性とセキュリティの証です さまざまなディストリビューションが現在動作しており、他のディストリビューションもすでに提供しています。

これの重要性は、これが ことができます 開発者、研究者、ユーザーの両方 配布されたバイナリが正しく作成されたことを確認します 提供されたソースコードからのものであり、変更されていません。

少し相談しました Linuxのドキュメント、 次のことが理解できます。

一般に、同じツール セットを使用して同じソース コードを構築することは再現可能であること、つまり結果が常にまったく同じであることが望ましいです。これにより、バイナリ配布または組み込みシステムのビルド インフラストラクチャが破壊されていないことを確認できます。これにより、ソースまたはツールの変更が結果のバイナリに影響を与えないことを確認するのも簡単になります。

Linux の場合、そして一般的にすべてのオープンソース ソフトウェアでは、再現可能なコンパイルが行われます。 コミュニティがソフトウェアを検証および監査できるようにするために不可欠です さらに、これにより悪意のある変更を検出できるようになります。

openSUSE Factory は再現可能なビットごとのビルドを提供するようになりました

これについて言及する理由は、プロジェクトが openSUSE は、ビットごとに再現可能なビルドのサポートを導入しました。 あなたのリポジトリ openSUSEファクトリーこれは、openSUSE Tumbleweed ディストリビューションの基礎です。

このアップデート 分散バイナリが確実に分散されるようにする パッケージ内 一貫して生成される 提供されたソース コードから、隠れた変更を含めずに取得できます。前述したように、これを行う利点は、提案されたビルドがソース コードから生成されたビルドと正確に一致することをユーザーが自分で検証できることです。

最近の例では、再現可能なビルドにより、リビルドして結果を比較するだけで、ソースがコミットされた xz でプルされた GCC ビルドがコミットされていないという証拠を作成できます。このプロセスは、侵害がどのように発生したかをリバース エンジニアリングすることなく完了しました。同様に、再現可能なビルドは、xz 侵害の調査中に役立つことが報告されています。

プレイ可能なビルド 依存関係の正確さなどの詳細を考慮することで実現されます、同じビルド ツールのバージョンと構成、同一のデフォルト オプションと設定のセットを使用し、ビルド内のファイルの順序を保持し (一貫した並べ替え方法を使用して)、コンパイラーによって追加される非永続的な情報 (ランダム値など) を無効にします。ファイルパス参照とコンパイル日時の詳細

バイナリを検証する機能 追加のセキュリティ層を提供します コンパイラ インフラストラクチャの信頼だけに依存しないことによって。コンパイラやビルド ツールを侵害すると、悪意のある要素が挿入されたり、生成されたバイナリに隠された変更が加えられたりする可能性があるため、これは非常に重要です。

たとえば、openSUSE 開発者は、 整合性を確保するために反復可能なビルドを使用しました バイナリの xz パッケージで検出された有名なバックドア事件の後。この場合、GCC コードを使用してファイルを解凍するために使用される、侵害された liblzma ライブラリによって GCC コードに悪意のある変更が導入された可能性があり、それがアセンブルされたアプリケーションに影響を与える可能性があります。

Factory リポジトリはエンド ユーザー向けではなく、主にディストリビューション開発者向けであることに注意することが重要です。常に安定性が保証されているわけではないためです。

Factory に追加されたパッケージは、openQA を使用した自動テストを受けます。これらのテストが完了し、依存関係の状態の一貫性がチェックされると、リポジトリの内容が週に数回ミラーと同期されます。このプロセスの最終結果は、openSUSE Tumbleweed としてリリースされます。これは、エンドユーザーが安心して使用できる安定した信頼性の高いディストリビューションです。

もしあなたが それについてもっと知りたい、詳細を確認できます 次のリンクで。