Idee su come evitare che il codice dannoso entri in produzione, specialmente in caso di ambienti SAAS

3

Poiché al giorno d'oggi SAAS sta diventando un modo popolare di sviluppare e distribuire le applicazioni, e ho appena iniziato a lavorare in un'azienda che fornisce la soluzione SaaS per i servizi di autorizzazione dei pagamenti.

Da alcuni giorni, ho pensato a cosa sarebbe successo se qualche sviluppatore "insoddisfatto / arrabbiato" scrivesse un codice malevolo (diciamo cancellando la tabella delle transazioni!) che si sarebbe attivato in un determinato momento (in modo che non venisse catturato durante il processo di test) e può creare confusione per qualsiasi applicazione SAAS critica in qualsiasi momento. Qualsiasi buona offerta SAAS viene fornita con una strategia di backup appropriata e, pertanto, il ripristino dei dati potrebbe essere possibile fino a un certo limite, ma ostacolerebbe seriamente la disponibilità del sistema e, a sua volta, l'immagine con i clienti.

A volte penso che questo possa essere controllato tramite revisioni del codice, ma ho visto che la maggior parte delle volte le revisioni del codice non vengono eseguite correttamente e tale logica malevola può essere mascherata dietro alcune complicate manipolazioni di stringhe.

Quindi sto solo portando i miei pensieri alla comunità per alcune buone idee, che potrebbero essere implementate nel processo di sviluppo per cogliere queste attività dannose nelle fasi iniziali.

P.S. : A volte, anche se sono uno sviluppatore insoddisfatto / arrabbiato, ma non farei mai cose così poco etiche come un amante della codifica.

    
posta jatanp 07.08.2011 - 08:00
fonte

1 risposta

4

Stai cercando di risolvere un problema umano con la tecnologia

Un approccio migliore consiste nell'assicurare che le revisioni del codice vengano eseguite in modo responsabile. Altri sviluppatori non vorranno dover sopportare il peso del codice malevolo degli sviluppatori originali, quindi segnaleranno rapidamente questo tipo di problemi. Qualsiasi comportamento di "manipolazione di stringhe complesse" dovrebbe essere spiegato in dettaglio e dovrebbe mostrarsi rapidamente.

Fatto bene, una revisione del codice è piacevole sia per l'autore del codice che per i revisori. Tutti i consueti requisiti tecnici di individuazione dei bug e di documentazione possono essere fatti automaticamente (pensate a Findbugs, PMD, CPD, ecc.) Lasciando solo le interessanti discussioni sulla progettazione e l'implementazione.

    
risposta data 07.08.2011 - 08:28
fonte

Leggi altre domande sui tag