Trazendo Segurança para a Concepção de Produtos Digitais

Émerson Hernandez
GUMA-RS
Published in
5 min readNov 14, 2023

--

Um dos grandes problemas que vemos atualmente no desenvolvimento de produtos digitais é a falha em colaborar com os times de InfoSec ou DevSecOps. Infelizmente, as ameaças são onipresentes e cada vez mais sofisticadas. Mas você sabia que existe uma maneira de diminuir em até 50% o tempo investido em remediar problemas de segurança?

Em 2016, o State of DevOps Report publicou sua pesquisa que indicava que times de alta performance usavam menos da metade do tempo consertando problemas de segurança em comparação com times de baixa performance. E a solução para isso é mover para esquerda.

Hoje, podemos dizer que a maioria das empresas passa por um ciclo de desenvolvimento que inclui no mínimo 4 etapas: análise/design, codificação, teste e implantação. E, num ambiente mais tradicional, segurança entra na terceira fase, como uma das tarefas de teste. Na prática, significa que os times descobrem falhas de codificação ou arquitetura quando já é muito caro para serem consertadas. Se pensarmos nas quatro etapas anteriores apresentadas em um quadro de kanban, mover para a esquerda significa antecipar as discussões, dúvidas e levantamento de riscos. Com isso, essas questões serão tratadas de maneiras mais robustas e efetivas para o produto.

Sabemos que é um desafio comum priorizar segurança. Mesmo que seja um assunto crítico, para a maioria dos líderes por trás do desenvolvimento de novos produtos não é interessante a priorização desse tipo de assunto. Sempre que possível, eles tentam focar os esforços do time em funcionalidades. E por essa razão, muitas vezes não há nem espaço pra esse tipo de discussão. O que fazer, então?

Felizmente, há múltiplas soluções possíveis. Uma das maneiras de abordar o assunto é aproveitar a oportunidade de uma sessão colaborativa e imersiva como uma concepção de produtos e disponibilizar tempo e energia para o tema, em conjunto com todos os presentes. Duas maneiras de identificar e endereçar o tratamento de ameaças e vulnerabilidades são através da criação de personas e também no levantamento de oportunidades nas jornadas de usuário.

Personas Hostis e suas Jornadas

A primeira técnica que pode ser utilizada é a criação de personas com um perfil hostil ou oportunista. Por exemplo, pense numa situação de compartilhamento de senha num serviço online entre uma profissional liberal e seu assistente. Caso bastante comum na área da saúde, onde secretários de médicos fazem muito do trabalho de relacionamento com pacientes e planos de saúde. Se por alguma razão a relação comercial for rompida de forma não amigável, há uma chance da pessoa aproveitar credenciais que não são suas e gerar algum tipo de dano. Nesse tipo de situação, poderíamos ter ações nocivas como mudanças importantes em configurações de pagamento, ou contato indesejado com diferentes pacientes alterando agendas ou diagnósticos.

Exemplo de mapeamento de persona com comportamento hostil

Para trabalhar nesse tipo de situação, recomendamos utilizar o mesmo modelo de personas que está proposto na atividade. A partir dele, aprofundar características de hostilidade em seções como bio, objetivos, interesses e frustrações, como a figura acima.

Depois das personas descritas, é importante aprofundar a discussão através do mapeamento de jornadas. O objetivo aqui é identificar ações e comportamentos que tragam ideias de como lidar corretamente com as ameaças. Lembre-se que ao usarmos um ator “atacante”, a escrita dos materiais deve ser feita a partir dessa perspectiva. Com isso, normalmente teremos a descrição de eventos indesejados de múltiplas naturezas, que podem ameaçar, por exemplo, confidencialidade, integridade ou disponibilidade de dados de usuários da solução.

Dependendo do tipo de dinâmica que você está participando, pode acontecer de existir espaço para escrever algumas histórias de usuário. Se esse for o seu caso, é fundamental que o facilitador da sessão conduza adequadamente a atividade aproximando os presentes. Na prática, nem sempre os membros do time de segurança sabem escrever histórias e com isso precisarão de ajuda para trazerem suas contribuições.

Ações de Atacante em outras Jornadas de Usuário

Complementar a jornada do usuário, com prováveis ações de atacantes, é outra técnica que contribui para que times de desenvolvimento de software abordem, planejem e tratem a segurança o quanto antes. Nessa abordagem, aproveitamos os materiais criados de jornada de usuário e adicionamos uma nova linha na zona de insights. Chamada de Ações do Atacante, ela terá comportamento similar a Oportunidades, como na figura abaixo.

Fonte: NNGroup

Ao aproveitarmos o processo de mapeamento de jornada para ilustrar a experiência de usuário, temos uma ótima oportunidade de ressaltar pontos de possível vulnerabilidade. A medida que entendimentos e ideias vão emergindo nas discussões, eles devem ser documentados e posicionados em relação aos pontos de interação entre usuário e sistema. Nesse momento, não seja econômico: se já há entendimento de componentes de arquitetura do software, sinalize-os também. Isso será importante para que nas futuras sessões de discussão de design, fiquem claros os trade-offs, gerando melhores discussões sobre como atacar o problema e propor a solução mais adequada para o momento.

Modelo adaptado de Jornada de Usuário, como foco nas Ações do Atacante

Na figura acima, temos uma jornada de um cliente de instituição financeira em seu objetivo de fazer um pix para um amigo. Uma operação relativamente simples e cada vez mais popular no Brasil, ela possui vários elementos que podem ser analisados pela ótica de ações de um atacante. Para simplificar, fizemos apenas quatro passos na jornada e identificamos três possibilidades de aprofundamento de conversa pela ótica da segurança.

É a partir dessas identificações que devemos estabelecer pontos de atuação para mitigar os riscos levantados. É papel do facilitador fomentar perguntas para estressar mais o assunto e estabelecer momentos de conversa que gerem insumos para uma maior robustez da solução.

Agora pense em algum dos seus produtos e suas jornadas. Você consegue identificar quais seriam as oportunidades que um invasor poderia explorar?

Finalizando

Pode ter passado batido nos itens acima, então vamos aproveitar para, antes de acabar esse artigo, ressaltar a importância que o facilitador exerce ao contextualizar os objetivos de trazer os assuntos de segurança para a concepção. É de suma importância que os participantes entendam o que vai ser esperado deles.

Caso seu time seja inexperiente no assunto, uma alternativa é uma reunião de preparação para a concepção com foco exclusivo em conceitos fundamentais de segurança da informação. E no decorrer das atividades, exemplos serão bem recebidos pelo time de desenvolvimento.

Esperamos que na sua próxima concepção, você não esqueça de dar enfoque em segurança. Fique à vontade para usar quaisquer das técnicas acima e depois compartilhe os resultados. Não hesite em entrar em contato conosco para saber mais sobre o assunto ou pedir ajuda!

--

--