.

Applicazioni meno vulnerabili, codice più sicuro, direttamente alla fonte
HOME / CONSULENZA

Programmazione e Sviluppo di software sicuro

La sicurezza informatica non è costituita solo da attività di risoluzione di problemi. Lo sviluppo di software sicuro garantisce un blocco preventivo delle principali falle di sicurezza, riducendo i costi successivi e la necessità di interventi a posteriori. Indispensabile per le software house, è necessaria in generale per le aziende che sviluppano internamente le proprie soluzioni.

La sicurezza informatica deve essere considerata parte integrante e costitutiva nello sviluppo di un software. Questo permette di affrontare il problema direttamente alla fonte e contrastare le vulnerabilità (bug) di natura architetturale o implementativa, spesso inconsapevolmente introdotte in un’applicazione o in un sistema durante il suo sviluppo. Una parte significativa delle vulnerabilità infatti può essere contrastata all’origine, attraverso la progettazione e lo sviluppo di software sicuro come premessa.

Come funziona lo sviluppo di software sicuro

CryptoNet Labs supporta il cliente nella definizione dei requisiti di sicurezza dell’applicazione, nell’analisi della superficie di attacco e nel threat modeling durante il design, nell’esecuzione di Static Analysis in fase di implementazione (SAST), proseguendo con i security test dinamici (DAST) e con l’indicazione di misure di hardening prima del passaggio in produzione.

In altre parole, per poter procedere alla programmazione e allo sviluppo di software sicuro è indispensabile conoscere le vulnerabilità degli ambienti e dei sistemi di sviluppo, oltre a quelle che si possono manifestare nel deployment. Con tecniche analoghe a quelle relative alla Code Review, i nostri specialisti sono in grado di prevedere e analizzare tutti i possibili problemi di sicurezza di un software in fase di sviluppo, impedendo che queste si propaghino nelle versioni pubblicate in produzione.

Un approccio flessibile derivato dalla nostra esperienza pluriennale e dalla conoscenza delle dinamiche dei team di sviluppo, nonché l’utilizzo di metodologie di riferimento (OWASP SAMM, BSIMM e PASTA) rendono efficaci i nostri interventi. Come spesso accade nella sicurezza informatica infatti, le debolezze non si manifestano nei singoli elementi della filiera di sviluppo, ma nell’interazione fra tutte le parti in gioco e negli errori che possono nascere durante le fasi di produzione, come per esempio debug e compilazione.

Come avviene l’analisi per la progettazione di software sicuro

L’evoluzione degli ambienti e delle tecniche di sviluppo porta a operare rilasci sempre più frequenti con metodologie innovative (es. Agile) e automazione spinta (tecnologie DevOps); contesti in rapida evoluzione, in cui è fondamentale introdurre misure di sicurezza sempre aggiornate. Inserendo opportuni controlli e verifiche, definiamoli “gateway”, nei diversi passaggi del ciclo di sviluppo, deployment e operations, è possibile raggiungere un livello di eccellenza che le normali filiere di revisione interna spesso non sono in grado di garantire.

CryptoNet Labs offre interventi e consulenza tecnologica per aiutare i propri clienti nello sviluppo di software sicuri (Secure Software Development Lifecycle: SSDL; DevSecOps). Questo avviene sia attraverso consulenze per il miglioramento delle procedure interne, sia attraverso verifiche tecnologiche del prodotto.

I nostri specialisti intervengono per definire quali metodi e strumenti introdurre in ogni fase del ciclo di sviluppo: la gradualità e l’accettazione delle innovazioni da parte degli sviluppatori sono elementi chiave per il risultato finale. Nelle fasi iniziali del progetto, o per tutta la durata dello sviluppo, CryptoNet Labs è in grado di fornire anche un servizio di affiancamento al team di sviluppo, per una validazione costante dei risultati ottenuti e una risoluzione tempestiva di eventuali problemi residui.

Chi ne può beneficiare

Il servizio di progettazione e sviluppo di software sicuro è consigliato per aziende sviluppatrici e software house che vogliono differenziarsi rispetto ai competitor, ma anche di aziende di altri settori che abbiano filiere interne di sviluppo e abbiano particolari esigenze in termini di sicurezza e affidabilità delle applicazioni.
Oltre a garantire la conformità con diversi standard o normative (es. ISO17001, PCI DSS, PSD2, GDPR, ecc.), lo sviluppo di software sicuro consente di rilasciare applicazioni più robuste e ottimizzare i costi, rendendo di fatto meno complesse le fasi di analisi sulla sicurezza successive al deployment e al rilascio delle applicazioni.