Devo usare software insicuro di bassa qualità se viene richiesto?

0

Lavoro per una startup finanziaria gestendo le cose tecniche. Il COO ha deciso di creare un nuovo sito Web utilizzando uno sviluppatore di contratto e il proprietario dell'azienda lo ha pagato ($ 9k). Mi viene chiesto di utilizzare il nuovo sito (Joomla + un sacco di codice PHP personalizzato), ma sembra di qualità molto bassa e poco sicuro. Ad esempio:

  • Non usa il controllo del codice sorgente o un framework.
  • Non usa MVC. I file di origine PHP hanno una dimensione di 30k - 98k. Incorporano HTML, CSS, PHP, JS in un unico file.
  • Utilizza l'ID di sessione come un token di verifica dell'email, consentendo a tutti coloro che intercettano l'e-mail di sequestrare la sessione. %codice%
  • Non usa i sali nelle password. %codice%
  • Non sfugge all'input dell'utente nelle query SQL. %codice%
  • Non crittografa dati personali o informazioni finanziarie.
  • Non sfugge all'input dell'utente nell'output HTML. %codice%
  • La password del database è hardcoded nel codice sorgente. %codice%
  • Il design CRUD non ha nemmeno R-Read. Non c'è nessuna visualizzazione delle informazioni utente inserite! Ho chiesto di assicurarmi che non mi mancasse qualcosa. La demo utilizzava un wrapper fittizio di una pagina CMS statica. Questo è interpretato come "buco in esso".
  • Ha 7 vulnerabilità in base a un'app di scansione di sicurezza, tra cui XSS e clickjacking. Ho mostrato il rapporto.

Sono certo che è solo questione di tempo prima che venga violato e non voglio il mio nome su di esso. Quindi ho cercato di mettere in guardia contro di esso. Sfortunatamente il COO sembra aver preso una decisione e crede che la mia posizione sia un problema personale. La maggior parte dei miei collaboratori non sono tecnici e nessuno ha capacità di sviluppo, quindi nessuno ha individuato il vero problema.

Come posso spiegare al capo / proprietario che non è OK utilizzare un software così insicuro e non gestibile, quando le ragioni sono tecniche ma sapendo che ha speso molti soldi per questo?

Indipendentemente dagli argomenti oggettivi, immagino che le mie opzioni siano:

  1. indica i fatti e vai via.
  2. Cerca di spiegare perché è male. In caso di successo, continua con il vecchio sito Ruby on Rails. Se fallisci, vai via.
  3. Prova a correggere il codice da solo. Ho paura di questo perché è molto caotico. Potrebbe richiedere più tempo del previsto.
  4. Rendi il vecchio sito simile al nuovo sito. Il nuovo sito ha degli elementi di design che posso copiare. Anche se nessuno può sapere la differenza, questa opzione sembra un po 'ingannevole.
posta Chloe 26.11.2017 - 01:54
fonte

1 risposta

3

Tutte le debolezze tecniche che hai individuato non hanno la stessa severità:

  • I punti deboli della manutenibilità, come l'assenza di MVC o il controllo del codice sorgente, hanno impatti economici. Questa è puramente una valutazione d'investimento del tuo capo: se continua così, costerà lui ei suoi azionisti più a mantenerlo attivo, ma questo corroderà i suoi benefici e quelli dei suoi azionisti. Dato che ha già pagato i soldi, e le risorse di avvio sono scarse, ci sono poche probabilità che rivedrà la sua opinione. Tuttavia, dovresti informarlo.
  • I punti deboli della sicurezza di questa estrema severità sono un'altra storia. Mette i clienti futuri ad alto rischio (non solo la loro privacy, ma anche i loro soldi). La domanda non sarà se una violazione potrebbe accadere, ma quando accadrebbe. E poi, le indagini di polizia sarebbero iniziate e non sarebbe più una questione economica ma una questione di responsabilità. Devi parlargli dei rischi e delle loro potenziali conseguenze. Storie recenti come la violazione di Equifax dovrebbero sollevare un campanello nella sua mente.

Questo è quello che posso dire dei fatti esposti. SE non è il posto per le raccomandazioni di carriera, e non devi prendere le seguenti per un consiglio ma per un'opinione personale soggettiva. Se fossi in te, immagino che opterei per l'opzione 2: spiegagli perché è molto seria, e chiarisci che è così grave che pensi di andare via (questo dovrebbe sollevare la sua attenzione). È una questione di codice di condotta etico .

Ulteriori osservazioni: puoi ancora optare per l'opzione 1 dopo l'opzione 2. L'opzione 3 ti porterà alla situazione che vuoi evitare (cioè essere corresponsabile del pasticcio: se qualcosa andasse male, dovresti essere chiesto perché non hai riparato pure). L'opzione 4 suggerisce che ci sono aspetti e aspetti del tatto nella decisione del capo. Perché non proporre di introdurre un designer dell'interfaccia utente per migliorare l'aspetto del sito vecchio ma più sicuro e robusto, per avere il meglio di entrambi i mondi?

    
risposta data 26.11.2017 - 11:42
fonte

Leggi altre domande sui tag