CHAPTER 6: BLOC~S, FLOW OF CONTROL, AN~ STORAGE ALLOCATION
B: CONTROL: BEGIN;
Em (WHALEN; BISHOP; CRUTCHFIELD, 2010) é feita uma discussão sobre modelos estatísticos que podem ser aplicados para para a construção de modelos de protocolos de rede apenas utilizando os trágego da rede, nessa discussão é introduzido o modelo conhecido por “Modelos Escondidos de Markov” do inglês Hidden Markov Models (HMMs), e como estes tem aplicações em diversas áreas da segurança de informação.
Em seguida são apontados problemas com o modelo, como o fato de que a seleção de parâmetros ou é ad hoc ou requer conhecimento específico do domínio da aplicação.
Dadas as críticas feitas em relação ao método das HMM para inferir o modelo do protocolo, apenas utilizando o tráfego da rede, é apresentado como solução alternativa um tipo especial de HMM, chamado de -máquina. Diferente dos algoritmos utilizados para encontrar o valor sub-ótimo para certos parâmetros, o algoritmo de reconstrução da -máquina infere a arquitetura mínima da HMM diretamente dos dados.
No trabalho é apresentado um esquema em trés passos que resume a estrutura da abordagem, estes seriam:
1. Agrupar os Byte em forma de cabeçalhos. 2. Filtrar dados altamente entrópicos. 3. Reconstruir a -máquina.
Onde o passo 1 seria basicamente mudar a forma de representação dos pacotes. Enquanto o passo 2 tem a função de separar os dados do usuário enviados no pacote de seus cabeçalhos, dado que estamos interessados na estrutura do protocolo e não nas
54 Capítulo 3. Trabalhos Relacionados
informações que o usuário está trafegando pela rede.
Assim como apresentado em (WHALEN; BISHOP; CRUTCHFIELD,2010), segue um exemplo que explica o significado da operação em 1. Dada uma mensagem de um protocolo mínimo representado por um cabeçalho que tem um campo do tipo length com tamanho de um byte seguido da informação. O cabeçalho do tipo length representa em forma de um inteiro sem sinal o tamanho do informação. Dessa forma uma mensagem de 2 Byte enviando o comando “DEL” em ASCII, esta pode ser agrupada como uma sequência de bits:
“00000001 01111111”
ou em forma de Byte, representados em hexadecimal: “ 06 7F ”
ou em termos do cabeçalho e da informação: “6” e “DEL”
Existem diversas formas computacionais de realizar a tarefa do passo 1, e este é uma tarefa comum a maioria das abordagens descritas até então, esta fase pode ser chamada como fase de pré processamento, enquanto a abordagem de (BEDDOE,2004) usa o alinhamento dos Byte através das diferentes mensagens e depois aplica alguns métodos estatísticos como heurística de detecção das fronteiras entre os campos. Enquanto em (CUI; KANNAN; WANG, 2007) são discutidos os desafios do alinhamento sequencial proposto por Beddoe e em resposta é apresentado o algorítimo chamado type-based alignment.
É apontado que ambos os métodos são compatíveis com a abordagem proposta porém o algoritmo utilizado é chamado de agrupamento por entropia mínima como apresentado em (LI; ZHANG; JIANG, 2004), este é utilizado para agrupar mensagens do mesmo tipo e em seguida são aplicados os métodos estatísticos apresentados por Beddoe para comparar os grupamentos criados e assim identificar as fronteiras entre os cabeçalhos.
Os passos 1 e 2 são importantes para reduzir o tamanho do alfabeto e independem do terceiro passo, é apontado no próprio trabalho que uma possível otimização para aumentar a acurácia do modelo seria trocar o agrupamento por entropia mínima pela técnica de type-based alignment apresentada em (CUI; KANNAN; WANG,2007).
A principal contribuição apontada em (WHALEN; BISHOP; CRUTCHFIELD,
2010) pode ser considerada quanto ao produto do sistema, que é uma máquina de estados. Até o momento a abordagem de avaliação de traços de rede mais sofisticada podia ser considerada à apresentada em Discoverer, porém (CUI; KANNAN; WANG,2007) aponta que a geração de uma máquina de estados que representa o protocolo a partir de sua abordagem seria um trabalho futuro.
3.2. Avaliação das abordagens 55
que estão presentes em uma máquina de estados que o representa, dado que tal máquina de estados facilita o uso da estrutura inferida para diversas aplicações. Em específico é apontado neste trabalho que a com a máquina inferida, chamada -máquina é possível calcular propriedades relacionadas a teoria da informação, parâmetros como: taxa de produção de informação do processo assim como sua complexidade estatística, o que permite certas aplicações como a detecção de anomalias.
3.2
Avaliação das abordagens
Dadas as abordagens apresentadas neste capítulo pode-se avaliar que quanto aos princípios de generalidade que apenas a abordagem apresentada em (LEITA; MERMOUD; DACIER, 2005) não cumpre os requisitos necessários, pois esta considera por motivos de simplicidade, um domínio de aplicação bastante limitado que apesar de cumprir os objetivos proposto no trabalho não contempĺa o problema de uma forma mais ampla. Quando aos requisitos baixa necessidade de conhecimento a priori e de não se valer de métodos intrusivos na análise todas as outras abordagens apresentadas cumprem, até o momento são consideradas como possíveis abordagens a serem implementadas:
1. (BEDDOE, 2004)
2. (CUI; KANNAN; WANG, 2007)
3. (WHALEN; BISHOP; CRUTCHFIELD, 2010)
Destas apenas a abordagem apresentada em Beddoe pode ser considerada como inferior, em termos de aplicabilidade e adequação, dado que o trabalho apresentado por Cui é uma resposta direta aos problemas relacionados a abordagem anterior, enquanto que a abordagem apresentada por Whalen segue um caminho diferente tanto em relação ao resultado da aplicação, onde os dois primeiros dão o resultado em termos do formato do protocolo e o ultimo em termos de uma máquina de estados probabilística que representa o protocolo, quanto em relação aos algoritmos envolvidos no processamento, enquanto é possível traçar um paralelo muito claro em relação aos dois primeiros trabalhos o mesmo não pode ser feito tão diretamente quanto ao ultimo. Nesse sentido os trabalhos (CUI; KANNAN; WANG, 2007) e (WHALEN; BISHOP; CRUTCHFIELD,2010) podem ser considerados equiparados, tendo como principal diferença apenas a forma como os resultados da inferência são apresentados.
Considerando ainda que a máquina de estados probabilística apresenta certas vantagens no tocante aa aplicações possíveis do modelo inferido, o ideal seria que fosse alcançado o objetivo dos trabalho futuros apresentado por Cui, que seria justamente a partir do modelo inferir uma máquina de estados probabilística. Portanto para alcançar os objetivos do presente trabalho de forma ideal, seriam 3 os caminhos possíveis:
56 Capítulo 3. Trabalhos Relacionados
• Implementar uma abordagem hibrida utilizando o algorítimo de type-based aligin- ment apresentado por Cui na fase de preprocessamento e utilizando o algoritmo de reconstrução da -máquina gerar a máquina de estados que representa o protocolo.
57
4 Metodologia
Considerando a pospota do trabalho, este se encaixaria em dois tipos de pesquisa sendo estes:
1. Experimental, dado que dentro da literatura seja encontrada uma forma considerada apropriada para resolver o problema proposto é preciso então testar a hipótese de que tal solução se adéqua aos objetivos do trabalho, através por exemplo, da implementação desta e posterior análise de seus resultados.
2. Quantitativa, dado que serão definidas métricas para que sejam medidas tendências e comportamentos do fenômeno.
Nesse sentido o trabalho teria duas fazes distintas, porém indissociáveis primeiro da pesquisa Bibliográfica documental e em segundo momento uma fase Experimental de implementação de determinada abordagem estudada para que esta seja avaliada de forma prática.
As fontes primárias usadas na pesquisa bibliográfica desse trabalho são os inde- xadores: Google Scholar e Mendley; a partir do trabalho base (WHALEN; BISHOP; CRUTCHFIELD, 2010) a pesquisa se desdobra a partir de suas fontes para identificar os trabalhos passados relevantes na área de inferência de protocolos de rede e a partir dos trabalhos que citaram este, encontradas a partir das funcionalidades dos indexadores, é possível identificar trabalhos recentes que podem ser usados como referência.
Quanto ao escopo do experimento temos: serão necessárias amostras do tráfego de pelo menos dois tipos de protocolo de rede destes previamente estudados para que os resultados anteriores sejam utilizados como grupo de controle do experimento, e possivelmente novas amostras para documentação de novos resultados.
De forma mais direta o experimento proposto terá a partir dos dados previamente mencionados, uma fase de manipulação dos dados, para que estes possam ser corretamente processados, onde os pacotes serão organizados em clusters dado que os pacotes estão organizados serão utilizadas certas heurísticas para identificar os limites dos cabeçalhos dos pacotes. A representação gráfica, no formato BPMN, desse processo pode ser observado na Figura 9.
Onde a primeira fase seria coleta ou geração dos dados, os dados para os experi- mentos podem ser gerados: a partir de simulações de protocolos reais; a partir de redes neurais que simulem protocolos conceituais dada determinada definição de formato, assim como utilizado em (ABADI; ANDERSEN, 2016); ou mesmo pela coleta de dados que trafegam em uma determinada rede sem fio, através da opção de configuração do estado
58 Capítulo 4. Metodologia
Figura 9 – Modelo arquitetural da implementação proposta. Que apresenta as tarefas de: (i)coleta ou geração de dados; (ii) organização dos dados; (iii) processamento
heurístico dos dados e (iv) reconstrução, do modelo ou da máquina de estados, do protocolo. Diagrama produzido de acordo com a especificação do BPMN (Business Process Model and Notation).
Fonte: Produzido pelo autor (2016)
“promíscuo” da placa de rede, para que essa receba todos os pacotes que trafegam na rede sem fio com o auxílio de alguma ferramenta de captura com visualização como o Wireshark. A organização dos dados em clusters pode ser feita a partir dos diversos algoritmos de cluster conhecidos, desde que este seja adequado para a amostra avaliada. As heurísticas a serem utilizadas na avaliação podem ser as mais diversas, desde que bem definidas e apresentem resultados satisfatórios. Por fim, é preciso reconstruir a máquina de estados do protocolo ou alguma forma de representação do modelo que o valha.
59
5 Experimentos
Neste capítulo serão descritos os experimentos realizados e está organizado da seguinte forma: são apresentados dois cenários onde os experimentos foram executados, em seguida serão apresentados: (i) coleta de dados; (ii) processamentos realizados sob a amos- tras, onde são detalhados os processos aos quais os dados foram submetidos diferenciando os cenários quando necessário, (iii) caracterização das amostras e (iv) resultados obtidos em cada cenário. Os algoritmos envolvidos nos experimentos aqui apresentados estão disponí- veis no repositório: <https://bitbucket.org/eddev95/infer-ncia-de-formato-de-protocolo>. Foram executados experimento em dois cenários e ambos serão considerados nesse capítulo, sendo eles:
1. Cenário I, onde são analisadas sequências de cabeçalhos ICMP (POSTEL, 1981) com o objetivo de identificar as fronteiras entre os cabeçalhos do protocolo;
2. Cenário II, onde são analisados os pacotes completos, do protocolo TCP (POSTEL,
1981), afim de identificar as fronteiras entre os cabeçalhos dos diferentes protocolos, possíveis campos de endereços e possíveis campos de checksum.