Escolar Documentos
Profissional Documentos
Cultura Documentos
Jri:
Presidente:
Arguente:
Vogal:
Setembro, 2014
iii
iv
vi
Agradecimentos
Esta dissertao no teria sido possvel sem o apoio dos meus orientadores Ludwig Krippahl e Joo Gouveia que me apoiaram no desenvolvimento desta dissertao, Faculdade de Cincias e Tecnologia da Universidade Nova de Lisboa por ser um dos locais que
me acompanhou em termos formativos at ao culminar da tese, AnubisNetworks pelo
inesgotvel apoio, tanto em termos de formao especifica como pelo esprito aberto para
a investigao. Agradeo tambm ao meu colega Joo Moura pelo acompanhamento ao
longo do percurso da dissertao, aos meus colegas Tiago Martins, Emanuel Alves e Eduardo Duarte por me aturarem e por irem insistindo comigo naqueles dias em que os
resultados pareciam no aparecer, aos meus colegas Joo Gouveia e Valter Santos pelo
valioso insight relativo ao tema de deteo de botnets e prticas comuns de quem as desenvolve e ao meu colega Jos Ferreira por todo insight relativo deteo de botnets atravs
de DNS. Relativamente escrita do artigo para a Botconf, agradeo aos meus colegas
Bruno Rodrigues e Henrique Aparcio pelas revises extensas ao documento. Por fim
agradeo aos meus Pais por todo o apoio durante esta fase da minha vida e aos meus
amigos pela compreenso.
vii
viii
Resumo
x
Palavras-chave: cibersegurana, botnet, aplicaes maliciosas, aprendizagem automtica, clustering, mquina de vetor de suporte, rede neuronal, seleo de atributos, mapas
auto-organizveis, dns, anlise de aplicaes maliciosas
Abstract
Botnets are a group of computers infected with a specific sub-set of a malware family
and controlled by one individual, called botmaster. This kind of networks are used not
only, but also for virtual extorsion, spam campaigns and identity theft. They implement
different types of evasion techniques that make it harder for one to group and detect
botnet traffic.
This thesis introduces one methodology, called CONDENSER, that outputs clusters
through a self-organizing map and that identify domain names generated by an unknown pseudo-random seed that is known by the botnet herder(s). Aditionally DNS
Crawler is proposed, this system saves historic DNS data for fast-flux and double fastflux detection, and is used to identify live C&Cs IPs used by real botnets. A program,
called CHEWER, was developed to automate the calculation of the SVM parameters and
features that better perform against the available domain names associated with DGAs.
CONDENSER and DNS Crawler were developed with scalability in mind so the detection of fast-flux and double fast-flux networks become faster.
We used a SVM for the DGA classififer, selecting a total of 11 attributes and achieving
a Precision of 77,9% and a F-Measure of 83,2%. The feature selection method identified the 3 most significant attributes of the total set of attributes. For clustering, a SelfOrganizing Map was used on a total of 81 attributes.
The conclusions of this thesis were accepted in Botconf through a submited article.
Botconf is known confernce for research, mitigation and discovery of botnets tailled for
the industry, where is presented current work and research. This conference is known for
having security and anti-virus companies, law enforcement agencies and researchers.
Keywords: cibersecurity, botnet, malware, machine learning, clustering, support vector
machine, neural network, feature selection, self-organizing map, dns, malware analysis
xi
xii
Contedo
Introduo
1.1
Motivao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.2
Contexto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.2.1
AnubisNetworks . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Estrutura do Documento . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.3
2
Estado da Arte
2.1
2.2
2.3
2.4
2.1.1
2.1.2
Arquiteturas Existentes . . . . . . . . . . . . . . . . . . . . . . . . .
2.1.3
2.1.4
11
2.1.5
11
Deteo de Botnets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
15
2.2.1
15
2.2.2
16
2.2.3
17
2.2.4
18
Aprendizagem Automtica . . . . . . . . . . . . . . . . . . . . . . . . . . .
19
2.3.1
19
2.3.2
Redes Neuronais . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
20
Clustering . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
21
2.4.1
21
2.4.2
Mapas Auto-organizveis . . . . . . . . . . . . . . . . . . . . . . . .
21
Contribuies
23
3.1
Arquitetura e Tecnologias . . . . . . . . . . . . . . . . . . . . . . . . . . . .
23
3.2
CONDENSER . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
24
3.2.1
25
Mdulos Existentes . . . . . . . . . . . . . . . . . . . . . . . . . . . .
xiii
xiv
CONTEDO
3.3
CHEWER . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
26
3.4
DNS Crawler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
27
3.5
Clusterer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
28
Resultados
31
4.1
Atributos Usados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
32
4.1.1
32
4.1.2
Atributos de URIs . . . . . . . . . . . . . . . . . . . . . . . . . . . .
33
4.1.3
33
4.1.4
Outros atributos . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
34
Anlise Estatistica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
34
4.2.1
37
4.2.2
Classificador de URIs . . . . . . . . . . . . . . . . . . . . . . . . . .
37
39
4.3.1
39
4.3.2
Classificador de URIs . . . . . . . . . . . . . . . . . . . . . . . . . .
40
4.4
Seleo de Atributos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
41
4.5
Avaliao do Clusterer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
43
4.6
46
4.2
4.3
Concluses
49
5.1
Limitaes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
50
5.2
Contribuies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
50
5.3
Botconf . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
51
5.4
Trabalho Futuro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
51
61
65
67
Lista de Figuras
2.1
Arquitetura Centralizada . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.2
2.3
arquitetura Distribuida . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.4
Arquitetura Hbrida com representao a cinzento dos dispositivos a funcionar como proxy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.5
arquitetura Aleatria . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.6
Exemplo do comando dig usado para obteno das informaes de registos existentes no nome de domnio www.example.com. . . . . . . . . . .
10
2.7
2.8
Demonstrao de um exemplo real da comunicao da Famlia de aplicaes maliciosas TDSS/Clicker que codifica a informao presente no URI
2.9
em Base64. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
12
13
14
3.1
Arquitetura da Implementao . . . . . . . . . . . . . . . . . . . . . . . . .
24
3.2
arquitetura do CONDENSER . . . . . . . . . . . . . . . . . . . . . . . . . .
25
3.3
27
3.4
27
3.5
28
4.1
Grfico das mdias e desvio-padro de cada atributo nos conjunto de dados usados para o classificador de nomes de domnio . . . . . . . . . . . .
4.2
38
Grfico das mdias e desvio-padro de cada atributo nos conjunto de dados usados para o classificador de URIs . . . . . . . . . . . . . . . . . . . .
xv
38
xvi
LISTA DE FIGURAS
4.3
40
4.4
4.5
41
4.6
4.7
4.8
4.9
46
46
Histograma do ndice de Davies-bouldin com variao do nmero de iteraes usadas para treino do mapa auto-organizvel. . . . . . . . . . . . .
47
Lista de Tabelas
4.1
32
4.2
Atributos de URIs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
34
4.3
35
4.4
Outros atributos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
36
4.5
40
4.6
4.7
42
4.8
45
61
62
62
66
66
66
67
68
68
xvii
xviii
LISTA DE TABELAS
Listagens
3.1
Resultado de um cluster obtido atravs da aplicao do algoritmo de clustering em dados reais, em que que os valores dos atributos e centrides, so
abstrados do utilizador e onde so obtidas mtricas teis, para posterior
anlise do cluster. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
xix
30
xx
LISTAGENS
1
Introduo
Adjacente ao avano tecnolgico, evoluo da Internet e de novas formas de comunicao entre dispositivos, a preocupao com fatores de segurana aumenta. A infeo
de dispositivos eletrnicos levantam problemas a nvel de privacidade e de segurana de
sistemas crticos, factos que tornam a investigao em torno de ameaas que se propagam em rede uma prioridade. As botnets so sistemas bastante poderosos em termos de
poder de ataque, calcula-se que cerca de 16% a 25% [AMLJS09] do trfego mundial na
Internet seja proveniente de comunicaes entre diversos tipos de aplicaes maliciosas.
Por outro lado observa-se um crescimento [Sma] do nmero de dispositivos eletrnicos associados a uma pessoa, os smartphones e tablets so cada vez mais substitutos dos
tradicionais telemveis e computadores, assim possvel dispor de mais poder computacional e consequentemente mais oportunidades de desenvolver aplicaes maliciosas
que explorem funcionalidades mais vastas no mbito de cada dispositivo.
As botnets so conjuntos de dispositivos, adiante denominados de clusters, interligados por rede e operados por um ou mais indevidos para fins ilcitos, tambm denominados de botmasters. A formao de este tipo de redes acontece com o objetivo de fornecer
servios que se aproveitem dos computadores infetados a terceiros. Geralmente cada
conjunto de aes, que tiveram origem em um cliente ou que so levadas a cabo com um
objetivo especifico denominado de campanha.
O objectivo desta dissertao a de apresentar uma forma de classificar nomes de
domnios geralmente associados a algoritmos de gerao de nomes de domnios (DGA)
e de agrupar os dados provenientes de uma fonte de trfego de internet, de acordo com
a sua semelhana. Ambos os objectivos so solucionados com uma abordagem que incide sobre a aprendizagem automtica atravs de um algoritmo de classificao e um de
clustering.
1
1. I NTRODUO
1.1. Motivao
O sistema desenvolvido no autnomo, como requisito, mas enquadra-se nos mtodos desenvolvidos internamente pela AnubisNetworks. Assim o objectivo o de auxiliar
e facilitar a operao dos analistas e no substitu-lo.
1.1
Motivao
As botnets incorrem frequentemente em propsitos ilegais tanto de forma direta como indireta. Estas redes so usadas para roubo de identidade, envio massivo de spam, ataques
distribudos de negao de servio, espionagem governamental, espionagem industrial
e uso no autorizado de recursos computacionais, como para bitcoin mining1 . Estatsticas
estimam que cerca de 75.2% [Tru13] do trfego mundial de e-mail proveniente de spam e
que a maior parte do trfego tem origem em botnets. Em teoria, este tipo de redes tambm
tem grande potencial em ambientes de guerra e terrorismo, sendo este mais um motivo
para travar os autores que do origem s aplicaes maliciosas e consequentemente s
botnets. Existem diversas autoridades, empresas e organizaes que lutam diariamente
contra os seus autores e contra a disseminao de aplicaes maliciosas.
Atualmente existe mais sensibilidade para os problemas adjacentes privacidade dos
utilizadores nas plataformas on-line e no geral, no entanto ainda no existe uma sensibilizao suficiente a fim de tomar precaues para os riscos de infeo. Por outro lado
as tcnicas de engenharia social2 so bastante persuasivas e levam a que as suas vitimas
instalem aplicaes maliciosas nos seus dispositivos ou paguem quantias a fim de reaver
dados, que se tornaram inacessveis aps o contgio [Sym14]. O nmero de escndalos
relativos ao uso desmesurado de tcnicas questionveis por parte de agncias governamentais tem aumentado, pode observar-se o uso de botnets para fins de espionagem a
empresas [Bel] recorrendo ao uso de aplicaes maliciosas.
1.2
Contexto
A identificao de botnets pode ser feita recorrendo a uma anlise das aplicaes maliciosas numa mquina virtual, com recurso a um ambiente controlado (sandboxed), ou atravs
da comunicao que as aplicaes efetuam com o C&C ou com outros dispositivos infetados. Existem duas formas genricas de fazer a deteo, a deteo ativa e passiva. A
deteo passiva baseia-se na anlise de pacotes para a descoberta de botnets e dos seus
C&Cs, a deteo ativa baseia-se na injeo de pacotes na rede que podem fazer com que
a botnet e o C&C sejam revelados. A deteo passiva tem vantagens em relao ativa j
que no alerta o botmaster da descoberta iminente da infra-estrutura da botnet.
A aprendizagem automtica um ramo da inteligncia artificial que estuda a aprendizagem de conceitos, comportamentos ou valores por parte de dispositivos eletrnicos.
1
Moeda virtual criada por Satoshi Nakamoto, o termo mining refere-se descoberta de provas matemticas com recurso a dispositivos eletrnicos que origina valor para o seu utilizador.
2
Este termo no contexto de segurana refere-se manipulao psicolgica de um indivduo para efetuar
aes ou divulgar informaes privadas.
1. I NTRODUO
1.2. Contexto
1.2.1
AnubisNetworks
A AnubisNetworks uma marca da NSEC, Sistemas Informticos, SA. Esta empresa criada em 2006, atua sobre o ramo de Internet fornecendo solues anti-spam, controlo parental, security intelligence e anlise de aplicaes maliciosas. Os seus clientes passam por
operadores de comunicaes, bancos e agncias de defesa e informao. Em conjunto
com a contribuio para a academia e resposta ao crescente nmero de botnets, nasceu
uma colaborao entre a Faculdade de Cincias e de Tecnologia da Universidade Nova
de Lisboa e a AnubisNetworks com vista a melhorar os produtos disponibilizados. Parte
do trabalho efetuado nesta dissertao ir assentar sobre produtos j disponibilizados
pela AnubisNetworks, nomeadamente o Stream Platform Service, o MailSpike e o Maltracker.
1.2.1.2 Maltracker
O Maltracker (https://maltracker.net) um sistema de anlise de aplicaes maliciosas que permite submisso de ficheiros para anlise forense de ameaas que se disseminam a partir de ficheiros contendo aplicaes maliciosas. Esta plataforma permite
fazer um acompanhamento das infees, dispositivos infetados, anlise rede e deteo
de C&C em tempo real. Esta plataforma tem a vantagem de assentar sobre uma deteo
ativa, sendo portanto bastante precisa e com informao de bastante veracidade. Tambm dispe de um servio de anlise de stios da Internet que permite obter informaes
da comunicao e interao de stios com o objetivo de comprometer os seus utilizadores
ou de venda de objetos ilcitos, ou de forma ilcita.
3
1. I NTRODUO
1.2.1.3 MailSpike
O MailSpike (http://mailspike.org/) um servio de reputao IP que identifica
spamers conhecidos, um servio gratuito e atualizado em tempo real, com informaes
de IPs conhecidos por vagas de spam recentes. Este servio vai ser acedido atravs de um
modulo adicional da Stream, podendo no haver uma reputao associada a todos os IPs
observados durante a anlise.
1.3
Estrutura do Documento
2
Estado da Arte
A investigao sobre o tema das botnets no ambiente acadmico recente [SSPS13], podese observar um crescimento considervel na investigao relacionada com a deteo e
estudo de botnets desde o ano de 2005. Este captulo pretende fazer uma anlise da
literatura existente sobre as formas de deteo de clusters associados a botnets e encontrase dividido em seis seces.
Na primeira seco feita uma anlise s caractersticas e funcionamento das botnets,
na segunda feito um levantamento das formas de deteo existentes, na terceira feito
um levantamento de algoritmos de aprendizagem automtica que foram teis para esta
dissertao e na quinta descrito os algoritmos de clustering considerados.
2.1
2. E STADO
DA
A RTE
aces1 [LM]. Resguarda-se a existncia de sistemas com objetivos legtimos que possam ter comportamentos semelhantes aos de uma aplicao maliciosa, ou de uma botnet, tambm denominados
de falso-positivos.
Definio Informal 2. Assume-se que uma botnet, o conjunto do(s) centro(s) de controlo,
eventuais dispositivos intermdios para ocultao do centro de controlo, e dispositivos finais (ex:
computadores, telemveis). Considera-se que uma botnet encontra-se associada a uma ou mais
pessoas que requisitam [SGCCGSKKV09] ou iniciaram um determinado ataque criminoso direcionado com um certo objetivo2 . A determinao da botnet tambm se encontra associada a uma
determinada verso de uma famlia de aplicaes maliciosas (Zeus e Rimecud por exemplo).
Conforme descrito na Definio Informal 2, a definio de botnet pressupem o acesso
a de computadores infetados a terceiros como um servio, este tipo de servio tambm
chamado de Botnet as a Service [SGCCGSKKV09]. Dado que a deteo do fornecimento
tal servio complicado de forma passiva e sem interao ou explorao de vulnerabilidades do C&C, formou-se a Definio Informal 2.1, esta definio encontra-se contida
na Definio Informal 2 e relaxa o escopo do significado de uma botnet ao longo deste
documento.
Definio Informal 2.1. Assume-se que uma botnet, o conjunto do(s) centro(s) de controlo,
eventuais dispositivos intermdios para ocultao do centro de controlo, e dispositivos finais (ex:
computadores, telemveis). A determinao da botnet tambm se encontra associada a uma determinada verso de uma famlia de aplicaes maliciosas (Zeus e Rimecud por exemplo).
Este captulo discute a forma como as botnets operam e que caractersticas apresentam. Estes tipos de cluster apresentam uma arquitetura cliente e servidor, que pode estar
disposta em diferentes topologias, tpico discutido na seco 2.1.2. Apresentam tambm
mecanismos de evaso deteo e de preveno a ataques com vista a interromper o seu
funcionamento, este tpico discutido no seco 2.1.5. Para poder ser criada, necessita
de um modo de disseminao e contgio, na seco seguinte apresenta-se um modelo
comum presente nas botnets existentes. Salvaguarda-se a existncia de outro tipos de
disseminao e modelos de funcionamento no descritos neste documento, j que os autores procuram resilincia e mtodos de disseminao cada vez mais avanados para a
sua prtica sem levantar suspeitas.
2.1.1
Para enquadramento completo do funcionamento de uma botnet no contexto actual relembrese da Definio Informal 2, em que referido a existncia de botnets como um servio.
Destacam-se dois modos de operao: no primeiro uma botnet criada com o objetivo
especfico de um singular ou de um coletivo de criminosos que pretendem efetuar algum
1
RFC 6561: Recommendations for the Remediation of Bots in ISP Networks - http://tools.ietf.org/
html/rfc6561
2
No ramo de segurana informtica este tipo de ataques denominado de campanha.
2. E STADO
DA
A RTE
tipo de operao ilegal, o segundo modo de operao baseia-se na criao de uma infraestrutura que pode ser vendida a clientes finais que pagam pelo acesso aos computadores
infetados. Por este motivo a Definio Informal 2.1 faz mais sentido na medida que a deteo de uma botnet segundo a Definio Informal 2 um processo difcil, por envolver
uma interao direta com o C&C e entidades legais que investigam a atividade criminosa adjacente ao grupo (ou individual) que opera toda a infra-estrutura. Por outro lado
foi tambm observado [SGCCGSKKV09] que as aplicaes maliciosas apresentam esporadicamente identificadores da campanha correspondente, reforando mais uma vez a
existncia da Definio Informal 2.
As botnets apresentam um ciclo de vida prprio geralmente composto por cinco fases [SSPS13]. Primeiro, o autor dissemina uma verso inicial da aplicao maliciosa, que
permite iniciar o ciclo de infeo e formar gradualmente a botnet. A sua propagao
feita atravs de sites comprometidos, como plataformas de gesto de contedos tambm
conhecidas por Content Management Systems (CMS) e campanhas de spam com recurso a
computadores infetados. Geralmente a infeo feita com tcnicas de engenharia social,
com fim de iludir o utilizador para a instalao de tais programas. Na segunda fase
descarregada uma aplicao com capacidades mais avanadas do que a aplicao inicial.
Na terceira fase feita a comunicao com o centro de controlo onde existem mecanismos
de recuperao que tm o objetivo de garantir que esta comunicao bem sucedida. Na
quarta fase executada a atividade maliciosa, em que se pode incluir roubo de identidade, campanhas de spam, ataques distribudos de negao servio, entre outros. Por se
tratar de um modelo que permite a disseminao de aplicaes a outros computadores e
pela consumao crime, esta trata-se da fase mais critica e vantajosa para os botmasters.
A quinta e ltima fase corresponde atualizao e manuteno das aplicaes maliciosas, permitindo que verses melhoradas da aplicao sejam instaladas nos dispositivos
comprometidos.
2.1.2
Arquiteturas Existentes
2.1.2.1
Arquitetura Centralizada
2. E STADO
DA
A RTE
Este sub-gnero de arquitetura tambm apelidada por Locomotive Architecture na literatura existente. As botnets que seguem este tipo de arquitetura apresentam um modo de
funcionamento semelhante, ou mesmo igual a protocolos usados na Internet como o
caso do HTTP.
C&C
C&C
C&C
2.1.2.2
Arquitetura Distribuida
A Arquitetura Distribuda composta por vrios C&Cs e por dispositivos comprometidos, que comunicam entre si. Geralmente este tipo de arquiteturas recorre a protocolos
geralmente associados ao BitTorrent3 , como o caso da DHT. As Distributed Hash Table
um algoritmo distribudo para descoberta de dispositivos na rede, no necessitando de
um servidor central para o seu funcionamento.
C&C
C&C
2.1.2.3
Arquitetura Hbrida
A arquitetura Hbrida composta por uma mistura da arquitetura centralizada e da arquitetura distribuda. Este gnero de arquitetura dispem de diversos C&Cs semelhana da arquitetura distribuda que so contactados por dispositivos comprometidos
que atuam como proxy para outros dispositivos infetados pertencente mesma botnet.
Neste tipo de arquitetura tambm so usados protocolos e infra-estruturas que anonimizam a operao da botnet, como o onion routing, presente no software de routing de
3
Protocolo de troca de ficheiros de grande dimenso, criado em 2001 por Bram Cohen, usado inicialmente
para download de distribuies Linux - http://en.wikipedia.org/wiki/BitTorrent
2. E STADO
DA
A RTE
trfego de forma annima, Tor. Este tipo de encaminhamento de trfego envia os pacotes
rede por caminhos aleatrios, dificultando o acompanhamento da origem e destino do
trfego. Por estas razes este tipo de arquiteturas descrita [SZ10] como a mais resiliente
das descritas neste captulo
3
2
C&C
C&C
Figura 2.4: Arquitetura Hbrida com representao a cinzento dos dispositivos a funcionar como proxy
2.1.2.4
Arquitetura Aleatria
2.1.3
2. E STADO
DA
A RTE
convenes de 1987 [Moc87a; Moc87b]. Este protocolo foi criado para que um utilizador
possa aceder a servios na Internet de forma mais prtica, sem necessidade de memorizar
endereos IP4 para aceder a servios na Internet. Para demonstrar o seu funcionamento
tome-se o exemplo do domnio www.example.com. Neste domnio podem ser observados trs nveis hierrquicos, o nvel de topo (tambm referido como Top Level Domain
- TLD) com, o segundo nvel example e o terceiro nvel www. Foi efetuada uma consulta DNS, atravs do comando dig, disponvel na generalidade das distribuies Linux
disponveis. O resultado da execuo do comando pode ser observado na Figura 2.6.
$ dig -t ANY www.example.com @8.8.8.8
; <<>> DiG 9.8.3-P1 <<>> -t ANY www.example.com @8.8.8.8
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 25936
;; flags: qr rd ra; QUERY: 1, ANSWER: 18, AUTHORITY: 0,
ADDITIONAL: 0
;; QUESTION SECTION:
;www.example.com.
IN
;; ANSWER SECTION:
www.example.com.
www.example.com.
21570
21536
ANY
IN
IN
A
TXT
93.184.216.119
"v=spf1 -all"
Figura 2.6: Exemplo do comando dig usado para obteno das informaes de registos
existentes no nome de domnio www.example.com.
Para cada domnio podem existir registos que determinam a localizao de servios
associados a cada domnio. Estes registos tambm so denominados de records e tem
um valor e perodo de validade associados. Um exemplo de servio que necessita de
um registo especifico para o seu funcionamento com domnios o caso dos nameservers.
Os nameservers (servidor de consultas de nomes de domnio) so um protocolo de parqueamento de domnios, estes servidores consistem em servidores de alta disponibilidade que fornecem servios de consulta aos domnios registados na sua base de dados.
Na Figura 2.7 pode ser observada uma consulta aos registos correspondentes ao endereo dos nameservers do nome de domnio example.com. Estes registos so indicados
pelo acrnimo da palavra nameserver, NS. Na Figura 2.7 pode-se observar que o servidor
de nomes associado ao domnio example.com tem o valor a.iana-servers.net. e
b.iana-servers.net., com um perodo de validade de 16499 segundos para cada
registo. Para os registos de tipo NS, A, SOA e SPF existem valores que podem indicar a
existncia de uma botnet por apresentarem um perodo de validade curto e por apresentarem valores que geralmente no se encontram em domnios para operaes legitimas.
4
O Internet Protocol um protocolo de identificao de computadores na rede criado por Vint Cerf e Bob
Kahn em 1974
10
2. E STADO
DA
A RTE
a.iana-servers.net.
b.iana-servers.net.
Figura 2.7: Exemplo do comando dig para obteno dos registos NS do domnio
example.com.
Na seco 2.1.5 so discutidos os mecanismos de evaso deteo que podem ser associados a valores presentes em informao de DNS, no captulo 2 so discutidas formas
de deteo existentes na literatura que podem indicar a existncia e a infra-estrutura de
uma botnet com recurso a anlises de infornao de DNS.
Sinkholing
A tcnica de sinkholing consiste no registo de nomes de domnio associados a atividade de botnets, reencaminhando o trfego para um destino diferente ao do C&C. Esta
tcnica usada para fazer monitorizao de botnets com o objetivo de perceber a sua topologia e modo de operao. Tendo esta informao possvel determinar a amplitude
de infeo, taxas de crescimento, objetivos e os responsveis pela operao da botnet.
Esta tcnica pressupe que os responsveis do mecanismo de sinkhole implementado no
manipulam as mquinas infetadas que comunicam com o sinkhole.
2.1.4
2.1.5
Para garantir o funcionamento e permanncia da botnet, os botmasters implementam formas de ocultar o seu funcionamento. Hoje em dia os mecanismos de evaso deteo so
cada vez mais avanados e originais, sendo que o nvel de sofisticao encontrado varia
11
2. E STADO
DA
A RTE
de acordo com o propsito da botnet. Famlias de aplicaes maliciosas como o Cryptolocker5 implementam diversos tipos de mecanismos de evaso e ocultao do seu funcionamento e infraestrutura. Nas prximas seces pretende-se efetuar um levantamento
dos mecanismos observados na literatura existente assim como algumas referncias mais
pontuais.
2.1.5.1
Comunicao Cifrada
Famlia de aplicaes maliciosas que encripta os ficheiros relevantes existentes num computador infetado. Para reverter a cifra dos ficheiros necessrio pagar um resgate ou obter as chaves de encriptao
necessrias.
12
2. E STADO
DA
A RTE
frbyls.net
evphbxaojka.info
cxwzlutzra.info
cwegttl.info
cifwpcbdu.info
bjgkuuf.info
holakaddbqt.info
gwnxtcxwzdb.net
gbfcco.net
fkqqrqxtkxfi.info
dvrivq.info
dgfolgtqh.net
dcnbvvbyygg.info
boetulqonqrf.net
blyujitcx.com
ayuemiqi.org
aabobefad.net
kgdngbi.info
Figura 2.9: Exemplo de uma lista de domnios originados por uma DGA.
Na Figura 2.9 demonstra-se uma DGA real, todos os domnios representados originam respostas NXDOMAIN, o que leva o autor a crer que estes domnios podem ter sido
originados por uma aplicao maliciosa. Chama-se a ateno para a ocorrncia aleatria
de caracteres nos domnios, fora os TLDs apresentados. possivel observar particularidades a nvel semntico, sendo possvel aferir padres atravs da observao na ocorrncia de caracteres, frequncia da ocorrncia de consoantes, vogais observadas e anlise
com recurso a n-gramas, conforme discutido na Seco 2.2.
2.1.5.3 Fast-Flux e Double Fast-Flux
As tcnicas de Fast-Flux e Double Fast-Flux consistem na alterao constante de valores
presentes em registos DNS com recurso a perodos de validade reduzidos. A tcnica de
Fast-Flux incide exclusivamente em registos associados diretamente ao domnio (e.g A e
6
Apesar de haver inmeras referncias em fruns da existncia desta DGA e do autor ter comprovado
a sua existncia, no existe nenhum comunicado oficial da Google que confirme este facto. No entanto
existem referncias problemtica do NXDOMAIN hijacking por parte da empresa no seguinte endereo:
How does Google Public DNS handle non-existent domains? - https://developers.google.com/speed/
public-dns/faq#nxdomains
13
2. E STADO
DA
A RTE
AAAA), enquanto que a tcnica de Double Fast-Flux apenas reside na alterao dos registos no endereo do(s) nameserver associado ao domnio. Existem casos de uso que podem
ser confundidos com Fast-Flux como para o caso de redes de distribuio de contedo,
adiante designadas de CDN (Content Delivery Network). Na Figura 2.10 pode-se observar uma alterao do IP no domnio da Heroku, uma empresa que fornece servios de
distribuio de aplicaes cloud na Internet.
$ dig -t A herokuapp.com @8.8.8.8
(...)
;; ANSWER SECTION:
herokuapp.com.
59
IN
(...)
$ dig -t A herokuapp.com @8.8.8.8
(...)
;; ANSWER SECTION:
herokuapp.com.
51
IN
50.17.221.5
107.20.186.77
Outros
Para iludir os sistemas de deteo, so usado mecanismos pouco convencionais que podem ser variaes dos mtodos anteriormente descritos ou tcnicas novas de forma a
circunscrever mecanismos de deteo como IPS e IDS. Tome-se o exemplo da Famlia de
aplicaes maliciosas Necurs que recorre resoluo de um nome de domnio e troca o
valor dos bits do resultado da consulta para obter o endereo final [Nora; Norb]. Esta tcnica permite iludir a deteo do C&C por mtodos diretos, porque neste caso especifico
o domnio devolve uma pgina aparentemente legitima, e mais do que isso, pode usar
mesmo endereos de servios legtimos para obter o endereo do C&C.
Tambm foi observado [XBLXT11] um tipo de aplicao maliciosa que aplica uma
tcnica denominada de URL-Flux para obter informaes das operaes que deve efetuar. Neste caso a plataforma usada para C&C so sites legtimos de Microblogging, em
que os botmasters implementam um algoritmo de gerao de contas de acesso a essas
14
2. E STADO
DA
A RTE
2.2
Deteo de Botnets
2.2.1
Este tipo de deteo ocorre sobre a anlise do nome de domnio (ou ao conjunto de caracteres) para determinar se o mesmo foi gerado por algoritmos pseudo-aleatrios, tambm
denominados de DGAs, normalmente usados para evaso deteo, como discutido na
Sub-Seco 2.1.5.
No estudo feito por [DK13] foi feita uma anlise aos nomes de domnio, no seu estudo
separou cada nome de domnio pelos seus sub-componentes (TLD,2LD,3LD...7 ) e aplicou
7
Estas siglas referem-se s vrias componentes de um nome de domnio. Por exemplo, no nome de
15
2. E STADO
DA
A RTE
um algoritmo baseado numa anlise por bi-gramas. Este algoritmo originou um atributo
de entrada para uma Mquina de Vetor de Suporte. Foi verificado que o uso de uma
Mquina de Vetor de Suporte teve melhores resultados do que o uso de Nive Bayes ou
de C5.0 para a classificao.
[SMCZ13] realou diversos problemas importantes no contexto da deteo de domnios maliciosos, tendo sido criado um sistema de deteo que conseguiu identificar
corretamente domnios gerados pela aplicao maliciosa Conficker.B. Foi considerado que
a semelhana e anlise lingustica de um nome de domnio no suficiente para determinar se um domnio malicioso ou no, por esta razo tambm foram considerados outros
atributos ao nvel IP e DNS como medida de semelhana.
Frosch, et al. [FMHHB] usou um classificador do tipo K-Nearest Neighbour. Para
treino benigno usou o top 20.000 da empresa Alexa, tendo identificado no seu estudo
40.000 domnios como pertencentes a CDNs. Para treino maligno usou domnios (de
trs Famlias de aplicaes maliciosas diferentes) que se encontravam listados no sitio
http://abuse.ch.
2.2.2
Este tipo de deteo ocorre sobre uma anlise a cada pacote trocado em rede, a anlise pode ocorrer apenas sobre os cabealhos do pacote, ou sobre o contedo completo
do pacote. Cada abordagem tem as suas vantagens, sendo que a anlise do cabealho
dos pacotes mais rpida quando comparada com o a anlise completa de cada pacote
[ZTSLSGG13]. Por sua vez a anlise completa de pacotes mostra-se mais eficiente quando
comparada com a anlise dos cabealhos.
No estudo feito por [AJS06] apresentado o uso de redes neuronais para a deteo em
intruso de sistemas informticos. Foram analisadas trs tipos de redes neuronais: Adaptive Resonance Theory (ART-1, ART-2) e Self Organizing Map (SOM). Foram destacados dois
problemas durante a implementao da sua soluo, o primeiro estava relacionado com
a performance dos resultados ao usar uma representao explicita do tempo (etiqueta do
instante de receo - timestamp), a soluo passou por usar uma representao implcita
(alimentar o algoritmo por ordem de chegada, sem representao do tempo). A segunda
estava relacionada com o elevado tempo de treino das redes neuronais, por outro lado o
tempo de classificao de novas instncias do trfego aps o treino mostrou ser satisfatrio. O melhor resultado obtido foi com o uso de ART-1, com um valor de preciso de
71.17% e com 1.99% de falsos positivos.
Ruehrup, et al. [RU13] usa grafos de ligao a destinos comuns para estabelecer padres entre as ligao de dispositivos infetados e os C&Cs. Apesar de no usar algoritmos
de aprendizagem automtica, o uso de grafos de ligao a destinos comuns levanta uma
perspetiva interessante que pode ser considerada na criao de atributos adicionais para
o tema em estudo.
domnio foo.bar.com, o TLD (Top Level Domain) corresponde ao conjunto de caracteres com, o 2LD (2nd
Level Domain) corresponde ao conjunto de caracteres bar, assim sucessivamente.
16
2. E STADO
2.2.3
DA
A RTE
Internet Relay Chat - Protocolo de comunicao por mensagens criado nos anos 80 por Jarkko Oikarinen.
17
2. E STADO
DA
A RTE
curta, pode haver perda de pacotes relevantes para a deteo futura, segundo, se a janela for demasiado longa, pode no ser possvel classificar um fluxo at que a janela de
deciso correta seja preenchida. Foi observado que para vrios protocolos, a troca inicial
de pacotes (handshake) tende a ser nica e segue um comportamento especifico e varivel
para cada tipo de aplicao maliciosa. Esta abordagem particularmente sensvel a grandes alteraes no trfego da rede, nomeadamente existncia de trfego que recai sobre
protocolos ponto a ponto, de origem benigna e maliciosa.
No estudo feito por [DRP12] foi usado um mtodo de clustering para deteo de
botnets atravs de uma anlise a trfego rede cifrado e no cifrado. Foi usada a definio
tradicional de um fluxo de rede, sendo que captura feita tendo em conta as opes
seguintes: um fluxo contnuo de pacotes transmitidos numa direo at que a direo do
trfego se altere; ou uma janela de 5 minutos seja atingida; ou um novo fluxo seja aberto.
Infelizmente devido s limitaes do gateway da instituio de onde foram capturados
os dados, este estudo apenas considera uma janela de ausncia de trfego de 5 minutos.
Seria interessante ter resultados de performance e preciso para um perodo de tempo
superior dado que existem aplicaes maliciosas que apresentam janelas de comunicao
superiores [GPZL08; ZTSLSGG13].
No estudo feito por [LT12] foram usados classificadores como Nive Bayes e K-Nearest
Neighbour. Foram testados cinco tipo de ataques sobre a rede, foi verificado que dos
nove atributos considerados, oito demonstraram uma preciso superior a 75% sobre pelo
menos um tipo de ataque. O atributo que demonstrou menor eficcia foi o nmero de
endereos de destino.
2.2.4
Este tipo de deteo recai sobre as informaes de registo do domnio junto dos servios
de consulta a nameservers, no mbito do protocolo DNS.
[SI] identificou uma soluo que recai sobre uma correlao espacial do IP, para qual
um domnio resolve. No seu trabalho foram usados o ndice de Morgan e o Coeficiente
de Geary, com resultados de preciso na ordem dos 97%, em que 3% se deve a falsos
positivos. Recorreram ao top de mil domnios do sitio Alexa como corpus benigno. Para
a correlao usaram trs atributos distintos sobre o IP a que um domnio resolve: o par
latitude e longitude, a posio Universal Transversa de Mercator (UTM) a localizao
geogrfica de acordo com o standard MGRS sistema de coordenadas geogrficas usada
pelos militares da NATO para determinar localizaes geogrficas.
No estudo efetuado por [NPA13] foram consideradas variaes da aplicao maliciosa e respetivos padres. Para cada padro de comportamento rede foi atribuda uma
pontuao de forma a que fosse possvel efetuar clustering sobre os dados. Para a classificao usaram Modelos Ocultos de Markov (HMM). Na sua anlise removeu os TLDs
dos domnios com recurso a uma lista pblica de sufixos [Moz].
Antonakakis, et al. [ADEJ12] apresenta um bom caso de estudo sobre as DGAs e
18
2. E STADO
DA
A RTE
exemplo de deteo. Foram detetadas ameaas atravs de um elevado nmero de NXDomains(domnios inexistentes) por parte do mesmo IP. A empresa dispunha de uma soluo de sesses centralizado, onde um utilizador podia efetuar em qualquer computador
da empresa, foi observado que o comportamento da aplicao maliciosa seguia a sesso
do utilizador independentemente do computador. Para a aplicao maliciosa em estudo,
foi observado que tinha duas formas de comunicao com o exterior, a primeira atravs
de comunicao ponto a ponto para contactar com outros computadores infetados, caso
no fosse possvel a aplicao dispunha de um mecanismo de tolerncia a falhas e verificava a ligao Internet atravs do servio de pesquisas Bing ou Google, em caso de
sucesso ligava-se ao C&C atravs de nomes de domnios gerados por uma DGA, para
obter atualizaes.
2.3
Aprendizagem Automtica
2.3.1
(2.1)
2. E STADO
DA
A RTE
2.3.2
Redes Neuronais
As redes neuronais artificiais so baseadas nos mtodos usados por mecanismos de aprendizagem biolgicos [Mit97]. Para cada aplicao possvel destaca-se o seu uso para reconhecimento de texto, reconhecimento de voz, reconhecimento de imagens, conduo de
veculos e deteo de intruses em sistemas informticos [AJS06]. As redes neuronais artificiais baseiam-se em quatro pressupostos observados atravs de modelos matemticos
que reproduzem o pensamento humano ou modelos biolgicos [Fau94]: a informao
processada em elementos individuais chamados de neurnios, a informao entre cada
neurnio transmitida atravs de canais, cada canal tem um peso associado que multiplica o valor da informao que o cruza e cada neurnio aplica uma funo de ativao
sobre a soma dos canais de entrada para calcular o valor de sada. Encontram-se dispostas por camadas e podem apresentar-se em uni-camada, multi-camada e por camadas
concorrentes. A disposio por uni-camada apresenta uma nica camada que dispe de
pesos associados a cada ligao, a disposio por multi-camada apresenta duas ou mais
camadas. Para cada nmero de camadas superior a 2, o nmero de camadas ocultas N2, sendo N o nmero total de camadas existentes na rede neuronal (como exemplificado
no diagrama em baixo). A disposio por camada concorrente consiste na competio
entre a resposta mais vlida, por parte dos neurnios das camadas ocultas.
Camada
Entrada
Camada
Oculta
Camada
Sada
Entrada #1
Entrada #2
Sada
Entrada #3
Entrada #4
As redes neuronais so baseadas no algoritmo de backpropagation (propagao inversa), a rede neuronal ativada, no sentido direto, usando os pesos correntes para cada
neurnio, depois o erro nos valores de sada calculado e propagado, no sentido inverso,
alterando os pesos do neurnio. A fase de treino termina quando a soma dos erros da
rede neuronal nos neurnios de sada igual, ou menor ao pretendido, ou quando o nmero de iteraes mximas pelo algoritmo de backpropagation atingido. Os pesos em
20
2. E STADO
DA
A RTE
2.4. Clustering
cada camada podem ser atribudos atravs de trs formas: treino supervisionado, associao no supervisionada ou atravs da atribuio de pesos fixos, sem haver necessidade
de qualquer tipo de treino. O treino supervisionado recai sobre uma fase de treino que
antecede fase de classificao. Este tipo de treino necessita de uma classificao dos dados de treino, parte-se do principio que existem dados disponveis para todas as classes
de sada da rede neuronal.
2.4
Clustering
2.4.1
Este tipo de Redes Neuronais, proposto por Kohonen [Koh98] diferem das associativas
no tipo de arquitetura, para este sub-tipo de redes o vetor de valores de treino idntico
ao de sada. Este tipo de redes usado para identificar padres atravs de uma entrada
com rudo, ou com valores parcialmente prximos de um padro conhecido. Este tipo de
redes memoriza os padres observados nos valores de entrada, pelo que, e relativamente
ao tema em estudo, este tipo de redes til para comprimir os atributos aos valores
usados na camada intermdia da rede, o que facilita posteriormente a anlise dos clusters
formados.
2.4.2
Mapas Auto-organizveis
Os Mapas de Kohonen, adiante referidos de SOM (Self-organizing maps) e tambm descritos como mapa auto-organizvel, so um tipo de Rede Neuronal Auto-associativa desenvolvido por Teuvo Kohonen em 1982 [Koh82]. Este algoritmo tem uma grelha de sada,
tambm denominada de camada de Kohonen, onde os elementos so inseridos de acordo
com uma medida de distncia.
Relativamente ao problema em questo, o uso de SOMs tem a desvantagem de necessitar de ter diversos parmetros priori, incluindo a topologia da prpria rede, o que
impossibilita o seu uso num mtodo contnuo de classificao. Por esta razo so propostas estruturas adicionais que permitem ter este ltimo ponto em considerao, como o
21
2. E STADO
DA
A RTE
2.4. Clustering
22
3
Contribuies
Este captulo aborda as contribuies efetuadas para a obteno de resultados, na primeira seco feita uma introduo arquitetura geral da metodologia usada e respetivas tecnologias, a segunda seco descreve o funcionamento do CHEWER, a terceira seco descreve o DNS Crawler, a quarta seco descreve o funcionamento e implementao
do CONDENSER, e a ltima seco descreve o modo de funcionamento do Clusterer.
3.1
Arquitetura e Tecnologias
Para atingir os objetivos propostos foram desenvolvidos trs sistemas: o CONDENSER sistema de execuo sequencial que extra informao de vrias fontes, efetua clustering
atravs do Clusterer e classifica nomes de domnio, e guarda a informao numa base
de dados orientada a grafos; o DNS Crawler - sistema de histrico de informao DNS
sobre nomes de domnio, que faz parte de um mdulo do CONDENSER; e o CHEWER
- sistema de extrao, refinao e classificao de um conjunto de dados de entrada, este
sistema usado para obter o melhor modelo de classificao disponvel com o menor
conjunto de dados e atributos, por mtodos de bootstrapping e de seleo de atributos.
A implementao do CONDENSER e do DNS Crawler foi feita com recurso linguagem de scripting Javascript, a base de dados orientada a grafos uma instncia do neo4j,
por ter uma comunidade e documentao acessveis o que levam a que a sua curva de
aprendizagem e tempo de implementao sejam reduzidos. Pesquisas que envolvam
clculo de topologias e sub-topologias das comunicaes observadas tornam-se mais eficientes com o uso deste tipo de base de dados.
O CHEWER foi desenvolvido em Ruby, e est assente sobre uma verso paralelizada
da LIBSVM que faz uso do OpenMP, uma API em C de processamento paralelo. Dado
23
3. C ONTRIBUIES
3.2. CONDENSER
que o treino da SVM est limitada pelo CPU disponvel (cpu-bound) esta foi uma soluo
ideal, os treinos foram efetuados numa mquina com o sistema operativo Ubuntu 64 bits,
com 24 threads lgicos de processamento e 32Gb de memria RAM.
Base de Dados
Orientada a Grafos
CONDENSER
Mdulos de
Extraco de
Atributos
Clusterer
(SOM)
DNS Crawler
CHEWER
Fluxo de Dados
Classificao de
DGAs (SVM)
3.2
CONDENSER
O sistema CONDENSER o nome do processo de reduo de dimensionalidade dos resultados obtidos atravs dos mdulos descritos nos sub-captulos seguintes. Pretende-se
agrupar os atributos de acordo com os resultados observados em cada mdulo atravs de
um processo de clustering e de classificao numa base de dados de grafos. Este sistema
encontra-se dividido em diversos componentes.
A Fonte de Dados trata-se de uma componente que efetua uma ligao a uma feed
que ter ativo o mdulo de URI para processamento de URIs, o mdulo de GeoIP para
geolocalizao dos IPs, o sub-mdulo Learn para extrao de atributos para o classificador de DGAs e de URIs e o sub-mdulo de meta informao do sistema Maltracker. Os
CONDENSER Workers tratam-se de um componente dividido em vrios processos que
esto responsveis por receber trabalho do mestre e por enriquecer a informao recebida
atravs da interao de servios externos, esta interao feita atravs dos seus mdulos.
A Cache Distribuda trata-se de um sistema de cache que persiste os dados por um perodo de tempo pr-determinado, por omisso este valor encontra-se fixo em uma hora.
24
3. C ONTRIBUIES
3.2. CONDENSER
Fonte de Dados
Worker
CONDENSER
Worker
Cache Distribuda
Worker
Clusterer
DNS Crawler
Classificador de
DGAs
CHEWER
Mdulo #N
Mdulo #2
Mdulo #1
Work Saver
Base de Dados
orientada a Grafos
3.2.1
Mdulos Existentes
3. C ONTRIBUIES
3.3. CHEWER
3.3
CHEWER
3. C ONTRIBUIES
de testar o conjunto de dados aps o classificador ser treinado com validao cruzada.
A base da frmula usada para a criao da partio com recurso funo exponencial, corresponde ao valor exponencial, enquadrado nos limites do conjunto de dados
existente.
f (i, S) =
2i S
215
i, S N i [1, 15]
Figura 3.3: Formula de Criao dos Sub-Conjuntos de Dados com Dimenso Exponencial
A base da frmula usada para a criao da partio com recurso funo linear, corresponde ao valor fracionrio simples (linear), enquadrado nos limites do conjunto de
dados existente.
f (i, S) =
iS
10
i, S N i [1, 10]
Figura 3.4: Formula de Criao dos Sub-Conjuntos de Dados com Dimenso Linear
A SVM treinada com recurso a uma verso paralelizada da biblioteca LibSVM, que
segue os parmetros de entrada e sada da verso original da implementao de ChihChung Chang e Chih-Jen Lin. Aps o treino do classificador feito um clculo da performance final, usando um sub-conjunto de dados para teste criado aps a fase de extrao
de atributos.
3.4
DNS Crawler
Este sistema traduz-se num conjunto de componentes que efetua anlises a domnios
observados a fim de detetar comunicaes com domnios contendo caractersticas potencialmente anmalas.
Este sistema permite identificar parte das tcnicas de evaso deteo, onde se inclui
deteo de fast-flux, double fast-flux e pedidos que originaram respostas NXDOMAIN. Dado
que os IPs observados nas informaes DNS dos Nomes de domnio no so removidas
da base de dados, pode-se afirmar que se dispe de um histrico de informao, havendo
desta forma possibilidade de observar as alteraes de informao dos domnios ao longo
do tempo, e da mesma forma, a rotao de domnios e IPs associados a botnets.
O Sistema DNS Crawler contm vrios componentes a fim de poder ter uma execuo
distribuda e escalvel. A fonte de dados provem de uma captura no momento, de uma
reproduo de uma captura passada ou atravs de uma feed de dados. A componente
de ligao feed e comunicao com os workers tem um comportamento mestre e est
responsvel por distribuir informao a ser processada. A componente Job Sender Worker est responsvel por retirar o domnio do pacote recebido e por inserir o seu valor
na cache para posterior anlise (caso ainda no tenha sido analisado previamente ou no
disponha de informao expirada). A cache distribuda trata-se de um sistema de cache
27
3. C ONTRIBUIES
3.5. Clusterer
Data Source
Job Sender
Worker
Job Sender
Worker
Distributed
Cache
Job Sender
Worker
Job Sender
Worker
Job Saver
Worker
DNS Worker
Master
Distributed Cache
Pending and
Completed Jobs
CONDENSER
Worker
DNS Crawler
Module
Database
1
DNS Worker
2
DNS Worker
n
DNS Worker
DNS Workers
3.5
Clusterer
3. C ONTRIBUIES
3.5. Clusterer
Na Listagem 3.1 encontra-se um exemplo de output do CONDENSER, antes da insero na base de dados e sem enriquecimento de informao por parte do DNS Crawler.
Neste caso reproduzido um caso real com alteraes de alguns campos. No excerto
de JSON na referida Listagem encontra-se demonstrada uma comunicao feita por uma
determinada famlia de aplicaes maliciosas, que foi agrupada atravs de clustering. A
informao disposta foi alterada nos valores dos IPs e domnios observados por motivos
de sigilo da informao.
No exemplo apresentado o campo hits refere-se ao nmero de vezes que foi visto
uma comunicao de um certo IP com um domnio, o campo intersections refere o nmero
de domnios nicos presentes no mesmo cluster com que um IP foi visto comunicar. O
campo seems_dga o resultado da aplicao do classificador de nomes de domnio aos
domnios presentes no vetor patterns. Tambm so apresentadas mtricas adicionais
que permitem refinar a informao de cada cluster no campo metrics, como o caso
do nmero mdio de comunicaes por cada IP (avg_hits), do nmero mdio de interseces por cada IP (avg_intersections), do nmero mdio de IPs para cada padro
(avg_ips), do somatrio de acessos de cada IP (hits), do quociente entre o nmero
de padres existentes e do nmero de IPs (avg_ip_per_pattern) e do nmero de IPs
nicos existentes no cluster.
29
3. C ONTRIBUIES
{
"ips": {
"extended": [{
"hits": 4,
"intersections": 1,
"ip": "127.0.0.1"
},
{
"hits": 5,
"intersections": 1,
"ip": "127.0.0.2"
}],
"values": ["127.0.0.1","127.0.0.2"]
},
"metrics": {
"avg_hits": 4.5,
"avg_intersections": 1.0,
"avg_ips": 1.0,
"hits": 9,
"avg_ip_per_pattern": 1.0,
"ips": 2
},
"patterns": [{
"hits": 4,
"value": {
"host": "jhia2iu6skja9.com",
"httpcode": 200,
"httpversion": "HTTP/1.0",
"method": "GET",
"size": 1,
"uri_path": "/update",
"seems_dga": true
}
},{
"hits": 5,
"value": {
"host": "jsia5iueseja0.com",
"httpcode": 200,
"httpversion": "HTTP/1.0",
"method": "GET",
"size": 1,
"uri_path": "/update",
"seems_dga": true
}}]
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
3.5. Clusterer
Listagem 3.1: Resultado de um cluster obtido atravs da aplicao do algoritmo de clustering em dados reais, em que que os valores dos atributos e centrides, so abstrados do
utilizador e onde so obtidas mtricas teis, para posterior anlise do cluster.
30
4
Resultados
A avaliao dos resultados feita sobre os dois classificadores disponveis e sobre o algoritmo de clustering usado. Para o classificador de nomes de domnio o conjunto de dados
pertencente classe de domnios no gerados por DGAs provm dos 20.000 domnios com
mais atividade do dia 7 de Fevereiro de 2014, obtidos no site Alexa. Relativamente aos
nomes de domnio no pertencentes classe foi usado um conjunto de domnios provenientes de vrios tipos de DGAs registadas pela AnubisNetworks, contendo um total de
27.000 domnios. Por no se tratar de um conjunto de dados pblico, foi feita uma anlise
a nvel de distribuio de valores dos atributos do conjunto de dados em uso. Para treino
do classificador de URIs, o conjunto de dados pertencentes classe de URIs sem provenincia maliciosa provem de trfego gerado sobre o acesso ao top de 500 domnios usados
para o classificador de nomes de domnio, num total de 10.000 entradas. Para o conjunto
de dados no pertencentes classe, foi usado 10.000 pacotes de trfego do conjunto de
botnets seguidas pela AnubisNetworks. Para a avaliao do algoritmo de clustering, foi
usado um conjunto de dados, no classificado, e sem qualquer tipo de tratamento, correspondendo a 10.000 pacotes obtidos no dia 9 de Agosto de 2014. Foi tambm efetuado um
clculo do tamanho do conjunto de dados necessrio a fim de diminuir o tempo de treino
e classificao dos classificadores, assim como uma avaliao ao nmero de iteraes e
taxa de aprendizagem necessrios de forma a diminuir o tempo de execuo do algoritmo
de clustering sem haver degradao significativa dos resultados. Nas seguintes seces
faz-se uma anlise da distribuio dos valores aps a extrao dos atributos, feita uma
anlise performance dos classificadores e uma anlise performance do algoritmo de
clustering usado atravs da variao de parmetros durante a fase de aprendizagem.
31
4. R ESULTADOS
4.1
Atributos Usados
Tendo em considerao o trabalho relacionado e alguns tipos de ficheiros comuns associados disseminao de aplicaes maliciosas, foram escolhidos atributos que incidem
sobre a anlise de um nome de domnio, do respetivo URI dos pedidos, a extenso dos
URIs, o respetivo cdigo de resposta HTTP e a verso do protocolo HTTP usado. Nas
seces seguintes esto descritos um total de 70 atributos, dos quais 19 so numricos e
51 categricos.
4.1.1
Para os atributos sobre os nomes de domnio foram escolhidos, em parte, atributos existentes no trabalho relacionado. Para compreenso na obteno dos atributos descritos,
os atributos correspondentes ao rcio de consoantes, rcio de vogais e rcio de outros
caracteres - caracteres que no so vogais, consoantes ou dgitos - feito atravs da equao 4.1. Para o rcio de vogais em relao a consoantes feito atravs da frmula 4.2.
Tabela 4.1: Atributos de Nomes de domnio
Atributo
Tipo
Eq. Descrio
consonantRatio
Numrico
consonantVocalRatio
Numrico
4.2
domainLength
Numrico
othersRatio
Numrico
vocalRatio
Numrico
digitRatio
Numrico
noRepeatsByUniGram
Numrico
4.3
noRepeatsByBiGram
Numrico
4.3
noRepeatsByTriGram
Numrico
4.3
tetraGramAnalysis
Numrico
4.3
lowFrequenceOccurrence Categrico
32
4. R ESULTADOS
Para os atributos correspondentes a anlises por n-gramas feita atravs da Equao 4.3, que faz o quociente entre o nmero de ocorrncias com o nmero mximo de
nGramas possveis para o conjunto de caracteres em anlise.
tipoCaracter
comprimentoDom
(4.1)
consoantes vogais
consoantes + vogais
(4.2)
Para os atributos correspondentes ao nmero de repeties por uni, bi, tri e tetragramas feito um clculo da repetio das vogais ou consoantes em sequncia atravs
do referido nmero de caracteres. Para melhor perceo do significado de cada atributo,
so apresentados na Tabela B.4 os atributos usados neste classificador.
ocorrenciasP ornGramas
comprimentodomnio (nGram 1)
(4.3)
4.1.2
Atributos de URIs
4.1.3
(4.4)
Estes atributos sero usados adicionalmente aos restantes atributos de URIs durante a
fase de clustering. Pretende-se separar os URIs por tipo de extenso, sendo que a anlise
33
4. R ESULTADOS
Tipo
Eq. Descrio
queryLength
Numrico
queryArgumentSize
Numrico
uriBaseLength
Numrico
4.1
uriBaseLevelLength
Numrico
4.1
uriPathLength
Numrico
4.1
uriExistence
Categrico
estendida ao URI incide apenas sobre anlise a atributos adicionais relativos extenso.
No conjunto de atributos disponveis existem 34 atributos categricos que correspondem
a extenses de ficheiros relevantes no contexto de infeo e disseminao de aplicaes
maliciosas.
Os restantes atributos pretendem ter em conta a inexistncia de extenses e extenses
no existentes nas que so dispostas na primeira linha da Tabela 4.3. semelhana do
grupo de atributos anterior, os atributos so normalizados com os mximos observados
do conjunto de dados completo.
4.1.4
Outros atributos
4.2
Anlise Estatistica
Para determinar a forma como os dados esto dispostos no conjunto de dados completo
foi feita uma anlise estatstica aos conjuntos de dados existentes, esta anlise feita
para que se compreenda melhor a distribuio estatstica do conjunto de dados usado e
para que possam ser feitas comparaes com conjuntos de dados usados na literatura,
ou mesmo para gerar conjuntos de dados semelhantes aos usados nesta dissertao. Os
34
4. R ESULTADOS
Tipo
Eq. Descrio
Categrico
unknownExtension
Categrico
unavailableExtension
Categrico
consonantRatio
Numrico
vocalRatio
Numrico
consonantVocalRatio
Numrico
extensionLength
Numrico
atributos usados para a analise estatstica em baixo correspondem ao valor dos atributos
aps a extrao, antes do trino dos classificadores e clusterer.
v
uN
N
uX
X
ni
=t
pi (xi )2 , onde =
p i xi , e p i =
N
i=1
(4.5)
i=1
X=
N
1 X
xi
N
(4.6)
i=1
2 /N
35
(4.7)
4. R ESULTADOS
Tipo
Eq. Descrio
packetSize
Numrico
packetSizeInexistence
Categrico
Existencia do Tamanho do
Pacote TCP/IP
Categrico
unknownReplyCode
Categrico
inexistentHttpRCode
Categrico
HTTP/1.0, HTTP/1.1
Categrico
Verso HTTP
unknownHttpVersion
Categrico
inexistentHttpVersion
Categrico
(4.8)
(4.9)
Aplica-se o valor obtido anteriormente e obtm-se a equao do intervalo de confiana, representada na Equao 4.10.
(4.10)
4. R ESULTADOS
4.2.1
Para o classificador de nomes de domnios a anlise estatstica mostrou resultados interessantes na medida que permite antever parcialmente o resultado da seleo de atributos efetuada demonstrada na seco 4.4. Na Tabela B.1 e Tabela B.2 do Apndice,
so apresentados os valores obtidos para a anlise estatstica efetuada. Na Figura 4.1
feita uma disposio das mdias obtidas para cada atributo, e para cada conjunto de
dados. A preto encontra-se representado o desvio-padro observado. possvel verificar que alguns dos atributos mostram ter uma grande disperso ao longo do conjunto
de dados, como o caso dos atributos: consonantRatio, consonantVocalRatio,
vocalRatio, digitRatio e o atributo tetraGramAnalysis.
Relativamente s mdias observadas, e em comparao com os dois conjunto de dados deste classificador, o atributo tetraGramAnalysis mostrou ter a maior diferena
em termos mdios. observado que o conjunto de dados contendo os nomes de domnio
gerados por DGA apresenta em termos mdios um maior nmero de ocorrncia de consoantes em relao ao tamanho total, facto que se verifica de forma inversa relativamente
ao rcio de vogais, em que o conjunto de dados de domnios normais apresenta maior
ocorrncia de vogais. Para o atributo consonantVocalRatio o conjunto de dados relativo a amostras de DGAs mostra ter mais consoantes quando comparado com o nmero
de vogais presente no total do conjunto de carateres do domnio. Para os restantes valores
observado que os dois conjuntos de dados apresentam alguma similaridade.
4.2.2
Classificador de URIs
No Grfico 4.2 est representado o resultado estatstico da anlise aos atributos do classificador de URIs. Foi observado que o atributo mais discriminante foi o tetraGramAnalysis,
tendo o atributo queryArgumentSize tambm uma varincia significativa. Para os
restantes valores foi observado que no existe grande discrepncia entre os conjunto de
dados da classe analisada.
37
4. R ESULTADOS
Figura 4.1: Grfico das mdias e desvio-padro de cada atributo nos conjunto de dados
usados para o classificador de nomes de domnio
1.5
1
Valor
0.5
0
0.5
1
re
n
ys
i
ue
nc
eO
cc
ur
na
l
am
A
aG
r
lo
wF
re
q
no
Re
te
tr
pe
at
s
pe
at
Re
ce
ra
m
By
T
Bi
G
sB
y
yU
n
Re
p
no
no
ea
ts
B
gi
t
di
ri
G
ra
m
am
iG
r
Ra
ti
o
o
at
i
lR
ca
sR
ot
he
r
vo
at
io
ng
th
Le
do
ma
in
ti
o
Ra
co
co
ns
on
an
t
ns
on
a
Vo
ca
l
nt
Ra
ti
o
1.5
Figura 4.2: Grfico das mdias e desvio-padro de cada atributo nos conjunto de dados
usados para o classificador de URIs
URI Normal
URI de uma Aplicao Maliciosa
1.5
1
0
0.5
1
gt
en
ng
ur
iP
at
hL
Le
el
ev
eL
as
iB
ur
38
th
h
gt
en
eL
as
iB
ur
qu
er
yA
rg
er
um
yL
en
en
tS
gt
iz
1.5
qu
Valor
0.5
4. R ESULTADOS
4.3
Nesta seco discutem-se os resultados obtidos aps a avaliao de performance efetuada sobre os dois classificadores. Foram usadas quatro mtricas de classificao para a
avaliao dos classificadores: Accuracy, Preciso, Recall e F-Measure.
Para esta seco assume-se que tp corresponde ao nmero de classificaes corretas
como pertencendo classe de sada, tn corresponde ao nmero de classificaes corretas como no pertencendo classe de sada, f p corresponde ao nmero de classificaes
incorretas como pertencendo classe de sada e f n corresponde ao nmero de classificaes incorretas como no pertencendo classe de sada. O recall e preciso so calculados
de acordo com as equaes 4.11 e 4.12 respetivamente.
recall =
tp
tp + f n
(4.11)
precis
ao =
tp
tp + f p
(4.12)
accuracy =
tp + tn
tp + f p + f n + tn
(4.13)
f measure =
2 precis
ao recall
(4.14)
precis
ao + recall
4.3.1
Este classificador indica se um domnio visto como no sendo anmalo, ou por outras
palavras, se no aparenta ter sido gerado por nenhum tipo de DGA. Durante a fase de
treino com o conjunto de dados total foi atingida uma preciso de 77,9474% para 49.020
vetores de entrada, as restantes mtricas so apresentadas na tabela 4.5.
Para o conjunto de treino com dimenso exponencial observou-se que o classificador
comea a apresentar estabilidade a partir da stima iterao. Na Figura 4.3 pode-se observar a evoluo da preciso mediante o sub-conjunto de entrada usado. No eixo das
39
4. R ESULTADOS
Conjunto
Pertencente
Classe
Conjunto no
Pertencente
Classe
Accuracy
Preciso
26.891
27.043
82,0508%
77,9474%
Recall
F-Measure
89,2525% 83,2178%
Tabela 4.5: Performance do Classificador de Nomes de domnio com o Conjunto de Dados Completo
ordenadas do lado direito encontra-se disposta a dimenso do sub-conjunto para a iterao disposta no eixo das abcissas. Os valores obtidos e usados para desenho dos grfico
encontram-se em Anexo, na Tabela A.1.
Avaliao de Performance
Avaliao de Performance
100
100
90
90
50,000
40,000
80
40,000
80
30,000
70
20,000
70
Accuracy
20,000
Preciso
60
Recall
60
F-Measure
10,000
0
50
50
5
10
15
Para o conjunto de treino com dimenso linear observou-se que o classificador comea
a apresentar estabilidade logo na primeira iterao. Na Figura 4.4 pode-se observar a
evoluo da preciso mediante o sub-conjunto de entrada usado. No eixo das ordenadas
do lado direito encontra-se disposta a dimenso do sub-conjunto para a iterao disposta
no eixo das abcissas. Os valores obtidos e usados para desenho dos grfico encontram-se
em Anexo, na Tabela A.2.
4.3.2
Classificador de URIs
Este classificador indica se um domnio visto como no sendo anmalo, ou por outras
palavras, se no aparenta ter sido gerado por nenhum tipo de DGA. Durante a fase de
treino com o conjunto de dados total foi atingida uma preciso de 77,9474 para 49.020
vetores de entrada, as restantes mtricas so apresentadas na tabela 4.6.
Para o conjunto de treino com dimenso exponencial observou-se que o classificador
comea a apresentar estabilidade a partir da stima iterao. Na Figura 4.5 pode-se observar a evoluo da preciso mediante o sub-conjunto de entrada usado. No eixo das
40
4. R ESULTADOS
Conjunto
Pertencente
Classe
Conjunto no
Pertencente
Classe
Accuracy
Preciso
9910
9748
96,7430%
96,3037%
Recall
F-Measure
97,2755% 96,7872%
Avaliao de Performance
100
100
20,000
20,000
90
90
15,000
80
15,000
80
10,000
10,000
70
70
Accuracy
5,000
60
Preciso
Recall
60
5,000
F-Measure
0
50
50
5
10
15
Para o conjunto de treino com dimenso linear observou-se que o classificador comea
a apresentar estabilidade logo na primeira iterao. Na Figura 4.6 pode-se observar a
evoluo da preciso mediante o sub-conjunto de entrada usado. No eixo das ordenadas
do lado direito encontra-se disposta a dimenso do sub-conjunto para a iterao disposta
no eixo das abcissas. Os valores obtidos e usados para desenho dos grfico encontram-se
em Anexo, na Tabela A.4.
4.4
Seleo de Atributos
4. R ESULTADOS
Para este passo foi usado um sub-conjunto composto por 250 entradas aleatrias do
conjunto de dados completo.
2. Seleo de atributos dos 36 atributos que apresentaram melhor performance na execuo anterior. Para este passo foi usado um sub-conjunto composto por 500 entradas aleatrias do conjunto de dados completo.
3. Seleo de atributos do top de 7 atributos que apresentaram melhor performance
na execuo anterior. Para este passo foi usado um sub-conjunto composto por 1000
entradas aleatrias do conjunto de dados completo.
4. Seleo de atributos do top de 3 atributos que apresentaram melhor performance
na execuo anterior. Para este passo foi usado um sub-conjunto composto por 4000
entradas aleatrias do conjunto de dados completo.
5. Treino do classificador com o conjunto de atributos que apresentou a melhor performance na execuo anterior. Para esta passo foram usados dois sub-conjuntos, o
primeiro composto por 4000 entradas e o segundo por 8000 do conjunto de dados
completo.
Neste procedimento faz-se uma assuno de que a execuo do treino com os subconjuntos do conjunto de dados completo, que segue um crescimento exponencial j foi
feita, sendo a dimenso do conjunto de dados do primeiro passo a que apresenta uma
estabilidade relativa quando comparada com o conjunto de treino completo. Relativamente a este passo, deveria ser calculado um intervalo de confiana por bootstraping com
o objetivo de arranjar um sub-conjunto de dados representativo do conjunto total.
Tabela 4.7: Seleco de Atributos para o Classificador de Nomes de domnio
No Conj. Features
Preciso
Mxima
Abributos Selecionados
Dimenso
2035
79,9
250
36
83,9
83,9
80,7
82,9
82,1
othersRatio,
biGramAnalysis,
triGramAnalysis,
tetraGramAnalysis
othersRatio,
biGramAnalysis,
triGramAnalysis,
tetraGramAnalysis
othersRatio,
biGramAnalysis,
triGramAnalysis,
tetraGramAnalysis
domainLength,
othersRatio,
tetraGramAnalysis
domainLength,
othersRatio,
tetraGramAnalysis
domainLength,
othersRatio,
tetraGramAnalysis
42
500
1000
4000
4000
8000
4. R ESULTADOS
Na Tabela 4.7 encontram-se os resultados obtidos atravs da seleo de atributos aplicada ao classificador de nomes de domnio. Foi observado que os atributos mais discriminantes so os correspondentes ao comprimento do nome do domnio (domainLength),
o rcio de outros caracteres (othersRatio), e a anlise de repeties por tetra-gramas
(tetraGramAnalysis).
4.5
Avaliao do Clusterer
X
d
(xi yi )2
1/2
(4.15)
i=1
Para a medida de performance so apresentadas seis mtricas, trs correspondentes a mtodos de validao externos, trs correspondentes a mtodos de validao internos. Para as medidas de performance de validao externa refere-se a existncia do
recall, clculo da preciso e a f-measure. Para as medidas de performance de validao
43
4. R ESULTADOS
interna [SRS07] foi usado o ndice de Davies-Bouldin (DB) Equao 4.17 o ndice de
Silhouette Equao 4.21 e o ndice de Dunn Equao 4.18.
diam(ci ) =
1/2
1 X
2
||x zi ||
ni xc
(4.16)
(4.17)
i=1
i=1,...,k
min
j=i+1,...,k
diss(ci , cj )
maxm=1,...,k diam(cm )
)
(4.18)
O ndice de Dunn [Dun74] representado por DUk identifica clusters que se encontram bem separados e compactos. O objetivo portanto de maximizar a distncia
inter-cluster e minimizar a distncia intra-cluster.
diss(ci , cj ) = minxci ,ycj ||x y||
(4.19)
Na Equao 4.18, k corresponde ao nmero total de clusters existentes, 4.19 corresponde medida de dissemilhana entre os clusters ci e cj , 4.20 corresponde ao dimetro
do cluster C.
diam(C) = maxx,yC ||x y||
(4.20)
O ndice de Silhouette [L. 90] representado por SIk determina a mdia da pertena de cada ponto a todos os k clusters, onde n corresponde ao nmero total de pontos
existentes no conjunto de dados, ai a distncia mdia entre o ponto i e todos os outros
pontos pertencentes ao seu cluster; bi o valor mnimo da dissimilaridade mdia entre
o ponto i e todos os outros clusters. Nesta medida de avaliao, a partio com o maior
valor de SI considera-se timo.
n
SIk =
1 X (bi ai )
n
max(ai , bi )
(4.21)
i=1
A biblioteca usada para o processo de clustering foi a neuroph. Esta biblioteca permite, para os Mapas de Kohonen, a especificao do nmero de iteraes na primeira e
segunda fase, assim como do learning rate, adiante designada de taxa de aprendizagem.
44
4. R ESULTADOS
Nmero de
Clusters
ndice de Dunn
ndice de
Davies-bouldin
840
0.0001
9.3262
ndice de
Silhouette
0.2685
45
4. R ESULTADOS
840
857
936
937
849
892
772
899
973
919
911
746
881
804
767
800
854
934
799
850
1,000
755
Nmero de Clusters
Figura 4.7: Histograma da dimenso dos clusters com variao do nmero de iteraes
usadas para treino do mapa auto-organizvel.
600
0.05
0.1
0.15
0.4
0.45
0.5
0.27
0.35
0.35
0.38
0.22
0.31
1 10 4
0.11
0.19
0.36
0.35
0.33
0.37
0.23
0.32
0.2
0.15
0.2
0.22
0.28
0.4
0.19
ndice de Silhouette
0
0.05
0.1
0.15
4.6
0.4
0.45
0.5
Relativamente ao trabalho efetuado e resultados apresentados, a resposta da AnubisNetworks foi positiva no sentido que possvel agrupar trfego com padres similares
em clusters com eventos do mesmo gnero, sem haver interseco de comunicao com
os domnios de destino, foi mesmo possvel observar, em capturas efetuadas a trfego
real, a formao de clusters que seguem um padro semelhante de comunicao. Esta
verificao foi feita por experts reconhecidos na rea de segurana e de threat intelligence.
46
4. R ESULTADOS
9.37
9.1
9.33
9.68
9.42
9.92
9.95
0.45
0.5
7.61
10.3
8.27
9.87
7.28
8.68
9.54
7.34
7.9
10
8.48
9.73
12
8.14
7.98
ndice de Davies-bouldin
Figura 4.9: Histograma do ndice de Davies-bouldin com variao do nmero de iteraes usadas para treino do mapa auto-organizvel.
6
0.05
0.1
0.15
47
0.4
4. R ESULTADOS
48
5
Concluses
As botnets apresentam um conjunto de caractersticas juntamente com aplicao de mtodos de evaso deteo que dificultam a sua deteo. Nesta dissertao apresentada
uma relao entre o trabalho relacionado com solues novas no contexto da deteo de
botnets, permitindo assim desenhar novas formas de deteo. Foi apresentada uma soluo que permite detetar clusters provenientes de botnets atravs do uso de classificadores
de aprendizagem automtica e correlao de informao proveniente de DNS e anlises
fsicas de aplicaes maliciosas.
A fonte de dados usada para a proposta do mtodo e classificao baseia-se em trfego de pedidos que deram resposta NXDOMAIN por parte do respetivo servidor DNS de
operadores de telecomunicaes. Este tipo de respostas comum para aplicaes maliciosas que recorrem a DGAs, no entanto este tipo de respostas geralmente usado como
mecanismo de recuperao em caso de falha do mtodo de comunicao principal. Ao
usar um algoritmo de clustering no supervisionado no feita nenhuma assuno relativa aos dados, desta forma possvel relacionar trfego de aplicaes maliciosas analisadas no Maltracker com acesso a domnios no necessariamente gerados por DGAs.
O classificador de DGAs devolve um mecanismo prtico de classificao, facilitando o
trabalho ao analista ao afirmar com 77,9% de certeza se um nome de domnio foi gerado
por uma DGA ou no.
Os mtodos descritos fazem parte do CONDENSER, esta metodologia reduz a dimensionalidade dos resultados obtidos e resulta num grafo para posterior anlise por
parte de um analista. Para esta metodologia adicionalmente sugerido o uso de uma
soluo que guarda histrico de resolues DNS de forma activa, a fim de obter tanto os
domnios de uma botnet como os domnios e IPs ativos dos prprios C&Cs.
A classificao de nomes de domnio para cada cluster feita priori do algoritmo de
49
5. C ONCLUSES
5.1. Limitaes
5.1
Limitaes
Devido natureza dos dados usados no foi possvel fazer uma avaliao comparativa tendo em conta o trabalho relacionado e a soluo no seu todo. No entanto so
apresentadas medidas de performance para cada um dos classificadores e para o algoritmo de clustering usado. Relativamente ao trabalho proposto por [DK13], no foi feita
uma comparao em termos de performance dado que a lista proveniente do web-site
www.malwaredomains.com dinmica, desta forma no assegurada uma base de
comparao justa em relao ao trabalho de Davut, et al.
Apesar de no ser um dos objetivos desta tese, foi observado que durante a implementao da metodologia proposta a escalabilidade um factor predominante no sucesso
da deteo devido a mecanismos de fast-flux e double fast-flux. A resoluo de domnios de
forma rpida um requisito para uma deteo rpida de alteraes nos registos presentes
nos servidores DNS, razo pela qual a performance da deteo pode ser influenciada por
incapacidade de processamento ou por atraso na resoluo de domnios. Por esta razo
tanto o CONDENSER como o DNS Crawler foram desenhados com escalabilidade em
mente, de forma minimizar este tipo de problemas.
Tanto os fatores de escalabilidade como o problema de obteno dos dados tambm
referido por Sommer, et al. [SP10], que argumenta que as solues existentes na academia so muitas vezes baseados em estudo que recaem numa pequena poro de trfego,
sendo difcil transpor as solues apresentadas para um ambiente de produo real.
Associado ao treino dos classificadores e do algoritmo de clustering usado tambm se
encontram limitaes no tempo de processamento, foi observado que os processos em
questo esto limitados pela quantidade e ncleos de processamento disponveis, pelo
que para uma soluo capaz de processar trfego em larga escala, para o qual necessrio
um treino peridico do clusterer, recomendado que a soluo recaia numa mquina com
grande poder de processamento, em conjunto com uma soluo de clustering paralelizada
(multi-threaded).
Devido natureza dos dados presentes nas diferentes feeds da AnubisNetworks (como
a feed de NXDOMAINS e a de sinkholing) no possvel intersectar a sua informao, facto
que impossibilitou a criao de um conjunto de dados tanto de trfego de aplicaes
maliciosa, como de trfego considerado legtimo para criao de um classificador.
5.2
Contribuies
5. C ONCLUSES
5.3. Botconf
gerados por DGAs e de agrupar comunicaes efetuadas por aplicaes maliciosas. Foi
tambm desenvolvida uma metodologia que pretende relacionar informaes provenientes de anlises fsicas e de informao histrica de registos DNS, desta forma pretende-se
correlacionar amostras reais de aplicaes maliciosas com as informaes recolhidas. Esta
metodologia no seu todo oferece uma soluo de inteligncia que agrega informao que
permite lidar com rotao de DGAs, aplicaes maliciosas de ltima hora, conjunto de
servidores usados como C&C para uma determinada botnet e deteo de clusters com domnios gerados por DGAs, sem haver necessidade de correlao com informao de DNS
e de anlises fsicas.
5.3
Botconf
Foi aceite um draft inicial do trabalho descrito nesta dissertao na Botconf (https:
//www.botconf.eu). A Botconf uma conferncia da indstria que incide sobre o trabalho corrente e investigao sobre a rea das botnets. J vai na sua segunda edio e ir
decorrer em Nancy, Frana. Esta conferncia ir contar com o apoio da Agncia Europeia
de Segurana, a Europol, assim como inmeras empresas do ramo da ciber-segurana. O
artigo proposto ir incidir sobre uma interface web que permitir visualizar o resultado
do processo de clustering efetuado por intermdio de uma representao dos clusters em
grafos, obtidos atravs dos mtodos propostos nesta dissertao.
5.4
Trabalho Futuro
No futuro aconselhado o uso de algoritmos de aprendizagem automtica que no foram usados durante a elaborao deste estudo. Os GHSOM, A-GHSOM e GHSOM-1
so algoritmos de clustering hierrquicos com treino contnuo, que podem melhorar a
classificao e treino dado que dispem de mais camadas de representao dos dados
e tambm porque se adaptam a variaes observadas no conjunto de dados usado para
treino. Tambm sugerido o uso de uma alternativa que recorra a uma implementao
dos algoritmos de aprendizagem automtica em GPUs.
Adicionalmente proposto o estudo do uso do algoritmo de clustering k-Means com
aumento iterativo no nmero de clusters em que feita uma monitorizao progressiva
dos valores obtidos nos ndices de Dunn, Bouldin-davies e Silhouette. Assim possvel
obter um conjunto de clusters considerado timo. No entanto este mtodo tem a desvantagem de poder ser moroso em termos de clculo, podendo no entanto haver alternativas
em trabalho relacionado existente que tenham este facto em considerao. Relativamente
ao trabalho de Stalmans, et al. [SI] proposto um conjunto de atributos alternativo adaptado ao tipo de trfego disponvel, por se tratar de trfego de domnios no existentes
propem-se o uso georeferenciado de coordenadas dos ccTLDs, atribuindo a cada TLD
uma posio geogrfica (e.g. .kz o ccTLD do Cazaquisto, que teria a sua capital como
coordenada geogrfica).
51
5. C ONCLUSES
sugerido investigao adicional sobre atributos adicionais sobre os clusters formados no CONDENSER. Na Listagem 3.1 so apresentadas algumas mtricas que podem
auxiliar na criao de um classificador de clusters.
Toda a investigao apresentada nesta dissertao ir ser continuada no seio da AnubisNetworks, onde se pretende implementar uma soluo semelhante ao sistema proposto para ser usado em ambiente de produo.
52
Bibliografia
[AJS06]
M. Amini, R. Jalili e H. R. Shahriari. RT-UNNID: A practical solution to real-time network-based intrusion detection using unsupervised neural networks. Em: Computers & Security 25.6 (set. de 2006),
pp. 459468. ISSN: 01674048. DOI: 10.1016/j.cose.2006.05.
003. URL: http : / / linkinghub . elsevier . com / retrieve /
pii/S0167404806000782.
[AH13]
P. Amoli e T Hamalainen. A real time unsupervised NIDS for detecting unknown and encrypted network attacks in high speed network.
Em: Measurements and Networking . . . (2013). URL: http://ieeexplore.
ieee.org/xpls/abs\_all.jsp?arnumber=6663794.
[ADEJ12]
M. Antonakakis, J. Demar, C. Elisan e J. Jerrim. DGAs and CyberCriminals: A Case Study. Em: (2012), pp. 19. URL: http://www.
wikitoo.com/downloads/r\_pubs/RN\_DGAs-and-CyberCriminals-A-Case-Study.pdf.
[AP12]
M. Antonakakis e R. Perdisci. From throw-away traffic to bots: detecting the rise of DGA-based malware. Em: Proceedings of the 21st
. . . (2012). URL: https : / / www . usenix . org / system / files /
conference/usenixsecurity12/sec12-final127.pdf.
[AMLJS09]
B. AsSadhan, J. M. Moura, D. Lapsley, C. Jones e W. T. Strayer. Detecting Botnets Using Command and Control Traffic. Em: 2009 Eighth
IEEE International Symposium on Network Computing and Applications
4 (jul. de 2009), pp. 156162. DOI: 10.1109/NCA.2009.56. URL:
http://ieeexplore.ieee.org/lpdocs/epic03/wrapper.
htm?arnumber=5190367.
[AB11]
B IBLIOGRAFIA
5954752. URL: http://ieeexplore.ieee.org/articleDetails.
jsp ? arnumber = 5954752http : / / ieeexplore . ieee . org /
lpdocs/epic03/wrapper.htm?arnumber=5954752.
[Bel]
[BBR12]
[CV95]
C Cortes e V Vapnik. Support-vector networks. Em: Machine learning 297 (1995), pp. 273297. URL: http://link.springer.com/
article/10.1007/BF00994018.
[Dat12]
[DB79]
[DK13]
[Des14]
L. Deshotels. Inaudible Sound as a Covert Channel in Mobile Devices 2014. Em: 8th USENIX Workshop on Offensive Technologies (WOOT
14). San Diego, CA: USENIX Association, 2014. URL: https : / /
www.usenix.org/conference/woot14/workshop-program/
presentation/deshotels.
[DRP12]
[DK32]
H. Driver e A. Kroeber. Quantitative Expression of Cultural Relationships. Em: University of California Publications in American Archaeology and Ethnology 31.4 (1932), pp. 211256. URL: http://digitalassets.
lib.berkeley.edu/anthpubs/ucb/text/ucp031-005.pdf.
54
B IBLIOGRAFIA
[Dun74]
J. C. Dunn. Well-Separated Clusters and Optimal Fuzzy Partitions. Em: Journal of Cybernetics 4.1 (jan. de 1974), pp. 95104. ISSN:
0022-0280. DOI: 10 . 1080 / 01969727408546059. URL: http : / /
dx . doi . org / 10 . 1080 / 01969727408546059http : / / www .
tandfonline.com/doi/abs/10.1080/01969727408546059.
[Fau94]
[FMHHB]
[GPZL08]
G. Gu, R. Perdisci, J. Zhang e W. Lee. BotMiner: clustering analysis of network traffic for protocol- and structure-independent botnet
detection. Em: 17th USENIX Security Symposium. USENIX Association, jul. de 2008, pp. 139154. DOI: 10.1.1.144.5167. URL: http:
//dl.acm.org/citation.cfm?id=1496711.1496721.
[HG13]
[Hon12]
L. V. Hong. DNS Traffic Analysis for Network-based Malware Detection. Tese de doutoramento. Technical University of Denmark,
2012. URL: http://www.diva- portal.org/smash/record.
jsf?pid=diva2:524298.
[IZ12]
D. Ippoliti e X. Zhou. A-GHSOM: An adaptive growing hierarchical self organizing map for network anomaly detection. Em: Journal
of Parallel and Distributed Computing 72.12 (dez. de 2012), pp. 1576
1590. ISSN: 07437315. DOI: 10.1016/j.jpdc.2012.09.004. URL:
http://www.sciencedirect.com/science/article/pii/
S0743731512002195.
[KR10a]
R. Koch e G. D. Rodosek. Command Evaluation in Encrypted Remote Sessions. English. Em: 2010 Fourth International Conference on
Network and System Security. IEEE, set. de 2010, pp. 299305. ISBN:
978-1-4244-8484-3. DOI: 10.1109/NSS.2010.62. URL: http://
ieeexplore . ieee . org / articleDetails . jsp ? arnumber =
5635554http : / / ieeexplore . ieee . org / lpdocs / epic03 /
wrapper.htm?arnumber=5635554.
55
B IBLIOGRAFIA
[KR10b]
R. Koch e G. D. Rodosek. Security system for encrypted environments (S2E2). Em: RAID10 Proceedings of the 13th international conference on Recent advances in intrusion detection. Vol. Recent Adv. SpringerVerlag, set. de 2010, pp. 505507. ISBN: 3-642-15511-1, 978-3-642-155116. DOI: 10.1007/978-3-642-15512-3\_35. URL: http://dl.
acm.org/citation.cfm?id=1894166.1894209.
[Koh82]
T. Kohonen. Analysis of a simple self-organizing process. Em: Biological Cybernetics 44.2 (jul. de 1982), pp. 135140. ISSN: 0340-1200.
DOI :
com/10.1007/BF00317973.
[Koh98]
T. Kohonen. The self-organizing map. Em: Neurocomputing 21.13 (nov. de 1998), pp. 16. ISSN: 09252312. DOI: 10 . 1016 / S0925 2312(98)00030- 7. URL: http://www.sciencedirect.com/
science/article/pii/S0925231298000307.
[L. 90]
[LT12]
[LLS]
C. Livadas, D. Lapsley e W. T. Strayer. Using Machine Learning Techniques to Identify Botnet Traffic. Em: ().
[LM]
[Mit97]
T. M. Mitchell. Machine Learning. McGraw-Hill Science/Engineering/Math, 1997, p. 432. ISBN: 0070428077. URL: http://www.amazon.
com/Machine-Learning-Tom-M-Mitchell/dp/0070428077.
[Moc83a]
[Moc83b]
P. Mockapetris. RFC 883 - Domain names: Implementation specification. Em: Network Working Group (1983), p. 73. URL: http : / /
tools.ietf.org/html/rfc883.
[Moc87a]
56
B IBLIOGRAFIA
[Moc87b]
[Moz]
[NPA13]
[Nora]
http://normanshark.com/blog/necurs-cc-domains-
non-censorable/.
[Norb]
[PLLDL10]
[RMD02]
A Rauber, D Merkl e M Dittenbach. The growing hierarchical selforganizing map: exploratory analysis of high-dimensional data. English. Em: IEEE transactions on neural networks / a publication of the
IEEE Neural Networks Council 13.6 (jan. de 2002), pp. 133141. ISSN:
1045-9227. DOI: 10 . 1109 / TNN . 2002 . 804221. URL: http : / /
ieeexplore . ieee . org / articleDetails . jsp ? arnumber =
1058070http://www.ncbi.nlm.nih.gov/pubmed/18244531.
[RA11]
[RU13]
S. Ruehrup e P. Urbano. Botnet detection revisited: theory and practice of finding malicious P2P networks via Internet connection graphs.
Em: . . . IEEE Conference on Tma (2013), pp. 435440. URL: http://
ieeexplore . ieee . org / xpls / abs \ _all . jsp ? arnumber =
6562902.
57
B IBLIOGRAFIA
[SRS07]
[SM07]
K. Scarfone e P. Mell. Guide to Intrusion Detection and Prevention Systems (IDPS). Rel. tc. National Institute of Standards e Technology,
2007, p. 127. URL: http : / / csrc . nist . gov / publications /
nistpubs/800-94/SP800-94.pdf.
[SMCZ13]
S. Schiavoni, F Maggi, L Cavallaro e S. Zanero. Tracking and Characterizing Botnets Using Automatically Generated Domains. Em:
arXiv preprint arXiv: . . . (2013). arXiv: arXiv:1311.5612v1. URL:
http://arxiv.org/abs/1311.5612.
[SSPS13]
S. S. Silva, R. M. Silva, R. C. Pinto e R. M. Salles. Botnets: A survey. Em: Computer Networks 57.2 (fev. de 2013), pp. 378403. ISSN:
13891286. DOI: 10.1016/j.comnet.2012.07.021. URL: http:
//linkinghub.elsevier.com/retrieve/pii/S1389128612003568.
[Sma]
[SP10]
R. Sommer e V. Paxson. Outside the Closed World: On Using Machine Learning for Network Intrusion Detection. English. Em: 2010
IEEE Symposium on Security and Privacy. IEEE, 2010, pp. 305316. ISBN:
978-1-4244-6894-2. DOI: 10 . 1109 / SP . 2010 . 25. URL: http : / /
ieeexplore . ieee . org / articleDetails . jsp ? arnumber =
5504793.
[SZ10]
[SI]
58
B IBLIOGRAFIA
[SGCCGSKKV09]
[Sym14]
[Tru13]
Trustwave. 2013 Global Security Report. Rel. tc. 2013. URL: http :
/ / www2 . trustwave . com / rs / trustwave / images / 2013 Global-Security-Report.pdf.
[XBLXT11]
[ZTSLSGG13]
D. Zhao, I. Traore, B. Sayed, W. Lu, S. Saad, A. Ghorbani e D. Garant. Botnet detection based on traffic behavior analysis and flow
intervals. Em: Computers & Security 39 (nov. de 2013), pp. 216. ISSN:
01674048. DOI: 10.1016/j.cose.2013.04.007. URL: http://
linkinghub.elsevier.com/retrieve/pii/S0167404813000837.
59
B IBLIOGRAFIA
60
A
Performance dos Classificadores
Tamanho do
Sub-Conjunto
54,8489
10
Accuracy Preciso
Recall
F-Measure
54,6418
55,5969
55,1152
60,5229
59,7222
63,9643
61,7705
22
75,6536
72,4104
82,6701
77,2009
46
75,2271
71,6342
83,3023
77,0289
94
75,4497
70,6881
86,7237
77,8891
188
75,8391
71,1538
86,6865
78,1559
378
79,1953
71,9284
95,5746
82,0824
758
79,7515
73,0580
94,0870
82,2496
1518
79,8257
73,8884
92,0788
81,9867
10
3036
79,9555
73,0505
94,7564
82,4996
11
6072
80,6045
74,1689
93,7523
82,8187
12
12146
81,5872
77,1621
89,5872
82,9117
13
24294
81,7727
77,3047
89,8103
83,0896
14
48588
81,7912
77,6303
89,1781
83,0045
15
53934
82,0508
77,9474
89,2525
83,2178
Tabela A.1: Performance do Classificador do Nomes de Domnio com Parties de Dimenso Exponencial
61
A. P ERFORMANCE
DOS
C LASSIFICADORES
Tamanho do
Sub-Conjunto
6478
80,7157
12956
Accuracy Preciso
Recall
F-Measure
74,2714
93,8267
82,9116
81,6985
77,2407
89,7360
83,0208
19434
81,7356
77,5907
89,1038
82,9497
25912
81,7727
77,1656
90,1078
83,1360
32390
81,7727
77,7489
88,8806
82,9429
38868
81,7727
77,5695
89,2525
83,0019
45346
81,7356
77,5016
89,2897
82,9791
51824
81,8468
77,5097
89,5872
83,1120
53934
82,0508
77,9474
89,2525
83,2178
Tabela A.2: Performance do Classificador do Nomes de Domnio com Parties de Dimenso Linear
Tamanho do
Sub-Conjunto
59,7455
Accuracy Preciso
Recall
F-Measure
55,7870
97,2755
70,9084
92,0102
94,7425
89,1019
91,8357
69,0585
63,3079
91,9273
74,9794
16
92,5191
92,7992
92,3310
92,5645
34
89,3130
91,9441
86,3774
89,0739
68
90,2799
92,3839
86,8819
89,5485
138
91,5522
93,9297
89,0010
91,3990
276
90,6361
94,7836
86,1756
90,2749
552
95,9796
96,4444
97,7800
97,1076
10
1106
95,9796
95,5090
96,5691
96,0361
11
2212
96,4885
95,8250
97,2755
96,5448
12
4426
96,4377
95,7299
97,2755
96,4965
13
8852
96,6412
96,1117
97,2755
96,6901
14
17704
96,6921
96,2076
97,2755
96,7386
15
19658
96,7430
96,3037
97,2755
96,7872
62
A. P ERFORMANCE
DOS
C LASSIFICADORES
Tamanho do
Sub-Conjunto
2360
96,0814
4720
Accuracy Preciso
Recall
F-Measure
95,5179
96,7709
96,1403
96,4377
95,7299
97,2755
96,4965
7080
96,6412
96,1117
97,2755
96,6901
9440
96,6412
96,1117
97,2755
96,6901
11800
96,6412
96,1117
97,2755
96,6901
14160
96,6921
96,2076
97,2755
96,7386
16520
96,6921
96,2076
97,2755
96,7386
18880
96,7430
96,2076
97,2755
96,7386
19658
96,7430
96,2076
97,2755
96,7386
63
A. P ERFORMANCE
DOS
C LASSIFICADORES
64
B
Atributos Seleccionados para
Extraco
CI0.95 (1 )
consonantRatio
0.2289
0.2289
0.2709
[ 0.2256 ; 0.2321 ]
consonantVocalRatio
0.2627
0.2628
0.2698
[ 0.2595 ; 0.2660 ]
domainLength
-0.9317
-0.9318
0.0294
[ -0.9322 ; -0.9314 ]
othersRatio
-0.9883
-0.9883
0.0508
[ -0.9890 ; -0.9877 ]
vocalRatio
-0.2788
-0.2788
0.2653
[ -0.2820 ; -0.2756 ]
digitRatio
-0.9616
-0.9616
0.1679
[ -0.9636 ; -0.9596 ]
noRepeatsByUniGram
-0.9454
-0.9455
0.0194
[ -0.9457 ; -0.9453 ]
noRepeatsByUniGram
-0.9405
-0.9405
0.0286
[ -0.9408 ; -0.9402 ]
noRepeatsByUniGram
-0.9473
-0.9473
0.0295
[ -0.9477 ; -0.9470 ]
tetraGramAnalysis
-0.8771
-0.8771
0.3440
[ -0.8812 ; -0.8729 ]
lowFrequenceOccurrence -0.9981
-0.9981
0.0611
[ -0.9988 ; -0.9973 ]
65
B. ATRIBUTOS S ELECCIONADOS
PARA
E XTRACO
CI0.95 (1 )
consonantRatio
0.4357
0.4357
0.3297
[ 0.4317 ; 0.4396 ]
consonantVocalRatio
0.5120
0.5120
0.2757
[ 0.5087 ; 0.5152 ]
domainLength
-0.8738
-0.8737
0.0781
[ -0.8747 ; -0.8728 ]
othersRatio
-0.9972
-0.9972
0.0206
[ -0.9975 ; -0.9970 ]
vocalRatio
-0.5350
-0.5350
0.2787
[ -0.5383 ; -0.5317 ]
digitRatio
-0.9033
-0.9033
0.2660
[ -0.9065 ; -0.9001 ]
noRepeatsByUniGram
-0.9100
-0.9100
0.0429
[ -0.9105 ; -0.9095 ]
noRepeatsByUniGram
-0.8836
-0.8836
0.0756
[ -0.8845 ; -0.8827 ]
noRepeatsByUniGram
-0.8890
-0.8889
0.0782
[ -0.8899 ; -0.8880 ]
tetraGramAnalysis
-0.4242
-0.4242
0.5931
[ -0.4313 ; -0.4171 ]
lowFrequenceOccurrence -0.9883
-0.9883
0.1524
[ -0.9901 ; -0.9864 ]
CI0.95 (1 )
queryLength
-0.9913
-0.9913
0.0515
[ -0.9923 ; -0.9903 ]
queryArgumentSize
-0.9778
-0.9778
0.0758
[ -0.9793 ; -0.9763 ]
uriBaseLength
-0.9389
-0.9389
0.0595
[ -0.9401 ; -0.9377 ]
uriBaseLevelLength
-0.6693
-0.6693
0.1635
[ -0.6725 ; -0.6661 ]
uriPathLength
-0.9316
-0.9316
0.0715
[ -0.9330 ; -0.9302 ]
CI0.95 (1 )
queryLength
-0.9464
-0.9464
0.2067
[ -0.9505 ; -0.9423 ]
queryArgumentSize
-0.8822
-0.8822
0.2924
[ -0.8880 ; -0.8764 ]
uriBaseLength
-0.9660
-0.9660
0.1204
[ -0.9684 ; -0.9636 ]
uriBaseLevelLength
-0.8852
-0.8852
0.0936
[ -0.8870 ; -0.8833 ]
uriPathLength
-0.9381
-0.9381
0.1616
[ -0.9413 ; -0.9349 ]
66
C
Atributos Relevantes no Trabalho
Relacionado
Autores
[DK13]
67
[SMCZ13]
[SMCZ13]
[SMCZ13]
[SMCZ13]
[SMCZ13]
[SMCZ13]
[FMHHB]
[FMHHB]
[FMHHB]
C. ATRIBUTOS R ELEVANTES
NO
T RABALHO R ELACIONADO
Pacote TCP
Pacote UDP
Pacote ICMP
Packet Length
Distinct Bytes
Response Body Length
Descrio
Autor
diff-tme-stamp,
ip-id,
ip-tos,
ip-ttl,
ip-headerlen,
ip-len,
is-home-source-ip, is-home-dest-ip,
is-land, ip-frag-flag
tcp-src-port, tcp-dest-port, tcp-fin,
tcp-syn, tcp-rst, tcp-push, tcp-ack,
tcp-urg, tcp-offset, tcp-win-size
udp-src-port, udp-dest-port
icmp-type,
icmp-code,
icmp-id,
icmp-sequence
Comprimento dos quatro primeiros pedidos
HTTP para cada fluxo.
Nmero de bytes distintos no parmetro query
de um URI.
Comprimento do corpo da resposta.
[AJS06]
[AJS06]
[AJS06]
[AJS06]
[DRP12]
[DRP12]
[DRP12]
Autores
[SMCZ13]
[FMHHB]
[FMHHB]
[FMHHB]
[FMHHB]
[FMHHB]
[FMHHB]
68
[FMHHB]
[FMHHB]
[FMHHB]
[FMHHB]
[SI]
[SI]
[SI]
[SI]