Você está na página 1de 91

Mtodos de Invaso de Redes e Sistemas

Prof. rico Jos Ferreira


ericonet@ericonet.com.br

Material disponvel em http://www.ericonet.com.br


Especializao em Crimes Digitais e Produo de Provas Judiciais UNIEURO/2010 Prof. rico Jos Ferreira 1

Mtodos de Invaso de Redes e Sistemas

HACKERS

Especializao em Crimes Digitais e Produo de Provas Judiciais UNIEURO/2010 Prof. rico Jos Ferreira

Mtodos de Invaso de Redes e Sistemas

Histrico

Durante as primeiras dcadas de sua existncia, as redes de computadores foram principalmente usadas pelos usurios para enviar mensagens de correio eletrnico e para compartilhar impressoras.
SEGURANA NO PRECISAVA DE CUIDADOS

Especializao em Crimes Digitais e Produo de Provas Judiciais UNIEURO/2010 Prof. rico Jos Ferreira

Mtodos de Invaso de Redes e Sistemas

Histrico
Uso crescente das redes

operaes bancrias e-commerce Servios pblicos em geral segurana precisa de muitos cuidados

Especializao em Crimes Digitais e Produo de Provas Judiciais UNIEURO/2010 Prof. rico Jos Ferreira

Mtodos de Invaso de Redes e Sistemas

Segurana

A segurana se preocupa em garantir que pessoas mal-intencionadas no leiam ou, pior ainda, modifiquem mensagens enviadas a outros destinatrios. Outra preocupao da segurana se volta para pessoas que tentam ter acesso a servios remotos, os quais elas no esto autorizadas a usar. A maior parte dos problemas de segurana so intencionalmente causados por pessoas que tentam obter algum benefcio ou prejudicar algum. HACKERS

Especializao em Crimes Digitais e Produo de Provas Judiciais UNIEURO/2010 Prof. rico Jos Ferreira

Mtodos de Invaso de Redes e Sistemas

Origem do Termo

O termo hacker designava qualquer pessoa que fosse extremamente especializada em uma determinada rea. Qualquer fera em qualquer assunto, poderia ser considerado um hacker. Foi com o cinema americano que o termo passou a ser usado largamente. FILMES WAR GAMES / CDIGO PARA O INFERNO

Especializao em Crimes Digitais e Produo de Provas Judiciais UNIEURO/2010 Prof. rico Jos Ferreira

Mtodos de Invaso de Redes e Sistemas

Origem do Termo

O mercado americano abarrotou as prateleiras de livros como Cyberpunk, e mais tarde, qualquer nota sobre invaso de sistemas ou crimes relacionados a computadores ganhavam um espao cada vez maior na mdia. DESPERTOU A CURIOSIDADE

Especializao em Crimes Digitais e Produo de Provas Judiciais UNIEURO/2010 Prof. rico Jos Ferreira

Mtodos de Invaso de Redes e Sistemas

Hackers Antigos

Os hackers eram pessoas que trabalhavam em projetos de computadores e tcnicos altamente especializados. Mas tambm existiam aqueles garotos que estudavam muito e hoje, grande parte trabalha na rea de segurana de computadores. O resto est preso ou respondendo processo.

Especializao em Crimes Digitais e Produo de Provas Judiciais UNIEURO/2010 Prof. rico Jos Ferreira

Mtodos de Invaso de Redes e Sistemas

Hackers Atuais

Hoje, a grande maioria dos hackers jovem. Dizem que uma fase da vida de cada micreiro. E alm do mais o jovem tem muito mais tempo para estudar e aprender.

Especializao em Crimes Digitais e Produo de Provas Judiciais UNIEURO/2010 Prof. rico Jos Ferreira

Mtodos de Invaso de Redes e Sistemas

Hacker - Definio

Hacker aquela pessoa que possui uma grande facilidade de anlise, assimilao, compreenso e capacidades surpreendentes de conseguir fazer o que quiser com um computador. Ele sabe perfeitamente que nenhum sistema completamente livre de falhas, e sabe onde procurar por elas, utilizando tcnicas das mais variadas.

Especializao em Crimes Digitais e Produo de Provas Judiciais UNIEURO/2010 Prof. rico Jos Ferreira

Mtodos de Invaso de Redes e Sistemas

Cracker - Definio
Possui tanto conhecimento quanto os hackers, mas com a diferena de que, para eles, no basta entrar em sistemas, quebrar senhas, e descobrir falhas. Eles precisam deixar um aviso de que estiveram l, geralmente com recados malcriados, algumas vezes destruindo partes do sistema, e at aniquilando com tudo que v pela frente.

HACKER MALIGNO
Especializao em Crimes Digitais e Produo de Provas Judiciais UNIEURO/2010 Prof. rico Jos Ferreira

Mtodos de Invaso de Redes e Sistemas

Lamer - Definio
aquele cara que quer aprender sobre hackers, e sai perguntando para todo mundo. Os hackers, ou qualquer outra categoria, no gostam disso, e passam a lhe insultar, chamando-o de lamer, ou seja, novato.

Especializao em Crimes Digitais e Produo de Provas Judiciais UNIEURO/2010 Prof. rico Jos Ferreira

Mtodos de Invaso de Redes e Sistemas

Wannabe - Definio
o principiante que aprendeu a usar algumas receitas de bolo (programas j prontos para descobrir senhas ou invadir sistemas), entrou em um provedor de fundo de quintal e j acha que vai conseguir entrar nos computadores da Nasa.

Especializao em Crimes Digitais e Produo de Provas Judiciais UNIEURO/2010 Prof. rico Jos Ferreira

