DGERT   APCER
Relações de compromisso

Os 25 Erros de Programação Mais Perigosos


ErrosProgramação

Foi publicado recentemente o CWE/SANS Top 25 Most Dangerous Programming Errors de 2009. Trata-se de uma lista dos erros de programação mais significativos que podem conduzir a sérias vulnerabilidades do software. Estes erros ocorrem com bastante frequência, e são normalmente fáceis de detectar e de explorar. A perigosidade deste tipo de erros deve-se ao facto de permitirem frequentemente que atacantes consigam assumir o controlo do software, roubar dados, ou impedir completamente o funcionamento do software.

A lista dos 25 erros de programação mais perigosos foi elaborada com base na colaboração entre o SANS Institute, a MITRE, e um grande número de especialistas em segurança de software, tanto nos Estados Unidos, como na Europa. O objectivo da publicação da lista de erros, segundo os responsáveis, é evitar as vulnerabilidades na fonte, alertando os programadores para poderem eliminar os erros mais comuns antes do software ser entregue ao cliente final.

Ao mesmo tempo que pretende ajudar as empresas e profissionais que desenvolvem software a evitar as vulnerabilidades mais comuns que afectam a indústria de software, a publicação da lista de erros também pretende ser uma ferramenta para os clientes finais (consumidores de software), na medida em que estes poderão utilizar o conhecimento dos erros para exigirem software mais seguro.

Por outro lado, os gestores de software poderão utilizar a lista de erros como uma referência para avaliarem os seus progressos quanto à segurança do software que está sob a sua responsabilidade.

Divisão em três categorias

Os 25 erros de programação mais perigosos foram divididos por três categorias:

  • Interacção insegura entre componentes;
  • Gestão de recursos incerta;
  • Defesas permeáveis. 

A primeira categoria (interacção insegura entre componentes) inclui erros relacionados com formas inseguras de envio e recepção de dados entre componentes, módulos, programas, threads, ou sistemas separados.

A segunda categoria (gestão de recursos incerta) engloba erros relacionados com situações em que o software não gere de forma adequada a criação, utilização, transferência, ou destruição de recursos de sistema importantes.

A terceira e última categoria (defesas permeáveis) está relacionada com técnicas defensivas que são frequentemente mal utilizadas, adulteradas, ou simplesmente ignoradas.

Os três artigos desta newsletter de Janeiro de 2009 seguem esta segmentação por categorias, com os respectivos títulos a reflectirem cada uma delas. Evidentemente, não quisemos colocar em português todo o relatório, pelo que nos ficamos pela caracterização dos 25 erros de uma forma mais abreviada. Quem quiser aprofundar a questão, deverá visitar os sites das entidades responsáveis pelo trabalho (referidas atrás) ou ir directamente à fonte (http://cwe.mitre.org/top25/).

A consulta do relatório integral será útil porque fornece orientações para prevenir e mitigar cada erro, além de indicar outros erros e padrões de ataque relacionados com cada um dos principais erros da lista.

Baseado no relatório ?2009 CWE/SANS Top 25 Most Dangerous Programming Errors? de 12 de Janeiro de 2009.

Topo
Pesquisa
Agenda
Destaques