Docsity
Docsity

Prepare-se para as provas
Prepare-se para as provas

Estude fácil! Tem muito documento disponível na Docsity


Ganhe pontos para baixar
Ganhe pontos para baixar

Ganhe pontos ajudando outros esrudantes ou compre um plano Premium


Guias e Dicas
Guias e Dicas


Explorando Ataques em Aplicações de Realidade Virtual: Um Caso de Man in the Middle, Esquemas de Topologia

Este documento discute um caso de um ataque man in the middle (mitm) em aplicações de realidade virtual (vr) usando um smartphone ou computador. Ele descreve o problema, as propostas para a execução do ataque e as ferramentas utilizadas, incluindo o google cardboard e o videoplace. Além disso, ele aborda a importância de boas práticas de segurança para reduzir as chances de um ataque suceder.

Tipologia: Esquemas

2021

Compartilhado em 02/04/2021

c0mm0d0r
c0mm0d0r 🇧🇷

1 documento

1 / 57

Toggle sidebar

Esta página não é visível na pré-visualização

Não perca as partes importantes!

bg1
UNIVERSIDADE FEDERAL DO ESTADO DO RIO DE JANEIRO
CENTRO DE CIÊNCIAS EXATAS E TECNOLOGIA
ESCOLA DE INFORMÁTICA APLICADA
Ataque de Homem do Meio em Aplicações de Realidade Virtual
Daniel Quintana de Andrade
Gabriel Castrillon Silva dos Santos
Orientador
Sidney Lucena
RIO DE JANEIRO, RJ – BRASIL
JULHO DE 2018
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e
pf1f
pf20
pf21
pf22
pf23
pf24
pf25
pf26
pf27
pf28
pf29
pf2a
pf2b
pf2c
pf2d
pf2e
pf2f
pf30
pf31
pf32
pf33
pf34
pf35
pf36
pf37
pf38
pf39

Pré-visualização parcial do texto

Baixe Explorando Ataques em Aplicações de Realidade Virtual: Um Caso de Man in the Middle e outras Esquemas em PDF para Topologia, somente na Docsity!

UNIVERSIDADE FEDERAL DO ESTADO DO RIO DE JANEIRO

CENTRO DE CIÊNCIAS EXATAS E TECNOLOGIA

ESCOLA DE INFORMÁTICA APLICADA

Ataque de Homem do Meio em Aplicações de Realidade Virtual

Daniel Quintana de Andrade Gabriel Castrillon Silva dos Santos

Orientador Sidney Lucena

RIO DE JANEIRO, RJ – BRASIL

JULHO DE 2018

Agradecimentos

Daniel Andrade

Agradeço, primeiramente a Deus, por ter me concedido a oportunidade de entrar na Universidade, por ter me acompanhado durante o meu curso e me abençoado com todo o conhecimento que obtive durante o curso.

Agradeço também a minha família, por ser meu suporte, meu apoio, a tudo que precisei, por não desistirem de mim, mesmo quando eu já pensava em desistir e por me cobrarem mais resultados o que me motivou a melhorar e a me formar.

Agradeço a minha namorada por ser meu apoio, principalmente, quando achava que havia me saído mal em alguma prova ou quando achava que iria reprovar em alguma matéria, sempre me fortalecendo e me dando esperança a continuar.

Agradeço aos meus colegas por estarem comigo durante esses mais de quatro anos, sofrendo comigo e se divertindo comigo, pois também foi graças a eles, que me ouviram quando precisava e por toda a ajuda que me deram. Mais que colegas, vou me lembrar deles para a vida toda.

Aos meus professores, muito obrigado por toda a paciência, a vontade que tiveram de me ensinar o necessário para me tornar um bom bacharel, eu só tenho a agradecer pois foram parte importante na minha formação profissional.

Agradecimentos

Gabriel Castrillon

Agradeço, antes de tudo, a Deus. Agradeço por ter me dado forças, por não deixar que

eu desanimasse durante esses 5 anos de faculdade.

Agradeço também aos meus pais. Eles foram fundamentais para meu êxito acadêmico.

Eles acreditaram em mim, me deram suporte nos momentos mais difíceis. Esse apoio

