Fortify SCA: Análise Detalhada, Funcionalidades e Instalação Passo a Passo

O Fortify Static Code Analyzer (SCA) examina o código fonte, identificando as origens das fragilidades de segurança.

Uma análise do Fortify prioriza as questões mais urgentes e orienta os desenvolvedores sobre como corrigi-las adequadamente.

Fortify Static Code Analyzer: Uma Análise Detalhada

O Fortify Static Code Analyzer emprega diversos analisadores de vulnerabilidade, incluindo Buffer, Conteúdo, Fluxo de Controle, Fluxo de Dados, Semântico, Configuração e Estrutural. Cada um desses analisadores emprega regras personalizadas, projetadas para fornecer informações precisas e relevantes ao tipo de análise específica.

Os componentes do Fortify Static Code Analyzer incluem:

  • Fortify Scan Wizard: Uma ferramenta que permite a execução de scripts antes ou depois da análise do código.
  • Workbench de Auditoria: Um aplicativo com interface gráfica que organiza e gerencia os resultados da análise.
  • Editor de Regras Personalizadas: Uma ferramenta que permite aos desenvolvedores criar e ajustar regras de análise de acordo com suas necessidades específicas.
  • Plugin para IntelliJ e Android Studio: Este plugin apresenta os resultados da análise diretamente no ambiente de desenvolvimento integrado (IDE).
  • Plugin para Eclipse: Esta ferramenta se integra ao Eclipse, apresentando os resultados da análise diretamente no IDE.
  • Plugin para Bamboo: Coleta os resultados da análise executada como parte de um trabalho do Bamboo.
  • Plugin para Jenkins: Coleta os resultados da análise de trabalhos executados no Jenkins.

Funcionalidades do Fortify SCA

#1. Suporte a Múltiplas Linguagens

O Fortify SCA suporta uma variedade de linguagens de programação, incluindo ABAP/BSP, ActionScript, ASP (com VBScript), COBOL, ColdFusion, Apex, ASP.NET, C# (.NET), C/C++, Classic, VB.NET, VBScript, CFML, Go, HTML, Java (incluindo Android), JavaScript/AJAX, JSP, Kotlin, Visual Basic, MXML (Flex), Objective C/C++, PHP, PL/SQL, Python, Ruby, Swift, T-SQL e XML.

#2. Flexibilidade nas Opções de Implantação

  • Fortify On-Premise: Permite que as organizações tenham controle total sobre todos os aspectos do Fortify SCA.
  • Fortify On Demand: Oferece aos desenvolvedores um ambiente de trabalho no modelo de Software como Serviço (SaaS).
  • Fortify Hosted: Proporciona aos desenvolvedores o melhor dos dois mundos (On Demand e On-Premise) por meio de um ambiente virtual isolado com controle de dados.

#3. Integração Simplificada com Ferramentas de CI/CD

  • O Fortify SCA se integra facilmente aos principais IDEs, como Visual Studio e Eclipse.
  • A ferramenta se conecta com soluções de código aberto, como Sonatype, WhiteSource, Snyk e BlackDuck, oferecendo aos desenvolvedores um controle abrangente sobre suas ações.
  • O Fortify SCA também se integra a repositórios de código remotos, como Bitbucket e GitHub, verificando o código enviado em busca de vulnerabilidades e emitindo relatórios detalhados.

#4. Alertas em Tempo Real

O Fortify SCA oferece atualizações em tempo real enquanto você codifica, eliminando a necessidade de esperar até o final do processo de desenvolvimento para realizar testes. A ferramenta inclui analisadores estruturais e de configuração, projetados para oferecer velocidade e eficiência, ajudando você a produzir aplicativos seguros desde o início.

#5. Assistente de Auditoria com Tecnologia de Aprendizado de Máquina

O Assistente de Auditoria utiliza algoritmos de aprendizado de máquina para acelerar a auditoria de sistemas. Ele identifica vulnerabilidades e as prioriza com base no nível de confiança, ajudando as organizações a economizar custos de auditoria ao gerar relatórios detalhados.

