TrabalhosGratuitos.com - Trabalhos, Monografias, Artigos, Exames, Resumos de livros, Dissertações
Pesquisar

Relatório 6 Testes De Segurança E Instalação De Software Seguros

Dissertações: Relatório 6 Testes De Segurança E Instalação De Software Seguros. Pesquise 860.000+ trabalhos acadêmicos

Por:   •  11/2/2014  •  2.228 Palavras (9 Páginas)  •  1.075 Visualizações

Página 1 de 9

ETAPA 5

Essa atividade é importante para que você conheça os métodos de realizar e documentar os testes de segurança de um sistema e preparar o ambiente para implantação e instalação do software. Para realizá-la, é importante seguir os passos descritos.

Passo 1

Ler atentamente o artigo científico sobre: Metodologia OSSTMM para Teste de Segurança em TI. Disponível em: <https://docs.google.com/open?id=0B9e1nJ9U5ACjR3B2Y01xcXgzQ0k>. Acesso em: 15 abr. 2012.

Passo 2

Construir um Plano de Teste para representar os seguintes testes das ameaças abaixo:

● SQL INJECTION.

● XSS (CROSS SITE SCRIPTING).

● Buffer OverFlow.

SQL INJECTION

O SQL INJECTION é um tipo de ataque considerado pelos programadores como ataque simples que se baseia na execução de trechos de comandos SQL, estes comandos são executados nas entradas de formulários web, ou seja, normalmente onde são passados comandos SQL para o banco de dados, que por falhas na aplicação acabam acessando de forma indevida o banco de dados ou liberando acesso à aplicação. É um tipo de ameaça que aproveita de falhas de segurança em banco de dados SQL. O SQL Injection ocorre quando o atacante (hacker) consegue inserir uma serie de instrução SLQ em uma consulta através da entrada manipulada de dados de uma aplicação.

O SQL Injection no PHP, por exemplo, ocorre em formulários que possuem falhas. Através disso, o atacante poderá acessar o sistema ou apagar componentes da estrutura do banco de dados.

Exemplo clássico de código PHP em consulta SQL responsável por efetuar a busca do Login e Senha no banco de dados.

Para ilustrar o conceito de SQL Injection, o site http://imasters.com.br nos tras a seguinte simulação:

Imaginemos que um script de validação de acesso de usuários tenha sido desenvolvido como segue:

Nas linhas 3 e 4, as variáveis $usuario e $senha, respectivamente, recebem o conteúdo submetido por um formulário através do método POST. Eis a fonte do problema.

Suponha que a seguinte entrada tenha sido informada no campo usuário no formulário chamador do script de validação:

Logo, a query string resultante será:

Se nenhuma outra validação for realizada, o usuário mal intencionado terá efetuado login no sistema, sem ao menos informar um usuário contido na tabela. Isto foi possível pois o valor de entrada informado não recebeu o tratamento devido, sendo adicionado à instrução para ser executado.

EVITANDO O USO DO SQL INJECTION

Deve-se tomar cuidado com a configuração do usuário que estabelece a conexão com o banco de dados. O ideal é que as permissões de acesso deste usuário estejam restritamente limitadas às funções que irá realizar, ou seja, para a exibição de um relatório, a conexão com o banco de dados deve ser realizada por um usuário com permissões de leitura e acesso somente às tabelas necessárias para sua operação.

Todos os valores originados da coleta de dados externos, devem ser validadas e tratadas a fim de impedir a execução de eventuais instruções destrutivas ou operações que não sejam as esperadas.

Um tratamento básico para a execução de querys com variáveis contendo valores informados pelo usuário:

Com a utilização da função addslashes() será adicionada uma barra invertida antes de cada aspa simples e aspa dupla encontrada, processo conhecido como escape. Se a diretiva de configuração do PHP magic_quotes_gpc estiver ativada, o escape é realizado automaticamente sobre os dados de COOKIES e dados recebidos através dos métodos GET e POST. Neste caso, não deve ser efetuado o tratamento com addslashes(). A função get_magic_quotes_gpc(), disponível nas versões do PHP a partir da 3.0.6, retorna a configuração atual da diretiva magic_quotes_gpc.

Abaixo, a query string resultante da aplicação do tratamento mencionado:

Em muitos bancos de dados, existem funções específicas para o tratamento de variáveis em query strings, o que diminui a compatibilidade do código fonte para operação com outros sistemas de banco de dados.

XSS (CROSS SITE SCRIPTING)

O XSS é uma vulnerabilidade encontrada em aplicações WEB que tende a promover inserção de códigos maliciosos na aplicação. Geralmente as aplicações que estão vulneráveis a este tipo de ataque dispõem de campos onde o usuário pode inserir dados, como por exemplo comentários em blogs e caixa de texto para comentários.

De acordo com o site http://www.redesegura.com.br, tecnicamente, este problema ocorre quando um parâmetro de entrada do usuário é apresentado integralmente pelo navegador, como no caso de um código javascript que passa a ser interpretado como parte da aplicação legítima e com acesso a todas as entidades do documento (DOM). Na prática, o responsável pelo ataque executa instrução no navegador da vítima usando um aplicativo web vulnerável, modifica estruturas do documento HTML e até mesmo utiliza o golpe para realizar fraudes como phishing.

A vulnerabilidade poderia ser:

● Um bug do browser que sob determinadas condições permite conteúdos (scripts) de determinado nível ser executado com permissões de níveis mais altos.

● Um erro na configuração do browser; sites não seguros listados em zonas privilegiadas.

● Vulnerabilidade de cross-site scripting em uma zona privilegiada.

Esses tipos de ataques são utilizados frequentemente para causar danos a usuários legítimos de aplicações vulneráveis (aqueles que possuem acesso livre a aplicação). Essa vulnerabilidade afeta principalmente a imagem de corporações afetadas e implica também na distribuição de phishing e facilitação de fraudes.

COMO EVITAR ATAQUES XSS (CROSS SITE SCRIPTING)

É necessário se assegurar que todas as entradas de dados do usuário

...

Baixar como (para membros premium)  txt (15.1 Kb)  
Continuar por mais 8 páginas »
Disponível apenas no TrabalhosGratuitos.com