Ferramentas de análise estática do código fonte

Deteção de vulnerabilidades e de erros em tempo de execução

CodeSonar

O CodeSonar permite verificar a aderência do código-fonte às normas de codificação de software de"Segurança" e"Proteção", tal como exigido pelas principais normas de Segurança Funcional.

Linguagens de programação

Normas de segurança

C 2012

C++ 2008

C++ 14, 2018

Normas de segurança

C 2016

C++ 2016

O CodeSonar inclui diferentes programas que detectam potenciais erros em tempo de execução.
O CodeSonar permite-lhe verificar se o código fonte desenvolvido está em conformidade com as normas de segurança seleccionadas. Para cada norma, pode selecionar as regras que pretende verificar.
O resultado final garante uma utilização segura da linguagem de programação e a portabilidade da aplicação.

Deteção de erros em tempo de execução

  • Utilização de ponteiros nulos
  • Estouro da memória intermédia
  • Memória dinâmica não libertada
  • Problemas de conversão de tipos
  • Erros de inicialização de variáveis
  • Utilização incorrecta de funções de biblioteca
  • Deteção de loops e ciclos inválidos
  • Deteção de código morto
  • Erros de simultaneidade
  • e muitos outros ...

Características diferenciais do CodeSonar

Profundidade de análise

Um dos factores diferenciadores do CodeSonar é a capacidade de realizar uma análise profunda do código, incluindo a análise do fluxo de controlo e do fluxo de dados, permitindo obter erros que afectam diferentes funções em diferentes ficheiros.
O CodeSonar distingue entre erros e avisos de diferente gravidade. Quando um erro é identificado, é apresentada a sequência de chamadas de funções que o causam e a instrução e condição em que o erro ocorre. Isto é marcado como uma sequência de eventos.
CodeSonar encontra erros que outras ferramentas de análise de código estático não conseguem localizar.

Os caminhos e a árvore de chamadas que conduzem ao erro também podem ser apresentados.
No exemplo apresentado de um erro de inicialização de uma variável local numa função, o CodeSonar detecta que o erro ocorre em quatro caminhos de execução dos seis possíveis.

O fluxo de controlo das chamadas de função também pode ser apresentado graficamente.

Escalabilidade: análise distribuída

O CodeSonar permite a análise de repositórios de código-fonte muito grandes a um nível muito elevado de profundidade de análise através da capacidade de distribuir a análise por vários processos executados em diferentes servidores.

CodeSonar gere um processo Hub primário para análise e visualização da Web e, opcionalmente, vários processos Hub satélite. Os processos primário e secundário partilham a mesma base de dados.

Integração DevSecOpcs

CodeSonar integra-se com vários ambientes de integração contínua: Jenkings, GitLab, GitHub, etc.
O programador pode visualizar e corrigir problemas de segurança no ambiente CI/CD e aceder a informações mais detalhadas no Hub com um simples clique do rato. Em caso de deteção de erros, os defeitos podem ser abertos em ferramentas especializadas, como o Jira. O gestor de projeto ou os gestores de qualidade podem verificar o estado da segurança utilizando os relatórios incluídos no ambiente CI/CD. A carga de análise pode ser distribuída entre vários processos executados em diferentes servidores.
O CodeSonar gere um processo Hub primário para análise e visualização da Web e, opcionalmente, vários processos Hub satélite. Os processos primário e secundário partilham a mesma base de dados.

Integração com outras ferramentas

O CodeSonar integra-se com ambientes de desenvolvimento nativos, como o MS Visual Studio ou o MS Visual Studio Code, e com ambientes de desenvolvimento cruzado baseados no Eclipse.

O CodeSonar permite a utilização de diferentes compiladores cruzados para as arquitecturas PowerPC e ARM. Também fornece um assistente gráfico para definir os diferentes parâmetros de análise e capturar todas as informações necessárias para construir o executável utilizando o método de construção de cada fornecedor.
Uma vez capturadas as informações do compilador e do ligador, as opções de compilação, os directórios de inclusão e as macros do pré-processador, o CodeSonar pode analisar o código-fonte utilizando todas estas informações.

Compiladores suportados pelo CodeSonar

  • ARM Real View e Clang

  • Borland

  • Clang

  • CodeVision

  • Cósmico

  • Guerreiro do código

  • Green Hills C/C++

  • GNU C/C++

  • Keil

  • Alta tecnologia

  • IAR

  • Intel

  • Microsoft

  • MPLAB

  • QNX

  • Renesas

  • SHARC, Blackfin

  • Atribuição de tarefas

  • Texas Instruments

  • Rio Wind

CodeSonar para Java e C#

No caso de Java e C#, as aplicações desenvolvidas têm requisitos de segurança específicos para a plataforma, o sistema operativo, a base de dados e o middleware de comunicações e objectos distribuídos.

Deteção de erros de segurança

  • Injecções

  • Biscoitos

  • Palavras-passe

  • LDAP

  • Erros criptográficos

  • Referência a entidades externas

  • e muitos mais

Plataformas C# suportadas

  • MVC

  • Unidade

  • Formulários Web

  • Formulários Windows

Plataformas Java suportadas

  • Apache-CXF

  • AspectJ

  • EJB

  • JAX-RS

  • JAX-WS

  • APP

  • JSF

  • Jersey

  • RESTeasy

  • RESTlet

  • Servlet

  • primavera

  • Android

Subscrever a nossa newsletter