segurança em php

16
Laerte Guedes

Upload: ait-proeg-ufpa

Post on 11-Jun-2015

357 views

Category:

Technology


0 download

DESCRIPTION

Apresentação sobre Segurança em PHP

TRANSCRIPT

Page 1: Segurança em php

Laerte Guedes

Page 2: Segurança em php
Page 3: Segurança em php

As linguagens de programação por si só já possuem algumas brechas de segurança que podem vir a ser exploradas por hackers mal intencionados. Porém, estima-se que cerca de 70% das falhas exploradas não são da linguagem, e sim, da codificação indevida do sistema.

Page 4: Segurança em php

Mensagens de Erro: É necessário muito cuidado com a exposição de informações que mensagens de erro provocam. Uma simples falha de conexão com banco de dados pode exibir o nome do banco e o usuário do mesmo, o que é perigoso se alguém mal intencionado ver.

Page 5: Segurança em php

Criptografia

Page 6: Segurança em php

Criptografia: Como sabemos, informações trafegam e existe a possibilidade de interceptação dessas informações por um cracker. Toda informação sigilosa deve ser protegida por um algoritmo de criptografia. É aconselhável usar um bom algoritmo de criptografia, ou usar um próprio.

Page 7: Segurança em php

Validação de Dados: Tendo seu aplicativo na web você nunca terá 100% de controle sobre tudo que seus visitantes vão preencher em seus formulários, que diga-se de passagem, é a ferramenta mais importante de qualquer aplicação. Logo, filtre todas as informações afim de evitar ataques, tais como: XSS, SQL Injection, Mail Injection, HTML Injection e outros.

Page 8: Segurança em php

Configurações de Servidor: Fique atento sempre as configurações dos servidores que pretende trabalhar. Existem diretivas que podem ser exploradas facilmente se não houver a devida preocupação por parte do programador na hora da codificação.

Page 9: Segurança em php

Atualize-se: Procure sempre procurar sobre novos tipos de invasão e softwares mal-intencionados e modo de como proteger o seu sistema web deles. Não esqueça, todo dia surgem novos vírus e outras ameaças.

Page 10: Segurança em php

SQL Injection: É um tipo de ameaça de segurança que visa a inserção de instruções SQL através da manipulação de dados de uma aplicação.

Page 11: Segurança em php

Consideremos o seguinte comando SQL: SELECT id, nome, sobrenome FROM autores; Restringiremos nossa busca amarrando os

valores inseridos pelo usuário numa cláusula WHERE:

SELECT id, nome, sobrenome FROM autores WHERE nome = 'josé' AND sobrenome = 'silva';

José e Silva são strings cujo conteúdo será inserido como entrada pelo usuário.

Page 12: Segurança em php

Considerando isso, vamos supor que o usuário coloque acidentalmente uma aspa simples no meio da string inserida:

SELECT id, nome, sobrenome FROM autores WHERE nome = 'jo'sé' AND sobrenome = 'silva';

O inserção da aspa faz com que o que vier depois dela seja considerado como uma instrução SQL autêntica. Acima temos erro de sintaxe, mas poderíamos fazer assim:

SELECT id, nome, sobrenome FROM autores WHERE nome = 'jo'; DROP TABLE autores ;

Page 13: Segurança em php

Desse modo, nesse último comando, ao inserirmos uma string acrescida de aspas simples e do comando “DROPTABLE autores” no injetamos uma instrução SQL de forma indevida, e removemos a tabela autores de nosso banco de dados.

Page 14: Segurança em php

Resumindo, a SQL Injection só significa uma coisa para nosso sistema:

Page 15: Segurança em php

Usar a Função Addslashes(); Fazer validações na entrada; Usar prepared statements;

Page 16: Segurança em php

Obrigado!