Mtodos de Invaso de Redes e Sistemas

Arackers - Definio
Esses so os piores. Os hackers de araque so a maioria absoluta no submundo ciberntico. Algo em torno de 99,9%. Finge ser os mais ousados e espertos usurios de computador, planejam ataques, fazem reunies durante as madrugadas, mas no final das contas vo fazer downloads de sites pornogrficos ou jogar em Rede.

Especializao em Crimes Digitais e Produo de Provas Judiciais UNIEURO/2010 Prof. rico Jos Ferreira

Mtodos de Invaso de Redes e Sistemas Mtodos de Invaso - Hackers

Cavalo de tria O hacker infiltra em seu alvo um programa semelhante a um vrus. Mas, em lugar de destruir programas e arquivos, ele tem a funo de descobrir senhas. O cavalo de tria pode ser enviado escondido numa mensagem na Internet ou num disquete que o hacker passa, com jogos ou outros programas, para usurios do computador que quer invadir. Como programado para se conectar com seu criador, por meio de modem, em dia e hora marcados, ele transmite os dados que copiou.

Especializao em Crimes Digitais e Produo de Provas Judiciais UNIEURO/2010 Prof. rico Jos Ferreira

Mtodos de Invaso de Redes e Sistemas Mtodos de Invaso - Hackers

Farejamento de redes Para acelerar a sua transmisso, os dados que entram nas redes, provenientes de vrios computadores, so agrupados em pacotes. O hacker cria programas farejadores que monitoram a circulao desses pacotes nas redes e procuram neles palavras como password e senha. Quando as encontra, o programa copia o pacote e o envia para o computador do hacker.

Especializao em Crimes Digitais e Produo de Provas Judiciais UNIEURO/2010 Prof. rico Jos Ferreira

Mtodos de Invaso de Redes e Sistemas Mtodos de Invaso - Hackers

Engenharia Social uma espcie de espionagem. Senhas com datas de nascimento, sobrenome ou nome dos filhos so muito comuns. Se o hacker tiver acesso a essas informaes do usurio, vai tent-las, como primeira opo, para descobrir sua senha. Alguns chegam a arrumar emprego temporrio na empresa que pretendem invadir. Ningum cobre o teclado na hora de digitar a senha.

Especializao em Crimes Digitais e Produo de Provas Judiciais UNIEURO/2010 Prof. rico Jos Ferreira

Mtodos de Invaso de Redes e Sistemas Mtodos de Invaso - Hackers

Quebra-cabea Um jeito simples de desvendar senhas a velha tentativa e erro. Para isso, o hacker cria programas capazes de montar todo tipo de combinao de letras e nmeros. O sistema funciona bem para senhas de 06 caracteres. No Brasil era um mtodo muito difundido, pois as senhas em geral eram simples e dificilmente os computadores possuam sistema de proteo

Especializao em Crimes Digitais e Produo de Provas Judiciais UNIEURO/2010 Prof. rico Jos Ferreira

Mtodos de Invaso de Redes e Sistemas

Phreaker - Definio
especializado em telefonia. Faz parte de suas principais atividades as ligaes gratuitas (tanto local como interurbano e internacional), reprogramao de centrais telefnicas, instalao de escutas.

Especializao em Crimes Digitais e Produo de Provas Judiciais UNIEURO/2010 Prof. rico Jos Ferreira

Mtodos de Invaso de Redes e Sistemas Mtodos de Invaso - Phreakers


Fraudando orelhes com aparelho comum Primeiro o Phreaker arruma um telefone comum bem pequeno e compacto. Depois ele tem que descascar os fios do orelho e os do telefone. Ele entrelaa-os e fica ligado para a polcia no ver. Nota pessoal: no meu tempo de engenharia eletrnica os orelhes eram com ficha e alguns alunos usavam um diodo retificador de meia onda com jacars soldados nas pontas e colocavam os jacars nos fios descascados e faziam ligaes de graa.

Especializao em Crimes Digitais e Produo de Provas Judiciais UNIEURO/2010 Prof. rico Jos Ferreira

Mtodos de Invaso de Redes e Sistemas Mtodos de Invaso - Phreakers

Fraude em caixa de verificao As caixas de verificao so caixas de ferro, que geralmente ficam localizadas em vias pblicas, e so utilizadas para se fazer a checagem das linhas e detectar problemas antes que chegue a central. O phreaker conecta um telefone comum a uma dessas linhas e liga gratuitamente.

Especializao em Crimes Digitais e Produo de Provas Judiciais UNIEURO/2010 Prof. rico Jos Ferreira

Mtodos de Invaso de Redes e Sistemas Mtodos de Invaso - Phreakers Enganando o telefone pblico O phreaker bota o carto, assim que a pessoa falar AL! Segura o nmero 9 e retira o carto. Ele tem que ficar segurando o 9, at acabar de falar. Mito ????

Especializao em Crimes Digitais e Produo de Provas Judiciais UNIEURO/2010 Prof. rico Jos Ferreira

Mtodos de Invaso de Redes e Sistemas Mtodos de Invaso - Phreakers


Grafite O grafite um material super condutor que conduz energia, e o carto funciona assim, ele tem 50 fusveis, cada ligao gasta ele queima um fusvel, ento o nosso amigo grafite que condutor de eletricidade, no deixa queimar os fusveis. Ento o phreaker deve rabiscar o grafite com fora no fundo do carto e us-lo a vontade. Mito ???

Especializao em Crimes Digitais e Produo de Provas Judiciais UNIEURO/2010 Prof. rico Jos Ferreira

