DEV Community

loading...
Cover image for Um livro humano sobre segurança de software

Um livro humano sobre segurança de software

Henrique Lobo Weissmann (Kico)
Progr(amo), logo existo. Fundador da itexto.
・3 min read

Texto escrito em 2014

escrevendo_codigo_seguroEstou relendo um dos melhores livros técnicos que já li: "Escrevendo Código Seguro", de Michael Howard e David LeBlanc, traduzido aqui no Brasil pela editora Bookman e originalmente publicado pela editora Microsoft. Um livro da Microsoft, uma empresa com uma fama até alguns anos atrás tão ruim nesta área : o que poderia dar errado né? Nada: justamente pelo passado de falhas de segurança graves no Windows. Aquele velho ditado: o melhor médico é aquele que está doente.

É basicamente um livro sobre arquitetura e construção de software. Você irá encontrar técnicas que te auxiliam a escrever código menos sujeito a falhas, e também lida com questões arquiteturais muito importantes. Um aspecto histórico deste texto que o torna especial é a época em que foi escrito: foi logo após uma série de micos que a Microsoft passou envolvendo furos de segurança em seus produtos. Daquele mico a empresa criou uma iniciativa chamada "Secure Windows Initiative" (os autores fizeram parte da equipe fundadora) que realmente tornou as coisas muito melhores para usuários Windows.

Então a partir deste background dos autores podemos ter uma idéia sobre como funcionam de fato as coisas por trás da Microsoft (você sentirá vontade de trabalhar lá). O que realmente chama a atenção é o aspecto humano da coisa. O tempo inteiro os autores nos mostram como lidar com a resistência das pessoas em lidar com segurança, que muitas vezes é vista como um recurso do sistema e não o que realmente é: um elemento arquitetural que permeia cada linha de código. Então você encontrará inúmeros contra-argumentos para todas as tolices que ouvimos por aí: "depois cuidamos da segurança", "bobagem se preocupar com isto: tem um firewall", e por aí vai.

No que diz respeito à parte de construção você verá basicamente C++ e tecnologias que hoje não são tão usadas, como, por exemplo, ActiveX, DCOM, etc. Interessante mesmo são as boas práticas que o livro expõe de uma forma não axiomática, ou seja, é exposto em detalhes por que, por exemplo, você deve limitar a área do ataque (entender o que é isto), ter configurações seguras por padrão, etc. Há alguma coisa sobre .net, mas infelizmente não conheço muito a plataforma para te dizer se é atualizado ou não.

Atenção especial deve ser dada ao capítulo 4, em que é exposto como fazer uma modelagem de ameaças ao seu sistema. Você irá conhecer uma metodologia desenvolvida pela Microsoft chamada STRIDE que é fascinante para dizer o mínimo.

Gosto muito também do capítulo 19 em que é exposto como escrever testes de segurança. Normalmente equipes de teste simplesmente não sabem como fazer testes de segurança, então é um capítulo que, acredito, dará um diferencial para empresas que prezem de fato pela qualidade dos seus sistemas e do modo como são testados.

Na minha opinião é um livro que vai além da segurança: encontra-se no mesmo nível que o maravilhoso Code Complete que mencionei em 2009 neste blog.  É texto de formação: te torna um profissional melhor tanto técnicamente quanto socialmente. Recomendo a leitura!

PS: infelizmente não estou podendo escrever muito últimamente, o que tem me frustrado bastante, mas garanto-lhes que em breve lhes trarei algumas novidades bem interessantes sobre Groovy, Grails, Spring e "otras cositas más" que tem me animado bastante. :)

Discussion (0)