In the development of industrial software products, adherence to certain standards, first and foremost security standards, is essential to ensure not only the quality of the software but also to make sure that the software is not a vehicle for the introduction of security flaws into the systems that host it. The modern software industry routinely involves the use of third-party libraries and software components for integration into its programs. This code is often shared publicly through opensource repositories (and practices). However, in using this code, one usually sets out to adopt it to fulfill the functional needs necessary for the systems it becomes part of, without taking into account its security details and requirements. A key aspect of producing quality software is therefore to have the ability to analyze and evaluate the security of these libraries before and after they are inserted within one's code (and software). Gruppo SIGLA as a software company has a primary interest in ensuring according to industry standards the quality of the code produced by its projects. In particular, Gruppo SIGLA wants to implement a static code safety analyzer (e.g., third-party library safety analysis) and auto-correction suggestion tools to support its engineers in meeting specific code quality requirements, in terms of safety. In addition, it is important to understand the state of the art, identify and define appropriate metrics for evaluating each of the code safety parameters under consideration. Once defined, it will also be necessary to implement and validate the algorithms for calculating these metrics. Ultimately, the goal is to implement the designed analysis tools in an "analyzer" module that can eventually be integrated within development environments (IDEs) to more nimbly support the work of developers. In the first instance, one can think of integrating the analyzer as a Visual Studio 2022 Community Edition plugin with the possibility, later, of it being easily integrated into other IDEs, such as Visual Studio Code.

Nello sviluppo di prodotti software di tipo industriale il rispetto di determinati standard, innanzitutto di sicurezza, è essenziale per garantire non solo la qualità del software ma anche per fare in modo che quest’ultimo non sia veicolo per l’introduzione di falle di sicurezza nei sistemi che lo ospitano. La moderna industria del software prevede, come pratica di routine, l’utilizzo di librerie e componenti software di terze parti da integrare nei propri programmi. Questo codice è spesso condiviso pubblicamente tramite repository (e pratiche) opensource. Tuttavia, nell’utilizzo di questo codice di solito ci si propone di adottarlo per assolvere alle necessità funzionali necessarie ai sistemi di cui entra a fare parte, senza tenerne in considerazione dettagli e requisiti di sicurezza. Un aspetto fondamentale per produrre software di qualità è quindi avere la possibilità di analizzare e valutare la sicurezza di queste librerie prima e dopo che vegano inserite all’interno del proprio codice (e del proprio software). Gruppo SIGLA in quanto azienda produttrice di software ha un precipuo interesse nel garantire secondo standard industriali la qualità del codice prodotto dai suoi progetti. In particolare, Gruppo SIGLA vuole implementare un analizzatore di sicurezza statica del codice (ad es. analisi sicurezza librerie di terze parti) e strumenti di suggerimento di correzione automatica per supportare i suoi tecnici nel rispetto di specifici requisiti di qualità del codice, in termini di sicurezza. Inoltre, è importante comprendere lo stato dell’arte, individuare e definire adeguate metriche di valutazione di ciascuno dei parametri di sicurezza del codice presi in considerazione. Una volta definite sarà inoltre necessario implementare e validare gli algoritmi di calcolo di suddette metriche. Da ultimo l’obiettivo è quello di implementare gli strumenti di analisi progettati in un modulo “analizzatore” che possa essere infine integrato all’interno di ambienti di sviluppo (IDE) per supportare più agilmente il lavoro degli sviluppatori. In prima battuta, si può pensare all’integrazione dell’analizzatore come plugin di Visual Studio 2022 Community Edition con la possibilità, a seguire, di essere facilmente integrato in altri IDE, come ad es. Visual Studio Code.

Metodologie di Supporto allo Sviluppo di Codice Sicuro

VICENTINI, ENRICO
2021/2022

Abstract

