18.11.2014 Views

Anais - Engenharia de Redes de Comunicação - UnB

Anais - Engenharia de Redes de Comunicação - UnB

Anais - Engenharia de Redes de Comunicação - UnB

SHOW MORE
SHOW LESS

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!