Anais - Engenharia de Redes de Comunicação - UnB
Anais - Engenharia de Redes de Comunicação - UnB
Anais - Engenharia de Redes de Comunicação - UnB
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
diferente do que foi <strong>de</strong>finido será <strong>de</strong>tectado ou inferido pela proposta, sempre há a<br />
possibilida<strong>de</strong> <strong>de</strong> uma entrada incorreta na <strong>de</strong>finição da ontologia por erro humano –<br />
assim como em qualquer outro sistema automatizado, se a entrada está incorreta, o<br />
resultado será impreciso. No caso da proposta a possibilida<strong>de</strong> <strong>de</strong> erro <strong>de</strong> especificação<br />
do ataque na ontologia é minimizada <strong>de</strong>vido ao uso da taxonomia da CAPEC.<br />
Se o ataque está completamente <strong>de</strong>scrito (contendo as condições necessárias e<br />
suficientes que refletem a estratégia do ataque no mundo real) a probabilida<strong>de</strong> <strong>de</strong> falso<br />
positivo é nula. Porém, se o conjunto <strong>de</strong> atributos (relacionamentos) e restrições não<br />
estiver precisamente <strong>de</strong>scrito há possibilida<strong>de</strong> <strong>de</strong> ocorrência <strong>de</strong> falsos positivos.<br />
A partir <strong>de</strong>stas consi<strong>de</strong>rações, dois cenários foram criados para testar a taxa <strong>de</strong><br />
falsos positivos da abordagem proposta na <strong>de</strong>tecção através do Pellet (módulo <strong>de</strong><br />
inferência do XID que se utiliza dos axiomas para <strong>de</strong>duzir ataques), visando garantir<br />
que a ontologia tenha sido projetada <strong>de</strong> forma coerente.<br />
Para o teste dos cenários foram criadas 128 instâncias (reais e simuladas) para<br />
avaliar os axiomas das quatro classes <strong>de</strong> ataques da proposta (XMLInjection,<br />
XPathInjection, XQueryInjection e XSSInjection). No primeiro cenário a lógica <strong>de</strong><br />
<strong>de</strong>tecção alertou ataques a cada inferência conclusiva, ou seja, assim que as restrições<br />
(axiomas) <strong>de</strong> qualquer classe eram atendidas o ataque era alertado. Já no segundo<br />
cenário (abordagem do XID), o protótipo verificou se os ataques continham subclasses<br />
(indícios <strong>de</strong> que um ataque mais específico estaria ocorrendo) antes <strong>de</strong> alertá-los.<br />
A avaliação dos cenários foi dividida em duas fases. Na primeira fase, 64 dos<br />
128 ataques criados foram utilizados, com o intuito <strong>de</strong> se fazer uma avaliação<br />
(treinamento) inicial da ontologia e ajustar as classes e axiomas caso fosse necessário.<br />
Portanto, 50% da amostragem <strong>de</strong> instâncias já estavam na ontologia ao término da<br />
primeira fase. Pequenos ajustes foram feitos na lógica <strong>de</strong> <strong>de</strong>tecção do protótipo após os<br />
resultados <strong>de</strong>ste treinamento, nenhuma alteração foi feita na ontologia. Na segunda fase,<br />
as 64 instâncias <strong>de</strong> ataque restantes foram simuladas para testar a porcentagem <strong>de</strong> acerto<br />
da proposta nas inferências feitas em tempo <strong>de</strong> execução, para ambos os cenários.<br />
O resultado da avaliação para o primeiro cenário foi que 7/64 instâncias <strong>de</strong><br />
ataque não foram <strong>de</strong>tectadas corretamente. Estas sete instâncias continham três ações<br />
cada uma, uma ação da classe Discovery, uma da classe ProbeXPath e uma da classe<br />
ProbeXQuery. Estas sequências <strong>de</strong> três ações <strong>de</strong>veriam alertar um ataque do tipo<br />
XQueryInjection <strong>de</strong> acordo com o axioma <strong>de</strong>finido para esta classe. Porém, o protótipo<br />
alertou para cada uma das sete instâncias como ataques <strong>de</strong> XPathInjection e <strong>de</strong><br />
XMLInjection, respectivamente (totalizando 14 ataques alertados). Isto ocorreu porque a<br />
primeira parte dos ataques gerados (ação <strong>de</strong> Discovery e ação <strong>de</strong> ProbeXPath) satisfaz o<br />
axioma da classe <strong>de</strong> ataque XPathInjection, e a parte restante (ação <strong>de</strong> ProbeXQuery)<br />
satisfaz sozinha o axioma da classe genérica XMLInjection.<br />
Assim, no primeiro cenário o resultado da <strong>de</strong>dução foi impreciso em alguns<br />
casos porque não foi consi<strong>de</strong>rado integramente o conjunto <strong>de</strong> ações que aten<strong>de</strong>m as<br />
restrições da classe mais específica. Isto é, a <strong>de</strong>dução consi<strong>de</strong>rou apenas um<br />
subconjunto <strong>de</strong> ações que satisfaziam as restrições dos axiomas <strong>de</strong> classes mais<br />
genéricas – primeiras a serem testadas na lógica <strong>de</strong> <strong>de</strong>tecção.<br />
No segundo cenário, o protótipo foi programado para apenas alertar um ataque<br />
mais genérico após verificar as classes mais específicas do ataque sendo inferido. Desta<br />
forma, todas as 64 instâncias <strong>de</strong> ataque foram inferidas com sucesso e adicionadas às<br />
classes corretas na ontologia. Como neste cenário o protótipo aguardou a <strong>de</strong>tecção da<br />
próxima ação antes <strong>de</strong> alertar um ataque – quando havia a possibilida<strong>de</strong> <strong>de</strong> um ataque<br />
53