Mtodos de Invaso de Redes e Sistemas Mtodos de Invaso - Phreakers Esmalte de unha incolor O esmalte de unha evita que os fusveis dos cartes telefnicos queimem. Mito ???

OBS: ESTES EXEMPLOS SO APENAS ILUSTRATIVOS E NO DEVEM SER SEGUIDOS PELOS LEITORES DESTE MATERIAL.

Especializao em Crimes Digitais e Produo de Provas Judiciais UNIEURO/2010 Prof. rico Jos Ferreira

Mtodos de Invaso de Redes e Sistemas Realidade


No existe segurana a 100%! Existiro sempre vulnerabilidades e ataques capazes de explor-las e pessoas dispostas a faz-lo, etc... Questes chave: Quanto se deve investir em segurana? Qual a relao custo benefcio compensadora? O custo da segurana no deve ser superior ao custo da informao protegida.

Especializao em Crimes Digitais e Produo de Provas Judiciais UNIEURO/2010 Prof. rico Jos Ferreira

Mtodos de Invaso de Redes e Sistemas Segurana de Permetro x Profundidade

Segurana pressupe atitude defensiva Defesa de permetro : Consiste em definir um permetro protegido englobando um conjunto de mquinas e redes. Evitar as interaes indesejveis entre os dois lados desse permetro. Restringir interaes entre domnios de segurana.

Especializao em Crimes Digitais e Produo de Provas Judiciais UNIEURO/2010 Prof. rico Jos Ferreira

Mtodos de Invaso de Redes e Sistemas Segurana de Permetro x Profundidade

Defesa em profundidade : Atua em todos os nveis e no apenas nas fronteiras entre domnios. Particularmente til para detectar problemas internos. Mais complexa de gerir.

Especializao em Crimes Digitais e Produo de Provas Judiciais UNIEURO/2010 Prof. rico Jos Ferreira

Mtodos de Invaso de Redes e Sistemas Polticas e Mecanismos de Segurana


Polticas de segurana: definem o foco da segurana e o que se deve garantir.

Mecanismos de segurana: tecnologia que permite implementar as polticas de segurana.

Domnio de segurana: universo de recursos (mquinas, redes) e pessoas sujeitos mesma poltica de segurana.

Especializao em Crimes Digitais e Produo de Provas Judiciais UNIEURO/2010 Prof. rico Jos Ferreira

Mtodos de Invaso de Redes e Sistemas Polticas e Mecanismos de Segurana


Exemplo : Poltica: O computador A s pode ser acessado por pessoas do Setor de Informtica

Mecanismos (para implementar esta poltica): barreiras fsicas, mecanismos de autenticao, registros, etc...

Especializao em Crimes Digitais e Produo de Provas Judiciais UNIEURO/2010 Prof. rico Jos Ferreira

Mtodos de Invaso de Redes e Sistemas Mecanismos de Segurana


Mecanismos de confinamento: criam barreiras difuso de atividades para alm das barreiras de segurana Ex: sandboxes, firewalls e as zonas desmilitarizadas (DMZ) , etc... Mecanismos de controle de acesso: permitem aferir se uma determinada pessoa pode ou no realizar uma determinada tarefa Ex: proteo dos arquivos, proteo do acesso a outras mquinas da rede, etc...

Especializao em Crimes Digitais e Produo de Provas Judiciais UNIEURO/2010 Prof. rico Jos Ferreira

Mtodos de Invaso de Redes e Sistemas Mecanismos de Segurana


Mecanismos de execuo privilegiada: destinamse a conceder privilgios a usurios que habitualmente no os tm. Ex: setuid, setgid Mecanismos de filtragem: servem para identificar atividades no autorizadas e evitar que as mesmas sejam levadas a efeito. Ex: filtragem de trfego na rede atravs de firewall

Especializao em Crimes Digitais e Produo de Provas Judiciais UNIEURO/2010 Prof. rico Jos Ferreira

Mtodos de Invaso de Redes e Sistemas Mecanismos de Segurana


Mecanismo de registo: produzem relatrios sobre as atividades solicitadas ou realizadas. Servem, fundamentalmente, para observar se o sistema est operando normalmente. Ex: Logs Mecanismos de auditoria: servem para fazer inspeo e anlise de registros que permitem retirar concluses aps ter acontecido algo de inesperado.

Especializao em Crimes Digitais e Produo de Provas Judiciais UNIEURO/2010 Prof. rico Jos Ferreira

Mtodos de Invaso de Redes e Sistemas Mecanismos de Segurana

Algoritmos criptogrficos: servem para proteger informao que possa ser fisicamente devassada.

Protocolos criptogrficos: so trocas ordenadas de dados entre entidades em que parte ou a totalidade dos dados teis so cifrados.

Especializao em Crimes Digitais e Produo de Provas Judiciais UNIEURO/2010 Prof. rico Jos Ferreira

Mtodos de Invaso de Redes e Sistemas Ao dos Mecanismos de Segurana


Preveno de ataques Evitar que tenham sucesso perturbao da operao normal?... Deteco de ataques Perceb-los o mais cedo possvel nem sempre possvel a preveno (vrus...) Recuperao de ataques Repor a situao inicial mas eliminar o ponto de entrada do ataque

Especializao em Crimes Digitais e Produo de Provas Judiciais UNIEURO/2010 Prof. rico Jos Ferreira

Mtodos de Invaso de Redes e Sistemas

Leis Federais

LEI 9610/98 LEI DE DIREITOS AUTORAIS LEI 9609/98 LEI DO SOFTWARE LEI 9279/96 CDIGO DE PROPRIEDADE INDUSTRIAL LEI 10695/03

Especializao em Crimes Digitais e Produo de Provas Judiciais UNIEURO/2010 Prof. rico Jos Ferreira

Mtodos de Invaso de Redes e Sistemas SQL BSICO


O modelo relacional encontra-se padronizado pela indstria de informtica. Ele chamado de padro SQL (Structured Query Language). O padro SQL define precisamente uma interface SQL para a definio de tabelas, para as operaes sobre as mesmas (seleo, projeo, juno, e outras) e para a definio de regras de integridade de bancos de dados. A interface SQL portanto implementada em todos os sistemas de bancos de dados relacionais existentes. Por qu a indstria tem interesse em padronizar os sistemas de bancos de dados? A razo muito simples: a existncia de padres facilita a interoperabilidade (comunicao entre mquinas, entre programas).
Especializao em Crimes Digitais e Produo de Provas Judiciais UNIEURO/2010 Prof. rico Jos Ferreira 36

Mtodos de Invaso de Redes e Sistemas SQL BSICO


A linguagem SQL tem diversas partes:
Linguagem de Definio de Dados (DDL)
fornece comandos para definies de esquemas de relao, criao/remoo de tabelas, criao de ndices e modificao de esquemas.

Linguagem de Manipulao de Dados (DML)


inclui uma linguagem de consulta baseada na lgebra relacional e clculo relacional de tupla. Compreende comandos para inserir, consultar, remover e modificar tuplas num BD.

Especializao em Crimes Digitais e Produo de Provas Judiciais UNIEURO/2010 Prof. rico Jos Ferreira

37

Mtodos de Invaso de Redes e Sistemas SQL BSICO


Tipo de dados Definido usurio Escalar Interno Conjunto de dados VARRAY TABLE Relacionamento REF

CHAR(N), NCHAR(N) VARCHAR2(N), NVARCHAR2(N) NUMBER(P,S) DATE RAW(N) BLOB, CLOB, NCLOB, BFILE LONG, LONG RAW ROWID, UROWID

Especializao em Crimes Digitais e Produo de Provas Judiciais UNIEURO/2010 Prof. rico Jos Ferreira

38

Mtodos de Invaso de Redes e Sistemas SQL BSICO - DDL


Os comandos SQL para definio de dados so: - CREATE - DROP - ALTER CREATE TABLE: especifica uma nova tabela (relao), dando o seu nome e especificando as colunas(atributos) (cada uma com seu nome, tipo e restries) Sintaxe:
CREATE TABLE tabela_base (colunas tabela_base + constraints)
Especializao em Crimes Digitais e Produo de Provas Judiciais UNIEURO/2010 Prof. rico Jos Ferreira

39

Mtodos de Invaso de Redes e Sistemas SQL BSICO - DDL


As definies das colunas tm o seguinte formato:
coluna tipo[NOT NULL [UNIQUE]][DEFAULT valor]

Onde:
coluna: nome do atributo que est sendo definido tipo: domnio do atributo NOT NULL: expressa que o atributo no pode receber valores nulos UNIQUE: indica que o atributo tem valor nico na tabela. Qualquer tentativa de se introduzir uma linha na tabela contendo um valor igual ao do atributo ser rejeitada. Serve para indicar chaves secundrias DEFAULT: indica um valor default para a coluna
Especializao em Crimes Digitais e Produo de Provas Judiciais UNIEURO/2010 Prof. rico Jos Ferreira 40

Mtodos de Invaso de Redes e Sistemas SQL BSICO - DDL


Constraints (Restries de Integridade e de domnio):
Integridade de Chave: PRIMARY KEY(atributos_chave) Integridade Referencial: FOREIGN KEY (atributos) REFERENCES tabela_base(atributos) Restrio de Integridade: CHECK(condio)

Especializao em Crimes Digitais e Produo de Provas Judiciais UNIEURO/2010 Prof. rico Jos Ferreira

41

Mtodos de Invaso de Redes e Sistemas SQL BSICO - DDL


Exemplo:
Create table CD (
cod_cd integer not null, cod_gravadora integer null, nome_cd varchar(60) null, preco_venda decimal(6,2) null, cd_indicado integer null, Primary Key (cod_cd), Foreign Key (cod_gravadora) references Gravadora(cod_gravadora), Check (preco_venda > 0) );
Especializao em Crimes Digitais e Produo de Provas Judiciais UNIEURO/2010 Prof. rico Jos Ferreira 42

Mtodos de Invaso de Redes e Sistemas SQL BSICO - DDL ALTER TABLE


usado para alterar a estrutura de uma tabela para:
Acrescentar novas colunas
ALTER TABLE cliente add email varchar(80) unique

Acrescentar novas constraints


ALTER TABLE cliente add Primary Key (cd_cliente)

Modificar colunas
ALTER TABLE cliente Modify Column email varchar(100) not null

Especializao em Crimes Digitais e Produo de Provas Judiciais UNIEURO/2010 Prof. rico Jos Ferreira

43

Mtodos de Invaso de Redes e Sistemas SQL BSICO - DDL


ALTER TABLE
Excluir colunas
ALTER TABLE cliente Delete (drop) email

Trocar nomes de colunas


ALTER TABLE cliente Rename (change) nome_cliente To nm_cliente (tipo)

* Valores entre parenteses usados no MySQL

Especializao em Crimes Digitais e Produo de Provas Judiciais UNIEURO/2010 Prof. rico Jos Ferreira

44

Mtodos de Invaso de Redes e Sistemas SQL BSICO - DDL


DROP TABLE
Usado para eliminar uma tabela
DROP TABLE cliente

Especializao em Crimes Digitais e Produo de Provas Judiciais UNIEURO/2010 Prof. rico Jos Ferreira

45

Mtodos de Invaso de Redes e Sistemas SQL BSICO - DML


INSERT INTO
Para incluir dados em uma tabela INSERT INTO AUTOR
Values (1, Vinicius de Moraes), (2, Tom Jobim), (3, Toquinho)

Especializao em Crimes Digitais e Produo de Provas Judiciais UNIEURO/2010 Prof. rico Jos Ferreira

46

Mtodos de Invaso de Redes e Sistemas SQL BSICO - DML


UPDATE TABLE
Para alterar o contedo de uma ou mais colunas, ou o contedo de uma coluna em diversas linhas. UPDATE CD Set preco_venda = 15 Where cod_gravadora = 1;

Especializao em Crimes Digitais e Produo de Provas Judiciais UNIEURO/2010 Prof. rico Jos Ferreira

47

Mtodos de Invaso de Redes e Sistemas SQL BSICO - DML


DELETE FROM
Usado para excluir linhas de uma tabela
DELETE FROM AUTOR Where cd_autor = 1; DELETE FROM CD Where cod_gravadora = 2; DELETE FROM MUSICA Nesse caso, todas as msicas sero excludas (a tabela ficar vazia)

Especializao em Crimes Digitais e Produo de Provas Judiciais UNIEURO/2010 Prof. rico Jos Ferreira

48

Mtodos de Invaso de Redes e Sistemas SQL BSICO - DML


Pesquisa Bsica em Tabelas o comando SELECT A sintaxe mais simples do SELECT :
SELECT [DISTINCT | ALL] { * | coluna [,coluna, ...] } FROM tabela;

Para visualizar todas linhas e colunas de uma tabela: SELECT * FROM CD; Para filtrar apenas algumas colunas: SELECT cod_cd, nome_cd FROM CD;

Especializao em Crimes Digitais e Produo de Provas Judiciais UNIEURO/2010 Prof. rico Jos Ferreira

49

Mtodos de Invaso de Redes e Sistemas SQL BSICO - DML


Pesquisa Bsica em Tabelas o comando SELECT
Ordenando o resultado: SELECT cod_cd, nome_cd FROM CD ORDER BY nome_cd; Agrupando o resultado: SELECT cod_cd, nome_cd FROM CD GROUP BY nome_cd;

Especializao em Crimes Digitais e Produo de Provas Judiciais UNIEURO/2010 Prof. rico Jos Ferreira

50

Mtodos de Invaso de Redes e Sistemas SQL BSICO - DML


Filtrando linhas
Para filtrar linhas em uma pesquisa, utilizamos a clusula WHERE, onde definimos uma expresso lgica(condio) que ser avaliada e mostrar apenas as linhas que atenderem ao critrio estabelecido. SELECT nome_cd, preco_venda FROM CD WHERE preco_venda > 10;

Especializao em Crimes Digitais e Produo de Provas Judiciais UNIEURO/2010 Prof. rico Jos Ferreira

51

Mtodos de Invaso de Redes e Sistemas SQL BSICO - DML


Operadores Relacionais
Definem um tipo de condio bsica. Podemos usar os seguintes operadores:
= igual < menor que <= menor ou igual que > maior >= maior ou igual que != ou <> diferente

Especializao em Crimes Digitais e Produo de Provas Judiciais UNIEURO/2010 Prof. rico Jos Ferreira

52

Mtodos de Invaso de Redes e Sistemas SQL BSICO - DML


Operadores Lgicos
Utilizados quando apenas uma condio no o suficiente para determinarmos o critrio de busca. Podemos usar os seguintes operadores:
AND e condio1 e condio2 OR ou condio1 ou condio2 NOT ou !negao no-condio

SELECT nome_cd, preco_venda, cod_gravadora


FROM CD WHERE preco_venda > 11 AND cod_gravadora = 3.
Especializao em Crimes Digitais e Produo de Provas Judiciais UNIEURO/2010 Prof. rico Jos Ferreira 53

Mtodos de Invaso de Redes e Sistemas SQL BSICO - DML


Operadores Especiais
IS NULL : para saber se o contedo de uma coluna foi ou no inicializado.
SELECT nome_gravadora From GRAVADORA WHERE endereco IS NULL;

IS NOT NULL : negao do operador anterior.


SELECT nome_gravadora, endereco From GRAVADORA WHERE endereco IS NOT NULL;

Especializao em Crimes Digitais e Produo de Provas Judiciais UNIEURO/2010 Prof. rico Jos Ferreira

54

Mtodos de Invaso de Redes e Sistemas SQL BSICO - DML


Operadores Especiais
BETWEEN : serve para determinar um intervalo de busca. Muito usado para simplificar a utilizao do operador lgico AND. SELECT nome_cd, preco_venda FROM CD WHERE preco_venda BETWEEN 10 AND 20;

De outra forma teramos que utilizar:


SELECT nome_cd, preco_venda FROM CD WHERE preco_venda >= 10 AND preco_venda <= 20;
Especializao em Crimes Digitais e Produo de Provas Judiciais UNIEURO/2010 Prof. rico Jos Ferreira

55

Mtodos de Invaso de Redes e Sistemas SQL BSICO - DML


Operadores Especiais
LIKE : usado para comparar cadeias de caracteres utilizando padres de comparao para um ou mais caracteres.
LIKE A% LIKE %A LIKE %A% LIKE A_ LIKE _A LIKE _A_ LIKE %A_ LIKE _A% palavras iniciadas com A palavras que terminem com A palavras com A em qualquer posio string de 2 caracteres iniciado com A string de 2 caracteres terminado em A string de 3 caracteres sendo A o segundo palavras com A na penltima posio palavras com A na segunda posio
56

Especializao em Crimes Digitais e Produo de Provas Judiciais UNIEURO/2010 Prof. rico Jos Ferreira

Mtodos de Invaso de Redes e Sistemas SQL BSICO - DML


Operadores Especiais
SELECT * FROM AUTOR WHERE nome_autor LIKE V%; SELECT * FROM AUTOR WHERE nome_autor LIKE _I%; SELECT * FROM AUTOR WHERE nome_autor LIKE C_R%; SELECT * FROM AUTOR WHERE nome_autor LIKE V%;
Especializao em Crimes Digitais e Produo de Provas Judiciais UNIEURO/2010 Prof. rico Jos Ferreira

57

Mtodos de Invaso de Redes e Sistemas SQL BSICO - DML


Operadores Especiais
IN : permite comparar o valor de uma coluna com um conjunto de valores. Usado para substituir uma srie de comparaes seguidas usando a clusula OR. SELECT * FROM AUTOR WHERE cod_autor IN (1,12,27);

Especializao em Crimes Digitais e Produo de Provas Judiciais UNIEURO/2010 Prof. rico Jos Ferreira

58

Mtodos de Invaso de Redes e Sistemas SQL BSICO - DML


Manipulao de Cadeias
LENGTH : retorna o nmero de caracteres contidos em uma cadeia de caracteres. SELECT LENGTH(Renato Russo) From Autor Retorna 12

Especializao em Crimes Digitais e Produo de Provas Judiciais UNIEURO/2010 Prof. rico Jos Ferreira

59

Mtodos de Invaso de Redes e Sistemas SQL BSICO - DML


Manipulao de Cadeias
UPPER e LOWER : usado quando no sabemos exatamente como a cadeia de caracteres foi armazenada no banco. O contedo do campo comparado literalmente com a cadeia informada, levando-se em conta maisculas e minsculas. Se em nome_autor tivermos Vinicius, a seguinte query no retorna nenhuma linha:
SELECT * From AUTOR Where nome_autor = VINICIUS;

Especializao em Crimes Digitais e Produo de Provas Judiciais UNIEURO/2010 Prof. rico Jos Ferreira

60

Mtodos de Invaso de Redes e Sistemas SQL BSICO - DML


Manipulao de Cadeias
Para solucionar podemos utilizar:
SELECT * From AUTOR Where UPPER(nome_autor) = VINICIUS;

Ou ainda:
SELECT * From AUTOR Where LOWER(nome_autor) = vinicius;

Especializao em Crimes Digitais e Produo de Provas Judiciais UNIEURO/2010 Prof. rico Jos Ferreira

61

Mtodos de Invaso de Redes e Sistemas SQL BSICO - DML


Manipulao de Datas
Quando criamos colunas com tipo de dado Data, podemos realizar uma srie de clculos e operaes cronolgicas. O SQL especifica quatro tipos de dados relacionados a data e hora:
DATE Apenas Data TIME Apenas Hora TIMESTAMP Data e Hora INTERVAL Intervalo entre os dois tipos de dados anteriores

Especializao em Crimes Digitais e Produo de Provas Judiciais UNIEURO/2010 Prof. rico Jos Ferreira

62

Mtodos de Invaso de Redes e Sistemas SQL BSICO - DML


Manipulao de Datas
SELECT * From CD Where data_lancamento = CURRENTE_DATE; Retorna os CDs lanados no dia de hoje. Uma coluna do tipo data composta de seis elementos:
YEAR (ano) MONTH (ms) DAY (dia) HOUR (hora) MINUTE ( minuto) SECOND (segundo)
63

Especializao em Crimes Digitais e Produo de Provas Judiciais UNIEURO/2010 Prof. rico Jos Ferreira

Mtodos de Invaso de Redes e Sistemas SQL INJECTION

Uma das tcnicas de fraude mais conhecida pelos desenvolvedores web a SQL Injection. Trata-se da manipulao de uma instruo SQL atravs das variveis quem compem os parmetros recebidos por um script server-side, tal como PHP, ASP, ColdFusion e outros.

Especializao em Crimes Digitais e Produo de Provas Judiciais UNIEURO/2010 Prof. rico Jos Ferreira

64

Mtodos de Invaso de Redes e Sistemas SQL INJECTION

O principal motivo pelo qual deve-se impossibilitar a utilizao da SQL Injection est no fato de que, atravs de uma simples instruo SQL, como por exemplo, uma projeo de dados, outras operaes podem ser executadas, podendo impactar sobre o esquema das tabelas, os dados armazenados, e at mesmo sobre elementos do sistema operacional, tendo em vista que alguns bancos de dados permitem a execuo de comandos do shell do prprio sistema operacional.
Especializao em Crimes Digitais e Produo de Provas Judiciais UNIEURO/2010 Prof. rico Jos Ferreira 65

Mtodos de Invaso de Redes e Sistemas SQL INJECTION


Para ilustrar o conceito de SQL Injection, a seguinte simulao pode ser realizada. Imaginemos que um script de validao de acesso de usurios tenha sido desenvolvido como segue:

Especializao em Crimes Digitais e Produo de Provas Judiciais UNIEURO/2010 Prof. rico Jos Ferreira

66

Mtodos de Invaso de Redes e Sistemas SQL INJECTION Nas linhas 3 e 4, as variveis $usuario e $senha, respectivamente, recebem o contedo submetido por um formulrio atravs do mtodo POST. a que mora o perigo !

Especializao em Crimes Digitais e Produo de Provas Judiciais UNIEURO/2010 Prof. rico Jos Ferreira

67

Mtodos de Invaso de Redes e Sistemas SQL INJECTION

Suponha que a seguinte entrada tenha sido informada no campo usurio no formulrio chamador do script de validao.

A query SQL resultante ser:

Especializao em Crimes Digitais e Produo de Provas Judiciais UNIEURO/2010 Prof. rico Jos Ferreira

68

Mtodos de Invaso de Redes e Sistemas SQL INJECTION


Usando esta tcnica, pode-se promover grandes estragos como demonstrado em alguns exemplos a seguir: SELECT fieldlist FROM table WHERE field = 'x' AND email IS NULL; --'; -- inicia um comentrio em SQL o que faz a instruo desconsiderar o '; final da instruo original.

Especializao em Crimes Digitais e Produo de Provas Judiciais UNIEURO/2010 Prof. rico Jos Ferreira

69

Mtodos de Invaso de Redes e Sistemas SQL INJECTION


SELECT email, passwd, login_id, full_name FROM table WHERE email = 'x' AND 1=(SELECT COUNT(*) FROM tabname); --'; SELECT email, passwd, login_id, full_name FROM members WHERE email = 'x' OR full_name LIKE '%Bob%';

Especializao em Crimes Digitais e Produo de Provas Judiciais UNIEURO/2010 Prof. rico Jos Ferreira

70

Mtodos de Invaso de Redes e Sistemas SQL INJECTION


SELECT email, passwd, login_id, full_name FROM members WHERE email = 'x'; DROP TABLE members; --'; -- Boom! SELECT email, passwd, login_id, full_name FROM members WHERE email = 'x'; INSERT INTO members ('email','passwd','login_id','full_name') VALUES ('steve@unixwiz.net','hello','steve','Steve Friedl');--';

Especializao em Crimes Digitais e Produo de Provas Judiciais UNIEURO/2010 Prof. rico Jos Ferreira

71

Mtodos de Invaso de Redes e Sistemas SQL INJECTION


SELECT email, passwd, login_id, full_name FROM members WHERE email = 'x'; UPDATE members SET email = 'steve@unixwiz.net' WHERE email = 'bob@example.com';

Especializao em Crimes Digitais e Produo de Provas Judiciais UNIEURO/2010 Prof. rico Jos Ferreira

72

Mtodos de Invaso de Redes e Sistemas SQL INJECTION Para que se esteja livre da utilizao da SQL Injection, certas providncias devem ser tomadas. Algumas das aes sero realizadas no servidor de banco de dados, outras devem ser garantidas pelo cdigo fonte.

Especializao em Crimes Digitais e Produo de Provas Judiciais UNIEURO/2010 Prof. rico Jos Ferreira

73

Mtodos de Invaso de Redes e Sistemas SQL INJECTION


Deve-se tomar cuidado com a configurao do usurio que estabelece a conexo com o banco de dados. O ideal que as permisses de acesso deste usurio estejam restritamente limitadas s funes que ir realizar, ou seja, para a exibio de um relatrio, a conexo com o banco de dados deve ser realizada por um usurio com permisses de leitura e acesso somente s tabelas necessrias para sua operao.

Especializao em Crimes Digitais e Produo de Provas Judiciais UNIEURO/2010 Prof. rico Jos Ferreira

74

Mtodos de Invaso de Redes e Sistemas SQL INJECTION

Todos os valores originados da coleta de dados externos, devem ser validadas e tratadas a fim de impedir a execuo de eventuais instrues destrutivas ou operaes que no sejam as esperadas.

Especializao em Crimes Digitais e Produo de Provas Judiciais UNIEURO/2010 Prof. rico Jos Ferreira

75

Mtodos de Invaso de Redes e Sistemas SQL INJECTION

Um tratamento bsico para a execuo de querys com variveis contendo valores informados pelo usurio:

Especializao em Crimes Digitais e Produo de Provas Judiciais UNIEURO/2010 Prof. rico Jos Ferreira

76

Mtodos de Invaso de Redes e Sistemas SQL INJECTION


Com a utilizao da funo addslashes() ser adicionada uma barra invertida antes de cada aspa simples e aspa dupla encontrada, processo conhecido como escape. Abaixo, a query SQL resultante da aplicao desta funo:

Especializao em Crimes Digitais e Produo de Provas Judiciais UNIEURO/2010 Prof. rico Jos Ferreira

77

Mtodos de Invaso de Redes e Sistemas BUFFER OVERFLOW Para entender o que um overflow, a traduo da palavra ajuda muito. Overflow significa inundao e, quando aplicada como termo da informtica, significa um transbordamento que causa uma inundao. Os computadores possuem chips especiais chamados de memria. Estes chips especiais recebem o nome de memria porque guardam informaes em forma de bits.

Especializao em Crimes Digitais e Produo de Provas Judiciais UNIEURO/2010 Prof. rico Jos Ferreira

78

Mtodos de Invaso de Redes e Sistemas BUFFER OVERFLOW

Quando um programa est sendo executado, a sequncia de instrues que deve ser seguida, a instruo que est sendo executada no momento, endereos, valores de constantes, valores de variveis, etc, ficam armazenados na memria.

Especializao em Crimes Digitais e Produo de Provas Judiciais UNIEURO/2010 Prof. rico Jos Ferreira

79

Mtodos de Invaso de Redes e Sistemas BUFFER OVERFLOW Para que no haja baguna, a memria loteada, ou seja, so definidas reas da memria para guardar cada coisa em seu lugar. Estas reas, assim como em qualquer loteamento, possuem limites e so conhecidas como buffers.

Especializao em Crimes Digitais e Produo de Provas Judiciais UNIEURO/2010 Prof. rico Jos Ferreira

80

Mtodos de Invaso de Redes e Sistemas BUFFER OVERFLOW Cada terreno da memria (ou buffer), por sua vez, dividido em clulas ou posies de memria. Cada uma destas posies identificada por um nmero, o chamado endereo de memria. Em cada clulas pode ser guardado apenas um bit.

Especializao em Crimes Digitais e Produo de Provas Judiciais UNIEURO/2010 Prof. rico Jos Ferreira

81

Mtodos de Invaso de Redes e Sistemas BUFFER OVERFLOW

Quando preciso guardar bits na memria, o que geralmente feito em grupos de 8 (byte), 16 (word), 32 (double word) ou 64 (quadword), tambm preciso indicar o endereo no qual os bits devem ser colocados.

Especializao em Crimes Digitais e Produo de Provas Judiciais UNIEURO/2010 Prof. rico Jos Ferreira

82

Mtodos de Invaso de Redes e Sistemas BUFFER OVERFLOW

Quando, por exemplo, o valor de uma varivel de 32 bits enviada para um endereo no finzinho do buffer onde, digamos, h apenas 20 clulas disponveis, os bits da varivel do uma de MST e 12 deles invadem o terreno de algum vizinho, ou seja, causam um overflow.

Especializao em Crimes Digitais e Produo de Provas Judiciais UNIEURO/2010 Prof. rico Jos Ferreira

83

Mtodos de Invaso de Redes e Sistemas BUFFER OVERFLOW Resumindo: um overflow acontece sempre que alguns bits transbordam e invadem uma rea que no lhes pertence. A sequncia de execuo de um programa

Especializao em Crimes Digitais e Produo de Provas Judiciais UNIEURO/2010 Prof. rico Jos Ferreira

84

Mtodos de Invaso de Redes e Sistemas BUFFER OVERFLOW Esta uma falha de segurana comumente encontrada em software. Apesar de ser uma falha bem-conhecida e bastante sria, que se origina exclusivamente na incompetncia do programador durante a implementao do programa, o erro repete-se sistematicamente a cada nova verso ou produto liberados.

Especializao em Crimes Digitais e Produo de Provas Judiciais UNIEURO/2010 Prof. rico Jos Ferreira

85

Mtodos de Invaso de Redes e Sistemas BUFFER OVERFLOW Alguns programas j so famosos por freqentemente apresentarem a falha, como o Sendmail, mdulos do Apache, e boa parte dos produtos da Microsoft, incluindo obviamente o infame Internet Information Services (IIS). Mesmo software considerado seguro, como o OpenSSH, j apresentou o problema.

Especializao em Crimes Digitais e Produo de Provas Judiciais UNIEURO/2010 Prof. rico Jos Ferreira

86

Mtodos de Invaso de Redes e Sistemas BUFFER OVERFLOW Um buffer overflow resultado do armazenamento em um buffer de uma quantidade maior de dados do que sua capacidade . claro que apenas linguagens de programao que no efetuam checagem de limite ou alterao dinmica do tamanho do buffer so frgeis a este problema.

Especializao em Crimes Digitais e Produo de Provas Judiciais UNIEURO/2010 Prof. rico Jos Ferreira

87

Mtodos de Invaso de Redes e Sistemas BUFFER OVERFLOW


O princpio estourar o buffer e sobrescrever parte da pilha, alterando o valor das variveis locais, valores dos parmetros e/ou o endereo de retorno. Altera-se o endereo de retorno da funo para que ele aponte para a rea em que o cdigo que se deseja executar encontra-se armazenado (cdigo malicioso dentro do prprio buffer estourado ou at algum trecho de cdigo presente no programa vulnervel).

Especializao em Crimes Digitais e Produo de Provas Judiciais UNIEURO/2010 Prof. rico Jos Ferreira

88

Mtodos de Invaso de Redes e Sistemas BUFFER OVERFLOW

Pode-se assim executar cdigo arbitrrio com os privilgios do usurio que executa o programa vulnervel.

Especializao em Crimes Digitais e Produo de Provas Judiciais UNIEURO/2010 Prof. rico Jos Ferreira

89

Mtodos de Invaso de Redes e Sistemas CONCLUSO

Cabe ao desenvolvedor estar atento s possveis brechas de segurana existentes nos cdigos fonte que produz, principalmente quando o que est em jogo um bem de grande valia: a informao.

Especializao em Crimes Digitais e Produo de Provas Judiciais UNIEURO/2010 Prof. rico Jos Ferreira

90

Mtodos de Invaso de Redes e Sistemas Sites Interessantes


http://jarlsberg.appspot.com/ http://perso.crans.org/raffo/papers/phdthesis/thesisch1.html http://securityhacker.org/ http://www.cic.unb.br/docentes/pedro/trabs/buffer_overflow.htm http://www.cert.br/ http://www.rnp.br/cais/ http://www.vivaolinux.com.br/artigo http://www.invasao.com.br http://www.invasao.com.br/2010/01/09/curso-de-tecnicas-de-intrusao-hackers/

Especializao em Crimes Digitais e Produo de Provas Judiciais UNIEURO/2010 Prof. rico Jos Ferreira

91