LSVerifier: a BMC approach to identify security vulnerabilities in C open-source software projects

Carregando...
Imagem de Miniatura

Coorientador(es)

Lima Filho, Eddie Batista de

Membros da banca

Becker, Leandro Buss
Barreto, Raimundo da Silva

Título da Revista

ISSN da Revista

Título de Volume

Editor

Universidade Federal do Amazonas

Direito de acesso

DOI

Resumo

This research advances the field of software vulnerability analysis by highlighting the critical role of software validation and formal verification techniques in developing systems with high dependability and reliability. A particular focus is placed on addressing the prevalent issue of memory safety properties in C software. We introduce LSVerifier, an innovative tool that utilizes the Bounded Model Checking (BMC) technique to uncover security vulnerabilities within C open-source software efficiently. LSVerifier stands out by not only identifying vulnerabilities but also producing a comprehensive report that outlines detected software weaknesses, thereby serving as a resource for developers aiming to enhance software security. Our experimental evaluation showcases the tool's effectiveness in scrutinizing large software systems while maintaining low peak memory usage. We applied LSVerifier to twelve open-source C projects, successfully detecting real software vulnerabilities that were later acknowledged and confirmed by the developers. The results of this study highlight the potential of LSVerifier as a crucial tool in the ongoing efforts to protect open-source software from vulnerabilities.

Abstract

Esta pesquisa avança o campo da análise de vulnerabilidades de software, destacando o papel crítico das técnicas de validação e verificação formal de software no desenvolvimento de sistemas com alta dependabilidade e confiabilidade. O estudo enfoca nas propriedades de segurança da memória em software C. Introduzimos o LSVerifier, uma ferramenta inovadora que utiliza a técnica de Bounded Model Checking (BMC) para identificar vulnerabilidades de segurança em software de código aberto em C. O LSVerifier destaca-se não apenas por identificar vulnerabilidades, mas também gera um relatório detalhado das potenciais vulnerabilidades detectadas. Nossa avaliação experimental demonstra a eficácia da ferramenta na inspeção de grandes sistemas de software enquanto mantém um uso baixo de memória. Aplicamos o LSVerifier a doze projetos de C de código aberto, detectando com sucesso vulnerabilidades reais de software que foram posteriormente reconhecidas e confirmadas pelos desenvolvedores. Os resultados deste estudo destacam o potencial do LSVerifier como uma ferramenta chave no esforço contínuo para proteger o software de código aberto contra vulnerabilidades.

Descrição

Termo controlado

Software gratuito; Software - Proteção

Objetivos de Desenvolvimento Sustentável (ODS)

Citação

SOUSA, Janislley Oliveira de. LSVerifier: a BMC approach to identify security vulnerabilities in C open-source software projects. 2023. 95 f. Dissertação (Mestrado em Engenharia Elétrica) - Universidade Federal do Amazonas, Manaus (AM), 2023.

Avaliação

Revisão

Suplementado Por

Referenciado Por

Licença Creative Commons

Exceto quando indicado de outra forma, a licença deste item é descrita como Acesso Aberto