#6. Flexibilidade

Os usuários têm a flexibilidade de selecionar o tipo de varredura que desejam realizar, com base em suas necessidades específicas. Por exemplo, a opção de varredura abrangente oferece verificações precisas e detalhadas, enquanto a opção de varredura rápida detecta apenas as principais ameaças.

Quais as Funções do Fortify SCA?

O Fortify SCA desempenha diversas funções em um ambiente de desenvolvimento típico. Algumas dessas funções incluem:

Testes Estáticos para um Código de Qualidade Superior

O Static Application Security Testing (SAST) auxilia na identificação de vulnerabilidades de segurança nos estágios iniciais do desenvolvimento, o que torna a correção dessas falhas mais econômica.

Essa abordagem reduz os riscos de segurança nos aplicativos, pois os testes fornecem feedback imediato sobre os problemas introduzidos no código durante o desenvolvimento.

Além disso, os desenvolvedores aprendem sobre segurança por meio dos testes de segurança estática de aplicativos, o que os capacita a produzir software seguro.

O Fortify SCA utiliza uma base de conhecimento abrangente de regras de codificação seguras e diversos algoritmos para analisar o código-fonte de aplicativos de software em busca de vulnerabilidades de segurança, explorando todos os caminhos possíveis que os dados e a execução podem seguir, para identificar vulnerabilidades e oferecer soluções eficazes.

Identificação Precoce de Problemas de Segurança

O Fortify SCA simula um compilador, lendo arquivos de código-fonte e convertendo-os em uma estrutura intermediária aprimorada para análise de segurança após uma varredura.

As vulnerabilidades de segurança são facilmente localizadas nesse formato intermediário. A ferramenta inclui um mecanismo de análise composto por diversos analisadores especializados, que aplicam regras de codificação seguras para verificar se o código viola alguma prática de codificação segura.

O Fortify SCA também oferece um construtor de regras, que permite expandir os recursos de análise estática e incluir regras personalizadas. Os resultados dessa configuração podem ser visualizados em diferentes formatos, dependendo da tarefa e do público.

Fortify Software Security Center (SSC) para Gerenciamento de Resultados

O Fortify Software Security Center (SSC) é um repositório de gerenciamento centralizado que fornece visibilidade abrangente para todo o programa de segurança de aplicativos de uma organização. Por meio do SSC, os usuários podem auditar, revisar, priorizar e gerenciar esforços de correção quando ameaças à segurança são identificadas.

O Fortify SSC oferece uma visão precisa da postura de segurança de aplicativos em uma organização. O SSC está localizado em um servidor central, mas recebe resultados de diferentes atividades de teste de segurança, desde análises dinâmicas em tempo real até análises estáticas.

Que Tipo de Análise de Código o Fortify SCA Realiza?

Uma varredura de fortificação, ao realizar análise de código, emprega conceitos do universo de invasões. Os tipos de análise que o Fortify SCA executa são:

  • Validação e representação de entrada: Problemas relacionados à validação e representação de entrada podem surgir de codificações alternativas, representações numéricas e metacaracteres. Exemplos desses problemas incluem “Buffer Overflows”, ataques de “Cross-Site Scripting” e “SQL Injection”, que ocorrem quando as entradas do usuário são consideradas confiáveis.
  • Abuso de API: O tipo mais comum de abuso de API é quando o chamador não respeita o contrato.
  • Recursos de segurança: Esta análise distingue entre segurança de software e software de segurança. A análise se concentra em problemas de autenticação, gerenciamento de privilégios, controle de acesso, confidencialidade e criptografia.
  • Tempo e estado: Os computadores podem alternar rapidamente entre diferentes tarefas. A análise de tempo e estado procura por defeitos que resultam de interações inesperadas entre threads, informações, processos e tempo.
  • Erros: O Fortify SCA verifica se os erros fornecem muitas informações a invasores em potencial.
  • Qualidade do código: Código de baixa qualidade muitas vezes leva a comportamentos imprevisíveis. Invasores podem manipular aplicativos se encontrarem códigos mal escritos.
  • Encapsulamento: Este é o processo de estabelecer limites claros. A análise pode envolver a diferenciação entre dados validados e não validados.

