TCC I Cardoso Thiago
TCC I Cardoso Thiago
TCC I Cardoso Thiago
AGRADECIMENTOS
Agradeço primeiramente a minha esposa e aos meus pais por terem me apoiado
durante toda esta jornada, principalmente nos momentos mais difíceis onde, sempre se
fizeram presentes para me motivar a continuar esta jornada.
Agradeço a todos os meus amigos que de uma forma ou outra contribuíram para que
este trabalho fosse possível, tanto com incentivo quanto com compreensão,
principalmente da minha ausência durante esta etapa.
Não poderia deixar de agradecer também ao meu chefe que compreendeu muitas das
minhas ausências para dedicação a este trabalho.
Por fim, agradeço aqueles que não foram citados, mas que de uma forma ou outra
contribuíram para este trabalho.
“Quando penso que cheguei ao meu limite, descubro que tenho forças para ir além.”
Ayrton Senna
4
RESUMO
As redes de computadores são fundamentais no dia-a-dia das empresas. Em particular as redes
locais (LANs) representam uma parte vital na indústria, o que ao longo do tempo gerou uma
dependência operacional, isto é, resultados positivos dependem do seu correto funcionamento.
Isso, somado a utilização das redes a níveis não estimados, onde o padrão de tráfego varia
muito, tornou difícil de diagnosticar e manter operacionais as redes nas situações que fogem
do padrão de comportamento normal. Para auxiliar na proteção e disponibilidade é necessário
analisar o tráfego para detectar possíveis anomalias que podem ocorrer. Atualmente, diversas
soluções baseadas em detecção e análise de anomalias no tráfego de rede são encontradas na
literatura, porém não focadas em redes locais. Diante do exposto, o presente trabalho de
conclusão de curso tem como objetivo propor uma ferramenta de detecção e análise proativa
de anomalias no tráfego de redes locais. Para tanto, será utilizada a metodologia de detecção
baseada em conhecimento junto com a análise de tráfego a fim de prover uma base de
assinaturas de anomalias conhecidas nas redes locais. A base de assinaturas será utilizada
como peça fundamental da ferramenta proposta para identificação de anomalias no tráfego da
rede. Este trabalho ainda apresenta como objetivo a experimentação prática da ferramenta em
infraestruturas de redes reais, considerando empresas de pequeno, médio e grande porte da
região.
ABSTRACT
The computers networks are fundamental in the day-to-day of companies. In particular, the
local networks (LANs) represent a vital part of the industry, which over time has generated
operational dependence, positive results depend on the correct functioning. This situation,
coupled with the use of networks at non-estimated levels, where the pattern of traffic varies
greatly, has made it difficult to diagnose and maintain operational networks in situations that
deviate from normal behavior patterns. To assist in the protection and availability it is
necessary to analyze the traffic to detect possible anomalies. Currently, several solutions
based on detection and analysis of network traffic anomalies are found in the literature, but
not focused on local networks. Given the above facts, the present work of course completion
aims to propose a tool for detection and analysis proactive of anomalies in local network
traffic. Therefore, it will be using the detection methodology based on knowledge, together
with traffic analysis to provide a database of signatures concerning anomalies known in local
networks. The signature base will be a key part of the proposed tool for identifying anomalies
in network traffic. This work also presents the goal of using the tool in real network
infrastructures, considering small, medium and large companies in the region.
ACK Acknowledgement
API Application Programming Interface
ARP Address Resolution Protocol
CRC Cyclic Redundancy Check
DDoS Distributed Denial of Service
DHCP Dynamic Host Configuration Protocol
DNS Domain Name System
DPI Deep Packet Inspection
FTP File Transfer Protocol
HTTP Hypertext Transfer Protocol
ICMP Internet Control Message Protocol
IP Internet Protocol
LAN Local Area Network
LTS Long Term Support
MAC Media Access Control
MS-SQL Microsoft SQL Server
NAK Negative Acknowledgment
NMAP Network Mapper
PCA Principal Component Analysis
PCAP Packet Capture
RPC Remote Procedure Call
SBS Sequential Backward Selection
SDN Software Defined Network
SIP Session Initiation Protocol
SMB Server Message Block
SMTP Simple Mail Transfer Protocol
SPAN Switched Port Analyzer
SPAM Sending and Posting Advertisement in Mass
SSH Secure Shell
SVM Support Vector Machines
TCP Transmission Control Protocol
TI Tecnologia da Informação
TTL Time-to-live
TTS Trouble Ticket Systems
UDP User Datagram Protocol
VPN Virtual Private Network
WAN Wide Area Network
7
LISTA DE FIGURAS
LISTA DE TABELAS
SUMÁRIO
1 INTRODUÇÃO .................................................................................................... 11
2 DETECÇÃO DE ANOMALIAS .......................................................................... 13
2.1 Definição ............................................................................................................... 13
2.2 Caraterísticas de um problema de detecção de anomalia ................................... 15
2.3 Classificação das técnicas de detecção de anomalias........................................... 18
2.4 Detecção de anomalia baseada em conhecimento ............................................... 19
2.5 Considerações ....................................................................................................... 20
3 CARACTERIZAÇÃO E ANÁLISE DE TRÁFEGO DE REDE ........................ 21
3.1 Análise de tráfego de rede .................................................................................... 21
3.2 Captura de pacotes em redes de computadores .................................................. 22
3.3 Técnicas para análise de pacotes ......................................................................... 25
3.4 Principais ferramentas para captura e análise de tráfego de rede ..................... 26
3.5 Características e identificação de tráfego ............................................................ 29
3.6 Considerações ....................................................................................................... 32
4 ESTADO DA ARTE ............................................................................................. 34
4.1 Detecção de anomalias.......................................................................................... 34
4.2 Análise de tráfego de rede .................................................................................... 37
4.3 Síntese do estado da arte ...................................................................................... 42
4.4 Diferenças em relação à proposta atual ............................................................... 44
5 SISTEMA DE DETECÇÃO PROATIVA DE ANOMALIAS NO TRÁFEGO
DA REDE LOCAL ............................................................................................... 45
5.1 Funcionamento da ferramenta ............................................................................ 45
5.2 Ambiente de avaliação.......................................................................................... 56
5.3 Especificação do ambiente ................................................................................... 56
5.4 Premissas .............................................................................................................. 57
5.5 Cenário de avaliação ............................................................................................ 60
5.6 Experimentos ........................................................................................................ 62
6 AVALIAÇÃO E RESULTADOS ........................................................................ 69
7 CONCLUSÃO E TRABALHOS FUTUROS ...................................................... 75
REFERÊNCIAS ................................................................................................................. 77
11
1 INTRODUÇÃO
2 DETECÇÃO DE ANOMALIAS
2.1 Definição
As anomalias no tráfego de rede são inerentes a maneira que a Internet funciona hoje.
Essas anomalias são eventos que causam um desvio (alteração) em relação ao perfil
padrão de comportamento. As anomalias podem ser induzidas nos dados através de uma
série de razões, tais como atividade maliciosa, por exemplo, fraude de cartão de crédito,
ataques de intrusão, atividade terrorista, problema no sistema, dentre outros aspectos. Em
um nível abstrato, uma anomalia é definida como um padrão fora do comportamento
normal esperado (CHANDOLA; BANERJEE; KUMAR, 2009).
De um modo amplo, uma anomalia no contexto de rede pode ocorrer devido a um
ataque, falha de equipamento, problemas de configuração, sobrecarga ou uso abusivo ou
inadequado de algum serviço ou recurso da rede (MARNERIDES; MAUTHE, 2016).
A detecção de anomalias em redes de computadores é uma área de estudo bastante
ativa e várias técnicas são usadas. A classificação das técnicas de detecção de anomalias
de rede presentes na literatura, é uma tarefa difícil devido à diversidade e ao
desenvolvimento constante de novas técnicas (MARNERIDES; SCHAEFFER-FILHO;
MAUTHE, 2014).
De acordo com Wattenberg et al. (2011) as propostas de investigação em detecção de
anomalias normalmente seguem uma abordagem de quatro estágios, em que as três
primeiras etapas é definir o método de detecção, enquanto que a última fase seja dedicada
a validar a abordagem. Assim, na primeira fase, são coletados os dados do tráfego a partir
da rede. Em segundo lugar, os dados são analisados para extrair suas características mais
relevantes (análise de dados). Em terceiro lugar, o tráfego é classificado como normal ou
anormal. Em quarto, toda a abordagem é validada com vários tipos de anomalias de
tráfego (validação).
Segundo Chandola, Banerjee e Kumar (2009), as técnicas de detecção de anomalias
existentes, além de seguirem as etapas mencionadas por Wattenberg et al. (2011), devem
estar introduzidas no contexto do problema específico. Deve levar em conta alguns fatores
tais como natureza dos dados, classificação dos dados, tipos de anomalias a serem
14
detectado. Muitas vezes estes fatores são determinantes para o domínio da aplicação em
que a anomalia precisa ser detectada. Os pesquisadores adotam conceitos de diversas
disciplinas, tais como estatística, aprendizagem de máquina, mineração de dados dentre
outras. A Figura 1 mostra os componentes essenciais acima mencionados associados com
qualquer técnica de detecção de anomalia.
Classificação de Anomalias
De uma forma ampla, as anomalias podem ser classificadas de três formas: ponto de
anomalia, anomalias contextuais, coletiva (GALVÃO, 2013).
Ponto de anomalia: refere-se a uma instância de dados individuais que podem ser
considerados anômalos referentes ao resto dos dados, então o exemplo é
denominado como um ponto anomalia. Este é o tipo mais simples de anomalia e é
o foco da maioria das pesquisas sobre a detecção de anomalias. Podemos citar
como exemplo uma operação de fraude em cartão de crédito onde elencamos
apenas uma característica: montante gasto. Uma transação para a qual o montante
gasto é muito elevado em comparação com o intervalo normal das despesas deste
cliente pode caracterizar um ponto de anomalia.
16
2.5 Considerações
Através dos estudos realizados nas diferentes bibliografias citadas ao longo deste
capítulo, podem-se verificar os principais aspectos para identificar uma anomalia.
Posteriormente foram elencados fatores para a caracterização de uma anomalia dentro de
um determinado contexto, onde foram abordados os tópicos: natureza dos dados,
classificação dos dados, tipos de anomalia, saída dos dados.
Após definidas as características de uma anomalia, passamos para a etapa de
classificação dos dados, onde abordamos os principais métodos de detecção mencionados
no estado da arte, sendo destacada a detecção de anomalias baseada em conhecimento a
qual é foco deste trabalho.
Os estudos realizados permitiram esclarecer quais são as etapas necessárias para
identificar e classificar as anomalias, bem como as metodologias que podem ser aplicadas,
de acordo com o contexto do problema. Por fim, discutimos as técnicas que podem ser
aplicadas para detecção de anomalias.
21
Este capítulo busca explorar os conceitos da análise de tráfego de rede, assim como
características de tráfego, formas de captura de pacotes e técnicas empregadas para
realizar a análise de tráfego de rede.
A análise de tráfego é algo essencial para verificarmos como está nossa rede, através
de uma análise podemos detectar rapidamente quais problemas estão ocorrendo em uma
rede e onde eles estão. A análise de tráfego em tempo real permite investigar o fluxo de
dados que está passando em um dado momento, permitindo assim identificar uma série de
problemas que por vezes não são mostrados pelas aplicações, estações de trabalho ou
equipamentos dentre eles: detectar anomalias na rede, encontrar pontos de bloqueio,
descobrir equipamentos e cabeamentos defeituosos, observar importantes mensagens de
sistema não mostradas pelas aplicações, detectar falhas de segurança, identificar tráfego
de vírus na rede, pontos de bloqueio na rede deste outros (MOTA FILHO, 2013). Um
exemplo é ilustrado na Figura 3.
Na Figura 3 é possível visualizar uma rede com uma obstrução, uma vez que um dos
roteadores está bloqueando todo o tráfego. Devido a este problema não há comunicação
entre os dois segmentos de rede interligada por este roteador. Esta é uma das situações
onde se pode tirar proveito da análise de tráfego, que permite em meio a vários roteadores
identificar qual é o que está com problema.
A análise de tráfego é realizada efetuando a leitura dos pacotes que estão trafegando
na rede, estes pacotes carregam consigo cabeçalhos de diferentes protocolos de rede. Os
protocolos definem o formato, ordem de mensagens enviadas e recebidas entre entidades
de rede, e ações tomadas sobre transmissão e recepção de mensagens, influênciando
diretamente no funcionamento de uma rede e dos serviços existentes.
Protocolo IPv4
O network tap não retém o tráfego, apenas repassa os pacotes de uma interface para
outra. Em função disso, ativação de um sniffer nesse equipamento que pode ser um
computador, pode realizar uma cópia de todo o tráfego que passa, ou parte dele, no caso
do uso de filtros.
25
Esta seção possui enfoque na análise dos dados capturados, onde vamos abordar
conceitos, técnicas para identificação e análise de pacotes. Existem três técnicas para
realização de análise de pacotes em redes de computadores:
Pattern matching (casamento de padrões): consiste na identificação dos pacotes,
com maior relevância, através da combinação de valores específicos durante a
captura ou filtragem de pacotes a partir dos arquivos de captura, antes de uma
análise mais detalhada (HONGYI et al., 2014).
Parsing Protocol fields (análise dos campos dos protocolos): trabalha através da
extração do conteúdo dos campos do protocolo (campos específicos de cada
cabeçalho e payload).
Packet filtering (filtragem de pacotes): responsável por separar os pacotes com
base nos valores dos campos de metadados de cada protocolo.
Pattern matching
Esta etapa se caracteriza por definir o escopo da investigação antes de iniciar a captura
ou filtragem (pré-análise). Este escopo é definido de acordo com o contexto do que se esta
procurando dentro de um determinado problema. Por exemplo, se a análise é baseada em
suspeita de atividade maliciosa, a partir de um host, logo o escopo inicial é o tráfego de
entrada e saída para este host.
Assim deve-se excluir do processo de captura e ou filtragem, pacotes que não dizem
respeito ao host específico. Porém, quando a busca e ou suspeita inicial é baseada em
suspeitas sem ter a origem e destino específico, deve-se utilizar uma ferramenta para
buscar informações que estejam trafegando dentro dos payloads dos protocolos de
aplicação independentemente de host.
Esta etapa consiste em realizar uma busca detalhada nos pacotes coletados na etapa
anterior a fim de extrair dados dos campos de cabeçalho e payload dos protocolos
envolvidos, através de ferramentas de extração como, por exemplo, o Tskark
(WIRESHARK, 2016), onde informa os hosts identificados e os protocolos envolvidos e
todos os campos significativos para uma extração completa.
26
Packet filtering
# tcpdump -X -vvv -n -i eth0 -s0 host 192.168.1.101 and host 11.22.33.44 /and port 28
–w captura2.pcap
Podemos verificar, neste exemplo, os filtros sendo aplicados ao host de origem, host
de destino e porta de acesso. Na próxima seção veremos mais detalhes sobre a ferramenta
tcpdump.
De acordo com Shimonski (2014) uma ferramenta que realiza a captura de pacotes
também é chamada de analisador de rede. Um analizador de rede é uma ferramenta para
realizar a identificação e resolver problemas de comunicação em redes e também permite
realizar otimizações nas redes.
Os analisadores capturam o tráfego que passa pela rede, decodificando o tráfego
capturado de modo a identificar os diferentes protocolos. Os dados decodificados são
mostrados em um formato que facilita a compreensão. Um analisador de rede também
permite a utilização de filtros específicos, onde permite capturar somente o tráfego que
seja relevante a um determinado problema.
Nesta subseção, serão abordadas as principais ferramentas utilizadas para análise de
tráfego de rede, assim como seus conceitos, características e funcionalidades no cenário
de análise de tráfego de rede.
Tcpdump
específicos aos quais são fundamentais para análises mais detalhadas referentes há um
determinado problema. Desta forma, o tcpdump mostra as conexões estabelecidas e o
tráfego correspondente.
Ele é baseado na libcap, uma poderosa API para captura de pacotes de rede onde
coloca a placa de rede em modo promiscuo possibilitando assim a captura de pacotes. O
tcpdump permite comandos personalizados aos quais pode mostrar mais ou menos
detalhes conforme for utilizado. É extremamente útil quando há necessidade de capturar
dados frente há um determinado problema, pois no caso em sistemas UNIX já vem
instalado por padrão. O tcpdump que é software livre roda em linha de comando,
disponível em diversos sistemas operacionais, como LINUX, MAC OS, BSD entre outros.
Wireshark/Tshark
Fonte: Do autor.
Na Figura 6 podemos verificar todo o tráfego que está passando em tempo real em
nossa rede, através da interface gráfica do Wireshark.
Tshark
Fonte: Do autor.
29
A Figura 7 mostra o Tshark analisando o tráfego que esta passando na rede em tempo
real, de forma bastante parecida com o tcpdump, vez que ambos utilizam a biblioteca
libcap como base.
Por padrão, quando o TCP envia um pacote para um destino e não obtêm uma
resposta, ele aguarda um período de tempo especificado, em seguida, retransmite o pacote
original. Se uma resposta ainda não é recebida, a fonte de transmissão duplica a
30
quantidade de tempo que espera por uma reposta antes de enviar outra retransmissão. O
conceito de uma retransmissão TCP é ilustrado na Figura 10.
O TTL (time-to-live) é um valor numérico que determina quantas vezes que um pacote
pode saltar de um roteador para outro através de uma rede. Um meio de compreender
melhor isto é através do utilitário Traceroute (TRACEROUTE, 2016). O valor 1 habilita o
envio de um pacote de uma origem para um destino, porém o pacote irá expirar logo ao
atingir o primeiro roteador ao longo da sua rota.
Ao ocorrer isso, o protocolo ICMP entra em ação, disparando uma mensagem
notificando que o pacote teve seu TTL expirado antes de chegar ao seu destino final. Ao
emissor receber essa mensagem, o mesmo incrementa o TTL do pacote em mais uma
unidade. Esse processo então continua até que o pacote obtenha um valor de TTL
suficiente para que chegue ao seu destino, de acordo com a Figura 13.
O problema ocorre porque o primeiro pacote enviado com o valor 1 de TTL é atingido
no primeiro roteador e esta resposta de volta para o computador de origem não aconteceu.
32
Como o computador de origem não recebeu a resposta ele aguarda cerca de três segundos
conforme Figura 14, e em seguida envia outro pedido.
Quando o host de origem não recebe qualquer resposta a está segunda tentativa, ele
espera cerca de três segundos mais e envia um último pacote para o roteador e também
não tem êxito, como mostrado na Figura 15.
Este processo continua através do resto da captura onde o valor TTL é incrementado
continuamente até que o destino seja atingido. Neste caso o problema está com roteador
interno da nossa rede que nunca foi capaz de enviar uma resposta ICMP.
3.6 Considerações
Através dos estudos realizados neste capítulo, foi possível verificar as principais
formas de captura de tráfego de rede, fatores os quais são essenciais para definirmos qual
técnica de análise de tráfego será utilizada. Para realizar o procedimento de análise de
tráfego de rede, dispomos de algumas ferramentas como Wireshark, Tshark, tcpdump.
33
4 ESTADO DA ARTE
Neste capítulo é apresentada uma visão geral dos principais trabalhos que compõem o
estado da arte relacionado à detecção e análise de anomalias no tráfego de rede. Mais
especificamente, a seção 4.1 descreve os trabalhos relacionados ao problema de detecção
de anomalias, nos quais trata de técnicas para melhorar a eficiência do procedimento de
detecção e classificação de padrões de anomalias, já a seção 4.2 descreve trabalhos
relacionados aos aspectos de análise de tráfego de rede, com enfoque na inspeção
detalhada no tráfego de rede, assim como técnicas para melhorar o desempenho durante a
análise de tráfego. A seção 4.3 descreve a síntese do estado da arte. Por fim, a seção 4.4
discute as diferenças em relação à proposta atual, nas quais serão tratadas pela estratégia
definida neste trabalho de conclusão.
intuito de criar “SPAM”, para um servidor de email externo. A tabela abaixo demonstra o
grau de exatidão de identificação por sensores e também demonstra o percentual da fusão
de ambos os sensores resultando no percentual geral de detecção da ferramenta ADS-
Fusion.
Tabela 1 - Resultado de fusão para o tráfego SPAM.
Tempo Profiling TCPModel ADS-Fusion
80-100 80% 81% 98,10%
100-120 19% 34% 13,27%
proposto foi utilizado o Hadoop que é responsável por dividir o conjunto de dados em
subconjuntos e distribui em um cluster para processamento independente.
O framework proposto é chamado de Hashdoop, consiste em programar um ambiente
MapReduce que divide o tráfego com uma função hash para preservar estruturas de
tráfego e portanto, se beneficiar das infraestruturas de computação distribuída afim de
executar vários detectores de anomalias em paralelo, fornecendo assim uma detecção em
tempo real. O modelo MapReduce, consiste em um framework introduzido pelo Google
para suportar computações paralelas em grandes coleções de dados em clusters de
computadores. Desta forma o conjunto de dados deve ser dividido em partes para que os
detectores computem as estatísticas de tráfego através de estruturas espaciais e temporais.
De acordo com Fontugne, Mazel e Fukuda (2014) a opção por utilizar MapReduce junto
ao Hadoop foi por fornecer escalonamento e tolerância a falhas que são características
cruciais para segurança de Internet.
O funcionamento do framework consiste em propor um novo quadro MapReduce onde
será composto por duas etapas: primeiro, usando uma função hash na qual divide o tráfego
onde ambas as estruturas espaciais e temporais de tráfego sejam preservadas. Em segundo
lugar, os detectores identificam as anomalias em cada grupo de dados, posteriormente as
anomalias são relatadas aos operadores de rede. A Figura 17 ilustra funcionamento do
framework.
destino para garantir que o tráfego enviado ou recebido por um determinado host chegue e
até um determinado detector conforme ilustrado na Figura 17. Na etapa de detecção de
anomalia, foram utilizados dois detectores de anomalias para o procedimento de mapa, um
detector de anomalia baseado na contagem de pacotes, um detector de anomalias de
monitoramento de tráfego estacionário.
Foi realizada, para o procedimento de validação a coleta de informações em um
arquivo de tráfego capturado em um link trans-pacífico, entre o Japão e EUA. Em
experimentos foram analisados traços de tráfego capturado (somente IP e informações de
porta) de janeiro a março em 2001, 2004, 2007, 2010 e 2013. Foram utilizados dados
nesta captura como fonte de alimentação para o Hadoop.
O framework MapReduce proposto em conjunto com o Hadoop apresentou como
resultado um melhor desempenho na detecção de anomalias quanto a solução clássica na
qual quebrava estruturas de tráfego espaciais e temporais e também deteriorava
consideravelmente o desempenho do detector de anomalia.
A Figura 18 mostra a arquitetura utilizada que com base no tráfego capturado, realiza
a extração e processamento de dados onde posteriormente passa para a etapa que consulta
os dados dos honeypots os quais consistem em recursos computacionais que podem ser
comprometidos pelos atacantes. Após ter realizado a extração e processamento de dados e
identificado às estruturas que seriam atingidas pelos malwares é disponibilizado estes
dados para o analista através de framework web.
O funcionamento do framework inicialmente começa na etapa de coleta de dados onde
é realizada a coleta de exemplares de malwares (coleta que foi realizada durante o período
de um ano) validados junto ao VirusTotal (VIRUS TOTAL, 2016) através de detecção por
engines de antivírus. Posteriormente, foi aplicado em ambiente controlado, e todo o
tráfego gerado pela rede foi capturado e armazenado em arquivos pcap analisados pela
arquitetura proposta.
A análise do tráfego de rede foi feita através da ferramenta Bro (BRO, 2016), onde
todo o tráfego é transformado em uma série de eventos em alto nível, como por exemplo,
uma conexão a um site ou transferência de arquivo. Estes eventos são tratados por um
script também desenvolvido no trabalho que permite a inspeção aprofundada no tráfego
de rede e também a identificação de ataques e outras atividades maliciosas, armazenando
resultados em um banco de dados.
As estatísticas dos ataques são disponibilizados através do framework web
desenvolvido, onde permite, entre outros fatores, estimar a posição geográfica do ponto de
ataque. Desta forma, podem ser observadas as tendências dos tipos de ataques no decorrer
do dia com base nos protocolos, serviços e locais de origem. Por fim, as estatísticas são
disponibilizadas através de uma interface web, para uma melhor avaliação do analista.
39
A Tabela 2 mostra as portas e o total de ataques sofridos, assim como o número de IPs
associados às atividades maliciosas referentes a ataques de pharming e phishing. Nestes
tipos de ataques, as vítimas são levadas a um domínio malicioso acreditando ter acessado
algum serviço legítimo. A análise de tráfego realizada de forma dinâmica apresentou
resultados positivos, quanto a tendência dos ataques do tipo pharming e phishing, onde foi
possível realizar estatísticas, bastantes precisas quanto a estes ataques.
A análise detalhada de tráfego de rede, seja ela em tempo real capturando e analisando
simultaneamente ou em processo de análise de um arquivo pcap offline, permite
identificarmos pontos de gargalo na rede, e nos permite realizar otimizações no fluxo de
tráfego de rede. Dentro deste contexto o trabalho proposto por (BREMLER et al.,2014)
apresenta o desenvolvimento de um algoritmo para realizar a análise detalhada de pacotes
DPI (Deep Packet Inspection), de forma centralizada, que extrai o motor DPI dos
diferentes middleboxes para fornecê-los como serviço para os vários middleboxes na rede.
Os autores (BREMLER et al., 2014) partem da premissa de que atualmente o tráfego é
inspecionado a partir do zero por todos os middleboxes presentes no caminho. O trabalho
então propõe que o tráfego seja inspecionado somente uma vez contra os dados de todos
os middleboxes da rede. Este tipo de serviço é fornecido por meio da implementação de
um DPI controlador centralizado que gerência os demais DPI presentes nos middleboxes
na rede.
Desta forma um pacote na rede irá passar somente por uma instância de serviço DPI e
posteriormente passará para os demais middleboxes de acordo com sua política
estabelecida. Desta forma um pacote não precisa ser verificado novamente, uma vez que
já foi verificado ao passar pelo DPI controlador no qual fornece os resultados da
40
verificação junto ao pacote original. Após receber o resultado do serviço de DPI, cada
middlebox aplica as regras correspondentes para os padrões conforme sua lógica interna.
O algoritmo primeiramente realiza a combinação dos vários conjuntos de padrões,
originados através de diferentes middleboxes onde cada pacote é digitalizado e recebe um
identificador único. Após isso, o padrão é registrado pelo middlebox, utilizando a
metodologia baseada em conhecimento.
Após finalizada a etapa anterior é realizada a construção do algoritmo que é
constituído com base em um autômato finito determinístico, onde é definido um conjunto
padrão que é extraído do motor do DPI dos middleboxes, onde cada segmento possui um
estado de aceitação. A segunda etapa consiste em armazenar em uma matriz as definições
realizadas na etapa anterior, fornecendo como saída uma lista ordenada com os padrões
identificados.
A terceira etapa consiste em armazenar em uma tabela o mapeamento entre uma
política, que consiste na definição do identificador da cadeia e os middleboxes
correspondentes. Em outra tabela é realizado a definição das propriedades que dizem
respeito ao critério de parada. Os pacotes devem ser comparados com os padrões
definidos, para determinar quais conjuntos são aplicáveis para cada pacote.
Finalmente é verificado se o fluxo corresponde a algum padrão. Caso corresponda os
dados são repassados para os middleboxes para realizar o procedimento de atualização dos
padrões. A implementação foi realizada através de uma máquina virtual com o Mininet
(MININET, 2016), em uma Rede Definida por Software (SDN) onde foi utilizada uma
topologia básica que consiste em dois hosts de usuários, dois hosts middlebox e uma DPI
central que pode utilizar múltiplos núcleos. A instância de serviço DPI experimental
recebe os padrões, e caso algum pacote corresponda, o DPI marca o pacote para o
middlebox identificar que ocorreu alguma alteração.
A validação do algoritmo foi realizada com sucesso, pois o algoritmo diminuiu
significativamente o processamento nos middleboxes uma vez que a inspeção de pacotes
era feita do zero a partir de todos estes equipamentos e através do algoritmo foi
disponibilizada de forma central sendo inspecionada somente uma única vez. Como
resultado apresentou um ganho de 86% mais rápido do que o processo sem a utilização do
algoritmo de gerenciamento e controle de padrões baseado na análise de tráfego.
41
Para cada cenário foi utilizado um total de quinze mil amostras para treinamento e
duas mil e quinhentas amostras para testes, assim como para clusterização realizada pelo
K-means.
Com o intuito de sintetizar a discussão do estado da arte foi elaborada uma tabela com
as informações essenciais das propostas discutidas neste capítulo. A Tabela 5, exibida na
próxima página mostra o comparativo entre os trabalhos relacionados estudados. O
objetivo da tabela ilustrada é demonstrar os pontos de interesse de cada trabalho que
servem como inspiração para a construção da solução do referido trabalho de conclusão de
curso.
43
Técnica de
Metodologia de
Trabalho relacionado Objetivo Análise
detecção
Utilizada
Aplicando a teoria da Desenvolvimento de uma
evidência na detecção de ferramenta para detecção de Detecção
Teoria da
anomalias (LINS, anomalias no tráfego de rede baseada em
evidência
FEITOSA, SADOK, utilizando a técnica da teoria comportamento
2009) da evidência.
Uma Arquitetura para Propôs uma arquitetura para
Análise e Visualização investigar e reconhecer Análise e Detecção
de Tráfego de padrões de tráfego de rede inspeção de baseada em
Rede Malicioso gerado durante execução de pacotes comportamento
(SIQUEIRA et al.,2015) um malware.
Desenvolvimento de um novo
Hashdoop: A quadro para ser utilizado no
MapReduce Framework framework MapReduce junto
Análise Detecção
for Network ao Hadoop para melhorar o
estatística de baseada em
Anomaly Detection desempenho no processo de
pacotes comportamento
(FONTUGNE, MAZEL, detecção de anomalias no
FUKUDA, 2014) tráfego de backbone da
Internet.
Implementação de um novo
algoritmo de seleção de Algoritmo
Coleta e Análise de
características, o Sequential SVM
Características de Fluxo Detecção
backward Selection (SBS), (Support
para Classificação de baseada em
junto há técnicas de seleção de Vector
Tráfego em Redes comportamento e
características para aprimorar Machine),
Definidas por Software conhecimento
a precisão de dois algoritmos Algoritmo
(BISOL et al., 2016)
de classificação de fluxo de K-means
tráfego, SVM e K-means.
Fonte: Do autor.
44
Fonte: Do autor.
47
Ferramenta Web
Fonte: Do autor.
Inicialmente, temos o menu de cadastro, onde dispomos das opções: cadastrar novas
categorias e criar novos perfis de anomalias. Este menu é um dos mais importantes do
sistema pois, é nele que realizamos a criação da categoria de anomalia na qual
posteriormente, é vinculado o perfil de comportamento da anomalia. A Figura 21 exibe a
listagem das categorias definidas neste trabalho.
Fonte: Do autor.
Fonte: Do autor.
Uma vez criado o perfil temos de acessar a listagem de perfis para realizar o
procedimento de ativação do perfil, que consiste em clicar na opção ativar perfil conforme
Figura 23. Após a ativação do perfil, o mesmo vai ficar disponível no módulo de
identificação de anomalia.
Fonte: Do autor.
A tela de listagem dos perfis permite a manutenção dos perfis criados tais como: editar
as informações de um determinado perfil, alterar a prioridade de execução, alterar os
dados referente a base de assinaturas e também possui a opção de ativar/inativar o perfil,
opção bastante interessante, vez que os perfis inativos não serão carregados no processo
de identificação de anomalia.
A segunda opção no menu do sistema consiste na central de logs do sistema na qual
toda e qualquer anomalia identificada irá aparecer, desde que seu perfil esteja definido no
sistema. Estes logs também são enviados por email e Telegram (TELEGRAM, 2017). A
Figura 24 abaixo mostra os alertas enviados pela central de logs.
50
Fonte: Do autor.
Fonte: Do autor.
Fonte: Do autor.
Fonte: Do autor.
53
Fonte: Do autor.
O módulo de captura é composto por três etapas: (i) captura de tráfego minuto-a-
minuto, (ii) extração do perfil normal da rede e (iii) geração da fila de arquivos a serem
analisados. A Figura 29 mostra o fluxo detalhado da rotina de captura de tráfego e geração
dos arquivos a serem processados.
Fonte: Do autor.
54
Fonte: Do autor.
em ambientes reais (por razões de confidencialidade não estou autorizado a citar os nomes
das empresas). Além disso, a base de assinaturas desenvolvida também foi validada frente
ao dataset do Wireshark University (WIRESHARK, 2017), e ao final foram realizadas
simulações inclusive em ambiente produção. Este processo utiliza metodologia baseada
em conhecimento, na qual possui como principal objetivo diminuir a taxa de falsos
positivos (LARI, AMARAL, 2004).
Após, carregada à base de assinaturas, no módulo de identificação podemos realizar a
definição de cada assinatura, para este procedimento temos o campo identificador que foi
gerado automaticamente pelo sistema web ao realizarmos o cadastro das assinaturas. A
Figura 31 ilustra a definição da lógica de processamento de uma assinatura.
Fonte: Do autor.
Para realizar o procedimento de avaliação da ferrramenta foi optado por simulação real
em laboratório, ao invés do emprego de simuladores (Core, NS2, NS3, etc) para obtermos
um diagnóstico mais preciso em um cenário real uma vez que, depois de validada a
ferramenta foi implantada em ambiente real de produção nas empresas C, F, M, P e X com
sede na região de Santa Cruz do Sul e Vera Cruz.
Nº Nº Nº Nº de
Ambiente Outros equipamentos
Computadores Servidores Switch Internet
5 hub
Empresa C 150 10 5 2 links
10 impressoras
6 roteadores
Empresa F 40 3 2 2 links
5 impressoras
10 coletores
Empresa M 200 20 5 3 links 15 impressoras
20 telefones voip
6 roteadores
Empresa P 15 2 1 2 links
2 impressoras
Empresa X 300 25 12 2 links 24 impressoras
Fonte: Do autor.
57
5.4 Premissas
Datasets
Para desenvolvimento deste trabalho foram utilizados dois datasets, sendo o primeiro
extraído a partir dos arquivos de captura com base em anomalias ocorridas nos ambientes
reais estudados e o segundo dataset do Wireshark University (Wireshark, 2017). O
primeiro foi utilizado para estudo dos cenários de: conflito de DHCP, IP duplicado, erro
de CRC (físico), rede lenta (Internet) e loop na rede. Já o segundo dataset, foi adotado
para os cenários de: rede lenta (Internet), erro de CRC (físico), conflito de DHCP.
Para verificarmos um conflito de DHCP, que consistem em dois servidores de DHCP
oferecendo endereço IP para um determinado host, primeiramente temos de identificar
como é o tráfego de rede de uma solicitação normal de DHCP. A Figura 32 mostra o fluxo
correto desta solicitação.
Inicialmente temos a primeira etapa onde o host cliente (0.0.0.0), envia uma
solicitação na rede para localizar o servidor de DHCP disponível (DHCP Discover) na
rede, na segunda etapa o servidor oferece os parâmetros de configuração para host cliente
(DHCP offer), na terceira etapa este host confirma que recebeu as informações e irá
aplicar as configurações (DHCP Request) e por último é finalizado com sucesso a
operação atráves da mensagem (DHCP ACK). Este arquivo esta disponível no diretório do
58
Fonte: Do autor.
Fonte: Do autor.
O quarto dataset consiste em verificar erro de CRC na rede, para isto foi utilizado o
dataset do (WIRESHARK, 2017), que pode ser encontrado atráves do endereço
(https://wiresharkbook.com/troubleshooting.html) ou no caminho informado abaixo pelo
nome (tr-checksums.cap), além disso também foi utilizado um dataset que foi extraido de
um ambiente real referente a empresa I. Estes arquivos estão disponíveis no diretório do
sistema desenvolvido no seguinte caminho: sdatr/dataset/tr-checksums.cap, empresaI-
erro-crc.cap.
O quinto dataset consiste em identificar uma rede lenta (sentida no acesso a Internet
pelo usuário final), efeito do congestionamento da rede. Para este caso temos de verificar
a alta quantidade de pacotes retransmitidos na rede, assim como um alto índice de “TCP
window update”, que significa que está sempre sendo necessário aumentar o tamanho da
janela de transmissão de dados e por consequência disso acaba abrindo uma nova janela
de transmissão e isso leva ao atraso na confirmação (ACK) de resposta, deixando assim a
60
rede lenta (CHAPPELL, 2012). Este caso foi extraído do dataset da (WIRESHARK,
2014) e também retirado de ambiente real referente à empresa T. Este arquivo está
disponível no diretório do sistema desenvolvido no seguinte caminho:
sdatr/dataset/empresaT-rede-lenta.cap.
Fonte: Do autor.
2 - Loop na rede:
Figura 36 - Cenário de loop na rede.
Fonte: Do autor.
A Figura 36 ilustra um exemplo de loop na rede onde havia um cabo com uma
extremidade conectado ao switch e a outra extremidade não, por engano alguém pegou a
extremidade que não estava conectada no switch e conectou ocasionando assim um loop
na rede. Neste exemplo temos duas máquinas ligadas a um switch, onde o host 1 possui o
IP 192.168.1.10 e o host 2 está com endereçamento IP automático e solicita um IP, essa
solicitação é enviada por broadcast para todas os portas do switch que possuem hosts
conectados, o servidor DHCP responde com um IP válido por broadcast para todas as
portas deste switch, e o cabo com as duas extremidades conectadas ao switch fica
replicando a requisição broadcast na rede entrando em um loop no qual não tem como
sair, a menos que seja identificado o problema rapidamente a rede vai sobrecarregar
chegando assim a total inoperância da rede.
5.6 Experimentos
Fonte: Do autor.
Fonte: Do autor.
Considerando o cenário 2: para simular o caso de loop na rede foi utilizado dois
roteadores, onde foi colocado um cabo ligado do roteador 1 para o roteador 2 e depois
outro cabo do roteador 2 para o roteador 1 fechando assim um loop na rede. Para
identificação deste problema devemos analisar a alta ocorrência de pacotes por segundo.
Por exemplo, a média de tráfego normal referente aos testes realizados ficou entre 2-7
pacotes por segundo, enquanto que ao fechar o loop na rede este valor cresce
exponencialmente chegando a 1447 pacotes por segundo no intervalo de 60 segundos de
captura. Vale ressaltar que em ambiente de produção dependendo do tamanho da rede este
valor é extremamente alto. A primeira assinatura utilizada foi capinfos -izyx
/tmp/coleta/#ARQUIVO |tail -n +2 | cut -d: -f 2 que permite identificar o número de
pacotes por segundo tráfegado na rede.
Por fim, é realizado o processo de identificação do ponto de origem (endereço IP de
origem e número de pacotes) que gerou esse alto tráfego na rede. A segunda assinatura
criada foi tshark -nr /tmp/coleta/#ARQUIVO -z endpoints,ip -q |tail -n +5 | awk '{print
$1,$2}' | head -10 na qual temos o filtro -z endpoints,ip –q; que retorna quais são os IPs
que estão gerando este alto tráfego de dados.
Após criada a assinatura é realizado o procedimento de definição da métrica para o
módulo de identificação de anomalia. Esta métrica consiste em verificar se a média de
pacotes por segundo contido na captura atual é maior que a média que temos
conhecimento dentro do período de uma semana, o qual foi gerado atráves das coletas de
monitoramento realizadas para sabermos o padrão médio de pacotes na rede. Caso a
média de pacotes por segundo do tráfego atual multiplicado por 3 (valor atribuído através
de experimentos empíricos realizados) seja maior que o padrão da rede, é executada uma
segunda assinatura para verificar quais são os IPs que estão gerando alto tráfego na rede.
64
Fonte: Do autor.
Fonte: Do autor.
Considerando o cenário 4: para simular este caso de erro de CRC será realizado o
procedimento de fazer um “chicote” de um cabo de rede junto a um cabo de força, que
após determinado tempo de funcionamento começa a gerar problema de conectividade,
problema identificado em ambiente real conforme Figura 41.
Figura 41 - Interferência do cabo de força junto ao cabo de rede extraída de ambiente real.
Fonte: Do autor.
Fonte: Do autor.
67
Considerando o cenário 5: para simular o caso referente a rede lenta (Internet) foram
disparados três downloads com tamanho de 1,6 GB cada, em dois computadores distintos,
realizando um consumo significativo de link, em um terceiro computador foi realizado
uma cópia de um arquivo pela rede via ssh (acesso remoto) com tamanho de
aproximadamente 3 GB, estes procedimentos deixaram a rede bastante lenta. A primeira
assinatura definida foi tshark -nr /tmp/coleta/#ARQUIVO -T fields -e frame.number -e
ip.src -e eth.src -e _ws.col.Info -Y 'tcp.analysis.window_update' | awk '{ print $2,$3}' onde
é possível identificar o filtro tcp.analysis.window_update; que significa que está sendo
necessário aumentar o tamanho da janela de transmissão de dados e por consequência
disso acaba abrindo uma nova janela de transmissão, este processo ocorre de forma
recorrente podendo gerar um alto índice de janelas de transmissão de dados deixando
assim a rede lenta.
A segunda assinatura definida foi tshark -nr /tmp/coleta/#ARQUIVO -T fields -e ip.dst
-e eth.dst -Y 'frame.len == 1514 && tcp.analysis.initial_rtt > 0.1 &&
tcp.analysis.lost_segment' | awk '{print $1,$2}' onde é possível identificar três filtros: para
identificação do tamanho correto da janela foi utilizado o frame.len == 1514; e para a
verificação da latência alta referente a confirmação (ACK) de pacotes o filtro
tcp.analysis.initial_rtt > 0.1; e para identificar falhas na segmentação de pacotes o filtro
tcp.analysis.lost_segment; a combinação destas duas assinaturas permite identificar uma
rede lenta (Chappel, 2014).
Após, criadas as assinaturas é realizado o procedimento de definição da métrica para
módulo de identificação de anomalia. Esta métrica consiste em verificar se a latência
média do arquivo de captura atual é maior que a latência que temos conhecimento dentro
do período de uma semana, o qual foi gerado atráves das coletas de monitoramento
realizadas para definir a latência padrão da rede. Caso o valor de latência da captura atual
seja maior que o valor médio de latência padrão da rede é executado a segunda assinatura
que é responsável por verificar a demora na confirmação dos pacotes (ACK) e também
identificar falha de segmentação dos mesmos.
Depois de definidas as métricas é realizado o processo de coleta e análise do tráfego
onde devemos identificar quais hosts estão gerando alto volume de dados na rede, desta
forma é capturado o endereço IP/MAC de origem do host assim como o valor de latência
68
da rede gerada por ele. A Figura 43 abaixo mostra o exato momento que ocorre a
identificação da anomalia.
Fonte: Do autor.
69
6 AVALIAÇÃO E RESULTADOS
Este capítulo faz uma análise dos resultados obtidos da ferramenta proposta em
ambiente de produção em clientes reais. Os cenários estão dispostos da seguinte maneira:
(1) conflito de servidores DHCP, (2) loop na rede, (3) IP duplicado na rede, (4) erro de
CRC e (5) rede lenta (Internet). Para esta avaliação foi separado as empresas em três
categorias: pequena, média e grande.
Na empresa F, que é de médio porte, devido a uma falha de hardware e/ou software
um dos roteadores resetou a configuração padrão de fábrica que vem com o DHCP ativo e
começou a distribuir endereços IP em outra faixa, por consequência disso havia algumas
máquinas que não estavam conseguindo acessar os arquivos compartilhados na rede.
A infraestrutura da empresa F pode ser recordada através da Tabela 5 na qual
apresenta a estrutura de equipamentos da empresa. Nesta infraestrutura, a empresa possui
um roteador que é responsável por distribuir endereço de IP por DHCP na rede e os
demais roteadores estão ligados somente com a função de repetidor de sinal na rede.
Na identificação do problema, o sistema desenvolvido contribuiu significativamente
na rápida identificação desta anomalia, pois atráves da análise em tempo real conseguiu
identificar a existência de dois servidores de DHCP respondendo a uma mesma solicitação
na rede, após esta identificação foi realizado o acesso ao roteador e comprovamos que o
mesmo esta com o DHCP ativo na rede. A Figura 44 ilustra os alertas da central de logs
do sistema, email e telegram.
Fonte: Do autor.
70
2 - Loop na rede
Fonte: Do autor.
3 – IP duplicado na rede
Fonte: Do autor.
4 – Erro de CRC
Na empresa C, que é de grande porte, o cliente havia relatado problema de rede lenta e
perda de conectividade na maioria das máquinas, deixando assim a rede parcialmente
comprometida. A infraestrutura da empresa C pode ser recordada através da Tabela 5 na
qual apresenta a estrutura de equipamentos da empresa.
Na identificação do problema, o sistema desenvolvido contribuiu significativamente
na rápida identificação desta anomalia, pois após realizar a coleta de alguns arquivos de
captura na rede o sistema, levou de 2-3 minutos para identificar qual era a anomalia que
estava acontecendo, que consistia em um computador disseminando erros de CRC,
deixando assim a rede bastante comprometida. A Figura 47 ilustra os alertas gerados pelo
sistema. Um aspecto bastante interessante neste caso foi a questão da empresa estar pronta
para realizar a troca de um switch sendo que o problema não estava no mesmo.
73
Fonte: Do autor.
Na Figura 47 podemos identificar que a máquina que estava gerando tráfego indevido,
consiste no IP: 192.168.1.49, que por um problema físico na placa de rede que
posteriormente foi constatado pela parte técnica, começou a gerar e enviar erros de CRC
para o gateway da rede (192.168.1.1), para o DNS primário da rede (192.168.1.9), DNS
secundário da rede (192.168.1.16) e para a máquina responsável pelas câmeras
(192.168.1.76), deixando assim a infraestrutura de rede comprometida. Após desligar a
máquina o tráfego da rede normalizou, e ficou estável voltando a funcionar perfeitamente.
Fonte: Do autor.
Nos dias atuais a infraestrutura de rede tornou-se parte crítica das empresas e
organizações de modo que o tempo de inoperância da rede por menor que seja acaba por
causar prejuízos tanto na parte operacional quanto na parte financeira. Desta forma a
utilização de uma ferramenta para analisar o tráfego e detectar anomalias na rede em
tempo real se faz necessário, para identificarmos de forma rápida os problemas na rede,
que se não forem identificados rapidamente, podem causar sérios prejuízos, como por
exemplo, levar a total inoperância da rede.
Considerando as diversas possibilidades de estudo e desenvolvimento de soluções para
os problemas aqui descritos quanto à detecção e análise de anomalias no tráfego de rede,
este trabalho buscou gerar ganho científico através do desenvolvimento de uma
ferramenta para contribuir com o estado-da-arte na identificação de anomalias através da
análise de tráfego de rede utilizando metodologia de detecção baseada em conhecimento
para prover uma base de assinaturas de anomalias conhecidas, referente a problemas nas
redes locais.
Os resultados obtidos através da ferramenta permitiram, uma avaliação mais rápida e
precisa referente aos problemas aqui definidos. Outro ponto importante foi poder realizar
a validação em redes de diferentes portes, onde foi possível ver o sistema se adaptar a
diferentes cenários e infraestruturas de redes reais. Também ressaltamos a grande
importância que os arquivos de captura extraídos de ambientes reais tiveram no processo
de criação e aprimoramento das assinaturas criadas.
Como trabalho futuro, sugere-se a criação de novos perfis, possibilitando ampliar a
base de conhecimento e trabalhar com a análise e identificação de anomalias em redes
Wireless. Hoje, a ferramenta desenvolvida trabalha com a identificação de anomalias em
redes locais cabeadas.
Uma outra oportunidade de trabalho é a criação de um aplicativo mobile que habilite a
integração com a ferramenta desenvolvida a fim de disponibilizar os dados da central de
logs e criação de gráficos de ocorrência dos problemas para fornecer aos gestores da rede
um monitoramento mais flexível onde possam acessar de qualquer lugar através do
próprio celular.
76
REFERÊNCIAS
ABE, N.; ZADROZNY, B.; LANGFORD, J. Outlier detection by active learning. In:
Proceedings of the 12th ACM SIGKDD International Conference on Knowledge
Discovery and Data Mining. ACM Press, New York, NY, USA, p.504-509, 2006.
BREMLER, Anat Barr; YOTAM, Harchol; HAY, David; YARON, Koral. Deep Packet
Inspection as a Service. In Proceedings of the 10th ACM International on Conference on
emerging Networking Experiments and Technologies (CoNEXT '14). ACM, New York,
NY, USA, p.271-282. 2014
CHAPPEL, Laura; COMBS, Gerald. Wireshark 101, essential skills for network analysis.
USA: Chappell University, 2013, p 297-360.
CHAPPEL, Laura. Wireshark network analysis, the official wireshark certified network
study guide. USA: Chappell University, 2º edição, 2012.
LARI, Paulo Augusto Moda; AMARAL, Dino Macedo. Snort, Mysql, Apache e ACID.
Rio de Janeiro: Brasport, 2004, p.21-22
LINS, Bruno F. O.; FEITOSA, Eduardo L.; SADOK, Djamel F. H. Aplicando a teoria da
Evidência na Detecção de Anomalias. Simpósio Brasileiro de Redes de Computadores e
Sistemas Distribuídos (SBRC). 2009.
MERINO, Borja. Instant Traffic Analysis with Tshark How-to. UK: Packtpub, 2013,
ISBN: 978-1-78216-538-5.
MOTA FILHO, João Eriberto. Análise de Tráfego em Redes TCP/IP. São Paulo: Novatec,
2013, ISBN: 978-85-7522-375-8, p.34.
_______________________________
Tiago Silva Leal
_______________________________
Prof. Me. Lucas Fernando Müller