Deterministisk sammanställning

Den aktuella versionen av sidan har ännu inte granskats av erfarna bidragsgivare och kan skilja sig väsentligt från versionen som granskades den 2 februari 2018; kontroller kräver 5 redigeringar .

Deterministisk kompilering , även känd som reproducerbar build , är processen att kompilera programvara som garanterat är reproducerbar. Det låter dig se till att den resulterande binära koden exakt matchar källkoden. Källkod kompilerad med deterministisk kompilering kommer alltid att mata ut samma binära fil ner till biten. [1] [2]

Deterministisk sammanställning kan fungera som en del av en förtroendekedja ; Källkoden kan signeras digitalt, och deterministisk kompilering gör det möjligt att bevisa att den binära koden kompilerades från betrodd källkod.

Metod

För att kompileringsprocessen ska vara deterministisk måste indata till kompilatorn vara densamma, oavsett vilken byggmiljö som används. Detta innebär vanligtvis att man rensar upp variabler som kan ändras, som tidsstämpel , lokaler och sökvägar .

Byggsystem som Gitian [ 3] kan användas för att automatisera reproducerbarheten av byggprocessen.

Historik

Ett av de första projekten för att främja reproducerbara konstruktioner var ett bitcoin -projekt med Gitian.

Senare, 2013, började Tor -projektet använda Gitian för reproducerbarhet av deras byggen [4]

Referenser

  1. reproducible-builds.org . reproducible-builds.org . - "Reproducerbara konstruktioner är en uppsättning programvaruutvecklingsmetoder som skapar en verifierbar väg från mänsklig läsbar källkod till den binära koden som används av datorer....byggsystem måste göras helt deterministiskt: att transformera en given källa måste alltid skapa samma resultat." Hämtad 22 augusti 2016. Arkiverad från originalet 20 maj 2016.
  2. Ratliff, Emily upprättar korrespondens mellan en applikation och dess källkod | securityweek.com . www.securityweek.com . Säkerhetsveckan (4 april 2016). Hämtad 22 augusti 2016. Arkiverad från originalet 20 september 2016.
  3. Gitian: en säker distributionsmetod  för programvara . gitian.org . Hämtad 10 januari 2018. Arkiverad från originalet 21 december 2017.
  4. Deterministiska byggen del två: Tekniska detaljer. Arkiverad 28 augusti 2017 på Wayback Machine 4 oktober 2013

Externa länkar