Download e Instalação do Fortify SCA

Antes de começar a instalação, certifique-se de:

  • Verificar os requisitos do sistema na documentação oficial.
  • Obter o arquivo de licença do Fortify. Selecione seu pacote na página de downloads do Microfocus. Procure o Fortify Static Code Analyzer, crie sua conta e obtenha um arquivo de licença do Fortify.

  • Ter o Visual Studio Code instalado ou um outro editor de código compatível.

Instalação no Windows

Fortify_SCA_and_Apps_<version>_windows_x64.exe

NB: <version> representa a versão de lançamento do software.

  • Clique em “Avançar” após aceitar o contrato de licença.
  • Escolha onde instalar o Fortify Static Code Analyzer e clique em “Avançar”.
  • Selecione os componentes a serem instalados e clique em “Avançar”.
  • Especifique usuários se estiver instalando uma extensão para o Visual Studio 2015 ou 2017.
  • Clique em “Avançar” após especificar o caminho para o arquivo fortify.license.
  • Especifique as configurações necessárias para atualizar o conteúdo de segurança. Você pode usar o servidor de atualização do Fortify Rulepack, especificando a URL como https://update.fortify.com. Clique em “Avançar”.
  • Especifique se você deseja instalar um código-fonte de exemplo. Clique em “Avançar”.
  • Clique em “Avançar” para instalar o Fortify SCA e os aplicativos.
  • Clique em “Atualizar conteúdo de segurança” após a instalação e em “Concluir” após a conclusão da instalação.

Instalação no Linux

Você pode seguir os mesmos passos para instalar o Fortify SCA em um sistema baseado em Linux. No entanto, no primeiro passo, execute o arquivo do instalador da seguinte forma:

Fortify_SCA_and_Apps__linux_x64.run

Alternativamente, você pode instalar o Fortify SCA usando o prompt de linha de comando.

Abra seu terminal e execute o seguinte comando:

./Fortify_SCA_and_Apps__linux_x64.run --mode text

Siga as instruções conforme indicado na linha de comando até concluir o processo de instalação.

Como Executar uma Varredura do Fortify

Após concluir a instalação, é hora de configurar a ferramenta para a análise de segurança.

  • Vá para o diretório de instalação e navegue até a pasta bin usando o prompt de comando.
  • Digite escapostinstall. Você pode então digitar s para exibir as configurações.
  • Configure a localidade usando os seguintes comandos:

Digite 2 para selecionar “Configurações”.

Digite 1 para selecionar “Geral”.

Digite 1 para selecionar “Localidade”.

Para o idioma, digite English: en para definir o idioma como inglês.

  • Configurar atualizações de conteúdo de segurança. Digite 2 para selecionar “Configurações” e, em seguida, digite 2 novamente para selecionar “Fortify Update”. Agora você pode usar o servidor de atualização do Fortify Rulepack, especificando a URL como https://update.fortify.com.
  • Digite sourceanalyzer para verificar se a ferramenta está totalmente instalada.

O Fortify SCA agora será executado em segundo plano, verificando todo o seu código em busca de vulnerabilidades de segurança.

Conclusão

Casos de sistemas sendo invadidos e dados comprometidos têm se tornado cada vez mais frequentes nesta era da internet. Felizmente, temos ferramentas como o Fortify Static Code Analyzer, que detecta ameaças de segurança durante a codificação, envia alertas e oferece recomendações sobre como lidar com essas ameaças. O Fortify SCA pode aumentar a produtividade e reduzir os custos operacionais quando usado com outras ferramentas.

Você também pode explorar a Análise de Composição de Software (SCA) para aumentar ainda mais a segurança de seus aplicativos.