//php echo do_shortcode(‘[responsivevoice_button voice=”US English Male” buttontext=”Listen to Post”]’) ?>
Man mano che le organizzazioni passano a un approccio cloud-first, le sfide dello sviluppo di applicazioni cloud native potrebbero rallentare i cicli di sviluppo. Con quel cambiamento arriva la necessità di maggiori capacità di sicurezza, secondo un sondaggio di aprile di Tigera. In effetti, la maggior parte degli sviluppatori ha definito la sicurezza la sfida principale nei cicli di sviluppo nativi del cloud.
Gli sviluppatori stanno lottando per progettare la sicurezza nel loro software mentre devono affrontare priorità contrastanti, secondo un recente studio di Secure Code Warrior. Due terzi dei partecipanti hanno ammesso di aver lasciato regolarmente vulnerabilità ed exploit noti nel proprio codice e solo il 14% ha indicato la sicurezza delle applicazioni come una priorità assoluta.
Questo perché, sebbene vogliano fare la cosa giusta, “il loro ambiente di lavoro non rende sempre facile per loro renderlo una priorità”, ha affermato Pieter Danhieux, co-fondatore e CEO di Secure Code Warrior.

Possibili ragioni includono l’aumento della complessità del codice e la carenza di manodopera per gli sviluppatori. Anche la cultura aziendale e la metodologia di sviluppo, nonché la mancanza di competenze in materia di sicurezza, possono contribuire.
Come afferma lo studio Secure Code Warrior, “Molte organizzazioni stanno ancora impiegando metodologie di sviluppo software tradizionali mentre navigano in un panorama in continua evoluzione di rischi e richieste di sicurezza informatica”.
Tuttavia, i team di sicurezza sanno che gli approcci DevSecOps, o almeno DevOps, che enfatizzano le considerazioni sulla sicurezza all’inizio dello sviluppo del software sono fondamentali. Se eseguito correttamente, gli sviluppatori esperti in sicurezza possono “migliorare la produttività riducendo le vulnerabilità che creano rilavorazioni, mantenere la velocità di rilascio del software e garantire codice di qualità senza compromettere l’innovazione”, secondo Secure Code Warrior.
Sebbene il 41% degli sviluppatori abbia affermato che funzionalità e sicurezza sono ugualmente importanti nella loro organizzazione in generale, hanno anche affermato che le nuove funzionalità e funzionalità, le prestazioni delle applicazioni e il rispetto delle scadenze superano la sicurezza come priorità assoluta della gestione.
“Il nostro studio mostra che gli sviluppatori sono in realtà molto concentrati sulla rielaborazione e non necessariamente sulle nuove funzionalità, o sulla creazione di nuove funzionalità in modo sicuro”, ha detto a EE Times Matias Madou, CTO di Secure Code Warrior. “I loro clienti finali richiedono nuove funzionalità e presuppongono che la qualità sia un dato di fatto. Quindi gli sviluppatori si concentrano sul rendere i prodotti migliori, più veloci, più snelli e non sulla sicurezza come priorità assoluta”.

(Fonte: Secure Code Warrior) (Clicca sull’immagine per ingrandire)
Spostare il codice di sicurezza a sinistra non è facile

I primi tre ostacoli che impediscono l’integrazione di codice sicuro nelle prime fasi del ciclo di sviluppo (spostamento a sinistra) sono la mancanza di tempo, pianificazione e definizione delle priorità.
La mancanza di tempo può essere direttamente correlata alla carenza di manodopera. “Non ci saranno mai abbastanza persone per la sicurezza”, ha detto Madou. “Per la sicurezza del software, l’unico modo per uscire da questo schema è assicurarsi che gli sviluppatori facciano parte della storia della sicurezza”.
Sia gli sviluppatori che i team di sicurezza ottengono le loro priorità e indicazioni dal management, ha detto a EE Times Jon Jarboe, direttore del marketing di prodotto di Cycode.
“Una cosa che questo rapporto rivela è che spesso non sono allineati: le priorità del team di sicurezza possono essere in contrasto con le priorità del team di sviluppo. Quindi gli sviluppatori potrebbero essere costretti a scegliere tra obiettivi di sviluppo e sicurezza”.
Quasi due terzi degli intervistati ha affermato che è difficile scrivere codice sicuro privo di vulnerabilità. Strumenti e formazione sono stati citati più spesso come principali esigenze di sicurezza durante tutto il ciclo di vita dello sviluppo.
Ma gli strumenti di sicurezza sono più spesso progettati per i team di sicurezza che per gli sviluppatori, quindi possono essere più dirompenti che utili, ha affermato Jarboe. “Anche questi strumenti di sicurezza devono essere progettati per gli sviluppatori. La maggior parte delle società di sicurezza sta probabilmente affrontando questo problema ora, ma i loro progressi o il successo nel farlo variano”.
Anche il punto in cui gli strumenti vengono utilizzati nel processo di sviluppo è importante. L’esecuzione di strumenti di test appena prima del rilascio del prodotto non consentirà di avere abbastanza tempo per risolvere tutti i problemi. Il modo in cui vengono utilizzati gli strumenti di sicurezza e dove vengono utilizzati nello sviluppo deve cambiare, ha spiegato Jarboe.
Il rapporto rileva inoltre che gli sviluppatori affermano che le loro aziende si affidano a codice e strumenti di sicurezza esistenti o pre-approvati, che possono affrontare solo vulnerabilità note, invece di utilizzare le competenze necessarie per scrivere codice nuovo e privo di vulnerabilità.

