Un'applicazione Web costruita su una piattaforma open source è meno sicura perché è open source?

1

Con le recenti notizie che Microsoft sta rilasciando il codice sorgente per il proprio ASP.NET API Web e pagine web 1 Mi chiedo,

Avendo accesso al codice sorgente delle librerie sottostanti si costruisce un'applicazione web su un vantaggio per un hacker, cioè meno sicuro che se l'hacker non avesse la fonte?

Non indovino, dato che ci sono molte librerie / motori di successo open source, ma la mia domanda è perché non è un vantaggio ?

1 Si noti che il codice sorgente per ASP.NET MVC è disponibile dalla versione uno.

    
posta George Duckett 29.03.2012 - 14:23
fonte

3 risposte

2

Ovviamente, non c'è una risposta corretta a questo, ma qui ci sono i miei pensieri su questo:

È un vantaggio per un utente malintenzionato avere il codice sorgente. Il test / attacco Black-Box è - per ovvi motivi - più difficile. Sapere come funzionano esattamente le cose è sempre meglio che indovinare come potrebbero funzionare. Inoltre, gli strumenti che ricercano la fonte per possibili vulnerabilità, ne richiedono l'origine;)

Ma il rilascio della fonte ha anche dei vantaggi (almeno in teoria). Altre persone leggeranno il codice sorgente e i bug rilevanti per la sicurezza del programma saranno più veloci. Questo è ovviamente solo un vantaggio in due condizioni: 1. Le persone effettivamente leggono il codice sorgente e segnalano problemi. 2. Gli sviluppatori risolvono i problemi in modo tempestivo. Entrambi i punti sono alquanto controversi. Le persone dietro l'idea dell'open source spesso suggeriscono che il punto 1. accade molto (di cui non sono così sicuro) e la pratica mostra che il punto 2. non è seguito da molti sviluppatori (tuttavia, se la vulnerabilità è stata pubblicata apertamente, qualsiasi utente è almeno a conoscenza di esso e può agire di conseguenza).

Quindi per i riepiloghi, è sicuramente un vantaggio per un utente malintenzionato avere il codice sorgente, ma più persone riesaminano la fonte, più bug saranno corretti.

    
risposta data 29.03.2012 - 14:54
fonte
8

La chiave qui è che con il codice sorgente chiuso, l'onere è sulla protezione di quel codice: gli autori di attacchi possono tentare di rubare il codice, decodificarlo o semplicemente attaccarlo. I processi interni dovrebbero essere progettati per identificare le vulnerabilità e risolverle, ma i numeri sono piuttosto distorti:

  • Attaccanti: molti difensori: pochi

Con il codice open source, c'è un rischio leggermente maggiore che gli aggressori possano identificare nuove vulnerabilità, ma soprattutto si finisce con molti più potenziali difensori che identificano le vulnerabilità del codice e informano gli autori del codice:

  • Attaccanti: molti difensori: molti

Dai un'occhiata a questa domanda confrontando open source e closed in quanto potrebbe rispondere a tutte le tue domande. Se lo fa, possiamo chiudere questo come un dupe.

    
risposta data 29.03.2012 - 14:50
fonte
1

È sempre possibile ottenere il codice sorgente su un'applicazione chiusa.

Pertanto, da un punto di vista tecnico, tutto il codice sorgente è open source. Non esiste una cosa come "fonte chiusa".

È meglio presumere che il codice sorgente sia già stato rubato dai tuoi avversari.

    
risposta data 02.04.2012 - 03:22
fonte

Leggi altre domande sui tag