I file di origine condivisi di Windows vengono compilati negli stessi file binari della versione finale?

9

Microsoft rende il codice sorgente di Windows disponibile per alcune organizzazioni di terze parti come Stati Uniti e governi stranieri, università ecc. Questo è il loro Shared Iniziativa di origine

Si tratta di un set completo di file sorgente di Windows ed è possibile creare con esso tutto il SO? In tal caso, i binari risultanti sono esattamente gli stessi dei binari Microsoft ufficiali in quel momento?

Ovviamente il ragionamento per questa domanda è sapere se ci sono alcune organizzazioni "indipendenti" che potrebbero trovare back door nei componenti di sicurezza di Windows.

Pronunciare il FSB russo che fa parte dell'iniziativa di sorgente condivisa, riceve solo un gruppo di file di origine che affermano di essere la cosa vera'. Non sarebbero soddisfatti solo dopo essere stati in grado di costruire il sistema operativo e confrontarli con i binari di vendita al dettaglio?

Come reagirebbero a una delle loro scoperte è un'altra domanda.

E se hanno bisogno del compilatore Microsoft C ++ per costruire il SO, ottengono anche i sorgenti per questo?

    
posta Peter Hahndorf 07.09.2013 - 09:46
fonte

1 risposta

6

Ci sono diversi livelli di accesso, che dipendono dalla specifica NDA e dal contratto firmato. Queste sono le mie osservazioni fatte dalle discussioni pubbliche .

Per quanto ne so non esiste un livello che permetta il checkout diretto del codice per la compilazione. È tutto in un formato piacevole, simile a come Github e altri mostrano il codice. Qualcuno con accesso potrebbe copiare i file senza problemi, ma non possono effettuare esportazioni o checkout in blocco.

La maggior parte di Windows è scritta in C e alcuni elementi più recenti in C ++, con pochissime scritte in assembly. Qualcuno potrebbe compilare il codice con compilatori MS standard (supponendo che abbiano le versioni giuste), ma per creare le DLL e gli EXE necessari che avrebbero bisogno di sapere come si costruisce, avrebbero bisogno di vari MAKE e file correlati, e probabilmente questi file non sono " t presente in nessuno degli accordi. Per lo meno non sono presenti negli accordi meno privilegiati (presumibilmente, le NDA rendono impossibile spiegare in dettaglio ciò che è effettivamente presente come quelli che sanno non possono condividere o riconoscere di avere accesso.;)). Nel caso in cui qualcuno possa costruire, i risultati potrebbero essere diversi perché potrebbero esserci dei processi di post-compilazione / pre-imballaggio durante la spedizione.

Dove le cose si fanno interessanti però sta ottenendo l'accesso ai simboli del compilatore per alcuni componenti di Windows. Ciò consente agli sviluppatori di seguire più facilmente i percorsi del codice durante il debug. Tra i simboli e l'accesso al browser alla fonte, qualcuno potrebbe cercare bug / backdoor / qualunque cosa.

Tuttavia, la ricerca di problemi nel codice come questo è più complicata di quanto alcuni possano pensare. Ci sono milioni e milioni di linee di codice in Windows, e la struttura dei file può sembrare precaria se non si ha familiarità con esso.

EDIT: In teoria il codice è lo stesso, altrimenti è un tipo di sconfiggere lo scopo di condividere il codice. Non è chiaro quanto spesso il codice viene aggiornato per cose come le patch però. Che sia davvero lo stesso codice, beh ... chi lo sa.

    
risposta data 09.09.2013 - 17:06
fonte

Leggi altre domande sui tag