Codice, ambienti di sviluppo sempre più complessi
La crescente complessità sia del codice che degli ambienti di sviluppo è sicuramente un problema, ha affermato Madou.
“Se si chiede su cosa lavorano gli sviluppatori, si tratta di qualità del codice e di semplificare le cose”, ha affermato. “Le priorità principali che hanno elencato durante la scrittura del codice sono la qualità del codice e la riduzione del debito tecnico, con lo stesso numero che afferma che la loro priorità assoluta sono le prestazioni dell’applicazione”.
La crescente complessità dell’ambiente è in parte dovuta al fatto che gli sviluppatori continuano a lavorare in linguaggi e ambienti vecchi e nuovi. Secure Code Warrior, ad esempio, offre formazione in 60 linguaggi e framework diversi.
“La complessità del software è decisamente aumentata con il passaggio al cloud-native, poiché le applicazioni si sono spostate verso i microservizi”, ha affermato Jarboe. “Questi vengono ora sviluppati da diversi team che devono comunicare tra loro e con il team di sicurezza, il che può essere difficile e aumentare la complessità all’interno dell’azienda”.
Tutto ciò pone l’accento sulla cultura aziendale. “Quindi, per avere successo, la cultura dell’organizzazione deve cambiare il modo in cui le cose sono sempre state fatte”, ha detto Jarboe.
Eppure questi cambiamenti sono particolarmente difficili ora a causa di tutte le trasformazioni parallele che gli sviluppatori hanno dovuto affrontare, inclusi DevOps e movimenti agili, nonché la pandemia.
Una cosa che può aiutare è una rete di sicurezza automatizzata, o guardrail. “Privo di [these], gli sviluppatori non possono sempre risolvere il problema alla velocità necessaria per rispettare le scadenze”, ha affermato Jarboe. “Ma se hai test automatici che ti dicono quando il tuo codice è rotto, puoi concentrarti sulla correzione delle cose piuttosto che preoccuparti di rompere le cose”.
La necessità di formazione e riqualificazione
Gli sviluppatori hanno fornito risposte contrastanti sulla necessità di una maggiore formazione. Sebbene la maggior parte abbia valutato la precedente formazione sul codice sicuro come buona o eccellente, il 92% degli intervistati ha affermato che gli altri membri del proprio team richiedono più formazione sui framework di sicurezza.
Anche se il codice che contiene vulnerabilità è ancora disponibile, l’81% ha affermato di applicare regolarmente formazione sulla sicurezza al proprio lavoro. Eppure solo il 43% ha affermato che la formazione è altamente rilevante per il proprio lavoro e più della metà ha segnalato una mancanza di familiarità con le vulnerabilità software comuni, come sfruttarle e metodi per evitarle.
“Le organizzazioni non danno sempre il tempo agli sviluppatori di migliorare se stessi”, ha detto Madou. “La scadenza del progetto è spesso ieri, quindi devono sfornare nuove funzionalità e funzioni e non pensare alla sicurezza, ma concentrarsi solo sugli obiettivi a breve termine dell’organizzazione”.
Ci vogliono in media circa due anni da quando una vulnerabilità viene creata nel codice a quando viene trovata. Di conseguenza, le organizzazioni che desiderano la sicurezza del software come obiettivo devono pianificare anni in anticipo, ha spiegato Madou. “Devono anche considerare le competenze e la formazione delle nuove persone che entrano a bordo”.
Spesso gli sviluppatori non sono in grado di articolare cosa significhi effettivamente la codifica sicura. Questo perché ci sono poche lezioni nei programmi universitari su come creare codice sicuro.
“Perché migliorare te stesso nella programmazione? Perché all’inizio del ciclo di sviluppo si commettono errori, lo fanno tutti”, ha detto Madou. “È solo alla fine del ciclo che ti rendi conto che il tuo codice ha un impatto sulla sicurezza e può essere utilizzato in modo improprio. Quindi, se impari a scrivere codice sicuro, sarai visto come un buon sviluppatore. Nel rapporto, la maggior parte dei manager afferma di volere competenze di sicurezza quando assume nuovi sviluppatori”.