Compilare deterministă

Versiunea actuală a paginii nu a fost încă examinată de colaboratori experimentați și poate diferi semnificativ de versiunea revizuită la 2 februarie 2018; verificările necesită 5 modificări .

Compilarea deterministă , cunoscută și sub numele de compilare reproductibilă , este procesul de compilare a software-ului care este garantat a fi reproductibil. Vă permite să vă asigurați că codul binar rezultat se potrivește exact cu codul sursă. Codul sursă compilat folosind compilarea deterministă va scoate întotdeauna același fișier binar până la bit. [1] [2]

Compilarea deterministă poate acționa ca parte a unui lanț de încredere ; codul sursă poate fi semnat digital, iar compilarea deterministă face posibilă demonstrarea faptului că codul binar a fost compilat din cod sursă de încredere.

Metodologie

Pentru ca procesul de compilare să fie determinist, intrarea în compilator trebuie să fie aceeași, indiferent de mediul de compilare utilizat. Aceasta implică, de obicei, curățarea variabilelor care se pot schimba, cum ar fi marcajul de timp , locațiile și căile .

Sistemele de build precum Gitian [3] pot fi folosite pentru a automatiza reproductibilitatea procesului de build.

Istorie

Unul dintre primele proiecte de promovare a versiunilor reproductibile a fost un proiect bitcoin cu Gitian.

Mai târziu, în 2013, proiectul Tor a început să folosească Gitian pentru reproductibilitatea build-urilor lor [4]

Referințe

  1. reproducible-builds.org . reproducible-builds.org . - „Compilările reproductibile sunt un set de practici de dezvoltare de software care creează o cale verificabilă de la codul sursă care poate fi citit de om la codul binar folosit de computere... sistemul de construcție trebuie să fie complet determinist: transformarea unei surse date trebuie să creeze întotdeauna aceeași rezultat." Preluat la 22 august 2016. Arhivat din original la 20 mai 2016.
  2. Ratliff, Emily Stabilirea corespondenței între o aplicație și codul sursă | securityweek.com . www.securityweek.com . Săptămâna Securității (4 aprilie 2016). Preluat la 22 august 2016. Arhivat din original la 20 septembrie 2016.
  3. Gitian: o  metodă sigură de distribuție a software-ului . gitian.org . Consultat la 10 ianuarie 2018. Arhivat din original la 21 decembrie 2017.
  4. Construcții deterministe Partea a doua: Detalii tehnice. Arhivat 28 august 2017 la Wayback Machine 04 octombrie 2013

Link- uri externe