In the development of industrial software products, adherence to certain standards, first and foremost security standards, is essential to ensure not only the quality of the software but also to make sure that the software is not a vehicle for the introduction of security flaws into the systems that host it. The modern software industry routinely involves the use of third-party libraries and software components for integration into its programs. This code is often shared publicly through opensource repositories (and practices). However, in using this code, one usually sets out to adopt it to fulfill the functional needs necessary for the systems it becomes part of, without taking into account its security details and requirements. A key aspect of producing quality software is therefore to have the ability to analyze and evaluate the security of these libraries before and after they are inserted within one's code (and software). Gruppo SIGLA as a software company has a primary interest in ensuring according to industry standards the quality of the code produced by its projects. In particular, Gruppo SIGLA wants to implement a static code safety analyzer (e.g., third-party library safety analysis) and auto-correction suggestion tools to support its engineers in meeting specific code quality requirements, in terms of safety. In addition, it is important to understand the state of the art, identify and define appropriate metrics for evaluating each of the code safety parameters under consideration. Once defined, it will also be necessary to implement and validate the algorithms for calculating these metrics. Ultimately, the goal is to implement the designed analysis tools in an "analyzer" module that can eventually be integrated within development environments (IDEs) to more nimbly support the work of developers. In the first instance, one can think of integrating the analyzer as a Visual Studio 2022 Community Edition plugin with the possibility, later, of it being easily integrated into other IDEs, such as Visual Studio Code.
2021
Methodologies to support the development of secure code
Nello sviluppo di prodotti software di tipo industriale il rispetto di determinati standard, innanzitutto di sicurezza, è essenziale per garantire non solo la qualità del software ma anche per fare in modo che quest’ultimo non sia veicolo per l’introduzione di falle di sicurezza nei sistemi che lo ospitano. La moderna industria del software prevede, come pratica di routine, l’utilizzo di librerie e componenti software di terze parti da integrare nei propri programmi. Questo codice è spesso condiviso pubblicamente tramite repository (e pratiche) opensource. Tuttavia, nell’utilizzo di questo codice di solito ci si propone di adottarlo per assolvere alle necessità funzionali necessarie ai sistemi di cui entra a fare parte, senza tenerne in considerazione dettagli e requisiti di sicurezza. Un aspetto fondamentale per produrre software di qualità è quindi avere la possibilità di analizzare e valutare la sicurezza di queste librerie prima e dopo che vegano inserite all’interno del proprio codice (e del proprio software). Gruppo SIGLA in quanto azienda produttrice di software ha un precipuo interesse nel garantire secondo standard industriali la qualità del codice prodotto dai suoi progetti. In particolare, Gruppo SIGLA vuole implementare un analizzatore di sicurezza statica del codice (ad es. analisi sicurezza librerie di terze parti) e strumenti di suggerimento di correzione automatica per supportare i suoi tecnici nel rispetto di specifici requisiti di qualità del codice, in termini di sicurezza. Inoltre, è importante comprendere lo stato dell’arte, individuare e definire adeguate metriche di valutazione di ciascuno dei parametri di sicurezza del codice presi in considerazione. Una volta definite sarà inoltre necessario implementare e validare gli algoritmi di calcolo di suddette metriche. Da ultimo l’obiettivo è quello di implementare gli strumenti di analisi progettati in un modulo “analizzatore” che possa essere infine integrato all’interno di ambienti di sviluppo (IDE) per supportare più agilmente il lavoro degli sviluppatori. In prima battuta, si può pensare all’integrazione dell’analizzatore come plugin di Visual Studio 2022 Community Edition con la possibilità, a seguire, di essere facilmente integrato in altri IDE, come ad es. Visual Studio Code.
Code security
Static Analysis
Code Fix
Visual Studio
C#
File in questo prodotto:
File Dimensione Formato  
Vicentini_Enrico.pdf

accesso aperto

Dimensione 1.81 MB
Formato Adobe PDF
1.81 MB Adobe PDF Visualizza/Apri

The text of this website © Università degli studi di Padova. Full Text are published under a non-exclusive license. Metadata are under a CC0 License

Utilizza questo identificativo per citare o creare un link a questo documento: https://hdl.handle.net/20.500.12608/40268