Prévia do material em texto
* * GESTÃO DA SEGURANÇA NO SDLC - SOFTWARE DEVELOPMENT LIFE CYCLE * * AS VULNERABILIDADES DO OWASP TOP 10 Conceitos OWASP (Open Web Application Security Project). Práticas utilizadas para aumentar a segurança do software. Identificação do ataque ou vulnerabilidade e seus impactos. Pontos fracos e os riscos mais conhecidos nas aplicações web. * * OWASP OPEN WEB APPLICATION SECURITY PROJECT OWASP é uma entidade sem fins lucrativos. Contribui para a melhoria da segurança de software. Reúne informações importantes que permitem avaliar riscos de segurança. Combate formas de ataques através da internet. * * OWASP TOP 10 OWASP Top 10 é composto pelas dez vulnerabilidades que mais ocorrem nos WebApps. Identifica os riscos mais graves dos app. * * CLASSIFICAÇÃO DE RISCOS DA OWASP Tipo de ataque Tipo de vulnerabilidade Tipo de impacto Causado pela invasão. Agentes de Ameaça identificam pontos fracos da aplicação. Cavalo de Troia * * CVALO DE TROIA Programas desenvolvidos pelos hackers com o objetivo de destruir o alvo. São disseminados por e-mail ou ficam escondidos dentro da aplicação do usuário. * * AGENTES DE AMEAÇAS Os agentes utilizam técnicas de coleta de inteligência. Inclui técnicas inteligentes de invasão. Interceptação de telefonemas. Imagens via satélite. * * APT - ADVANCED PERSISTENT THREAT (AMEAÇA PERSISTENTE AVANÇADA) São ameças cibernéticas – espionagem via Internet. São valiosas – Compensa o investimento em tempo e dinheiro. Complexidade é tamanha que um cracker não é autor de APT. * * EXEMPLOS DE APT Ataques APT são direcionados (targeted attacks). drive-by download (download não intencional de software, sem o conhecimento da pessoa) injeção de SQL (SQL injection) malwares, spywares, phishing e spam. * * ENGENHARIA SOCIAL É a missão mais crítica dos agentes de um ataque APT. Ataque é voltado contra alguma pessoa. Exemplo: anexos dos e-mails Invasor direciona as informações de modo parecer confiáveis. O agente identifica os candidatos alvo. * * POLÍTICA DE SEGURANÇA DE INFORMAÇÕES * * POLÍTICA DE SEGURANÇA DE INFORMAÇÕES Confidencialidade / privacidade – criptografia Integridade de dados – evitar que sejam apagados Disponibilidade – evitar ataques Consistência - de acordo com as expectativas Isolamento – acesso ao sistema Auditoria - proteger contra erros e atos ilícitos Confiabilidade - atuará conforme o esperado * * ERROS HUMANOS * * AS VULNERABILIDADES DO OWASP TOP 10 * * 1. INJEÇÃO Dados não confiáveis são enviados. Podem gerar comandos indesejados ou permitir o acesso não autorizado. Como evitar: usar uma API segura ou que tenha uma interface parametrizada de modo a separar os dados não confiáveis. API (Application Programming Interface) = instruções de programação para acesso a um aplicativo. AS VULNERABILIDADES DO OWASP TOP 10 * * 2. QUEBRA DE AUTENTICAÇÃO E GERENCIAMENTO DE SESSÃO Atacantes comprometam senhas e tokens ou exploram falhas de implementação, assumindo a identidade de outros usuários. Como evitar: disponibilizar aos desenvolvedores um conjunto de controles fortes para autenticação e gerenciamento de sessão. * * 3. CROSS-SITE SCRIPTING (XSS) Falhas de XSS: quando uma aplicação recebe e envia ao navegador dados não confiáveis, sem validação. Atacantes executam scripts no navegador da vítima, desfigura sites, sequestra sessões ou redireciona para sites maliciosos. Como evitar: bibliotecas de auto-sanitização e a Content Security Policy no site. * * 4. REFERÊNCIA INSEGURA E DIRETA A OBJETOS O programador expõe um arquivo da base de dados. Quando é feita uma referência à implementação interna de um objeto sem a verificação de acesso, os atacantes podem manipular e acessar dados não autorizados. Como evitar: proteger os objetos, impedindo que o atacante acesse recursos não autorizados. * * 5. CONFIGURAÇÃO INCORRETA DE SEGURANÇA Quando uma configuração pré-definida de segurança é implementada na aplicação (frameworks, servidor, banco de dados), há risco, pois o invasor conhece o formato dos padrões. Como evitar: As configurações devem ser definidas, implementadas e mantidas porque a configuração padrão é insegura por ser previsível. * * 6. EXPOSIÇÃO DE DADOS SENSÍVEIS A não proteção dos dados sensíveis como cartões de crédito compromete a segurança do usuário. Como evitar: criptografia. * * 7. FALTA DE FUNÇÃO PARA CONTROLE DO NÍVEL DE ACESSO A maioria das aplicações web verificam os direitos de acesso antes de tornar a funcionalidade visível para o usuário. Depois precisam executar as mesmas verificações de controle de acesso no servidor quando a função é invocada. Se as requisições não forem verificadas, os atacantes podem forjar as requisições para acessar funcionalidades sem a autorização adequada. * * 8. CROSS-SITE REQUEST FORGERY (CSRF) Esse ataque força a vítima enviar uma requisição HTTP forjada, incluindo o cookie da sessão. A falha permite o atacante forçar o navegador da vítima a criar requisições que a aplicação vulnerável aceita como legítimas. Como evitar: tokens. * * 9. UTILIZAÇÃO DE COMPONENTES VULNERÁVEIS CONHECIDOS As aplicações que utilizam componentes com vulnerabilidades conhecidas podem minar as defesas permitindo ataques. Utilizar componentes vulneráveis é um risco, pois podem estar desatualizados e sem correções para as vulnerabilidades. Como evitar: Componentes do software e as versões são identificados para que se possa monitorar a segurança. * * 10. REDIRECIONAMENTOS E ENCAMINHAMENTOS INVÁLIDOS Aplicações web frequentemente redirecionam para outros sites, utilizando dados não confiáveis para determinar as páginas de destino. Sem uma validação adequada os atacantes podem facilmente redirecionar as vítimas para sites de phishing, malware. Como evitar: não usar parâmetros do usuário para calcular o destino. * * CONCLUSÃO Para a Segurança no Ciclo de Vida do Desenvolvimento, o OWASP recomenda que para a melhoria dos processos se utilize o Modelo de Maturidade de Garantia do Software (SAMM), que ajuda a formular e implementar estratégias para a segurança do software feita de forma personalizada para os riscos enfrentados. * *