È legale / etico rilasciare software commerciali con noti difetti di sicurezza

1

Non sono un professionista della sicurezza. Circa 2,5 mesi fa ho scoperto vulnerabilità sistemiche nel software del mio datore di lavoro con il potenziale di danni finanziari ai clienti se sfruttati.

La possibilità per un utente che ha effettuato l'accesso di accedere o modificare i dati del modulo viene controllata quando viene caricato un modulo, ma un POST dei dati del modulo non controlla l'autenticazione prima di salvare. Non ero in grado di sfruttarlo a meno che non fossi loggato come utente con privilegi più bassi.

La vulnerabilità è stata segnalata alla società; ma poiché la risoluzione del problema richiede una riscrittura quasi completa dell'autenticazione dell'applicazione e del codice di invio del modulo, la società ha deciso di continuare a rilasciare miglioramenti delle funzionalità mentre si lavora per correggere le vulnerabilità per un periodo molto più lungo (da 6 a 12 mesi). Non so quante persone in azienda sanno che sta accadendo, né so se le persone giuridiche hanno valutato / approvato la decisione .

L'applicazione è un'applicazione web molto grande gestita da un team di tre sviluppatori e un tester (io). Non ci sono altri sviluppatori o tester nella compagnia.

Una significativa versione di nuove funzionalità senza correzioni di sicurezza è in programma da circa 6 settimane a partire da ora.

La società è quotata in borsa negli Stati Uniti. Le informazioni sul conto bancario cliente e individuale fanno parte dei dati salvati gestiti dall'applicazione.

Il mio datore di lavoro si impegna in comportamenti illegali o non etici rilasciando nuove funzionalità mentre i difetti di sicurezza non vengono corretti?

    
posta 10.01.2017 - 18:34
fonte

3 risposte

3

È legale vendere prodotti imperfetti

Lo standard generale per la vendita di prodotti è che devono essere idonei allo scopo per cui sono venduti e pubblicizzati. Non sono tenuti ad essere molto adatti allo scopo. Non sono tenuti ad essere idonei per altri scopi. Di certo non sono tenuti ad essere liberi da tutti i difetti, i rischi e i potenziali abusi - purché siano adatti per uno scopo particolare, è legale venderli.

Ad esempio, è completamente legale vendere porte che possono essere infrante aperte da un adolescente scarno. È del tutto legale vendere blocchi fisici che possono essere raccolti da una forcina. È del tutto legale farlo anche se sei completamente consapevole del fatto che queste vulnerabilità esistono. Queste porte e serrature sono ancora adatte allo scopo anche se pubblicizzate esplicitamente allo scopo di "tenere lontani gli intrusi" - non è necessario che siano perfetti a tale scopo; Va bene produrre e vendere porte fragili e serrature fragili anche se tutti sanno che potrebbero essere rese molto più sicure con alcune modifiche.

Praticamente tutti i software sono rilasciati con bug noti, cioè il sistema di tracciamento dei bug della compagnia elenca molti problemi non risolti di diversa importanza. Ancora una volta, questa è una prova del fatto che la conoscenza dei difetti di per sé non è sufficiente per rendere il software non adatto allo scopo. Anche se rilasciato senza bug noti, nessun software è completamente sicuro - praticamente ogni pacchetto non banale ha avuto più vulnerabilità di sicurezza. Ciò non significa che non siano adatti allo scopo: di certo consentono agli utenti di eseguire attività utili anche se le vulnerabilità non vengono mai corrette, quindi sono adatte allo scopo anche se sono completamente non sicure.

Ad esempio, molti sistemi simili al tuo sistema (come appare dalla domanda) sarebbero abbastanza utili anche se non avessero l'autenticazione any e tutti gli utenti avessero accesso completo. In tal caso sarebbe adatto allo scopo anche con un sistema di autenticazione totalmente difettoso; un po 'di autenticazione è meglio di nessuna autenticazione e nessuna autenticazione sarebbe accettabile in questo caso - non troppo buona, ma accettabile.

Si possono immaginare alcune nicchie di software che non sono assolutamente utili se la loro sicurezza è difettosa. La maggior parte del software non è chiaramente in questa categoria, ma ad es. potrebbe essere la crittografia del disco o il software di gestione password. Tuttavia, anche allora sarebbe una questione di quanto sia severa la vulnerabilità. Come nell'esempio delle serrature fragili, una soluzione di sicurezza imperfetta che protegge da alcuni ma non tutti gli attacchi è generalmente considerata adatta allo scopo.

Etica della vendita di prodotti di bassa qualità

La situazione etica è un po 'diversa dal mandato legale, ma ancora una volta credo che possiamo tracciare paralleli dalla vendita di articoli fisici.

