No desenvolvimento de software, estamos habituados a trabalhar com Histórias de Usuário. No método ágil, elas descrevem de maneira simples um cenário, apresentando a necessidade do usuário final. Seu objetivo é facilitar a compreensão do time sobre as funcionalidades do sistema. E as Abuser Stories?
Na última edição do SoftDrops*, Rodrigo Gattermann apresentou esse conceito, que pode ser considerado um complemento para o Agile. Para compartilhar o seu conhecimento, o desenvolvedor realizou sua apresentação com base no artigo Agile Security Requirements Engineering, do autor Johan Peeters.
Antes de conceituar o termo, o desenvolvedor contextualizou que esse tipo de história surgiu para permitir a rastreabilidade de requisitos de segurança. As User Stories são focadas no que o usuário necessita, deixando em segundo plano a discussão sobre segurança.
Surgiu assim um conflito, visto que a premissa da agilidade é de desenvolver produtos e serviços de forma rápida e eficaz, atentando para a segurança do sistema e sua operação – que demanda o rigor da garantia. Nesse cenário, Rodrigo salientou o desafio de unir essas duas frentes:
Como desenvolver um software seguro em tempo ágil, em um contexto no qual a segurança está cada vez mais evidente no mercado como novos fatores de autenticação?
A tradução exata da expressão pode variar conforme a abordagem de cada autor. Para o desenvolvedor, as Abuser Stories podem ser entendidas como Histórias de Ataque.
Esse tipo de história surgiu para identificar possíveis invasores que podem prejudicar um sistema ou utilizá-lo de forma maliciosa. Tais ataques ou utilizações prejudiciais podem impactar de forma negativa o valor do negócio. Por isso, a partir do desenho desses cenários, são definidos os requisitos de segurança dos sistemas.
Por exemplo, a CD Projekt RED, desenvolvedora de jogos como Cyberpunk 2077 e The Witcher, foi hackeada no início deste ano. Segundo uma notícia do Tecmundo, um grupo comunicou que teria conseguido vender os códigos da empresa por US$ 7 milhões – eles são os principais ativos da empresa, que já havia faturado milhões com a venda de jogos.
Por essa razão, Rodrigo afirma que a classificação e a pontuação de possíveis ataques podem variar conforme a representação da ameaça para os ativos dos clientes. Nesse sentido, deve-se considerar o dano em potencial e a probabilidade de um ataque bem-sucedido.
Ainda segundo o desenvolvedor, as User Stories e as Abuser Stories caminham juntas, as duas devem gerar valor. Assim como é recomendado que os usuários atualizem um sistema para correção de funcionalidades, o mesmo pode ocorrer para a correção de falhas de segurança.
A partir das estimativas das tarefas, considera-se o esforço necessário para implementar contramedidas às ameaças descritas nas histórias. Esse levantamento é feito desde uma possível correção de problemas identificados em Histórias de Usuário, até a restauração de backup e outros procedimentos que poderão ser acionados.
Para escrever essas Histórias de Ataques, assim como nas de Usuário, Rodrigo comentou que a participação dos desenvolvedores é essencial, pois envolve muitas questões técnicas do sistema. Além disso, o cliente também deve participar, auxiliando na identificação dos ativos do negócio que precisam ser protegidos.
Ao final de sua apresentação no SoftDrops, o desenvolvedor comentou que, mesmo que as Abuser Stories antecipem alguns cenários de risco, eles nunca desaparecerão por completo. Por esse motivo, é importante manter uma breve documentação dessas Histórias, contendo o como elas serão refutadas.
Nesse contexto, a refutação tem a mesma função e valor equivalente aos testes de aceitação. Segundo Rodrigo, ela demonstra as possibilidades dos ataques, devendo provar que o risco foi reduzido a níveis aceitáveis.
Para realizar essas Histórias de Ataque, Rodrigo ainda afirmou que também é interessante identificar personas de invasores em potencial. Aqui é importante estudar fatores como as habilidades, a motivação e o nível de disposição para efetivar o ataque. A busca por proteção é um processo contínuo de evolução, pois os dois lados estão constantemente melhorando as suas estratégias e técnicas, tanto de proteção, quanto de invasão.
*O SoftDrops é um evento de troca de conhecimento que acontece todas as quartas-feiras, na sede da SoftDesign. A cada semana, um colaborador se predispõe a expor para os colegas algum tema de seu interesse, que tenha relação com os três pilares do nosso negócio: design, agilidade e tecnologia. A minipalestra dura em torno de trinta minutos e, é seguida por um bate-papo entre os participantes.
18 de novembro de 2024
14 de novembro de 2024
14 de novembro de 2024