Qual è il modo più economico per soddisfare il requisito PCI 6.5, la formazione degli sviluppatori?

0

Siamo una piccola azienda che sta diventando sempre più sotto pressione per essere un reclamo PCI.

Il nostro prodotto principale è un'API che trasferisce i dati dei titolari di carta tra un cliente e un fornitore. Sono in procinto di ottenere il reclamo PCI DSS dell'azienda.

Il problema che ho è che non vogliamo spendere un sacco di soldi per la formazione degli sviluppatori. PCI DSS Recruitment 6.5: "Verificare che i processi richiedano una formazione in tecniche di codifica sicure per gli sviluppatori, sulla base delle migliori pratiche e linee guida del settore."

Qual è il modo più conveniente per soddisfare questo requisito?

    
posta Rup 31.07.2012 - 17:16
fonte

3 risposte

4

La sicurezza si comporta come qualsiasi altra proprietà di qualità :

Se il tuo software non è affidabile e causa danni al tuo cliente, potresti essere citato in giudizio per il risarcimento dei danni e / o ottenere cattiva copertura della stampa. Lo stesso identico è vero per i problemi di sicurezza.

Proprio come altre proprietà di qualità, l'utilizzo di un'enorme quantità di denaro per eventi una tantum non ha probabilmente un effetto duraturo. Garantire la qualità a lungo termine richiede strutture che lo supportano.

Per essere più concreti: una formazione di sicurezza generale di 3 giorni per tutti gli sviluppatori può essere piuttosto costosa, ma probabilmente non è un modo efficace per spendere i soldi.

Un approccio a lungo termine può essere questo: nominare un piccolo numero di esperti di sicurezza ed educarli (ad esempio permettendogli di visitare i corsi, ottenere una consulenza esterna, ...). Questo gruppo sarà

  • identifica gli aspetti di sicurezza che sono importanti per i loro colleghi sviluppatori (per esempio uno sviluppatore di applicazioni Web che utilizza Java dovrebbe concentrarsi su OWASP invece che su buffer overflow)
  • supporta il gruppo di sviluppo dell'architettura per ridurre al minimo il rischio di errori relativi alla sicurezza
  • insegna ai colleghi sviluppatori sugli aspetti di sicurezza basati sull'architettura concreta in uso nella loro azienda
  • fai recensioni su codice
  • incoraggiare le discussioni sugli aspetti di sicurezza.

Lasciatemi fare un esempio: un'azienda sviluppa un'applicazione web utilizzando il framework basato su componenti di Java Server Faces. In JSF, i componenti dell'interfaccia utente generano codice HTML e JavaScript. Quindi gli sviluppatori di componenti devono essere a conoscenza di XSS e sfuggire a tutti gli input.

Gli sviluppatori di funzioni aziendali utilizzano questi componenti dell'interfaccia utente. Non hanno bisogno di scrivere codice HTML, quindi non hanno bisogno di uscire dall'input (e non possono farlo perché l'escaping è l'attività dei componenti). Tuttavia, gli sviluppatori di funzioni aziendali devono capire come utilizzare i componenti in modo sicuro (ad esempio non generare codice HTML da soli aggirando i componenti).

    
risposta data 31.07.2012 - 20:22
fonte
2

Non sono d'accordo con la dicitura di molti dei commenti sopra, ma non il sentimento. Gli errori di codifica degli sviluppatori sono la fonte della maggior parte dei problemi. Detto questo, anche gli sviluppatori esperti di sicurezza sono caduti giù (altrimenti non avremmo dovuto applicare patch ai sistemi operativi MS ogni mese, vero?)

(Tuttavia, ritengo anche che la portata della domanda sia troppo ampia, e per questo probabilmente la chiuderai finché non verrà modificata per adattarla ulteriormente al modello qui su Sec.SE.)

Ci sono molte domande simili sul forum che suggeriscono le "migliori pratiche", le prime 10 liste (come OWASP), ecc. che possono costituire il nucleo di una sessione di allenamento mirata e orientata allo sviluppatore. I tuoi sviluppatori senior o il responsabile dello sviluppo sarebbero la persona giusta per guidare questo. Potrebbe essere necessario portare aiuto esterno per creare un programma di allenamento appropriato. Può essere fatto in modo relativamente economico, a seconda di quanto siano indipendenti i tuoi sviluppatori. La maggior parte degli sviluppatori che conosco apprezzerebbero la possibilità di aggiungere più abilità ed esperienze statiche al loro repertorio (i linguaggi e le strutture vanno e vengono, ma la sicurezza mentale dura ancora). Non è necessario inviarli tutti sul corso SANS.

Potresti scoprire che un modello "Train-the-trainer" (TTT) funziona bene per te. L'allenamento gerarchico è sempre più economico di educare formalmente tutti.

Tuttavia, chiudo dicendo che il sentimento nei commenti è giusto. "Insegna a un uomo a pescare ..." e tutto il resto.

    
risposta data 31.07.2012 - 19:07
fonte
1

Tutto quello che devi fare è andare su SDL link

Semplicemente integrando questo processo con il team di sviluppo, si sono ordinati.

    
risposta data 01.08.2012 - 00:35
fonte

Leggi altre domande sui tag