Per ogni tipo di prodotto, i consumatori si aspettano ragionevolmente che ci saranno differenze di qualità a seconda della marca. Alcune scarpe saranno molto meglio di altre, ed è carina; e alcune scarpe saranno molto più economiche di altre, e anche questo è bello - entrambe sono valide scelte per consumatori e produttori.

È una strategia completamente valida ed etica per produrre e vendere articoli di bassa qualità. Ad esempio, qualcuno potrebbe acquistare intenzionalmente un oggetto di bassa qualità, perché è più economico. Ad esempio, qualcuno potrebbe ragionevolmente scegliere un software di bassa qualità, perché è più economico. Le persone possono creare, distribuire e utilizzare software libero che è noto per avere tanto buchi come formaggio svizzero, e semplicemente evitare di usarlo in contesti in cui la sicurezza è importante. Un cliente che ordina uno sviluppo personalizzato può ragionevolmente scegliere di far lavorare il proprio fornitore su nuove funzionalità oltre a correggere i difetti di sicurezza noti: è la loro scelta da fare ed è etico realizzare un prodotto in base a queste priorità.

Ciò che non è etico è ingannare i clienti. Se vuoi pubblicizzare che il tuo prodotto è migliore in termini di qualità rispetto alla concorrenza, allora è etico se è così. Se vuoi pubblicizzare che il tuo prodotto nasconde i dati sensibili dagli utenti locali autorizzati senza le dovute autorizzazioni, allora è etico se è vero. Tuttavia, tieni presente che si tratta dell'etica della pubblicità e della comunicazione - l'atto non etico non è la vendita di software scadente, ma le bugie sul tuo prodotto.

Nel tuo esempio particolare, il modo etico sarebbe quello di garantire che la vulnerabilità sia resa pubblica. In tal caso, i clienti possono prendere una decisione informata su come e se devono utilizzare il prodotto, l'importanza che tale vulnerabilità è per loro e se fa loro una differenza significativa.

Tutto ciò presuppone che stiamo parlando di difetti di varia gravità, non di codice dannoso: posizionare intenzionalmente backdoor è strettamente diverso.

    
risposta data 10.01.2017 - 21:29
fonte
2

Analisi del rischio è il centro della maggior parte delle certificazioni di sicurezza delle informazioni.

Avrai mai un prodotto che è considerato completamente sicuro? No. Anche carta e penna hanno un rischio implicito, ed è per questo che le immersioni con cassonetto sono ancora usate dagli aggressori fino ad oggi.

Si può presumere che qualcuno non approfitterà mai di un difetto nella sicurezza? No. Ciò significa che dovremmo suonare i campanelli ogni volta che un difetto è trovato? Dipende da chi lavori, ma la risposta tende ad essere no. Parte dell'analisi del rischio non è solo la frequenza con cui questa vulnerabilità può essere sfruttata, ma anche quanto è grave .

La società per cui lavori può essere perfettamente entro i limiti legali per accettare l'esistenza di un difetto, ma finché non rappresentano una patch / aggiornamento futuro come soluzione al problema della sicurezza, tutto va bene.

Ciò che è considerato etico e morale, tuttavia, è assicurarsi che i clienti conoscano perfettamente i difetti del software. Il grado di dettaglio spetta al venditore, e probabilmente anche al sistema legale. Il motivo non è puramente "pass through the buck" in termini di sicurezza delle informazioni, ma in modo che i clienti possano effettuare una valutazione del rischio ben informata. Un sistema molto più sicuro può costare somme più di un sistema che ha una vulnerabilità minore e ben nota. Come una piccola azienda, quale saresti disposto a pagare?

    
risposta data 10.01.2017 - 22:53
fonte
-1

I had to edit my answer since ethical and legal have fuzzy definitions, and it seems ethical is a matter of preference :)

Sicuramente non è etico, e dal punto di vista legale. Rilasciare un software sapendo che il software ha una vulnerabilità maggiore che potrebbe causare danni finanziari è probabilmente un crimine (almeno da dove vengo). Pertanto, la tua azienda è in attesa di una causa legale.

Il fatto che la società sia a conoscenza di questa vulnerabilità molto probabilmente annullerà un'assicurazione (le compagnie di assicurazione non copriranno il danno causato da questa vulnerabilità)

Come professionista, dovresti assicurarti che le persone responsabili della tua azienda siano consapevoli di questa vulnerabilità e ne comprendano la portata e il risultato se viene scoperta questa vulnerabilità. Puoi guardare il caso in questo link Compagnia assicurativa Columbia Casualty lawsuite

    
risposta data 10.01.2017 - 18:58
fonte

Leggi altre domande sui tag