Prévia do material em texto
4/7/24, 9:31 PM lddkls212_seg_eng_sof https://www.colaboraread.com.br/integracaoAlgetec/index?usuarioEmail=tquintela13%40gmail.com&usuarioNome=TATIANA+OSCAR+QUINTELA&disciplinaDescricao=SEGURANÇA+EM+ENGENHARIA+DE+SOF… 1/5 FOCO NO MERCADO DE TRABALHO FUNDAMENTOS DE SEGURANÇA NO DESENVOLVIMENTO DE SOFTWARE André Lima dos Santos SEM MEDO DE ERRAR O objetivo dessa fase do hackathon é veri�car as vulnerabilidades do sistema que lhe foi apresentado e justi�cá-las aos juízes. Por isso, você se posiciona no palanque do evento com microfone e controle em mãos para fazer uma apresentação de slides sobre as vulnerabilidades encontradas. Vulnerabilidade 1: você consegue visualizar receitas e despesas que os colegas B e C inseriram. Qual conceito de software seguro está sendo violado? Para responder à pergunta, deve-se retomar os conceitos principais de software seguro: con�dencialidade, integridade e disponibilidade; e as características de software seguro e resiliente. Nesta vulnerabilidade, você consegue visualizar dados que não deveria, pois pertencem a outra empresa. Nesse caso, o conceito que a vulnerabilidade viola é o de con�dencialidade. O conceito de vulnerabilidade diz que um usuário só deve poder acessar um dado para o qual tenha autorização. Como você é administrador da empresa X, não deveria conseguir visualizar dados da empresa Y e vice-versa. Como o sistema deveria ter se comportado? A pergunta pode ser respondida de maneira mais aberta, uma vez que a melhor maneira de resolver é muito relativa na prática e, às vezes, depende de limitações técnicas. Porém, sua solução deve respeitar os conceitos e as características citados previamente. O sistema deveria ter mantido a Fonte: Shutterstock. Deseja ouvir este material? Áudio disponível no material digital. 0 V e r a n o ta çõ e s 4/7/24, 9:31 PM lddkls212_seg_eng_sof https://www.colaboraread.com.br/integracaoAlgetec/index?usuarioEmail=tquintela13%40gmail.com&usuarioNome=TATIANA+OSCAR+QUINTELA&disciplinaDescricao=SEGURANÇA+EM+ENGENHARIA+DE+SOF… 2/5 con�dencialidade de seus dados, ou seja, deveria exibir dados da empresa Y apenas a funcionários autorizados da empresa Y. Para o administrador da empresa X, somente os dados da empresa X deveriam ser visualizados no sistema. Por que o sistema deveria ter se comportado da forma sugerida? Você deve explicar porque, com a resposta da pergunta anterior, o sistema respeita o conceito e/ou a característica que havia violado anteriormente. Agora, com os colaboradores acessando somente os dados da sua empresa, os quais estão autorizados a ver, o conceito de con�dencialidade passa a ser respeitado. Vulnerabilidade 2: ao inserir registros, todos percebem uma interrupção do sistema de cerca de cinco minutos. Durante esse tempo, não é possível inserir, editar ou visualizar registros. Qual conceito de software seguro está sendo violado? O sistema, por determinado tempo, nega serviço a seus usuários. Considerando os conceitos e as características aprendidos, pode-se salientar dois pontos principais: disponibilidade e e�ciência. Primeiramente, o sistema deve �car disponível o maior tempo possível para que seus usuários consigam realizar as operações. Em segundo lugar, um sistema não pode tornar as tarefas morosas ao usuário, mas, ao contrário, deve ajudá-lo a completar suas tarefas de maneira e�ciente. Claramente há um problema de performance no sistema. Como o sistema deveria ter se comportado? O sistema deveria �car disponível o tempo todo durante o horário de trabalho de seus usuários. O sistema não deveria tomar tanto tempo deles em operações corriqueiras, mas teria que �car disponível independentemente de seu uso concorrente. O sistema também deveria ter recursos computacionais su�cientes para que seus usuários completassem suas tarefas e�cientemente. Por que o sistema deveria ter se comportado da forma sugerida? Com o sistema disponível durante todo o expediente de seus usuários e executando as funções de maneira �uida, agora respeita o conceito de disponibilidade e a característica de software resiliente de e�ciência. Vulnerabilidade 3: o colega C consegue remover despesas da empresa Y. Qual conceito de software seguro está sendo violado? Segundo a tabela, a única operação que o colega C está autorizado a realizar é a de inserção de novas despesas. O fato de que ele consegue remover despesas de sua empresa faz com que ele esteja alterando um dado sem autorização, o que afeta a integridade dos dados da aplicação. Como o sistema deveria ter se comportado? O sistema deveria ter respeitado sua política de acesso e deveria apenas permitir que analistas de compras conseguissem inserir novas despesas. Nenhum botão “remover” deveria sequer aparecer para esse tipo de usuário. 0 V e r a n o ta çõ e s 4/7/24, 9:31 PM lddkls212_seg_eng_sof https://www.colaboraread.com.br/integracaoAlgetec/index?usuarioEmail=tquintela13%40gmail.com&usuarioNome=TATIANA+OSCAR+QUINTELA&disciplinaDescricao=SEGURANÇA+EM+ENGENHARIA+DE+SOF… 3/5 Por que o sistema deveria ter se comportado da forma sugerida? Quando um usuário consegue alterar apenas dados a que ele tem autorização, podemos dizer que o sistema respeita o conceito de integridade. Vulnerabilidade 4: ao inserir uma receita ao meio-dia, o colega B recebe um alerta de que o sistema está em manutenção e que voltará em tempo indeterminado. Qual conceito de software seguro está sendo violado? O conceito de disponibilidade é violado quando o sistema �ca indisponível no horário em que deveria funcionar. O fato de o sistema ter entrado em modo de manutenção, por si só, não é o que viola o conceito. Sistemas podem ter manutenções agendadas e geralmente o são em horários de baixo ou de nenhum acesso. Como o sistema deveria ter se comportado? O sistema deveria �car disponível e não poderia ter entrado em manutenção durante o expediente dos usuários. Caso haja manutenção, esta pode ser agendada fora do horário comercial, por exemplo, de madrugada. Por que o sistema deveria ter se comportado da forma sugerida? Com o sistema disponível ao longo do expediente dos usuários e sem interrupções, ele respeita o conceito de disponibilidade. Vulnerabilidade 5: quando todos fazem alterações ao mesmo tempo, o sistema �ca indisponível por alguns segundos e dá a impressão de lentidão no carregamento. Qual conceito de software seguro está sendo violado? O de disponibilidade e o de e�ciência. Como o sistema deveria ter se comportado? O sistema deveria funcionar de maneira �uida e sem travamentos. Por que o sistema deveria ter se comportado da forma sugerida? O sistema agora respeita sua disponibilidade e sua e�ciência, fazendo com que as tarefas sejam executadas mais rapidamente pelos usuários. Considerando todas as vulnerabilidades anteriores, após a apresentação aos juízes, sua equipe recebe nota máxima e avança para a próxima fase do hackathon. AVANÇANDO NA PRÁTICA ANALISANDO OS RISCOS DAS VULNERABILIDADES Agora que as vulnerabilidades do sistema �nanceiro foram identi�cadas, é hora de analisar os riscos por elas causados. Na segunda fase do hackathon, você deve realizar uma apresentação para os juízes levando em conta os riscos das vulnerabilidades do sistema e quais foram as consequências para a empresa que desenvolveu o software, para as empresas que o utilizam e para seus colaboradores. Vamos relembrar quais são essas vulnerabilidades: Você consegue visualizar receitas e despesas que os colegas B e C inseriram. 0 V e r a n o ta çõ e s 4/7/24, 9:31 PM lddkls212_seg_eng_sof https://www.colaboraread.com.br/integracaoAlgetec/index?usuarioEmail=tquintela13%40gmail.com&usuarioNome=TATIANA+OSCAR+QUINTELA&disciplinaDescricao=SEGURANÇA+EM+ENGENHARIA+DE+SOF… 4/5 Ao inserir registros, todos percebem uma interrupção do sistema de cerca de cinco minutos. Durante esse tempo, não é possível inserir, editar ou visualizar registros. O colega C consegue remover despesas da empresaY. Ao inserir uma receita ao meio-dia, o colega B recebe um alerta de que o sistema está em manutenção e que voltará em tempo indeterminado. Quando todos fazem alterações ao mesmo tempo, o sistema �ca indisponível por alguns segundos e dá uma impressão de lentidão no carregamento. RESOLUÇÃO Para analisar os riscos e as consequências das vulnerabilidades da situação anterior, precisamos retomar os riscos cobertos pela seção. São eles: exposição de dados dos usuários, interrupção do sistema, quebra da integridade dos dados, perda de ativo �nanceiro e perda de reputação. Quadro 1.2 | Vulnerabilidades Vulnerabilidade Risco Você consegue visualizar receitas e despesas que os colegas B e C inseriram. Imagine que empresas concorrentes utilizam esse mesmo sistema. Essa vulnerabilidade poderia levar uma delas a expor os dados de caixa da outra ou a utilizá-los para seu benefício. Riscos: exposição de dados, perda de reputação. Ao inserir registros, todos percebem uma interrupção do sistema de cerca de cinco minutos. Durante esse tempo, não é possível inserir, editar ou visualizar registros. Essas interrupções fazem com que os colaboradores não consigam realizar suas tarefas em tempo. Risco: interrupção do sistema. O colega C consegue remover despesas da empresa Y. Imagine que um colaborador, por acidente ou de propósito, remove despesas do sistema de sua empresa. Esta agora terá um saldo que não re�ete a realidade, podendo tomar decisões �nanceiras equivocadas. Risco: quebra da integridade dos dados. Ao inserir uma receita ao meio- dia, o colega B recebe um alerta de que o sistema está em manutenção e que voltará em tempo indeterminado. Dependendo de quanto tempo essa manutenção durar, poderá colapsar o sistema �nanceiro de uma empresa. Riscos: interrupção do sistema, perda de ativo �nanceiro. 0 V e r a n o ta çõ e s 4/7/24, 9:31 PM lddkls212_seg_eng_sof https://www.colaboraread.com.br/integracaoAlgetec/index?usuarioEmail=tquintela13%40gmail.com&usuarioNome=TATIANA+OSCAR+QUINTELA&disciplinaDescricao=SEGURANÇA+EM+ENGENHARIA+DE+SOF… 5/5 Vulnerabilidade Risco Quando todos fazem alterações ao mesmo tempo, o sistema �ca indisponível por alguns segundos e dá uma impressão de lentidão no carregamento. A empresa pode ser lesada se realizar muitas operações �nanceiras em um dia. Risco: interrupção do sistema. Fonte: elaborado pelo autor. Em todas essas situações, é importante analisar que é possível haver risco de perda de reputação por parte da empresa que mantém o software e perdas indiretas de ativos �nanceiros dos clientes. 0 V e r a n o ta çõ e s