Detectar invasões no aplicativo
Objetivos de aprendizagem
Após concluir esta unidade, você estará apto a:
- Explicar a importância de se implementar o monitoramento adequado de aplicativos.
- Descrever como testes de intrusão podem ser usados para fortalecer a segurança.
Detectar invasões com o monitoramento de aplicativos
Como engenheiro de segurança de aplicativos, você provavelmente terá mais problemas com registros em log insuficientes do que com excesso de registros em log. A insuficiência de registros em log e monitoramento é uma vulnerabilidade de segurança comum. O registro em log é o processo de coletar e armazenar dados para analisar tendências ou registrar eventos e ações realizadas por um aplicativo, um usuário ou outra tecnologia.
Um log de aplicativo é um arquivo de eventos registrados em log por um aplicativo de software. O log contém informações sobre erros, eventos, avisos e alertas. Os engenheiros de segurança de aplicativos têm um papel importante na determinação do formato e do conteúdo dos logs de aplicativo.
A coleta de logs suficientes é essencial para que os profissionais de segurança possam monitorar a TI em seus ambientes. O monitoramento de aplicativos permite que os engenheiros de segurança de aplicativos confirmem que o aplicativo está funcionando da forma esperada. Quando há anomalias, elas podem ser sinal de uma invasão ou de tentativa de invasão por agentes hostis.
Sem o devido registro em log e monitoramento, as atividades mal-intencionadas dos invasores podem passar despercebidas pelos analistas de segurança. Assim, os invasores podem comprometer sistemas, manter a persistência (acesso dentro do sistema) e até passar para outros sistemas e comprometê-los. Isso permitiria a um invasor comprometer a confidencialidade, a integridade ou a disponibilidade dos dados de um aplicativo. Alguns estudos publicaram que o tempo médio de detecção de um vazamento pelas organizações é de mais de 200 dias e esses vazamentos costumam ser detectados por pessoas externas, não internas.
Os engenheiros de segurança de aplicativos também trabalham para integrar registro em log e monitoramento às funções de resposta a incidentes para que a organização possa agir rapidamente quando os analistas descobrem atividades anômalas.
O que mais os engenheiros de segurança de aplicativos podem fazer para ajudar? Os engenheiros monitoram, corrigem e impedem vulnerabilidades de segurança de aplicativo continuamente. Eles tentam detectar más intenções antes que haja algum dano com o monitoramento dos processos do aplicativo e do comportamento dos usuários. Eles fazem isso primeiro configurando logs para incluírem as informações certas e fazendo com que os logs estejam bem integrados na pilha tecnológica e na resposta a incidentes. Eles garantem que os eventos de login, falha de login e transações de alto valor são registrados em log. Eles fazem com que os avisos e erros gerem as devidas mensagens de log. Eles também verificam se a parte da organização responsável pelo monitoramento, normalmente o Centro de operações de segurança (SOC, Security Operations Center), está efetivamente monitorando atividades suspeitas nos logs. Eles trabalham para garantir a existência de limites de alerta e de processos de escalação de resposta para que os analistas possam identificar e responder às ameaças rapidamente.
Usar testes de intrusão
Os engenheiros de segurança de aplicativos usam testes de intrusão para medir a capacidade de um aplicativo de resistir a atividades de ameaça cibernética. O teste de intrusão envolve uma equipe de segurança que pensa como um invasor e ajuda a identificar e mitigar possíveis riscos antes que estes possam ser explorados com más intenções.
Um tipo de teste de intrusão comum na segurança de aplicativo é o teste de penetração. Os testes de penetração podem ser feitos por um grupo diferente de profissionais de segurança na organização ou por terceiros. A equipe do teste de penetração imagina todas as linhas de ataque possíveis em um aplicativo e as testa para ver se conseguem realizar ações não autorizadas ou extrair dados confidenciais.
Outro tipo comum de teste de intrusão de aplicativo é o Bug Bounty. No Bug Bounty, as organizações anunciam que estão dispostas a pagar uma recompensa a hackers éticos que encontrarem e indicarem as vulnerabilidades existentes em seus aplicativos. As recompensas monetárias podem ser grandes ou pequenas.
Muitas grandes empresas têm programas de Bug Bounty e convidam hackers éticos tanto internos quanto externos a participar. Como colaboram publicamente na tentativa de expor as vulnerabilidades de um aplicativo, os programas de Bug Bounty podem reduzir o risco de incidentes de segurança em que um agente hostil explora uma vulnerabilidade. Se você tem interesse em uma carreira em segurança de aplicativo, a participação nos programas de Bug Bounty pode ser uma ótima maneira de saber mais sobre as habilidades de que precisa em campo e até ganhar algum dinheiro extra no processo!
Os engenheiros de segurança de aplicativos têm um papel a desempenhar na resposta às descobertas dos testes de penetração e dos programas de Bug Bounty. Eles trabalham com a equipe de desenvolvimento de aplicativo e com os proprietários do negócio para lidar com as descobertas por meio de aconselhamento e imposição das melhores práticas de segurança. Eles ajudam os proprietários do aplicativo a pensar em quando e como corrigir as descobertas.
Eles também analisam os logs após um teste de penetração ou a identificação de um bug para ver se podem identificar as ações do testador. Do contrário, o engenheiro de segurança de aplicativos aprimora as informações coletadas e correlacionadas nos logs e painéis associados para garantir que os analistas poderão identificar ameaças e responder a elas rapidamente. Para saber mais sobre considerações que garantem o devido registro em log, consulte registro em log insuficiente do recurso Enumeração de vulnerabilidades comuns (CWE, Common Weakness Enumeration).
Resumo
Você conheceu estratégias que os engenheiros de segurança de aplicativos usam para monitorar sinais de atividade mal-intencionada nos aplicativos, com a confirmação da existência de logs calibrados e integrados nas atividades de resposta a incidentes. E assim fechamos a trilha sobre engenharia de segurança de aplicativos. Você viu o que essa função exige, as habilidades que deve buscar e o papel essencial que os engenheiros têm no ciclo de vida de desenvolvimento de aplicativos de uma organização. Interessado em explorar mais informações relacionadas à cibersegurança? Confira o Hub de aprendizagem sobre cibersegurança no Trailhead.