5G, Bassano (Zte): “La revisione del codice sorgente garanzia per la cybersecurity”

Il Direttore del Cyber Security Lab e responsabile Cyber Security Italy spiega come funziona in dettaglio il processo che conduce alla messa in sicurezza delle reti. Grazie a una serie di “Secure Coding Specification” sviluppata una rigida e rigorosa procedura per rilevare e mitigare i rischi dei prodotti

Pubblicato il 15 Set 2020

Alessandro Bassano

Direttore del Cyber Security Lab e responsabile Cyber Security Italy

offerte 5g mobile

La sicurezza informatica, per Zte, è da sempre la massima priorità che applichiamo alla R&S dei prodotti e alla fornitura di servizi. Per soddisfare tale presupposto Zte lavora in collaborazione con partner all’avanguardia nell’ambito della Cybersecurity, per introdurre nuove metodologie e perseguire il miglioramento continuo.

L’ecosistema delle telecomunicazioni è composto da vari ruoli unici e insostituibili, proprio come gli sviluppatori, i pentester e tutti quelli che collaborano al fine di irrobustire la sicurezza del codice sorgente – una rete sicura richiede che tutti gli attori collaborino per innalzare il livello della sicurezza informatica.

Nelle reti di ultima generazione (5G), i componenti sono composti da apparecchiature hardware e risorse software, controllati dal codice sorgente – scritto dagli sviluppatori – per supportare la trasmissione dati e la comunicazione di rete. Software Defined Networks (Sdn), Network Function Virtualization (Nfv), network slicing, e alcune altre innovazioni del 5G sono il risultato del codice sorgente.

Il codice sorgente, elemento fondamentale di un programma, creato dai “code developers”, contiene diversi comandi, istruzioni, variabili, commenti, loop etc, può essere sia proprietario che aperto, e molto spesso gli accordi di licenza riflettono proprio questa distinzione.

Per individuare le vulnerabilità della sicurezza, le pratiche di codifica non sicure “unsecure coding” oppure i difetti della logica di programmazione, le aziende dovranno prestare maggiore attenzione a questo importante argomento, in modo da riuscire a mitigare e ridurre i rischi per la sicurezza e supportare al meglio le funzioni aziendali critiche.

In questo contesto, la “source code review” è una best practice per garantire la sicurezza informatica del software, ed è ampiamente adottata e praticata da molti fornitori/produttori di software/firmware. Sulla base della Cert Specification and Common Weakness Enumeration (Cwe), Zte ha sviluppato una serie di “Secure Coding Specification” come una propria pratica comune di revisione del codice sorgente ancora più rigida e rigorosa che viene utilizzata come misura obbligatoria per rilevare e mitigare i rischi dei propri prodotti.

Tra le metodologie di test delle “White box”, la revisione del codice sorgente viene, sovente, utilizzata per identificare le vulnerabilità delle aree in cui le tecniche di test delle “Black Box”o delle “Grey Box” sono difficili da applicare o quando non si riescono a identificare i problemi dovuti, ad esempio, a pratiche di codifica non sicura, problemi di crittografia, eccezioni improprie, situazioni di errore non gestite, potenziali problemi logici etc.

La revisione del codice sorgente pone l’attenzione sui principi di implementazione del codice e sui dettagli di implementazione all’interno del programma. Un tale approccio è adatto a una revisione completa del codice, specialmente per quanto riguarda difetti e anomalie che possono presentarsi in scenari anomali tipo attacchi o altro. Inoltre, combinata con i “Penetration Test”, può coprire efficacemente la quasi totalità delle vulnerabilità delle applicazioni – un aspetto che è particolarmente rilevante quando si tratta di tecnologie in rapido sviluppo come il 5G.

Alcuni potrebbero ora chiedersi come viene effettuata la revisione del codice sorgente e su cosa si concentra. La revisione del codice sorgente è un processo che viene eseguito combinando controlli manuali e strumenti automatici. Gli strumenti automatici di revisione statica del codice, offrono un modo efficiente per analizzare il codice sorgente. Nel nostro ciclo di vita di sviluppo del software, per aiutare gli sviluppatori a identificare difetti o vulnerabilità utilizziamo strumenti automatici di analisi statica del codice. Successivamente con l’aiuto di un walkthrough manuale del codice, passo obbligatorio prima di finalizzare il codice sorgente, possiamo identificare la maggior parte dei falsi positivi e dei falsi negativi.

Durante la revisione manuale del codice, non è facile individuare gli errori semplicemente guardando il codice, ed è anche necessario “eseguirlo” passo-passo ed analizzarlo più attentamente. L’attività di revisione del codice consiste di varie fasi. Il processo inizia verificando che il disegno generale rifletta quanto stabilito dal progetto, ed esamina se quella parte di codice funziona esattamente come è stato progettato dagli sviluppatori, se la sua coerenza è garantita e se i principi di sicurezza “by design” e ”by default” sono stati rispettati.

Il “Cyber Security Lab”successivamente, effettua , una nuova revisione, “indipendente”, del codice sorgente. Questa è una misura di sicurezza aggiuntiva, che comprende controlli manuali “Line by Line” e l’uso di strumenti automatici per rivedere ulteriormente la qualità del codice.

Gli esperti analizzano che tutte le caratteristiche previste siano state rispettate e controllano se si verificano errori imprevisti durante l’esecuzione dei programmi. Inoltre, vengono eseguiti dei test e vengono inseriti tutti i valori possibili di input per verificare che non vengano eseguite procedure di errore che possano essere sfruttate da un aggressore. In caso di “break”, gli espertiverificano che il codice è resiliente anche contro un attacco inatteso.

All’inizio di quest’anno, il Router Operation System (ROSng), è stato sottoposto a una revisione del codice sorgente da parte di un’azienda leader nel settore della sicurezza informatica nel Cybersecurity Lab europeo di Bruxelles. Nel frattempo, sulla Elastic Network Automation Platform (Zenap) di Zte, che fornisce supporto per l’implementazione di Sdn/Nfv/5G/IoT, è stata condotta una revisione del codice sorgente in collaborazione con Netas nel Cybersecurity Lab di Roma. I risultati dei rapporti di test e le valutazioni interne e delle terze partiindipendenti hanno ispirato il team di R&S a pensare a nuova progettazione e ad ulteriore sviluppo della sicurezza,in qualità di fornitore leader il cui impegno è il miglioramento continuo dei propri prodotti e per migliorare le proprie pratiche di sviluppo del codice.

Come delineato per il piano annuale dei laboratori europei nel 2020, un certo numero di progetti di valutazione sono stati pianifiacati, mentre una parte di essi è tuttora in corso.

@RIPRODUZIONE RISERVATA

Valuta la qualità di questo articolo

La tua opinione è importante per noi!

Argomenti trattati

Aziende

Z
zte

Approfondimenti

5
5g
C
codice sorgente
C
cybersecurity
I
IoT

Articolo 1 di 2