In che modo Linux può essere sicuro se consente contributi pubblici open source?

4

Dalla mia breve comprensione di Linux, gli sviluppatori di tutto il mondo inviano il codice da includere in un aggiornamento Linux. Viene quindi esaminato dagli amministratori della sicurezza. Una volta approvato, viene trasmesso a Linus, il fondatore di Linux per la sua approvazione finale.

Con tutto questo codice presentato da sviluppatori sconosciuti in tutto il mondo, in che modo gli amministratori della sicurezza possono assicurarsi che non siano stati aggiunti script backdoor sul sistema operativo? Non ci sono 15 milioni di linee di codice? Gli amministratori del sistema operativo comprendono davvero ogni riga di codice e sanno per certo che le persone non hanno inviato qualcosa che potrebbe corrompere il sistema come malware, backdoor o spyware?

    
posta Michael d 12.05.2018 - 17:55
fonte

2 risposte

12

Stai fraintendendo il modo in cui funziona lo sviluppo di software open source. Non tutti possono modificare il kernel, quindi nessun "sviluppatore sconosciuto da tutto il mondo" sta inviando linee misteriose di codice. Per apportare modifiche direttamente, devi essere assunto dalla Linux Foundation o da un'altra organizzazione che ha accesso ai privilegi di commit, non solo passare un breve controllo. Tutti gli altri possono solo suggerire miglioramenti (spesso sotto forma di patch) sulle mailing list pubbliche, e sperare che gli sviluppatori ufficiali accetteranno i loro suggerimenti e apporteranno le modifiche a loro nome. La revisione delle patch è piuttosto intensa e le patch spesso devono passare attraverso molte revisioni prima di essere accettate, a volte con ogni riga criticata (spesso per le cose più banali).

Questo non è molto diverso dallo sviluppo di closed source. Si potrebbe obiettare che chiunque può apportare modifiche a Microsoft Windows semplicemente cercando un lavoro in Microsoft. L'unica differenza è che il software open source è più trasparente sul loro processo di sviluppo.

With all of this code being submitted by unknown developers throughout the world, how can the security administrators make sure that there isn't any backdoor scripts being added onto the OS?

Tutto ciò che viene aggiunto è revisionato. L'unico modo per ottenere una backdoor sarebbe quello di fornire una patch che sembra buona, ma che ha un bug sfruttabile di cui sei a conoscenza. Questo è possibile, ma abbastanza improbabile. Gli sviluppatori non devono essere maliziosi per introdurre bug a tariffe altissime!

Aren't there like 15 million lines of code?

Di più, in realtà. Tuttavia, gran parte di questo è per driver di periferica che non utilizzerai mai. Il kernel Linux è monolitico, il che significa che il codice relativo all'hardware viene inserito nel kernel. Il nucleo del kernel stesso non è in realtà così grande. Sembra grande solo se si tiene conto del fatto che include anche codice da oscuri driver per microfono karaoke che non sono nemmeno presenti nel kernel.

Do the admins of the OS really understand every line of code and know for sure that people haven't submitted something that could corrupt the system such as malware, backdoors or spyware?

No, anche se alcuni amministratori di sistema particolarmente esperti hanno una buona conoscenza di come il kernel funzioni internamente. Ci sono molti occhi sul codice nel kernel di Linux in cerca di bug. È difficile per loro tutto nascondere. Sì, è possibile che un bug sia stato introdotto segretamente (dopo tutto, è stato tentato e sventato una volta), ma la verità dolorosa è che tali bachi intenzionali sarebbero una goccia nell'acqua rispetto a tutti gli insetti naturalmente esistenti che trovano la loro strada in una base di codice così grande.

    
risposta data 13.05.2018 - 00:56
fonte
7

TLDR : ti fidi delle persone, delle loro credenziali e degli interessi delle aziende nel proteggere le loro infrastrutture.

Come vedresti in molti progetti chiusi e aperti, il progetto è diviso in parti più piccole gestite da persone diverse. A partire dall'ultimo rapporto sul kernel Linux ha circa 1600+ sviluppatori e 24 milioni + linee di codice. Naturalmente, non puoi aspettarti che ogni sviluppatore sappia tutto. Ma puoi scegliere le persone giuste per gestire il tuo stack di rete o dire il tuo stack USB ecc. Questo è ciò che fa Linux (puoi leggere di più su questo nel report).

Scegli le persone giuste per il lavoro e poi fidati di loro per farle con saggezza. In caso contrario, esiste un'altra linea di difesa in termini di numero di persone e aziende che utilizzano questi prodotti e hanno interessi nel garantire che la loro infrastruttura o soluzioni pacchettizzate siano sicure. È così che spesso il software open source ottiene le sue patch. Le persone che lo usano trovano bug e lo segnalano o lo segnalano e lo risolvono.

È la natura open source di Linux che fornisce tanti modi in cui si protegge un sistema. Se fosse prodotto da una sola compagnia, metterei tutte le uova in un unico paniere.

    
risposta data 12.05.2018 - 20:04
fonte

Leggi altre domande sui tag