Desenvolvimento de software seguro e a prova de balas em C++

4 02 2007

 

Sergei Sokolov escreveu um artigo [1] bem interessante para o Dr. Dobbs Journal, com técnicas que melhoram a estabilidade e reduzem o risco de erros em programação C++. Apesar de algumas dicas já serem de conhecimento dos programadores mais experientes, é sempre válido divulgar este tipo de iniciativa.

E num exercício de comprovação, resolvi fazer umas pesquisas no Google Code [3] para ver quantos dos problemas apontados pelo Sergei eu encontraria e cheguei a conclusão que o problema era bem pior; parece que muitos programadores C++ não sabem absolutamente nada de programação segura.

Neste exercício acabei vendo vários exemplos do que “não se deve fazer” presentes no “Writing Secure Code” do Howard e do LeBlanc [3] ou no livro do Seacord [4] sobre práticas de desevolvimento de código seguro; se você ainda não estudou (ou simplesmente leu) estes livros, eu recomendo! A não ser que você deseja continuar errando de consciência tranqüila, mas aí já é outra história! De qualquer forma, garanto que será uma oportunidade muito gratificante a de aprender um pouco mais sobre alguns problemas de segurança causados por algumas “práticas de programação”. Apesar de começar a ficar um pouco repetitivo, recomendo também o livro mais novo do Howard [5] o The Security Development Lifecycle que é sobre a metodologia adotado pela Microsoft para o desenvolvimento de programas, implantada por Howard, que “tenta” blindar os softwares de ataques maliciosos. O curioso é que após você ler o livro você começa a desconfiar que muita gente na Microsoft não segue a risca a metodologia; e após um cuidado estudo você acaba tendo a certeza disto!

E saindo um pouco da esfera do mundo Microsoft, pero no mutcho, outras literaturas bem interessantes são os livros do Gary McGraw [6] que recentemente foram lançados num box chamado Software Security Library Box Set, que entre outros tem o imperdível Software Security: Building Security In que é sem dúvida literatura obrigatória, e como no box há também o Building Secure Software: How to Avoid Security Problems the Right Way escrito em parceria com o John Viega eu me sentiria omisso se não citasse seu excelente livro Secure Programing Cookbook [7] , lançado pela O´Reilly e não pela Addison-Wesley, como os outros do pack do McGraw.

Alguns destes livros você também encontra em português; até agora eu li apenas o “Escrevendo Código Seguro” do Howard, e confesso que alguns trechos garantem dupla diversão! Pelo conteúdo e pela tradução de alguns termos…

Neste campo, minha próxima leitura (não sei quando) será o livro (que eu ainda não adquiri mais espero fazer em breve) Threat Modeling [8] da especialista Window Snyder e de Frank Swiderski; a obra é recomendada pelo Heath Stewart [9] e pelo Howard do WCS [3] e já li em algum lugar que ele é considerado leitura obrigatória dentro de algumas áreas na Microsoft…

[1] Bulletproofing C++ Code

[2] Google Code Search

[3] Writing Secure Code, Second Edition

[4] Secure Coding in C and C++

[5] The Security Development Lifecycle

[6] The Software Security Library Box Set

[7] Secure Programming Cookbook for C and C++

[8] Threat Modeling

[9] Heath Stewart´s Blog


Ações

Information

Deixe uma resposta

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s




%d blogueiros gostam disto: