• Nenhum resultado encontrado

3 BASES DE ANÁLISE E RESULTADOS

3.1 CARACTERIZAÇÃO DAS BASES

Neste trabalho serão utilizados quatro conjuntos de dados distintos, sendo dois deles disponibi- lizados pelo projeto Dionaea obtidos de honeypots internacionais (públicos) e outros dois pro- venientes de honeypots instalados no Brasil (privados). Os conjuntos de dados disponibilizados pelo projeto Dionaea são Berlin e Paris, cujos nomes se referem aos projetos para as bases de dados e não às cidades europeias Berlim na Alemanha e Paris na França. Esses conjuntos de dados podem ser encontradas no site do projeto Dionaea (Dionaea Catch Bugs, 2015). Os dados coletados se referem aos últimos meses do ano 2009 e as bases de dados têm perfis de ataques distintos. O terceiro conjunto de dados, denominado Campinas, foi obtido usando um honeypot instalado no Centro de Tecnologia da Informação Renato Archer, na cidade de Campinas, SP. O quarto conjunto de dados, denominado Jacareí, foi obtido por um honeypot instalado em uma residência na cidade de Jacareí com um link de internet banda larga. A Tabela 2 mostra as datas de início e fim da coleta de dados, assim como a quantidade de ataques recebidos pelo honeypot e a quantidade de arquivos (malwares) que foram obtidos por ele.

Tabela 2: Informações sobre os dados coletados.

Base Data de início Data final Qtde de Qtde de de Dados da coleta da coleta ataques malwares

Berlin 05/11/2009 07/12/2009 604.201 2.726

Campinas 20/07/2011 15/10/2011 3.754.124 165.088

Jacarei 28/04/2010 20/05/2010 44.883 13.605

Paris 30/11/2009 07/12/2009 7.822.148 749.518

O Dionaea armazena as informações em uma base de dados relacional, visando facilitar a consulta e a extração de informações. Para armazenar seus dados é utilizado o SQLite. O SQLite é uma biblioteca de software que implementa um serviço autônomo de base de dados transaci- onal, sem necessidade de servidores ou de configuração. Por não necessitar de servidores ou processos separados a biblioteca lê e grava diretamente no disco as informações (SQLite, 2013). Os dados coletados dos ataques são armazenados em tabelas de acordo com o tipo de dado

coletado e tipo de ataque. As tabelas podem sofrer alterações conforme a necessidade do utili- zador e da instalação do honeypot. Inicialmente as bases de dados são divididas em dezesseis tabelas, conforme mostrado na Figura 4.

Figura 4: Modelo de entidade e relacionamento da base de dados do Honeypot A descrição de cada tabela é apresentada abaixo:

• connections: registra os dados da conexão realizada pelo atacante, como, por exemplo, o endereço IP de origem, o endereço IP de destino, a data e hora do ataque, as portas local e remota, o protocolo, etc.;

• downloads e offers: armazena os dados referentes aos arquivos obtidos durante o ataque ou que são solicitados pelo atacante;

• dcerpcserviceops, dcerpcrequests, dcerpcservices e dcerpcbinds: se referem a ataques que exploram vulnerabilidades do sistema operacional Windows juntamente com seus serviços;

• mssql_commands, mssql_fingerprints e logins: se referem aos ataques direcionados ao módulo do serviço Microsoft SQL Server;

• virustotals e virustotalscans: armazenam dados obtidos por um serviço externo chamado VirusTotals. Esses dados são o resultado de escaneamentos dos arquivos pelos antivírus disponíveis na ferramenta;

• p0fs e resolves: armazenam os dados obtidos de forma passiva sobre o sistema operacio- nal do atacante e seu endereço IP. As tabelas emu_profiles e emu_services armazenam os comandos enviados pelo atacante.

As bases de dados têm um total de 54 atributos divididos entre as dezesseis tabelas. O tipo e a descrição de cada atributo pode ser observado na Tabela 3. Dos 54 atributos, somente 39 atributos são utilizáveis, pois 15 deles são atributos de ligação e relacionamento entre as tabelas. Os 39 atributos possíveis de serem analisados estão divididos em dois grupos, sendo 29 atributos nominais e 10 atributos numéricos.

A base de dados se divide em cinco conjuntos que armazenam diferentes informações sobre os ataques direcionados a determinados serviços. Esse trabalho aborda três dos cinco conjuntos de informações que são definidos pelas tabelas connections, dcerpcbinds, dcerpcserviceops, dcerpcservices, downloads e offers.

O conjunto de tabelas foi escolhido por representar os ataques a equipamentos com sistema operacional Microsoft Windows. Esse conjunto de tabelas, após a exclusão dos atributos de ligação e de índice das tabelas, forneceu 11 atributos que foram utilizados em uma análise des- critiva em cada conjunto de dados, como será visto a seguir. A motivação para a escolha desses 11 atributos está descrita na Tabela 4.

Tabela 3: Descrição dos atributos que compõem a base de dados categorizados por tipo.

Nº Atributo Tipo Descrição

1 Connection Inteiro Índice da Tabela Connections

2 Connection_Type Nominal Tipo de Conexão (Listen, Accept, Connect) 3 Connection_Transport Nominal Tipo de Transport (TCP, UDP, TLS) 4 Connection_Protocol Nominal Protocolo utilizado na conexão

5 Connection_Timestamp Inteiro Data e Horário em que ocorreu o ataque 6 Connection_root Inteiro Referente a conexão inicial

7 Connection_parent Inteiro Ramificações da mesma conexão 8 Local_Host Nominal Endereço IP do Honeypot

9 Local_Port Inteiro Porta local do Honeypot (de 0 a 65535) 10 Remote_Host Nominal Endereço IP do atacante

11 Remote_HostName Texto Resolução de nome do endereço IP do atacante 12 Remote_Port Inteiro Porta remota do atacante (de 0 a 65535) 13 DceRpcBind Inteiro Índice da tabela DceRpcBind

14 DceRpcBind_UUID Nominal Hash da assinatura de RPC

15 DceRpcBind_TransferSyntax Nominal Hash da assinatura para transferência de RPC 16 DceRpcRequest Inteiro Índice da tabela DceRpcRequest

17 DceRpcRequest_UUID Nominal Hash da assinatura da Requisição de RPC

18 DceRpcRequest_opnum Inteiro Índice de Ligação com a tabela DceRpcServiceop_opnum 19 DceRpcService Inteiro Índice da tabela DceRpcService

20 DceRpcService_UUID Nominal Hash da assinatura do Serviço de RPC 21 DceRpcService_Name Nominal Nome do serviço requisitado via RPC 22 DceRpcServiceop Inteiro Indice da tabela DceRpcServiceOP 23 DceRpcServiceop_opnum Inteiro Índice dos serviços RCP

24 DceRpcServiceop_name Nominal Nome do Serviço RPC

25 DceRpcServiceop_vuln Nominal Nome da Vulnerabilidade explorada 26 Download Inteiro Índice da tabela Downloads

27 Download_URL Texto URL de download do artefato malicioso 28 Download_MD5_Hash Texto Hash MD5 do artefato malicioso 29 Offer Inteiro Índice da tabela offers

30 Offer_URL Texto URL de onde estaria armazenado o artefato malicioso 31 VirusTotal Inteiro Índice da tabela VirusTotal

32 VirusTotal_MD5_Hash Texto Hash MD5 do artefato malicioso 33 VirusTotal_TimeStamp Inteiro Data e Hora de submissão para o site 34 VirusTotal_permalink Texto URL permanente do artefato malicioso 35 VirusTotalScan Inteiro Índice da tabela VirusTotalScans 36 VirusTotalScan_Scanner Nominal Nome e versão do Antivirus utilizado 37 VirusTotalScan_Result Nominal Resultado obtido com o Antivirus 38 Resolve Inteiro Índice da tabela resolves

39 Resolve_Hostname Texto Resolução do endereço IP do atacante 40 Resolve_Type Texto Tipo de resolução utilizada

41 Resolve_Result Texto Resultado da resolução 42 Emu_Profile Inteiro Índice da tabela emu_profiles

43 Emu_Profile_JSON Texto Sequencia de comandos enviadas pelo atacante para o Honeypot 44 Emu_Service Inteiro Índice da tabela emu_service

45 Emu_Service_URL Texto URL do serviço iniciado pelo atacante 46 p0f Inteiro Índice da tabela p0fs

47 p0f_genre Texto Sistema operacional

48 p0f_link Texto Tipo de conexão com a Internet 49 p0f_detail Texto Versão so sistema operacional

50 p0f_uptime Inteiro Tempo que o host remoto se encontra on-line 51 p0f_tos Texto Tipo de Serviço

52 p0f_dist Inteiro Distancia em saltos do atacante 53 p0f_nat Inteiro Se o p0f está atrás de um NAT 54 p0f_fw Inteiro Se o p0f está atrás de um firewall

Tabela 4: Justificativa para a escolha dos atributos

Atributo Tabela Motivo

1 Connection Connections Esse atributo foi inserido para que seja possível a ligação do objeto com outras informações do ataque 4 Connection_Protocol Connections Esse atributo contém as informações dos protocolos para comunicação entre o atacante e o honeypot, e está relaci-

onado ao serviço que o atacante explorou.

5 Connection_Timestamp Connections

Esse atributo foi dividido em dois novos atributos e repre- senta a data e a hora em que os ataques ocorreram. A data e a hora em que o ataque ocorreu são importantes para determinar o período de tempo entre os ataques ou o tempo que um atacante despendeu no ataque (Esse atri- buto não será utilizado na análise, ele será utilizado para dar origem aos atributos 5A e 5B)

5A Data

Sub-atributo que representa a Data em que o ataque ocor- reu sendo obtido a partir da decodificação do atributo

Connection Timestamp

5B Hora Sub-atributo que representa a hora que o ataque ocorreu ele foi obtido a partir da decodificação do atributo Con-

nection_Timestamp

9 Local_Port Connections

Esse atributo foi selecionado por conter a informação da porta que o atacante utilizou para acessar o honeypot, isso pode nós informar qual serviço foi explorado pelo ata- cante, essa informação é amplamente utilizada na litera- tura.

10 Remote_Host Connections

Esse atributo foi escolhido por conter o endereço IP do atacante, na análise da base de dados Jacareí é um atributo interessante a de valor, pois pode determinar quantos ata- ques vieram de um mesmo endereço, nas bases de dados Berlin e Paris esse atributo foi sanitizado se tornando in- valida as análises sobre ele realizadas.

14 DCERPCBind_UUID Dcerpcbinds HASH da chamada DCERPC, esse HASH informa qual foi a chamada de procedimento remota utilizada pelo ata- cante.

15 DCERPCBind_ TransferSyntax Dcerpcbinds HASH da chamada DCERPC, esse HASH contém infor-mações sobre a sintaxe de transferência entre o atacante e o honeypot.

21 DcerpcService_Name Dcerpcservices

Esse atributo contém o nome do serviço DECRPC explo- rado pelo atacante durante o ataque, esse atributo é impor- tante para identificar a o tipo de vulnerabilidade explorada a partir do serviço.

24 DcerpcServiceop_name Dcerpcserviceops

Esse atributo contém o nome da chamada DCERPC utili- zada na exploração do serviço DCERPC. Esse atributo pode ajudar a identificar os tipos de ataques e quais as implicações na utilização dos serviços DCERPC. 25 DcerpcServiceop_vuln Dcerpcserviceops Esse atributo contém o nome da vulnerabilidade explo-rada conforme os boletins de segurança da Microsoft.

Documentos relacionados