03. Segurança da rede

  3.1: Classificação de ataques
  3.2: Modelo de discriminação

Capítulo 03: Segurança da rede

 

Segurança, o fornecimento de serviços confiáveis e autênticos, é sempre uma questão chave em Redes de Computadores. Não é diferente em Redes Veiculares Ad Hoc.

VANETs visam possibilitar segurança nas estradas, planejamento de rotas rodoviárias e comércio eletrônico. Para estas aplicações em particular, segurança de redes é ainda mais fundamental. 

Neste capítulo serão apresentados classificações de ataques e uma proposta de Golle et al feita no 1st ACM international workshop on VANETs, 2004, para detecção de correção de dados maliciosos em Redes Veiculares Ad Hoc via um modelo de discriminação.

À aceitação de dados maliciosos por uma VANET, convencida por outra VANET de que estes dados eram autênticos, chamaremos simplesmente de ataque.

 

3.1: Classificação de ataques

 

Natureza dos ataques

 

Há diversas naturezas de dados maliciosos em VANET. Um atacante pode enviar informações falsas sobre excertos da VANET ou sobre si próprio (localização errada, por exemplo). Como um nó usa toda a informação disponível na VANET para verificar a validade de uma nova informação, a densidade da rede e os sensores disponíveis podem acabar tornando ataques imprevisíveis.

 

Alvos dos ataques

 

Há a possibilidade de que existam atacantes capazes de se comunicarem a longas distâncias. Tais atacantes têm flexibilidade na localização dos nós que tentam convencer da veracidade de dados falsos. Pode-se dividir os alvos entre locais (fisicamente próximos do atacante) e remotos.

Contra alvos locais, o atacante tende a ter mais sucesso, posto que a probabilidade de dados conflitantes vindos de nós vizinhos é menor. Assim, a proximidade necessária para um ataque local é de difícil manutenção (afinal, trata-se de redes veiculares, móveis), e a potencialidade de ataques locais é menos preocupante. Além disso, alvos remotos são naturalmente mais numerosos.

 

Escopo dos ataques

 

O escopo ou área de alcance de um ataque é medido em função da área de nós que têm dados VANET de credibilidade duvidosa. Tais nós são chamados de vítimas. O escopo de um ataque é limitado se as vítimas estão em uma pequena área de nós. Um ataque alvejando uma área mais extensa de nós é um ataque extenso. Abordagens sugerem detecção de áreas extensas a partir das limitadas, utilizando propagação de informação.

 

Impacto dos Ataques

 

Quando um atacante tenta convencer nós alvos de que dados incorretos são válidos, três desdobramentos são possíveis:

 

·        O ataque pode ser não detectado pelos nós alvos – portanto, um sucesso completo. Ocorre em geral quando os alvos estão isolados ou completamente cercados por dados maliciosos. Neste caso, o nó acaba por aceitar todas as informações maliciosas.

·        Pode ser detectado por um ou mais alvos, mas ainda deixar incertezas sobre a veracidade dos dados; E, no mais otimista dos cenários,

·        Pode ser detectado e corrigido – ou seja, não sobrando incerteza sobre a validade dos dados.

 

Quando nós alvos têm acesso a nós honestos podem ser capazes de detectar que um ataque está ocorrendo através de inconsistências nos dados coletados de diversas fontes, mas ao mesmo tempo eles podem se recusar a corrigir o ataque devido a informações insuficientes: Caso contrário, poderiam estar se arriscando a fazer um diagnóstico incorreto, caso no qual os dados maliciosos permaneceriam ilesos. Com acesso a um número suficientemente grande de nós sabidamente honestos, os alvos são capazes de identificar corretamente os dados falsos e corrigir – cessar o ataque.

 

3.2: Modelo de discriminação

 

O modelo de discriminação de nós de Golle et al baseia-se em quatro assertivas:

1.      Um nó pode coletar observações em seu meio (rede) local com as comunicações que recebe.

2.      Um nó pode diferenciar seus vizinhos.

3.      A rede é suficientemente densa.

4.      Após contato suficientemente próximo, nós podem autenticar suas comunicações uns com os outros.

 

Antes de explorar o modelo de discriminação, deve-se introduzir o conceito de heurística parcimoniosa, que consiste em uma representação dos possíveis ataques, de forma tal que a mais provável explicação do ataque em processo possa ser usada para resolver as inconsistências por ele provocadas. 

 

Discriminação Local

 

Assume-se que um nó sabe diferenciar seus vizinhos. Mais explicitamente, um nó A sabe diferenciar fisicamente mensagens recebidas de nós distintos B ou C que lhe estão suficientemente próximos.

Se a verificação de procedência de mensagens falhar, A deve assumir que todas as mensagens vieram de um único nó que reivindica ser ambos os vizinhos B e C (Sybil). A discriminação local permite que um nó aplique heurística parcimoniosa dentro da vizinhança local, onde o nó tem a habilidade de distinguir os vizinhos.

O exemplo que se segue ilustra a discriminação local, que pode ser conseguida em uma VANET que preencha às duas condições:

1.      Um nó pode relacionar uma mensagem à fonte física desta;

2.      Um nó pode medir a posição relativa a si próprio da fonte da mensagem, dentro de um certo raio.

 

Estas condições estão presentes, por exemplo, se nós estão equipados com câmeras que trocam mensagem umas com as outras, fazendo uso de sinais no espectro de luz visível. O nó pode estimar a posição relativa da fonte da mensagem (raio de luz) analisando as imagens colhidas por sua própria câmera. Doravante, a mensagem é diretamente relacionada (atribuída) à fonte física que a emitiu, uma vez que aqui consideramos a mensagem como o próprio raio de luz.

Outras características físicas podem ser utilizadas para discriminar o remetente de uma mensagem, tal como o tempo de chegada da mensagem ou ângulo de chegada desta (para sinais de rádio). Estas peculiaridades, embora mais fáceis de coletar do que imagens de câmera, podem ser vulneráveis a sabotagens, já que nós podem reduzir ou aumentar a força de um sinal de rádio passante, por exemplo.

 

Discriminação estendida

 

A discriminação pode ainda ser estendida em tempo e espaço, além da vizinhança imediata à qual a discriminação local se aplica. A consecução desta expansão se dá permitindo que nós troquem informações referentes às suas vizinhanças.

A comunicação em longas distâncias pode ser, em prática, limitada por latência e questões de banda. Golle et al assumem um modelo ideal de propagação e ignoram estas questões.

 

Densidade de Rede

 

Assume-se ainda que o grafo de possíveis comunicações entre nós está sempre conectado, e que existem múltiplos caminhos de comunicação entre pares de nós, mesmo em caso de presença de nós maliciosos, que podem se recusar a encaminhar mensagens para protocolos que mitigam o efeito de comportamento suspeito de nós. Quão maior a conectividade do grafo, melhor nós poderão executar heurística parcimoniosa além das fronteiras imediatas de suas vizinhas de discriminação local. O exemplo seguinte ilustra esta questão.

Suponha um nó A que tem os nós B1 e B2 em sua vizinhança de discriminação. Se ambos, B1 e B2 clamam que os nós C1 e C2, localizados fora da vizinhança de A, são distintos, então A pode aumentar a confiança de que B1 e B2 são distintos (e não ambos maliciosos) para acreditar que os nós C1 e C2 são igualmente distintos.

 

Autenticando a comunicação

 

Assume-se que cada nó tem um par de chaves pública/privada. Estas chaves permitem que nós autentiquem as mensagens uns dos outros por curtos períodos de tempo (de alguns segundos a poucos minutos). Os pares de chaves não devem ter vida longa: São gerados por um nó constantemente.

O envio de mensagens chaveadas estende a discriminação local por tempo e espaço para nós honesto, já que mensagens vindas de um nó podem ser autenticadas enquanto o nó mantiver a mesma chave pública, independentemente de onde e quando as mensagens foram originadas. Para um exemplo simples, seja um nó A que teve ao mesmo tempo os nós B e C em sua área de discriminação local e foi capaz de determinar que B e C eram nós distintos. Embora eles possam sair da vizinhança de A, continuam distinguíveis para A enquanto enviarem suas mensagens com as mesmas chaves públicas. A capacidade de discriminação se perde quando B e C atualizam suas chaves públicas. Não é cerceada a possibilidade de que atacantes poderosos possam colidir e trocar chaves privadas. Entretanto, e será demonstrado adiante, uma vez que um nó foi identificado como malicioso, quaisquer dados distribuídos por este nós (por exemplo, observações de localização) são considerados de validade questionável. De fato, se um grande grupo de nós maliciosos partilha chaves privadas com o objetivo de parecerem estar em um local onde apenas um deles está, então se apenas um deles for considerado suspeito (malicioso), todos serão, pois o ataque requer que todos observem uns aos outros. Assim, um abuso de discriminação em larga escala pode ser, na verdade, contra-produtivo.

 

Modelagem matemática

 

Nesta subseção, as considerações matemáticas do modelo de análise de dados maliciosos de Golle et al. É proposta o seguinte modelo deVANET:

Seja P o espaço euclidiano considerado e || P1 – P2 || a distância euclideana entre os pontos P1 e P2. Definem-se:

 

Eventos: O evento E é o par E=(D,f), onde D são os dados associados com o evento e f é a função localização, uma função contínua f: T à P que indica a localização de um evento de expectativa de vida no domínio real  T do evento E. A expectativa de vida de um evento pode ser um único ponto no tempo T = {t} ou um intervalo T = [t0, t1]. Os dados associados com um evento podem ser, por exemplo, a identidade ou velocidade de um nó na localização dada por f(T).

 

O nó é uma tripla (N, f, r), onde

·        N é natural e dá uma definição única do nó;

·        f é a função localização do nó, como já especificada acima;

·        r é real não-negativo e é o raio de observação.

 

Asseções: Eventos observados (asserções) são eventos capturados por nós dentro de seu raio de observação, que podem ser partilhados com outros nós. A asserção (D,f)oi  declara que o nó observador Oi   presenciou o evento (D,f). A regra a seguir explica as condições sob as quais um nó pode gravar uma asserção. Seja (Ni, fi, ri) um nó e E = (D,f), um evento. Seja Ti  a expectativa de vida de um nó e Ni e T a expectativa de vida do evento E. Se T está contido em Ti e para todo t, t pertence a T, temos || f(t) – fi (t) || ri, e, assim, o nó Ni pode gravar a asserção ‹(D,f)›Ni.

Nós também podem partilhar asserções. Enquanto em prática a partilha de asserções seja limitada por latência e banda, reitera-se que é considerado um modelo de propagação ideal. Assim, uma asserção gravada por um nó torna-se imediatamente disponível a todos os outros nós. Esta afirmação se justifica no fato de que está sendo considerada apenas propagação local de asserções em uma vizinhança geográfica relativamente pequena – uma asserção é de menor valor para nós há muito removidos do evento. Denota-se o banco de dados de todas as asserções partilhadas por todos os nós por K.

 

Modelo da VANET: Um modelo de VANET especifica que eventos ou conjuntos destes são possíveis. O modelo pode ser orientado a regras ou baseado em propriedades estatísticas dos eventos.

Formalmente, seja Ĕ o conjunto de todos os eventos. O modelo da VANET é uma distribuição booleana M: Ĕ à {válido, inválido}. Um conjunto de eventos {E1, E2, ..., En} pertence a Ĕ é chamado de consistente com o modelo da VANET se M{E1,E2,...,En} = válido; caso contrário, é chamado de inconsistente. Estende-se naturalmente o domínio de M para asserções e conjuntos de asserções. Podemos também considerar modelos que retornam uma probabilidade p = [0,1] de validade, ao invés de uma decisão binária sobre validade ou invalidade.

O modelo malicioso (de ataque) é como se segue: Assume-se que nós maliciosos podem gravar eventos imprecisos ou mesmo inexistentes, ou seja, podem inserir asserções errôneas no banco de dados K.

 

Explicação de um conjunto de eventos: Seja H, contido no universo dos naturais, um conjunto de hipóteses possíveis. Considera-se H particionado em um conjunto H+ de hipóteses válidas (corretas, por exemplo) e H- hipóteses inválidas (maliciosas, por exemplo). Seja K = {‹E1›o1, ‹E2›o2, ..., ‹En›on} um conjunto de asserções. Uma explicação de para K no nó N é uma marcação de cada asserção em K com uma hipótese

 

ExpN(K) = {‹E1h1o1, ‹E2 h2o2, ..., ‹En hnon},

 

Onde hi pertencente a H é tal que o subconjunto de asserções marcado com hipóteses de validade é consistente com o modelo da VANET.

 

               ExpH+N(K) = {‹Eihioi pertencente a ExpN(K) | hi pertence a H+}

 

Tem-se M(ExpH+N(K)) = válido. Nota-se que a explicação de ExpN(K) é definida em relação a um nó N particular, uma vez que diferentes nós podem assinalar diferentes hipóteses a várias asserções (considere por exemplo que um nó sempre considera suas próprias asserções confiáveis).

 

Demanda de explicações: O modelo malicioso também especifica uma demanda de explicações. É comumente uma demanda total baseada em alguma marcação das explicações que variará dependendo dos métodos estatísticos empregados.

 

Endereçamento de inconsistências: Dada uma coleção de dados K inválida sob um modelo da VANET M, e uma coleção de explicações de K demandada, então ou os dados são declarados inválidos (e um erro é detectado) ou os erros em K são corrigidos usando as H+ asserções marcadas da melhor explicação. Se houver múltiplas melhores explicações, suas H+ asserções marcadas podem sofrer uma interseção e então serem inseridas em um subconjunto corrigido de K.

 

Exemplo: Observação da localização de veículos vizinhos

 

Neste exemplo, assume-se que os nós podem saber a precisa localização dos vizinhos com os quais podem se comunicar, e que este conhecimento da localização está amarrado à comunicação, tal que a localização de um nó possa ser relacionada à sua chave pública. Assim, o banco de dados K consiste em:

 

 

Onde a asserção Ai = ‹Ni , xi ›oi pode ser interpretada como um nó Oi  dizendo ter observado um nó Ni na localização xi (Note que o negrito em x indica que este é um vetor). Sob condições normais, o nó Oi não será capaz de observar nós além de um raio fixo r, caso no qual xi terá o valor “inobservado”.

Os nós podem fazer asserções sobre si próprios, caso no qual Oi = Ni. Neste caso, introduz-se a notação L, correspondente a estas asserções reflexivas:

 

               ‹Ni , xi ›Ni  è L(Ni) = xi

 

O modelo de VANET M(K) deste exemplo retorna válido se as seguintes condições geométricas forem simultaneamente válidas (caso contrário, modelo retorna inválido):

1.     K contém uma asserção reflexiva de cada nó.

2.     Cada asserção não reflexiva ‹Ni , xi ›oi  em K concorda com a asserção reflexiva de Ni, ou seja, tem-se xi = L(Ni) se || xi – L(Oi) || ri e xi = inobservado caso contrário.

Se há nós maliciosos, então K não necessariamente será consistente com M. Neste exemplo, uma explicação no nó N, denotada por ExpN(K), consiste em marcar cada asserção em K com uma de três designações – “verdadeira” (t pertence a H+), “maliciosa” (m pertence a H-) ou “spoof”/”mascarada” (s pertence a H-). Cada tupla demarcada:

              

em ExpN(K) deve satisfazer os seguintes critérios:

1.      Se Oi = N è hi = t. Ou seja, as observações do nó que constrói a explicação são consideradas verdadeiras.

2.      Quando um observador Oi foi marcado como spoof (hi = s), então nenhuma das outras tuplas acerca de Oi, como ‹Nk , xkhkok devem ser marcadas como t a menos que xk seja inobservado.

Por conveniência, também permitimos que uma explicação inclua novas tuplas marcadas como “adicionadas” a pertencente a H+, com uma nova tupla permitida a alcançar cada tupla reflexiva que foi marcada como m. A tupla adicionada forncerá localização correta xi que é consistente com quaisquer outras observações verdadeiras de Ni em K:

               ‹Ni , xim Ni è ‹Ni , x*ia Ni

 

As asserções verdadeiras e válidas inseridas em ExpN(K), unidas, devem ser consistentes com o modelo da VANET:

               M (ExpH+N(K) ) = válido.

 

 Para completar o modelo de ataque deste exemplo, marcamos explicações  ExpN  de acordo com o número de observadores Oi distintos que recebem a marcação maliciosa m em uma ou mais de suas tuplas. A explicação Exp*N  com o menor número de nós maliciosos é considerada a mais simples e mais plausível explicação dos dados. Se há número suficiente de observações em K, então os dados em Exp*N identificarão os nós maliciosos, bem como fornecer as localizações corretas de todos os nós, sejam verdadeiros ou maliciosos – Em alguns casos, pode haver várias explicações que são igualmente prováveis, quando ainda pode ser possível extrair algumas localizações corretas a partir da interseção entre explicações.

Deve-se notar que o modelo de ataque para este exemplo não faz distinção baseada no número de asserções maliciosas por observador; Uma vez que um das asserções de um dos observadores foi marcada como maliciosa, então o nó em si pode ser marcado como malicioso. Enquanto isto permite modelos mais elaborados do estrago causado por um observador malicioso (ou modelos que causem alguns erros benignos), este modelo simples tem o adicional de restringir as estratégias disponíveis ao atacante.

Percebe-se ainda que a classificação de explicações ignora marcações de mascaramento nas explicações. Assim, as melhores explicações terão mais nós mascarados e menos nós maliciosos. Todavia, observações diretas de nós verdadeiros (pelo segundo critério de marcação descrito acima) limitarão o número de nós que podem ser marcados como máscaras. Se houver apenas poucos nós maliciosos, então a melhor explicação (ou explicações) pode ser computada exaustivamente: As explicações são computadas postulando um pequeno número de nós maliciosos, marcando todas as asserções dos nós postulados maliciosos como também maliciosas, tratando as demais asserções como arcos de um grafo, começando uma busca ponto a ponto em N, atravessando arcos do observador O i ao nó N i enquanto N i ainda não for marcado m, e marcando nós que desta forma forem alcançados e sejam verdadeiros. Todos os nós inalcançáveis são marcados como mascarados. Nem todas as marcações serão consistentes com o modelo M, mas buscando pelos pouco numerosos nós maliciosos primeiro, o algoritmo pode determinar quando encontrou uma ou mais explicações do mesmo tamanho que passam pelo teste de consistência.

 

Figura 3. Ataque em VANET (adaptado de [2])

 

Na figura acima, um nó malicioso M cria máscaras para suportar a falsa localização M’ (ilusão). Os arcos contínuos mostram as observações no banco de dados. Os arcos tracejados são observações faltantes. Abaixo seguem grafos de duas de muitas possíveis explicações para os conflitos de informações:

 

Figura 4. Explicações (adaptado de [2])

 

 

O nó malicioso tenta fazer a explicação ser tendenciosa adicionando nós mascarados, e assim neste modelo particular de ataque, onde julga-se que múltiplos atacantes distintos reais são menos prováveis do que máscaras, o primeiro grafo de explicações é mais provável do que o segundo, pois tem menos nós efetivamente maliciosos. No entanto, deve-se perceber que a habilidade de encontrar a mais correta explicação depende da densidade do grafo.