me levou a conseguir uma vaga numa das melhores faculdades do país.

Agradeço aos professores e colegas de curso, todos aqueles que me auxiliaram na caminhada, compartilhando seus conhecimentos.

Agradeço ao meu chefe por ser compreensivo, permitindo que em certos momentos eu pudesse priorizar a faculdade, especialmente durante a execução deste trabalho.

Também é válido agradecer a todos os colegas da área de T.I. que nos auxiliam em fóruns ao redor da internet.

ABSTRACT

The Virtual Reality, known as “VR”, is not a new technology, but it has been in evidence for the last years. Companies like Google, Microsoft and Sony have made big investments in research about VR, standing out this subject in technological sectors. Every time a tool or technology becomes widespread and starts to build a user base, hackers search for ways to explore possible vulnerabilities in the systems, aiming for personal or political gain, or just for fun. The Internet of Things (IoT) has widened the field of bad willed people have to act and VR is now a new option for them. It is also very important to emphasize the value of information security. After attacks like WannaCry in 2017, this kind of topic has gained traction, therefore drawing attention to the matter, all over the world. The objective of this work is, so, to demonstrate potential security fragilities on a VR application. In particular, it will be shown how to intercept the content to be displayed on the app's screen using a Man in the Middle type of attack, and thus change the images that will be shown to users.

Keywords: Virtual reality, Vulnerability, Information Security, Man in The Middle Attack.

Índice

    1. Introdução
    • 1.1 Motivação
    • 1.2 Objetivo
    • 1.3 Metodologia
    • 1.4 Estrutura do Texto
    1. Fundamentação Teórica
    • 2.1 História da Realidade Virtual
    • 2.2 Tipos de Sistemas de Realidade Virtual
    • 2.3 Protocolos e Segurança
      • 2.3.1 Protocolos
      • 2.3.2 Vulnerabilidades Conhecidas
      • 2.3.3 Métodos de ataque
    1. Descrição da Execução do Ataque
    • 3.1 Propostas de Execução do Ataque
    • 3.2 Descrição da Arquitetura
    • 3.3 A Aplicação
    1. Ferramentas Adotadas e Tutoriais de Uso
    • 4.1 Ferramentas Utilizadas
      • 4.1.1 Ferramentas do Kali Para Execução do Ataque
    • 4.2 Requisitos Técnicos
    • 4.3 Declaração de Exoneração de Responsabilidade
    • 4.4 Arquitetura do Ataque
    • 4.5 Tutorial de Ataque
    1. Resultados
    • 5.1 No Computador:
    • 5.2 No Celular:
    • 5.3 Limitações e Dificuldades Encontradas
    1. Conclusão
    • 6.1 Sugestões de Trabalhos Futuros
  • Figura 1 Simulador de cockpits Índice de Figuras
  • Figura 2 Realidade virtual de projeção
  • Figura 3 Realidade virtual aumentada
  • Figura 4 Diagrama do ataque
  • Figura 5 Primeira tela em funcionamento
  • Figura 6 Código da função RandomlyTeleport
  • Figura 7 Código de requisição do nome da skybox
  • Figura 8 Código da função start de VRChangeColor
  • Figura 9 Código da função start de ChangeColorTerrain
  • Figura 10 Código de update da classe Texture
  • Figura 11 Conexão cliente-servidor normal
  • Figura 12 Conexão cliente-servidor alterada
  • Figura 13 Comando ifconfig na VM Kali
  • Figura 14 Comando ifconfig no macbook (vítima)
  • Figura 15 Rodando o nmap na subrede
  • Figura 16 Resultado após rodar o nmap
  • Figura 17 Edição ip_forward
  • Figura 18 Comandos arpspoof
  • Figura 19 Comando dnsspoof
  • Figura 20 Visualizando pacotes com o Wireshark
  • Figura 21 Configurações do Burp Suite
  • Figura 22 Configuração para mudar o destino da requisição automaticamente
  • Figura 23 Configuração para mudar o host da requisição automaticamente
  • Figura 24 Requisição interceptada
  • Figura 25 Edição da requisição
  • Figura 26 Site oficial
  • Figura 27 Site falso
  • Figura 28 Comparação entre os resultados
  • Figura 29 Funcionamento normal do aplicativo
  • Figura 30 Cenário default do aplicativo
  • Figura 31 Aplicativo hackeado

Glossário

API - Application Programming Interface AR - Augmented Reality ARP - Address Resolution Protocol DNS - Domain Name System GUI - Graphical User Interface MAC - Media Access Control MITM - Man In The Middle SSL - Secure Sockets Layer TLS - Transport Layer Security VM - Virtual Machine VR - Virtual Reality OS - Operational System URL - Uniform Resource Locator IP - Internet Protocol

sem as devidas providências. Em muitos momentos pode ser benéfica, porém, se houver falhas de segurança, pode ser prejudicial. Portanto, decidimos mostrar que deve existir uma forte segurança para evitar que, tanto usuários como responsáveis pelas aplicações, tenham que lidar com consequências a partir de uma falha.

Por hipótese, podemos utilizar como exemplo o jogo de realidade virtual aumentada Pokemon GO. Restaurantes, cafés e pequenos varejistas o utilizam para atrair clientes, propagando-se como PokeStops (lugar onde os jogadores podem pegar novos itens e aumentar o seu nível de poder dentro do aplicativo), ou utilizando recursos do aplicativo que atraem Pokémons para atrair jogadores ao estabelecimento [2]. Nessa hipótese, a exploração de uma falha de segurança poderia modificar a localização para outro estabelecimento, e o estabelecimento original ficaria prejudicado.

1.2 Objetivo

O objetivo do trabalho é demonstrar, por meio de experimentos, o quão importante é a segurança em aplicações de realidade virtual. Este trabalho propõe demonstrar essa premissa das seguintes maneiras: apontando as falhas dos protocolos, explicando maneiras de explorá-las e expondo os resultados obtidos. Também é um dos objetivos sugerir possíveis soluções para os problemas que serão citados.

1.3 Metodologia

A metodologia adotada pode ser dividida em quatro tópicos:

  • Quanto à finalidade: Pesquisa Aplicada, onde se busca explorar um problema específico, nesse caso, demonstrar resultados ao explorar possíveis falhas de segurança quando são realizados ataques do tipo Man in the Middle com dispositivos em um ambiente real.
  • Quanto aos objetivos: Pesquisa Exploratória, pois, neste caso, tentamos identificar melhor um fato, um possível problema de segurança em aplicações de realidade virtual realizada para smartphones e computadores, a pesquisa tem um cunho relevante para o entendimento do real problema.
  • Quanto à abordagem: Abordagem Qualitativa, pois não há amostragem em nossa pesquisa, os resultados não são numéricos e sim valorativos.
  • Quanto ao método: Método Indutivo, pois fazemos uma observação particular a partir de uma premissa. A premissa de que pode haver a falta de segurança e a observação de quais são as consequências principais dessa premissa. Como a pesquisa é feita em mais de um dispositivo, a indução ocorre para outros dispositivos comumente.

1.4 Estrutura do Texto

Este trabalho está organizado da seguinte forma:

  • O Capítulo 2 traz a fundamentação teórica, onde serão mostrados os conceitos básicos de segurança.
  • No Capítulo 3, encontram-se a descrição do problema, as propostas para a execução do ataque e alguns dos códigos que foram utilizados para a criação da aplicação.
  • O Capítulo 4 apresenta detalhes sobre as ferramentas que serão utilizadas no ataque, além dos tutoriais, tanto para utilização do Google Cardboard quanto para a realização do ataque. Também dispomos da declaração de exoneração de responsabilidade e os requisitos técnicos para a realização do experimento.
  • No Capítulo 5 são apresentados os resultados obtidos após a execução do experimento, assim como as limitações do experimento e as consequências do ataque.
  • O Capítulo 6 apresenta a conclusão e sugestões para possíveis trabalhos futuros.

2.2 Tipos de Sistemas de Realidade Virtual

A VR de Simulação representa o tipo mais antigo de sistema de VR porque se originou com os simuladores de voo desenvolvidos pelos militares americanos depois da Segunda Guerra Mundial [7]. Um sistema de VR de Simulação basicamente imita o interior de um carro, avião ou jato, colocando o participante dentro de uma cabine com controles. Dentro dessa cabine, telas de vídeo e monitores apresentam um mundo virtual que reage aos comandos do usuário. Uma vez que o sistema de VR de Simulação não processa imagens em estéreo, as imagens aparecem de forma bastante rápida [8]. Em alguns sistemas as cabines são montadas sobre plataformas móveis [8], além de dispor de controles com feedback tátil e auditivo [8]. Um sistema de realidade virtual de simulação chamado de Cockpit BR [9], criado por brasileiros na Campus Party de 2012, pode ser visto na Figura 1.

Figura 1 : Simulador de cockpits - fonte: Tecmundo (2012), disponível em <https://www.tecmundo.com.br/campus-party-brasil-2012/19138-project-cockpit-b r-um-simulador-de-voo-incrivel-e-100-nacional.htm>

Jacobson [10], em 1994, diz que a Realidade Artificial de Projeção foi criada na década de 70 por Myron Krueger, caracterizando-a pelo fato do usuário estar fora do mundo virtual, mas podendo se comunicar com personagens ou objetos dentro dele. Krueger, nesta mesma época, cria um Sistema de VR de Projeção, ao qual denominou Videoplace (sala ou lugar de Projeção), que capturava imagens de um ou mais usuários e as projetava numa grande tela que representava um mundo virtual, onde era possível a interação desses usuários uns com os outros ou com objetos. O termo Realidade Virtual de Projeção, criado por Krueger, fora simplesmente para descrever o tipo de ambiente criado pelo seu sistema, que poderia ser utilizado sem a necessidade do participante usar dispositivos de entrada de dados, afirma Jacobson. Apesar de visto em um filme, um exemplo atual de realidade virtual de projeção pode ser visto no filme Iron Man (Figura 2) , onde o personagem principal interage com uma projeção de armadura.

Figura 3: Realidade virtual aumentada - fonte: Slashgear (2017), disponível em <https://www.slashgear.com/pokemon-go-ar-plus-apple-arkit-augmented-reality-g ame-update-20512429/>

2.3 Protocolos e Segurança

Sabemos que seguir boas práticas de segurança é muito importante para reduzir ao máximo as chances de um ataque lograr êxito. No lado do servidor, recomenda-se a utilização de criptografia. Do ponto de vista do usuário, recomenda-se cuidado com quais tipos de aplicações e sites são utilizados. Nesta seção vamos abordar os protocolos envolvidos no experimento que será explicado no Capítulo 4, assim como suas falhas e maneiras de explorá-las.

2.3.1 Protocolos

- HTTP [12]

É um protocolo utilizado no nível da aplicação. Ele permite a transferência de dados entre redes de computadores, browsers e servidores pela World Wide Web. Os usos mais comuns desse protocolo são para transferências de páginas HTML, onde cada URL utiliza o prefixo “http://”, e também para requisições web, disponíveis a diversos tipos de dispositivos. A versão mais utilizada deste protocolo é a 1.1.

  • HTTPS [13] Este é um protocolo orientado ao envio de mensagens seguras. O HTTPS trabalha em conjunto com o HTTP e suporta um número de métodos para criptografia, como por exemplo o SSL e o TLS. Os sites acessados apresentam o prefixo “https://”. Apesar disso, essas conexões não são totalmente seguras, sendo possível usar um método para burlar esses protocolos, conhecido como SSL Strip [14]. Esse método é frequentemente utilizado na prática de ataques Man in The Middle.
  • HSTS [15] HTTP Strict Transport Security , ou HSTS, é um padrão de segurança SSL que força a utilização do HTTPS. Ele impede que o site seja executado no caso de não ser possível estabelecer uma conexão segura e, diferentemente do HTTPS, não permite que o usuário adicione exceções de protocolo. O método implementado por esse protocolo é uma das maneiras de solucionar o problema do HTTPS, como descrito acima.
  • ARP [16] O ARP é um protocolo de resolução de endereço que permite uma máquina conhecer o endereço físico de uma placa de rede de outra máquina dentro da mesma rede local, onde esta placa de rede está atrelada a um dado