Qual è lo scopo della pubblicazione della fonte di un'applicazione web? [chiuso]

1

Ho visto molti rapporti che identificano i problemi di sicurezza nelle grandi applicazioni web sulla base di alcuni dati segreti depositati negli archivi pubblici di Github.

AFAIK, Github è un servizio di hosting di repository in cui le persone possono pubblicare il codice dei propri strumenti o progetti in modo che altri possano contribuire o trarre beneficio dalla fonte.

Ma se ho una grande azienda che offre un servizio tramite un'applicazione web, qual è lo scopo di pubblicare il codice sorgente?

    
posta Reda LM 01.01.2018 - 00:22
fonte

2 risposte

2

Se ho una grande azienda che vende un prodotto , potrei non voler rivelare la sua fonte perché la gente potrebbe semplicemente copiarla e venderla, riducendo così i miei profitti.

Ma se la mia grande azienda fornisce un servizio per mezzo di un'applicazione Web, è molto probabile che io possa pubblicare il codice sorgente, perché il valore reale del mio servizio si trova altrove (in un grande e infrastruttura complessa, accesso ai database, ...).

Inoltre, potrei guadagnare la fiducia di altri clienti mostrando loro che il mio codice può essere verificato da molte persone, inclusi i clienti stessi. Ad esempio, questo potrebbe mostrare ai clienti che il mio codice non memorizza i loro dati in testo semplice.

Detto questo, è estremamente probabile che qualsiasi applicazione Web contenga vulnerabilità che possono essere trovate da un utente malintenzionato, con o senza accesso al codice sorgente. Se non pubblichi il codice (escludendo bug bounties), i bravi ragazzi non possono rivelarti vulnerabilità. Se lo fai, loro possono. Ovviamente, i cattivi esistono in entrambi i casi.

Infine, renditi conto che il mondo degli hacker non è suddiviso in persone puramente buone e puramente cattive. Alcune persone vogliono che le aziende e il mondo intero sappiano che sono brave a trovare vulnerabilità. Forse ottenere il proprio nome su una Hall of Fame (è per questo che i bug bounty sono buoni) o sulla sezione dei crediti di un repository Github è sufficiente per soddisfare questo "bisogno". Se non pubblichi il tuo codice, l'unico modo in cui queste persone devono ottenere ciò che vogliono è attaccare la tua applicazione o vendere un exploit funzionante contro di essa.

    
risposta data 01.01.2018 - 21:47
fonte
1

Perché il codice dovrebbe essere inserito in GitHub

GitHub agisce come un provider di hosting git, ospitando il progetto su un repository remoto si ottengono molti vantaggi, tra cui:

  • Viene eseguito il backup di tutto il codice sul repository, quindi l'errore del disco non perde i dati
  • Più persone possono lavorare sul repository contemporaneamente
  • Le revisioni del codice possono essere eseguite prima che le modifiche vengano unite in

Tipi di repository GitHub

Un repository può essere:

pubblico

Chiunque può leggere il codice e contribuire al codice contribuendo

Privato

Solo le persone invitate ad accedere al repository possono accedervi

Perché vorresti un progetto aperto a tutti

Come A. La risposta di Darwin dice che l'apertura di un progetto consente la revisione del codice e può ottenere informazioni sugli exploit prima che vengano utilizzati contro di te.

Come per principio di Kerckhoffs , un sistema dovrebbe essere sicuro anche se il funzionamento è noto, quindi in teoria non dovresti essere più vulnerabile rilasciando la tua fonte, se il sistema è progettato bene.

In che modo i sistemi vengono violati dai segreti

Se il tuo repository è pubblico, i segreti dovrebbero essere mantenuti al di fuori di esso. Ciò è permesso in quanto i segreti sono consentiti dal principio di Kerckhoffs. Se i segreti finiscono in un repository pubblico, chiunque può usarli, causando problemi come questo:

Dev ha messo le chiavi AWS su Github. Quindi BAD THINGS è successo

    
risposta data 01.01.2018 - 22:11
fonte

Leggi altre domande sui tag