Livros sobre cibersegurança: Segurança de aplicações
O bloco para quem programa: as vulnerabilidades que você mesmo introduz e as maneiras de não introduzi-las.
Livros sobre cibersegurança: Segurança de aplicações
Quinta parte de nove. O bloco para quem programa: as vulnerabilidades que você mesmo introduz e as maneiras de não introduzi-las.
Praticamente toda a lista é aplicável ao trabalho de segunda-feira de manhã.
Dafydd Stuttard, Marcus Pinto. The Web Application Hacker's Handbook (2.ª edição, 2011)
Um calhamaço de referência sobre ataques à web. Não diz nada sobre o front-end moderno nem sobre APIs, mas a classificação de vulnerabilidades e a metodologia de teste continuam as melhores do gênero.
Temas: mecanismos de autenticação e gestão de sessões, controle de acesso, injeções de todo tipo, ataques à lógica da aplicação, ataques ao usuário, metodologia para percorrer a aplicação de ponta a ponta.
Michal Zalewski. The Tangled Web (2011)
Como os navegadores funcionam de verdade e por que o modelo de segurança da web tem essa cara. Escrito por quem encontrou esses problemas.
Temas: origens e a regra de mesma origem, o DOM e seu isolamento, cookies e seus limites, o tratamento do conteúdo pelo navegador, cabeçalhos de segurança, mecanismos herdados dos anos noventa.
Malcolm McDonald. Web Security for Developers (2020)
Livro compacto e atual para quem escreve código em vez de testar o dos outros. Boa porta de entrada antes dos dois anteriores.
Temas: como funcionam o navegador e o HTTP, injeções, XSS e CSRF, armazenamento seguro de senhas, dependências e suas vulnerabilidades, configuração do servidor, defesa contra ataques automatizados.
Tanya Janca. Alice and Bob Learn Application Security (2020)
Sobre embutir a segurança no processo de desenvolvimento, e não tratá-la como uma etapa à parte antes do lançamento.
Temas: requisitos de segurança e projeto, codificação segura, testes e ferramentas na esteira, manejo de segredos, cultura de colaboração entre desenvolvimento e segurança.
Adam Shostack. Threat Modeling: Designing for Security (2014)
O único livro que ensina a responder de forma sistemática à pergunta «o que pode dar errado aqui» antes de escrever o código.
Temas: diagramas de fluxo de dados, metodologia STRIDE, árvores de ataque, priorização das ameaças encontradas, integração da modelagem de ameaças ao fluxo de trabalho.
Neil Madden. API Security in Action (2020)
Segurança de APIs, da autenticação básica aos sistemas distribuídos, com código que funciona.
Temas: autenticação e autorização em APIs, tokens e seu armazenamento, OAuth 2 e OpenID Connect, limitação da taxa de requisições, segurança em microsserviços e Kubernetes, TLS mútuo.
Justin Richer, Antonio Sanso. OAuth 2 in Action (2017)
O protocolo desmontado por dentro: os autores propõem construir com as próprias mãos o cliente, o servidor de autorização e o recurso protegido.
Temas: os fluxos do OAuth 2 e quando usar cada um, erros comuns de implementação no cliente e no servidor, tokens de acesso e de atualização, JWT, a relação com o OpenID Connect.
Dan Bergh Johnsson, Daniel Deogun, Daniel Sawano. Secure by Design (2019)
A tese do livro: a maioria das vulnerabilidades nasce de um mau projeto de domínio, e não de uma verificação esquecida. Os autores mostram como um modelo de domínio rigoroso elimina classes inteiras de erros.
Temas: tipos em vez de validação, objetos imutáveis, fronteiras de contexto, tratamento de erros, segurança em arquiteturas de nuvem e distribuídas, trabalho com código legado.
Próxima parte: defesa e resposta.
A série completa: