Faculdade de Engenharia da Computação Disciplina: Segurança Aplicada à Computação Ataque em Sistemas Distribuídos Site : http://www1.univap.br/~wagner/ec.html / / h Prof. Responsáveis Wagner Santos C. de Jesus 1
DDos (Distributed Denial Of Service) Negação de serviço distribuída ib 2
A Intrusão Distribuída ib (ID) 3
Conceito de Intrusão Distribuída Neste contexto os ataques não são baseados no uso de um único computador para iniciar um ataque, no lugar são utilizados centenas ou até milhares de computadores desprotegidos e ligados em uma rede para lançar coordenadamente d o ataque. 4
Atuação Explorar vulnerabilidade d dos protocolos TCP/IP. Este sistema é composto por dois programas: MASTER ZUMBI 5
Ataque ID Hacker Zumbi MASTER Zumbi Zumbi 6
Defesa Tentar descobrir alguma característica nos pacotes recebidos que possam permitir separar os pacotes de ataque dos pacotes de acesso legítimo. 7
Connection Flooder (Inundação) 8
Flood É um programa que tenta abrir o máximo de conexões com uma máquina- alvo a fim de esgotar todo o limite disponível de conexões da máquina visando impedir que outros usuários de acessarem o serviço. 9
Inundação na porta 21 Host: 138.36.95.24036 Porta Conhecida Host: 138.37.58.250 21 Processo Servidor Processo Cliente Porta qualquer 10
Algoritmo Flood (Inundação) Conectar Porta N Conectado S N Erro:(Colapso) 11
Defesa (Flood) Para se defender de um Connection Flood a maneira mais adequada é alterar as configurações padrão do servidor. 12
Configuração Servidor Colocar número máximo anônimos; Número máximo de clientes; Habilitando o número de conexões simultâneas fixo (Valor pequeno); Permitir assim uma única conexão FTP por IP. 13
Força Bruta 14
Definição Consiste basicamente em uma técnica que, através do método de tentativa e erro, procurando obter sucesso em uma determinada sessão de autenticação do usuário. 15
Troca da senha Vanda ********** Observação: Técnica perigosa por deixar rastros. 16
Implementação Força Bruta em Java 17
Conceito de Arquivo de Acesso Aleatório 18
Arquivo de Acesso Aleatório São arquivos organizados em unidades (maiores que 1 byte) de tamanho sempre igual, chamadas registros. Registros têm a mesma filosofia que as structs em C ou records em Pascal. São conjuntos de dados com tamanho fixo, mesmo que uma parte não seja aproveitada. Técnicas de Gerência de Arquivos são voltadas aos Arquivos de Registros. 19
Classe RandomAccessFile Cria um Arquivo de acesso aleatório. Grava no arquivo em formato binário. 6 5 7 4 3 0 1 2 Byte 20
Sintaxe: ObjArq = new RandomAccessFile(<ObjFile,<ExpS); Sintaxe: ObjArq => Objeto da classe RamdomAcessFile(); <ExpS> => w ou r determina se o arquivo será aberto para leitura ou Gravação. 21
Exemplo: try { arquivo = new RandomAccessFile(new File("arquivo.txt"),"r"); } catch (FileNotFoundException e) { System.out.println("Arquivo Inexistente"); System.exit(0); } 22
close() Para finalizar qualquer tipo de comunicação com o buffer do arquivo RandomAccessFile basta usar o método close(). Sintaxe: <objeto>.close(); 23
Gravação Arquivo Binário Método Descrição writeint() Efetua gravação de um dado do tipo inteiro no arquivo. Efetua gravação de ponto flutuante no arquivo. writedouble() g ç p writeutf() Efetua gravação de uma String no arquivo em formato do tipo Unicode. 24
Leitura Arquivo Binário readint() Método Descrição Efetua Leitura de um dado do tipo inteiro no arquivo. readdouble() Efetua Leitura do ponto flutuante do arquivo. readutf() Efetua leitura de uma String do arquivo no formato do tipo Unicode. 25
Avaliar quantidade de registros x Onde x é uma variável do tipo long e size o comprimento do arquivo em bytes. size 1 16 26
Exercício 2) Implementar o algoritmo de força bruta para realizar a consulta em um arquivo fornecido pelo professor. 27
Conceito de BackDoor (Porta dos Fundos) 28
Definição São programas implantados em sistemas após a invasão para garantir o seu retorno ao sistema com privilégio avançado sem que seja necessário efetuar uma nova invasão. 29
Algumas Variações BackDoors podem apresentar algumas variações que são definidas pelo seu tipo e localização. Local Remoto Encapsulado 30
BackDoor Local OInvasor é um usuário do sistema que instala um programa a fim de obter privilégio em algum momento no decorrer do uso do sistema. Podendo-se utilizar a técnica para executar programas de outros usuários ou serviços locais do sistema. 31
BackDoor Remoto É aquele programa que é instalado em uma máquina na rede de forma a possuir acesso para obtê-lo novamente em uma circunstância futura. 32
BackDoor Encapsulado Esta técnica consistem em adicionar dentro de um código de um programa normalmente comercial com intuito de infectar máquinas aleatórias. 33
Atenção chmod - Linux. SAM (Security Accounts Manager) Windows. 34
Linux (Unix) / bin sh tmp shell Kernell.shell 35
c:\ windows Windows system32 config cmd Kernell SAM/SECURITY 36