Identificar ameaças comuns de segurança de aplicativos
Objetivos de aprendizagem
Após concluir esta unidade, você estará apto a:
- Descrever a importância do inventário e a priorização de aplicativos e de seus riscos.
- Listar as principais informações de acesso à conta que os engenheiros de segurança de aplicativo devem identificar.
Saber mais sobre aplicativos e seus riscos
O uso de aplicativos tanto por consumidores quanto por empresas aumentou constantemente nos últimos anos e espera-se que continue aumentando. Nos últimos anos, o desenvolvimento de aplicativos tornou-se mais fácil, exigindo menos recursos. Em grandes organizações, equipes dispersas de desenvolvedores podem criar um código de programação às vezes sem que os departamentos de TI e segurança estejam cientes. Se essas unidades de negócio também tomarem decisões de compra de tecnologia por conta própria, várias soluções tecnológicas poderiam armazenar os dados da empresa com pouca padronização e controle.
Além disso, à medida que as empresas pressionam por prazos de entrega mais rápidos para seus projetos de software, os desenvolvedores têm que fornecer funcionalidade de negócios em uma velocidade que pode arriscar a segurança dos aplicativos e seus dados. A necessidade de fornecer funcionalidades rapidamente também levou a um impulso para usar processos mais automatizados, incluindo automatizar a verificação de segurança sempre que possível.
Essas duas tendências apontam para a necessidade de os engenheiros de segurança de aplicativos começarem a abordar seus trabalhos identificando primeiro os aplicativos em seu ambiente e os riscos que eles representam. Assim como uma empresa que lida com produtos físicos faz inventário em um armazém, os engenheiros de segurança de aplicativos começam fazendo inventário de aplicativos em seu ambiente. O objetivo de identificar riscos no aplicativo é entender as ameaças, as vulnerabilidades e o impacto nos negócios causado por cada aplicativo e usar essas informações para priorizar as proteções associadas. O Open Web Application Security Project (OWASP) fornece muitas informações práticas para engenheiros de segurança de aplicativos, incluindo detalhes sobre uma abordagem de classificação de risco que avalia quais riscos de segurança são mais graves em determinado ambiente de negócios.
Para identificar um risco de segurança, pense nas ameaças envolvidas, nos métodos que podem ser usados, nas vulnerabilidades que podem ser exploradas e no possível impacto nos negócios. Os engenheiros de segurança de aplicativos estão cientes dos riscos e fornecem proteção contra muito desses riscos, alguns dos quais estão descritos no Top 10 da OWASP. Você aprenderá sobre alguns deles, incluindo injeção, scripting entre sites (XSS), configuração errada de segurança, autenticação inválida, controle de acesso inválido, exposição de dados confidenciais e registro e monitoramento insuficientes, em mais detalhes nas unidades a seguir.
Rastrear acesso a aplicativos
Ao fazer o inventário de aplicativos e suas ameaças, vulnerabilidades, riscos e impactos associados, você já passou um tempo pensando nos atores de ameaças e no que eles querem. Os engenheiros de segurança de aplicativos também precisam pensar em como os invasores podem acessar um sistema para roubar informações confidenciais ou causar danos. Qualquer ponto de entrada que um usuário legítimo ou não usuário possa usar também pode ser explorado por um invasor. É fundamental que o engenheiro identifique e entenda os diferentes tipos de acesso a aplicativos que compõem seu ambiente.
Os engenheiros de segurança de aplicativos fazem estas perguntas sobre o acesso ao aplicativo.
- Quem acessará o aplicativo? Esse aplicativo é para clientes, parceiros de negócios, funcionários ou fornecedores terceirizados? De que tipos de acesso cada um desses usuários precisa? Quais permissões ou funções eles precisarão realizar? Por exemplo, o aplicativo será usado para fazer transações financeiras? Ele precisará ser interoperável para permitir o acesso a outros aplicativos ou a uma sessão de navegador?
- De onde os usuários acessarão o aplicativo? Ele é um aplicativo móvel ou desktop? Ele está disponível apenas para usuários internos, como funcionários em uma intranet da empresa, ou está disponível externamente (por exemplo, pela Internet)? Os aplicativos confidenciais foram segmentados de áreas menos confidenciais da rede?
- Quais funções administrativas com privilégios estão disponíveis? Quais funções um administrador pode realizar e como elas são controladas? Como essas contas são monitoradas?
Ao considerar cada um desses pontos, lembre-se de que atores mal-intencionados podem potencialmente prejudicar um negócio seguindo vários caminhos no aplicativo. Os engenheiros de segurança de aplicativos avaliam cada um desses possíveis pontos de entrada e caminhos subsequentes e colocam em prática as proteções adequadas. No próximo módulo, vamos aprofundar um pouco mais o modo como os aplicativos podem ser protegidos, começando pela proteção do ciclo de vida do desenvolvimento de software.
Resumo
Neste módulo, você aprendeu mais sobre o que é um aplicativo, viu de quais habilidades os engenheiros de segurança de aplicativos precisam e discutiu como os engenheiros de segurança de aplicativos identificam os aplicativos, os riscos, as vulnerabilidades e as ameaças específicas do ambiente de sua organização. Também visualizamos alguns cenários comuns de segurança de aplicativos. No módulo Responsabilidades do engenheiro de segurança de aplicativos, aprenderemos mais detalhes sobre cada cenário e como os engenheiros de segurança de aplicativos nos protegem contra eles seguindo o Ciclo de vida de desenvolvimento de software (SDLC). Interessado em explorar mais informações relacionadas à segurança cibernética? Confira o Hub de aprendizagem de segurança cibernética no Trailhead.