Imported Upstream version 2.7
[ossec-hids.git] / doc / br / rootcheck.txt
1 Técnicas de detecção de Rootkit usadas pelo OSSEC HIDS
2 por Daniel B. Cid, daniel.cid@gmail.com
3
4
5 Començando  na versão 0.4, o OSSEC HIDS executará a detecção
6 de rootkit em todos os sistemas que o cliente estiver instalado.
7 O rootcheck (Sistema de detecção de rootkit) será executado
8 a cada X minutos (Especificado pelo usuário --por default
9 a cada 2 horas) para detectar possiveis rootkits instalados.
10 Em conjunto com a análize de logs e o sistema de checagem de integridade,
11 ele torna-se uma solução poderosa de monitoramento (o OSSEC HIDS executa
12 a análize de logs e verificação de integridade desde a versão 0.1).
13
14 Outra característica incluída na versão 0.4 é que o servidor de análize
15 enviará automaticamente as assinaturas de detecção de rootkit aos
16 clientes, reduzindo o trabalho com administração para o administrador
17 de sistemas. Os clientes e servidor manterão contato a cada 10 minutos
18 e se o servidor for atualizado com um novo arquivo de assinatura, ele enviará
19 para todos os clientes configurados. De uma olhada na documentação para maiores
20 informações.
21
22 O rootcheck executará as seguintes etapas para verificar a presença de 
23 rootkits:
24
25
26 1- Lerá o arquivo rootkit_files.txt que contem um grande banco de dados
27    de rootkits e arquivos usados pelo mesmo. Tentará usar as funções
28    fopen e opendir no arquivo especificado. Nós usamos todas a chamadas do 
29    sistema,por causa de que rootkits que rodam a nivel de kernel, escondem as 
30    chamadas dos sistema. Nós tentamos melhoras as coutras chamadas do sistema, 
31    para uma melhor detecção. Este método é mais parecido com uma regra de 
32    antí-virus, que necessita ser atualizado contantemente. As chances de 
33    falso-positivos são pequenas, mas falso-negativos podem ser produzidos 
34    modificando os rootkits.
35
36 2- Lerá o arquivo rootkit_trojans.txt que contem um banco de dados de 
37    assinaturas de arquivos infectados por rootkits. Esta técnica verifica
38    binários modificados por trojans conhecidos. Este método de detecção
39    não encontra nenhum rootkit a nivel de kernel ou nenhum rootkit desconhecido.
40    
41 3- Escaneia o diretório /dev procurando por anomalias. O /dev contém todos os
42    arquivos de device e scripts de Makedev. Vários rootkits usam arquivos 
43    escondidoso no /dev. Esta técnica pode detectar rootkits desconhecidos.
44
45 4- Escaneia o sistema de arquivos a procura por arquivos incomuns e problema de 
46    permição. Arquivos setados para root, com permição de escrita para outros 
47    são muito perigosos e a detecção de rootkit olha isso. Arquivos com Suid, 
48    diretórios e arquivos escondidos  são inspecionados.
49
50 5- Procura pela presença de processos ocultos. Nós usamos as funções getsid e
51    kill para checar se algum PID está sendo usado ou não. Se estiver, mas a função
52    não pode ve-lo, é uma indicação de rootkit a nivel de kernel ou o ps foi 
53    infectado. Nós verificamos também a saída do kill e do getid que deve ser a mesma.
54
55 6- Olha a presença de portas escondidas. Nós usamos a função bind para checar todas
56    as portas TCP e UDP to do sistema. Se não podemos usar o bind na porta (ele está
57    sendo usado), mas o netsatat não mostra, provavelmente há um rootkit instalado.
58
59 7- Escaneia todas a interfaces do sistema e procura por alguma com módo "promisc" 
60    abilitado. Se a interface está neste modo, a saída do ifconfig mostrará. Se não,
61    há a possibilidade de haver um rootkit instalado.
62
63
64 EOF