Approccio migliore per la formazione della codifica di sicurezza

2

Per addestrare il team di sviluppo, ci sono varie opzioni che si possono fare: presentazione inhouse con esempi di codice, CBT in modo che gli sviluppatori lo facciano al loro meglio, corsi guidati da istruttori in loco o interni (costosi), utilizzando basi di conoscenza come link

Abbiamo inviato uno sviluppatore a un corso molto costoso, è tornato, ma non è improvvisamente un esperto, e il resto non ha beneficiato della sua conoscenza. Scommetto che ha dimenticato tutto ora.

Mi chiedo, come otterresti i migliori risultati e il coinvolgimento degli sviluppatori? Posso immaginare se diamo loro un sacco di video e CBT da guardare, non lo prenderanno sul serio. Pensi che assegnare ad ogni sviluppatore un tipo di attacco e chiedergli di ricercare e trovare le migliori pratiche di difesa e i campioni di codice e presentarli al resto li coinvolga o li scoraggi?

    
posta Goli E 10.01.2015 - 00:00
fonte

3 risposte

2

Ci sono alcune cose che ho visto avere un buon successo.

Standard per gli sviluppatori - Questo include cose come librerie da usare, cifrari e punti di forza da usare, informazioni sui test per l'igienizzazione degli input, ecc. La chiave qui è lavorare a stretto contatto con i leader in l'organizzazione di sviluppo

Finché i dati sono aggiornati, accurati e ben messi insieme risparmiano molto tempo agli sviluppatori. Ciò consentirà ai tuoi sviluppatori di dedicare il tempo a pensare a configurazioni di sicurezza predeterminate e di concentrarsi sulla risoluzione dei problemi per cui sono realmente lì. Questo è anche molto utile in quanto ci vuole meno tempo per i nuovi sviluppatori per essere veramente alla velocità.

Hacking Challenges - Questi possono richiedere molto settaggio, ma come ha detto schroeder, sfidare gli sviluppatori a risolvere i puzzle può essere un modo divertente per imparare. È possibile installare un sistema vulnerabile a una vulnerabilità relativamente comune e sfidare gli sviluppatori a ottenere alcuni tipi di dati che non dovrebbero fare. Quale lingua / piattaforma / sistema operativo ecc. Dipende un po 'da cosa sono i tuoi sviluppatori.

Analisi statica : sviluppa buoni strumenti di analisi statica ed esporti i risultati ai tuoi sviluppatori. Aiutali a imparare a interpretarli in modo che possano scrivere un codice più sicuro. Questo è potenzialmente un sacco di lavoro, ma ripaga a seconda di quanti sviluppatori devi allenarti.

Campioni della sicurezza - Proprio come con qualsiasi altro argomento, alcuni sviluppatori sono più affascinati dalla sicurezza di altri. Trova queste persone nei vari team, invia loro informazioni specifiche, assicurati di segnalare strani problemi di sicurezza a te, ecc. Potresti potenzialmente insegnare loro un uso più avanzato degli strumenti di sicurezza e dare loro almeno una conoscenza di base del controllo del codice in modo che possano aiuta a rivedere il codice della squadra. Dagli magliette, piccoli premi e altri riconoscimenti e, sempre, assicurati sempre di ringraziarli. :)

    
risposta data 10.01.2015 - 01:52
fonte
1

Penso che la sicurezza web sia riassunta in questa frase:

Don't Trust any data received from the client...!

1) Mentre i tuoi sviluppatori cercano di attenersi a questa regola, capiranno alcuni attacchi basati su parametri come SQLI e XSS ...

2) Dopo di ciò, avranno bisogno di conoscere bene la loro struttura e dovrebbero diventare esperti nella loro lingua, struttura e le sue caratteristiche e abilità.

Man mano che raggiungono entrambe le abilità che ho menzionato sopra, diventeranno esperti di indurimento specialista nel loro campo ...!

Il problema con questo percorso è che ci vuole tempo ... Uno sviluppatore diligente ha bisogno di studiare e praticare almeno un anno in modo che lui / lei possa mitigare gli attacchi efficaci e affidabili.

Penso che non ci sia bisogno di corsi costosi o di materiale didattico. Ci sono molte grandi risorse e riferimenti come CVE , CWE , CAPEC , OWASP e WASC che presenta informazioni didattiche o classificazioni delle minacce che puoi utilizzare gratuitamente ...

    
risposta data 11.01.2015 - 06:57
fonte
0

Il modo migliore per addestrare uno sviluppatore? Dare loro un puzzle per risolvere gli strumenti per farlo:

Offri loro il miglior allenamento che puoi permetterti, ma poi ricompensali per trovare / infrangere il codice del tuo pari usando ciò che hanno imparato. Li troverai motivati ad apprendere e ad applicare le loro conoscenze.

    
risposta data 10.01.2015 - 00:59
fonte

Leggi altre domande sui tag