Vídeo: OWASP Top Ten 2017: Qual é a pior vulnerabilidade? 2024
Os sistemas baseados na Web contêm muitos componentes, incluindo o código do aplicativo, sistemas de gerenciamento de banco de dados, sistemas operacionais, middleware e o próprio software do servidor web. Esses componentes podem, individual e coletivamente, ter defeitos de projeto ou implementação de segurança. Alguns dos defeitos presentes incluem:
- Falha em bloquear os ataques de injeção. Ataques, como a injeção de JavaScript e a injeção de SQL, podem permitir que um invasor cause um mau funcionamento da ferramenta e exponha dados sensíveis armazenados internamente.
- Autenticação com defeito. Existem muitas, muitas maneiras pelas quais um site pode implementar a autenticação - eles são muito numerosos para listar aqui. A autenticação é essencial para obter direito; muitos sites não conseguem fazê-lo.
- Gerenciamento de sessão defeituoso. Os servidores da Web criam "sessões" lógicas para acompanhar os usuários individuais. Os mecanismos de gerenciamento de sessões de muitos sites são vulneráveis a abusos, principalmente, que permitem que um invasor assumisse a sessão de outro usuário.
- Falha ao bloquear ataques de scripts entre sites. sites que falham em examinar e desinfetar os dados de entrada. Como resultado, os invasores às vezes podem criar ataques que enviam conteúdo malicioso para o usuário.
- Falha em bloquear ataques de falsificação de solicitações entre sites. Os sites da Web que não conseguem empregar a sessão apropriada e o gerenciamento do contexto da sessão podem ser vulneráveis aos ataques em que os usuários são enganados ao envio de comandos para sites que podem causar danos.
Um exemplo é onde um invasor engana um usuário para clicar em um link que realmente leva o usuário a um URL como este:
// banco. com / transferência? tohackeraccount: amount = 99999. 99
. - Falha na proteção de referências de objetos diretos. Os sites da Web às vezes podem ser enganados para acessar e enviar dados para um usuário que não está autorizado a visualizá-lo ou a modificá-lo.
Estas vulnerabilidades podem ser mitigadas de três maneiras principais:
- Treinamento para desenvolvedores sobre as técnicas de desenvolvimento de software mais seguro
- Incluindo segurança no ciclo de vida de desenvolvimento
- Uso da aplicação dinâmica e estática Ferramentas de digitalização