Artigo no estilo: Curso

Por que eu devo ler este artigo:Neste artigo veremos uma breve introdução às dez ameaças mais comuns à segurança de suas aplicações web e suas modalidades de ataques. Também abordaremos as ameaças mais graves e agressivas que podem atingir uma aplicação ASP.NET, que são: a Injeção, o XSS, a quebra de autenticação, Gerenciamento de Sessão e o CRLF. Nesta primeira parte falaremos apenas sobre Injeção e XSS.

Quando a TI teve seu início de forma popular e maciça no Brasil na última década do século XX, a segurança era um fator importante, mas não era um fator de natureza estratégica como é hoje, possivelmente por não existirem os ataques e os profissionais da informação que temos hoje.

Naquela época, ainda não éramos a "Sociedade da Informação”, a internet ainda estava engatinhando. Aqui no Brasil, muitos usuários da internet conheceram as primeiras modalidades de ataques através do antigo IRC (Internet Relay Chat), no qual utilizavam um software chamado mIrc, criado por Khaled Mardam-Bey.

No que tange a segurança de aplicações web veremos os conceitos de autenticação e autorização. O sucesso ou a falha de um bom projeto de segurança em uma aplicação web se resume a estas duas palavras.

Não creia que o seu site, feito nesta ou naquela linguagem de programação, que é julgada "inofensiva, simples e segura" não atrairá a atenção de algum atacante. Muitas vezes, a origem dos ataques está dentro da organização, mais até que os ataques externos. O seu site pode e deve ser atingido ou atacado até por um port scanners que fluem por toda a internet. Todos os dias, milhares de pacotes UDP e TCP com destinos aleatórios navegam na internet com o intuito de atingir e identificar vulnerabilidades de servidores mal configurados e mal dimensionados.

Muito se tem feito no campo da Segurança de Aplicações Web e muito se tem debatido sobre o assunto em larga escala, a ponto de um grupo de grandes empresas se unir para difundir e criar as melhores práticas em segurança da informação baseadas em boletins e estatísticas anuais de ataques em todo o mundo. Esta união de empresas deu início a OWASP (BOX 1).

BOX 1. OWASP

O Open Web Application Security Project, ou Projeto Aberto para Segurança de Aplicações Web, é uma organização mundial sem fins lucrativos focada na melhoria da segurança de software de uma forma geral, tendo ênfase em segurança na web. Qualquer pessoa pode participar livremente da OWASP e todo o seu material está disponível sobre licença de software livre e aberto.

No site da OWASP podemos encontrar muitas fontes de informação sobre aplicações seguras em ASP.NET, Java e outras linguagens.

Principais ataques às aplicações ASP.NET

Vamos verificar agora os ataques mais comuns a aplicações ASP.NET. A OWASP criou uma literatura intitulada “Os dez riscos mais críticos em aplicações web”. Todos os anos o seu top 10 é divulgado, e também difunde sua metodologia de Taxa de Riscos, onde dispõe de uma escala, como podemos ver na Figura 1.

img

Figura 1. Metodologia para mensurar a Taxa de Riscos

De acordo com a própria OWASP, esta metodologia foi criada porque somente o desenvolvedor sabe os detalhes de seu ambiente e por isso é a pessoa mais indicada para fazer tal avaliação de segurança. Vamos a apresentação dos dez riscos.

Injeção

Falhas por injeção, tais como Injeção por SQL, Injeção no Sistema Operacional ou Injeção via LDAP, ocorrem quando um dado não confiável é enviado para a aplicação como parte de um comando ou consulta. O atacante utiliza de um dado malicioso que pode fazer com que a aplicação execute comandos de forma não intencional, acessando e/ou gravando dados não autorizados.

Quebra de autenticação e Gerenciamento de Sessões

Métodos da aplicação, responsáveis pela autenticação e gerenciamento de sessão, que não são implementados, quase sempre, da forma correta e permitem ao atacante comprometer o uso de senhas, chaves e variáveis de sessão ou explorar via exploit alguma falha capaz de fazê-lo assumir a identidade de algum usuário do sistema, causando grande dano ao sistema e principalmente à organização.

Cross-Site Scripting (XSS)

Sem tradução exata para a nosso idioma, é um ataque que ocorre sempre que uma aplicação gera dados não confiáveis e os envia a um navegador sem a validação correta e o tratamento adequado. Este ataque permite a execução remota de scripts ou trechos de códigos no navegador da vítima para roubar, ou sequestrar (hijacking) suas sessões abertas, pichar web sites, mudando a sua página inicial, ou redirecionar o usuário para sites com conteúdo impróprio com o intuito de roubar seus dados (phishing).

Referência Direta a objetos internos de forma insegura

Uma referência direta a um objeto ocorre quando um desenvolvedor expõe uma referência interna através da implementação de um objeto, tais como um arquivo, um diretório ou uma senha de banco de dados. Sem um controle para checar o acesso ou qualquer outro tipo de proteção, um atacante pode acessar e manipular estas referências através deste objeto exposto para ganhar acesso a dados sensíveis.

Configuração de Segurança feita incorretamente

Boa segurança significa ter configuração segura e estável e implementadas pela aplicação, frameworks, servidores e plataforma. Todas essas configurações devem ser definidas, implementadas e mantidas, já que em sua totalidade, estas ferramentas vêm sempre com suas configurações padrão de segurança, o que hoje em dia não é o suficiente.

Isso também inclui a manutenção de todos os softwares para se manterem atualizados, juntamente com todas as bibliotecas usadas pela aplicação.

Exposição de dados estratégicos

Muitas aplicações web não protegem corretamente seus dados mais críticos e sensíveis, tais como CPFs, códigos de cartão de crédito, números de identidades, números de Carteiras de Habilitação, Renavans e principalmente credenciais para autenticação com hashing e criptografia apropriadas e estáveis.

O atacante pode roubar ou modificar estes dados protegidos de forma inconsistente, insegura e principalmente fraca para gerar roubo de identidade, fraudes de cartões de créditos, dentre outros crimes que já conhecemos.

Falta de métodos para controlar o nível de acesso dos usu ...

Quer ler esse conteúdo completo? Tenha acesso completo