null

Avaliação de Segurança de Código-Fonte

Descubra falhas de projeto e implementação de código de software

Visão geral

Pesquisas mostram que corrigir os problemas de segurança logo no início do ciclo de desenvolvimento é mais eficiente e econômico que o modelo de "penetrar e corrigir". Os consultores de segurança da Foundstone utilizam uma inspeção rigorosa e eficiente do código-fonte para identificar problemas prejudiciais à segurança do software logo no início do ciclo de desenvolvimento.

Embora usemos ferramentas comerciais de inspecção para ajudar a automatizar o processo, os especialistas da Foundstone verificam manualmente todos os problemas e inspecionam o código para superar as limitações das ferramentas e técnicas automatizadas que são ineficazes. Nossos consultores de segurança de aplicativos encontram violações de políticas e boas práticas, tais como algoritmos de criptografia inadequados e montagens comuns de linguagem semântica que levam a vulnerabilidades.

Temos experiência em C, C++, C #, VB.NET Java, ColdFusion, Perl, Classic ASP e PHP, trabalhando em estruturas de desenvolvimento tais como J2EE e a .NET Framework, além de desenvolvimento nas plataformas Win32 e UNIX.

A capacidade da Foundstone em avaliações de segurança de código-fonte vem dos nossos consultores de Serviço de Segurança de Software e Aplicativos (SASS), que já realizaram auditorias de código-fonte em um grande número de aplicativos de clientes e em seu próprio software. Nossos consultores de SASS já trabalharam como profissionais de desenvolvimento em sistemas comerciais de software em empresas e compreendem o processo de desenvolvimento de software, bem como por que e como as falhas de segurança são introduzidas. Nossa experiência, combinada com avançadas ferramentas automatizadas que se utilizam da análise contextual, nos permite examinar uma quantidade maior de códigos com mais rapidez, precisão e eficácia do que outros serviços de consultoria de segurança.

Principais Benefícios

Nossos relatórios detalhados fornecem informações específicas sobre vulnerabilidades, entre elas linha, locais de arquivos, o problema em si, e as soluções sugeridas. Nós apresentamos uma visão geral e estatísticas sobre seções de código, tais como a densidade de vulnerabilidades (por mil linhas de código) em áreas específicas. Também incluímos sugestões de correções estratégicas, como a criação de componentes reutilizáveis ou bibliotecas de segurança.

Metodologia

Ao examinar um aplicativo importante, começamos construindo um modelo de ameaças junto com a equipe de desenvolvimento. Esse modelo de ameaças nos ajuda a compreender o funcionamento do aplicativo, seu projeto técnico e as ameaças à segurança e contramedidas existentes. Os modelos de ameaças nos ajudam a gerenciar o tamanho da base de código para analisar um escopo muito menor, normalmente de 40% a 60% do tamanho original do código.

Armados com o modelo de ameaças e um entendimento completo da arquitetura dos aplicativos, usamos ferramentas automatizadas da Secure Software para avaliar o código em busca de bugs de segurança semântica e de linguagem. Em geral, procuramos dois tipos de problemas: falhas de projeto e erros de implementação. Entre as falhas de projeto estão idéias de projeto inadequadas que foram implementadas, tais como a escolha de uma fonte inadequada de aleatoriedade para a geração de chaves criptográficas. Entre os erros de implementação estão geralmente montagens sintáticas ou semânticas de linguagem que levam a vulnerabilidades de segurança. A Software Magazine publicou nosso trabalho e nossa metodologia de avaliação de código em vários artigos.