Introdurre la security nelle best practice di (Azure) DevOps

di Matteo Tumiati, in ,

Il software che scriviamo al giorno d'oggi è quasi certamente più complesso di quello che ci siamo trovati a scrivere nell'arco degli ultimi dieci anni. Le tecnologie evolvono, per cui può essere normale oggi trovarsi a scrivere comunque API, ad esempio, ma avere allo stesso tempo a che fare con sistemi come Docker, Kubernetes, pipeline di CI/CD e così via.

Pratiche relative a DevOps, come abbiamo visto negli articoli precedenti, stanno sempre di più prendendo piede e, come spesso accade, queste vengono confuse e/o riassunte solamente nella possibilità di rilasciare più velocemente il codice sorgente verso un determinato ambiente così che sia fruibile dai nostri utenti. Sebbene queste pratiche siano comunque un ottimo modo per iniziare ad approcciare questa nuova “modalità di lavoro", non dobbiamo dimenticarci di un aspetto importante nello sviluppo software: la security.

Come possiamo rendere il nostro sistema sicuro e compliant con le policy fornite dall'organizzazione con cui stiamo lavorando e allo stesso tempo ridurre i tempi di analisi da giorni, settimane o addirittura mesi, per integrare la security all'interno dei nostri cicli di sviluppo più agili, così da verificare il tutto nel processo di CI/CD che abbiamo impostato? Cercheremo di dare una risposta a questo quesito all'interno dell'articolo, dandoci una mano con alcuni tool che ci forniscono supporto nel raggiungere questo obiettivo.

Synopsys è una società che è cresciuta tramite l'acquisizione di diverse aziende che si occupano, fra le altre cose, di static code analysis, interactive application security testing (IAST) e anche di software composition analysis. Dall'acquisizione di queste aziende sono nati dei prodotti che oggi conosciamo come il nome di Coverity, per la SAST, Seeker per IAST e Black Duck per quanto riguarda la compliance applicativa in termini di sicurezza dei componenti di terze parti.

Queste tre applicazioni, però, sebbene siano e possano essere utilizzate indipendentemente (di fatto ognuna di esse richiede una licenza specifica), ad oggi sono distribuite anche a livello di cloud come servizio gestito tramite la piattaforma Polaris che non solo integra tutti i servizi offerti, ma dà anche la possibilità di avere una visione d'insieme per fare un risk assessment a livello globale di un determinato progetto, piuttosto che scaricare un risk report strutturato in base alle esigenze o, ancora, applicare policy di security a livello di intera organizzazione per forzare il controllo.

Tutti questi prodotti, come vedremo a breve, si integrano perfettamente in Azure DevOps, tramite Polaris, ma non solo. Di fatto, l'integrazione arriva fino alla fase in cui il software viene sviluppato dai vari engineer sul progetto, tramite:

  • estensioni di Visual Studio (o di qualsiasi altro editor di riferimento);
  • un sistema di e-learning, distribuito come servizio a parte, in cui possiamo capire più nel dettaglio come mai Synopsys ha rilevato determinate issue e come sia possibile, potenzialmente, applicare una risoluzione ad esse.

Sebbene l'articolo possa sembrare una presa di posizione nei confronti di questa azienda, ci teniamo a sottolineare che non è assolutamente così. Sul mercato, infatti, esistono molteplici strumenti che ci permettono di identificare issue di security o di compliance applicativa, piuttosto che di effettuare static code analysis (pensiamo a SonarQube/SonarCloud). Tuttavia, questi sistemi spesso non sono perfettamente integrati in Azure DevOps (o in altri sistemi di CI/CD), richiedono conoscenze approfondite degli argomenti di cui trattano e, purtroppo, raramente ci permettono di avere una visione d'insieme dello stato del progetto, cosa che invece Synopsys riesce a garantirci. Inoltre, Synopsys è da svariati anni azienda leader, secondo Gartner, per quanto riguarda il mondo dell'application security testing, per cui è assolutamente affermata nel settore e non ha di certo bisogno di referenze.

Vediamo ora, entrando un po' più nel dettaglio, come funzionano i vari strumenti messi a disposizione da Synopsys e come integrarli nel lifecycle delle nostre applicazioni.

5 pagine in totale: 1 2 3 4 5
Contenuti dell'articolo

Commenti

Visualizza/aggiungi commenti

| Condividi su: Twitter, Facebook, LinkedIn

Per inserire un commento, devi avere un account.

Fai il login e torna a questa pagina, oppure registrati alla nostra community.

Approfondimenti

Top Ten Articoli

Articoli via e-mail

Iscriviti alla nostra newsletter nuoviarticoli per ricevere via e-mail le notifiche!

In primo piano

I più letti di oggi

In evidenza

Misc