instituto politécnico de beja - vulnerabilidades em dispositivos … · 2019-03-19 · instituto...
TRANSCRIPT
-
INSTITUTO POLITÉCNICO DE BEJA
Escola Superior de Tecnologia e Gestão
Mestrado em Engenharia de Segurança Informática
Vulnerabilidades em Dispositivos IoT paraAmbiente Smart Home
Lúıs Carlos Gonçalves Costa
2018
-
INSTITUTO POLITÉCNICO DE BEJA
Escola Superior de Tecnologia e Gestão
Mestrado em Engenharia de Segurança Informática
Vulnerabilidades em Dispositivos IoT paraAmbiente Smart Home
Elaborado por:
Lúıs Carlos Gonçalves Costa
Orientado por:
Professor Doutor João Paulo Mestre Pinheiro Ramos e Barros, IPBeja
Professor Mestre Lúıs Miguel Gomes Tavares, IPBeja
2018
-
Resumo
Vulnerabilidades em Dispositivos IoT para Ambiente
Smart Home
Nos últimos tempos tem surgido a público uma variedade de produtos publicitados como
dispositivos smart home. Estes prometem tornar as nossas casas mais cómodas, seguras,
controláveis à distância e automatizadas. Constituem parte de uma nova realidade de
tratamento de informação a que se deu-se o nome de IoT(internet of things). Esta dis-
sertação vem abordar um tema fundamental no meio deste novo mundo de oportunidades
que o IoT nos promete, a segurança. Muitas noticias têm surgido a publico sobre falhas
graves de segurança em muitos dispositivos IoT, algumas delas permitiram realizar um
dos maiores ataques de Distributed Denial of Service já registado.
O principal foco da dissertação é a apresentação de um método desenvolvido com o
objetivo de detetar algumas das vulnerabilidades de maior risco, em dispositivos smart
home IoT. O método conta com várias demonstrações práticas de ferramentas open source
aplicadas em alguns destes dispositivos.
Para além de alguns temas relacionados com o conceito e arquitetura do IoT, será
também feita uma análise das principais ameaças e vulnerabilidades que afetam estes
dispositivos. Esta análise será acompanhada de uma reflexão sobre o risco que estas
vulnerabilidades apresentam para a segurança, não só dos dados pessoais mas também da
reserva da vida privada da população.
Palavras-chave: smart home, IoT, segurança informática, vulnerabilidade, teste de
penetração.
i
-
Abstract
Recently consumers have seen multiple products being advertised as smart home. These
products promise to make our homes more comfortable, safe, automated, and remotely
controlled. Was given to this new reality of processing information the name IoT (Internet
of Things). This dissertation discusses a fundamental aspect of this new world of oppor-
tunities promised be IoT, security. Many news headlines have been published exposing
serious security vulnerabilities in many IoT devices, some of them where explored to make
one the largest DDoS attacks recorded.
The main goal of this dissertation is to present a method developed with the purpose
of identifying some of the higher risk vulnerabilities in smart home IoT devices. This
method includes several demonstrations of open source tools applied to some of this IoT
devices.
Besides some topics related to the IoT architecture and concept, an analysis of the main
threats and vulnerabilities that affect smart home IoT devices will also be presented. This
analysis also includes a reflection about the risks that these vulnerabilities pose to data
protection and consumers privacy.
Keywords: smart home, IoT, information security, computer security, vulnerabilities
penetration testing.
iii
-
Agradecimentos
Em primeiro lugar quero agradecer e dedicar esta dissertação à minha namorada, à
minha amiga Inês e à minha famı́lia. Sem o vosso apoio, compreensão e motivação não
teria conseguido atingir este objetivo.
Quero também agradecer a fundamental ajuda, apoio e disponibilidade dos meus ori-
entadores o Professor João Paulo Barros e o Professor Lúıs Miguel Tavares.
Por último o meu obrigado a todos os meus colegas de curso pela entreajuda durante
estes dois anos e espero que esta dissertação sirva de motivação para terminarem a vossa.
v
-
Índice
Resumo i
Abstract iii
Agradecimentos v
Índice vii
Índice de Figuras xi
Índice de Tabelas xv
Abreviaturas e Siglas xvii
1 Introdução 1
1.1 Motivação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2 Problema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.3 Metodologia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.4 Contribuições . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.5 Trabalho relacionado . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.6 Organização da dissertação . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2 IoT - Definição e conceito 9
2.1 Arquitetura da IoT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2.2 Dispositivos smart home IoT . . . . . . . . . . . . . . . . . . . . . . . . . . 12
2.3 Da arquitetura para a realidade - A perspetiva da segurança . . . . . . . . . 13
2.4 Impacto atual e futuro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
3 Segurança no smart home IoT 17
3.1 Desafios de segurança no Smart Home IoT . . . . . . . . . . . . . . . . . . . 18
3.2 Ameaças à segurança do smart home IoT e potencial impacto da sua con-
cretização . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
3.3 Principais vulnerabilidades no smart home IoT . . . . . . . . . . . . . . . . 21
vii
-
Índice
3.3.1 Vulnerabilidades no hardware . . . . . . . . . . . . . . . . . . . . . . 22
3.3.2 Vulnerabilidades na aplicação web . . . . . . . . . . . . . . . . . . . 26
3.3.3 Vulnerabilidades na aplicação para dispositivos móveis . . . . . . . . 27
3.3.4 Vulnerabilidades na rede e cloud . . . . . . . . . . . . . . . . . . . . 29
3.3.5 Vulnerabilidades na API . . . . . . . . . . . . . . . . . . . . . . . . . 31
3.4 Ciberataques com recurso a dispositivos IoT . . . . . . . . . . . . . . . . . . 32
3.5 Testes de penetração no IoT . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
3.6 Definição de teste de penetração . . . . . . . . . . . . . . . . . . . . . . . . 34
3.7 Teste de penetração no smart home IoT . . . . . . . . . . . . . . . . . . . . 36
4 Método de identificação e exploração de vulnerabilidades em sistemas
smart home IoT 39
4.1 Introdução e estrutura do método . . . . . . . . . . . . . . . . . . . . . . . . 40
4.2 Legalidade . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
4.3 Preparação do ambiente de testes . . . . . . . . . . . . . . . . . . . . . . . . 42
4.3.1 Sistemas operativos recomendados . . . . . . . . . . . . . . . . . . . 42
4.3.2 Instalação e configuração do SO . . . . . . . . . . . . . . . . . . . . 44
4.3.3 Configuração de uma rede wireless . . . . . . . . . . . . . . . . . . . 46
4.4 Recolha de informação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
4.4.1 Método passivo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
4.4.2 Método ativo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
4.5 Análise do ecossistema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
4.6 Identificação e exploração de vulnerabilidades . . . . . . . . . . . . . . . . . 67
4.6.1 Vulnerabilidades no acesso remoto . . . . . . . . . . . . . . . . . . . 68
4.6.2 Vulnerabilidades no firmware . . . . . . . . . . . . . . . . . . . . . . 71
4.6.3 Vulnerabilidades na aplicação para dispositivos móveis . . . . . . . . 79
4.6.4 Vulnerabilidades na aplicação web . . . . . . . . . . . . . . . . . . . 88
4.7 Classificação das vulnerabilidades . . . . . . . . . . . . . . . . . . . . . . . . 93
5 Demonstração do método 95
5.1 Xiaomi Yeelight Led Color . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
5.1.1 Recolha de Informação - Método Passivo . . . . . . . . . . . . . . . 96
5.1.2 Recolha de Informação - Método Ativo . . . . . . . . . . . . . . . . . 97
5.1.3 Análise do ecossistema . . . . . . . . . . . . . . . . . . . . . . . . . . 97
5.1.4 Análise das comunicações . . . . . . . . . . . . . . . . . . . . . . . . 97
5.1.5 Identificação e exploração de vulnerabilidades . . . . . . . . . . . . . 100
5.1.6 Classificação das vulnerabilidades . . . . . . . . . . . . . . . . . . . . 101
5.2 Dahua DHI-XVR5108H-4KL-8P . . . . . . . . . . . . . . . . . . . . . . . . 103
5.2.1 Recolha de Informação - Método Passivo . . . . . . . . . . . . . . . 103
5.2.2 Identificação e exploração de vulnerabilidades . . . . . . . . . . . . . 104
viii
-
Índice
5.2.3 Classificação das vulnerabilidades . . . . . . . . . . . . . . . . . . . . 106
6 Conclusões e perspetivas de trabalho futuro 109
Bibliografia 111
Apêndices 127
I Yeelight - Identificação dos endereços IP das comunicações 129
II Dahua DVR - Resultado da ferramenta Firmwalker 133
IIIYeelight - Resultado da ferramenta QARK 141
ix
-
Índice de Figuras
1.1 Cartoon alusivo à segurança dos dispositivos smart home IoT . . . . . . . . . . 3
2.1 Demonstração da ideia errada de dispositivos IoT [1] . . . . . . . . . . . . . . . 10
2.2 Duas das arquiteturas sugeridas para a IoT [2] . . . . . . . . . . . . . . . . . . 11
2.3 Universo de dispositivos smart home IoT [3] . . . . . . . . . . . . . . . . . . . . 12
2.4 Interação entre os diversos componentes do ecossistema smart home IoT . . . . 14
3.1 Pinos JTAG (à esquerda) e UART (à direita) [4] . . . . . . . . . . . . . . . . . 23
3.2 Exemplo de um ataque de SQL injection para ultrapassar a validação da
palavra-passe do utilizador [5] . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
3.3 Exemplo de uma captura das credenciais de acesso quando não são utilizadas
comunicações seguras [6] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
4.1 Diagrama de atividade do método de identificação e exploração de vulnerabi-
lidades em sistemas smart home IoT . . . . . . . . . . . . . . . . . . . . . . . . 41
4.2 Ambiente de trabalho do SO Kali Linux . . . . . . . . . . . . . . . . . . . . . . 43
4.3 Ambiente de trabalho do SO Parrot OS . . . . . . . . . . . . . . . . . . . . . . 44
4.4 Interface da aplicação VirtualBox . . . . . . . . . . . . . . . . . . . . . . . . . . 45
4.5 Adicionar um dispositivo USB a uma máquina virtual . . . . . . . . . . . . . . 47
4.6 Opção para criar uma nova rede WiFi no Parrot OS . . . . . . . . . . . . . . . 47
4.7 Criar uma nova rede WiFi no Parrot OS . . . . . . . . . . . . . . . . . . . . . . 47
4.8 Placa lógica da lâmpada Yeelight Led Color onde são viśıveis inscrições nos
componentes [7] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
4.9 Resultado da ferramenta Netdiscover . . . . . . . . . . . . . . . . . . . . . . . . 52
4.10 Captura de comunicações com o Wireshark . . . . . . . . . . . . . . . . . . . . 54
4.11 Interface da ferramenta Zenmap . . . . . . . . . . . . . . . . . . . . . . . . . . 55
4.12 Menu STATISTICS do Wireshark . . . . . . . . . . . . . . . . . . . . . . . . . 60
4.13 MenuENDPOINTS do Wireshark . . . . . . . . . . . . . . . . . . . . . . . . . 60
4.14 Resultado parcial da ferramenta WHOIS . . . . . . . . . . . . . . . . . . . . . . 62
4.15 Menu PROTOCOL HIERARCHY do Wireshark . . . . . . . . . . . . . . . . . 63
4.16 Estat́ıstica PROTOCOL HIERARCHY do Wireshark . . . . . . . . . . . . . . 64
xi
-
Índice de Figuras
4.17 Menu IPV4 STATISTICS do Wireshark . . . . . . . . . . . . . . . . . . . . . . 64
4.18 Opção FOLLOW TCP STREAM do Wireshark . . . . . . . . . . . . . . . . . 65
4.19 Opção EXPORT OBJECTS do Wireshark . . . . . . . . . . . . . . . . . . . . 66
4.20 Obtenção do firmware do dispositivo através da captura das comunicações . . . 67
4.21 Erro a utilizar a ferramenta Medusa contra o protocolo Telnet . . . . . . . . . 70
4.22 Credenciais de acesso encontradas recorrendo à ferramenta Medusa . . . . . . . 70
4.23 Analise do firmware do router Linksys E1550 utilizando o Binwalk . . . . . . . 73
4.24 Analise do firmware da lâmpada Yeelight Color utilizando o Binwalk . . . . . . 74
4.25 Recursos em falta para extrair o sistema de ficheiros SquashFS . . . . . . . . . 74
4.26 Resultado da extração do firmware do router Linksys E1550 . . . . . . . . . . 75
4.27 Exemplo do resultado da ferramenta Firmwalker relativo ao DVR Dahua . . . 77
4.28 Credenciais de acesso especificadas no firmware do DVR Dahua XVR5 . . . . . 78
4.29 Exposição de informação senśıvel no firmware do DVR Dahua XVR5 . . . . . . 79
4.30 Pesquisa pela aplicação móvel Yeelight no repositório Aptoide . . . . . . . . . . 80
4.31 Obter o APK da aplicação móvel Yeelight . . . . . . . . . . . . . . . . . . . . . 80
4.32 Parte dos ficheiros do código fonte da aplicação Yeelight . . . . . . . . . . . . . 82
4.33 Exemplo do resultado da ferramenta Firmwalker relativo à aplicação Yeelight . 83
4.34 Exemplo do resultado da ferramenta Firmwalker relativo à aplicação Yeelight . 84
4.35 Exposição de informação senśıvel no código fonte da aplicação Yeelight . . . . . 84
4.36 Configuração do Android SDK na ferramenta QARK . . . . . . . . . . . . . . . 86
4.37 Inicio da análise da aplicação Yeelight na ferramenta QARK . . . . . . . . . . 86
4.38 Análise estática do código da aplicação Yeelight na ferramenta QARK . . . . . 87
4.39 Potencial vulnerabilidade detetada pela ferramenta QARK na aplicação Yeelight 87
4.40 Problema detetado na aplicação Yeelight pela ferramenta QARK . . . . . . . . 87
4.41 Atualização das extensões da aplicação OWASP ZAP . . . . . . . . . . . . . . 90
4.42 Menu inicial da aplicação OWASP ZAP . . . . . . . . . . . . . . . . . . . . . . 91
4.43 Análise de vulnerabilidades com a aplicação OWASP ZAP . . . . . . . . . . . . 91
4.44 Lista de vulnerabilidades identificadas pelo OWASP ZAP . . . . . . . . . . . . 92
4.45 Conjunto de tipos de vulnerabilidades identificáveis pelo OWASP ZAP . . . . . 92
4.46 Exemplo de uma vulnerabilidade de XSS . . . . . . . . . . . . . . . . . . . . . 93
4.47 Acesso a um ficheiro do sistema através do servidor web . . . . . . . . . . . . . 93
5.1 Lâmpada Xiaomi Yeelight LED Color . . . . . . . . . . . . . . . . . . . . . . . 95
5.2 Yeelight - Exemplo de alguns dos endereços IP identificados nas comunicações . 98
5.3 Yeelight - Obtenção do firmware do dispositivo através da captura das comu-
nicações . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
5.4 Yeelight - Obter o token para comunicar com o dispositivo . . . . . . . . . . . . 101
5.5 Yeelight - Ligar e desligar a lâmpada remotamente . . . . . . . . . . . . . . . . 101
5.6 Dispositivo Dahua DHI-XVR5108H-4KL-8P . . . . . . . . . . . . . . . . . . . . 103
5.7 Dahua - Credenciais inseridas diretamente num ficheiro do firmware . . . . . . 105
xii
-
Índice de Figuras
5.8 Dahua - Linha de código que pode ultrapassar o sistema de autenticação . . . . 105
5.9 Dahua - Inscrição utilizada para identificar a aplicação web no Shodan . . . . . 106
5.10 Dahua - Resultado da pesquisa pela aplicação web no Shodan . . . . . . . . . . 107
I.1 Yeelight - Listagem dos endereços IP identificados nas comunicações . . . . . . 130
I.2 Yeelight - Listagem dos endereços IP identificados nas comunicações . . . . . . 131
xiii
-
Índice de Tabelas
4.1 Descrição do esquema de cores utilizado no método . . . . . . . . . . . . . . . . 40
4.2 Portos detetados pelo Nmap para o dispositivo Yeelight . . . . . . . . . . . . . 56
4.3 OS Detection pelo Nmap para o dispositivo Yeelight . . . . . . . . . . . . . . . 56
4.4 Exemplo de recolha de informação sobre os endpoints . . . . . . . . . . . . . . 61
4.5 Escala de classificação do risco das vulnerabilidades segundo o standard CVSS 94
5.1 Yeelight - Portos e protocolos que o ecossistema IoT utiliza para comunicar . . 98
xv
-
Abreviaturas e Siglas
3G 3rd Generation cellular transmission.
6LoWPAN IPv6 over Low-Power Wireless Personal Area Networks.
ADB Android Debug Bridge.
AJAX Asynchronous Javascript and XML.
API Application Programming Interface.
APK Android Application Package.
ARP Address Resolution Protocol.
BIN Binary.
CD Compact Disk.
CLI Command-Line Interface.
cramsfs Compressed ROM File Ssystem .
CSV Comma Separated Values.
CVE Common Vulnerabilities Exposures.
CVSS Common Vulnerability Scoring System.
DDoS Distributed Denial of Service.
dex Dalvik Executable.
DNS Domain Name System.
DVR Digital Video Recorder.
FTP File Transfer Protocol.
GB GigaByte.
Gbps GigaBits Per Second.
gzip GNU ZIP.
HTTP HyperText Transfer Protocol.
HTTPS Hyper Text Transfer Protocol Secure.
IEEE Institute of Electrical and Electronics Engineers.
xvii
-
Abreviaturas e Siglas
iOS IDevice Operating System.
IoT Internet of Things.
IP Internet Protocol.
IPv4 Internet Protocol Version 4.
IPv6 Internet Protocol Version 6.
JAR Java ARchive.
JTAG Joint Test Action Group.
LAN Local Area Network.
LLN Low-Power and Lossy Networks.
MAC Media Access Control address.
Mbps MegaBytes Per Second.
NAT Network Address Translation.
NFC Near Field Communication.
OS Operating System.
OSINT Open Source Intelligence.
OWASP Open Web Application Security Project.
PenTest Penetration Testing.
PHP PHP: Hypertext Preprocessor.
PTES Penetration Testing Execution Standard.
RFID Radio Frequency IDentification.
RPL Routing Protocol for Low-Power and Lossy Networks.
SDK Software Developer’s Kit.
SNMP Simple Network Management Protocol.
SO Sistema Operativo.
SQL Structured Query Language.
SQLi Structured Query Language Injection.
SSH Secure Shell.
SSID Service Set IDentifier.
SSL Secure Sockets Layer.
TCP Transmission Control Protocol.
TCP/IP Transmission Control Protocol/Internet Protocol.
TLS Transport Socket Layer.
TOR The Onion Router.
UART Universal Asynchronous Receiver Transmitter.
xviii
-
Abreviaturas e Siglas
UDP User Datagram Protocol.
UPnP Universal Plug and Play.
URL Uniform Resource Locator.
USB Universal Serial Bus.
WiFi IEEE 802.11x Standart.
XML Extensible Markup Language.
XMPP EXtensible Messaging and Presence Protocol.
XSS CROSS-Site Scripting.
YAML YAML Ain’t Markup Language.
xix
-
Caṕıtulo 1
Introdução
One of the interesting things about the future is not how quickly
things change, but how quickly we get used to how quickly things
change
Kevin Ashton, autor do termo Internet of Things
Vivemos numa época em que o ser humano tem a tecnologia para desenvolver muitas
das ideias dos livros e filmes de ficção cientifica. Algumas das tecnologias mais apetećıveis,
com excepção do famoso Warp drive [8], são aquelas que nos auxiliam ou fazem deter-
minadas tarefas por nós. Essa fantasia levou-nos a dar ”esperteza a coisas”. Passámos
a ter uma amiga chamada ”Alexa”[9], a prima ”Siri”[10] e um sobrinho ”Cloi”[11] pouco
obediente. Criámos a categoria ”smart”, que não conseguimos ainda muito bem definir
[12], para diferenciar as ”coisas com inteligência das restantes”. Desta mistura nascem os
dispositivos smart home.
Neste admirável mundo novo de dispositivos ”smart”, a sua ”inteligência” nem sempre
se deve a um sistema de inteligência artificial, mas sim a uma ligação à internet. Deste
conceito de ligar ”coisas” à internet nasce o termo Internet of Things (IoT). No entanto,
para além de questões relacionadas com a privacidade [13] e as novas janelas de oportu-
nidade para a criminalidade [14], existe a grande questão da segurança. Quando ainda
temos dificuldade em garantir a segurança nos nossos computadores e smartphones [15], o
quão seguro estarão as nossas lâmpadas [16], fechaduras [17], câmaras [18], máquinas de
café [19], aspiradores [20] ou termostatos [21] ligados à internet?
Torna-se assim fundamental abordar a questão da segurança destes dispositivos e de-
terminar o ńıvel de risco que corremos quando os ligamos à internet.
1.1 Motivação
O interesse pelos dispositivos IoT tem crescido ao longo dos últimos anos. Não só o inte-
resse do consumidor [22] mas também da comunidade cientifica e académica [23]. Vários
1
-
1. Introdução
estudos apontam para um crescimento quase exponencial para o número de dispositivos
IoT, prevendo que até 2020 existam entre 20 a 30 mil milhões de dispositivos [22][24][25].
Outros apontam também para uma maior percentagem de dispositivos nas mãos dos con-
sumidores do que da indústria [24]. Em termos de valor também se prevê que o mercado
do IoT atinja os 457 mil milhões de dólares em 2020 [24], representando o mercado smart
home 14% desse valor. Só no peŕıodo de 2016 a 2017 este mercado registou um aumento
global de receita de mais de 95% [26].
Uma sondagem de 2018 [27] feita a consumidores americanos, considerado o maior
mercado em dispositivos IoT [28], revela que 48% têm intenção de comprar pelo menos um
dispositivo smart home IoT. Quanto à indústria, em 2017 64% das empresas inquiridas [29]
estavam a planear implementar soluções IoT. As previsões apontam que o sector indústrial
e das cidades inteligentes serão os que terão maior cota no mercado IoT em 2020 [30].
Os consumidores e a indústria consideram que o que está a retardar o crescimento
da IoT são o preço elevado e as falhas de segurança [29][30], sendo que os consumidores
apontam o último como o principal fator [31].A crescente mediatização dos ataques a
sistemas informáticos, que apenas há pouco tempo começaram a ser noticia na televisão,
e as várias questões ligadas à privacidade, podem ser alguns dos aspetos que levam os
consumidores a estarem mais sensibilizados para as questões da segurança informática.
Existem muitas questões que tornam não só a segurança nos dispositivos smart home
IoT mas também da IoT em geral, especialmente complicada. A falta de standards em
termos de arquitetura e protocolos de comunicação [32] e a não existência de certificações,
não facilita o processo de desenvolvimento dos dispositivos. Os fabricantes têm ainda de
estabelecer um equiĺıbrio entre as medidas de segurança que implementam, a facilidade de
configuração dos dispositivos, o consumo energético, a sua capacidade de processamento
e o preço [33]. O esṕırito consumista, incentivado pelos fabricantes, do capitalismo atual
leva a que as empresas lancem produtos ”inacabados”para o mercado, sem terem sido
suficientemente testados, numa poĺıtica de ”compre agora atualize depois”[34]. O que
acontece é que muitos dos dispositivos depois acabam por não ser atualizados e poderão
nunca vir a ser [35][36].
Recentemente os dispositivos IoT tem estado nas noticias devido às piores razões.
No final de 2016 a bootnet Mirai efetuou um dos maiores ataque de DDoS registado,
afetando o acesso a vários serviços no mundo inteiro e deixando grande parte da costa
este dos Estado Unidos sem internet [37]. Esta bootnet chegou a infetar cerca de 600 mil
dispositivos, a grande maioria deles câmaras IP. Estes ciberataques também já atingiram
o setor empresarial. Em 2017 dados de um casino foram roubados[21] tendo os atacantes
acedido à rede interna através dos dispositivos de controle de um dos aquários.
Em 2015 a Symantec [38] realizou uma análise a 50 dispositivos smart home IoT e
descobriu vulnerabilidades graves na grande maioria deles. Estas estavam relacionadas
com a utilização de sistemas de autenticação inseguros, comunicações não cifradas e vul-
2
-
1.1. Motivação
nerabilidades nas interfaces web que permitiam controlar os dispositivos. Em 2017 uma
análise a 20 dispositivos IoT domésticos [39], a grande maioria deles smart home, encon-
trou vulnerabilidades em todos eles, incluindo comunicações não cifradas, acessos SSH e
telnet sem autenticação e a possibilidade de enviar comandos sem autenticação. Duas ba-
ses de dados [40][41] de dispositivos IoT vulneráveis descrevem vulnerabilidades em mais
de 200 dispositivos, cerca de metade deles smart home IoT. Na DEF CON 2017, uma das
maiores conferências relacionadas com a segurança e hacking, foram reveladas 47 novas
vulnerabilidades em 23 dispositivos de 21 fabricantes diferentes [42]. Esta existência de
inúmeras vulnerabilidades levam a grande preocupação sobre o real ńıvel de segurança dos
dispositivos smart home IoT, sendo inclusivamente alvo de parodiadas em cartoons (ver
exemplo da Fig. 1.1)
Torna-se assim fundamental conseguir identificar quais as vulnerabilidades dos dispo-
sitivos IoT, nomeadamente os smart home. É extremamente importante do ponto de vista
do consumidor, já que algumas vulnerabilidades põem em risco não só a segurança dos seus
dados pessoais mas também da sua habitação. Também é importante do ponto de vista
do fabricante, já que permite detetar vulnerabilidades de forma atempada, e corrigi-las
antes de lançar o produto.
Figura 1.1: Cartoon alusivo à segurança dos dispositivos smart home IoT
3
-
1. Introdução
1.2 Problema
O cenário atual da segurança dos dispositivos smart home IoT leva-nos a pensar que
qualquer dispositivo que se compre terá sérias vulnerabilidades de segurança. No entanto,
o facto de um dispositivo ter vulnerabilidades não representa por si só um elevado risco
para a sua segurança. Se uma vulnerabilidade apenas poder ser explorada com acesso
f́ısico ao dispositivo, esta representa um risco muito reduzido para a sua segurança.
Torna-se assim essencial conseguir identificar as vulnerabilidades que podem ser explo-
radas remotamente, nomeadamente através da internet. Esta dissertação apresenta uma
enumeração das vulnerabilidades que apresentam um maior risco, bem como um método
de as identificar e explorar.
1.3 Metodologia
Durante os trabalhos relatados nesta dissertação foram utilizados vários métodos. A fase
de estudo da arquitetura e definições da IoT e do smart home IoT foi feita essencialmente
recorrendo a artigos cient́ıficos publicados em várias editoras. No entanto já na parte da
segurança e vulnerabilidades não foram encontrados muitos artigos que documentassem
vulnerabilidades. Recorreu-se assim à analise de publicações efetuadas por empresas e
profissionais especializados em testes de penetração.
Na elaboração do método de identificação e exploração de vulnerabilidades seguiu-se
uma abordagem mais prática. Para além do estudo de alguns livros e publicações de
profissionais da área, foi também analisado muito do trabalho publicado nos últimos anos
em conferências de hacking. As ferramentas e métodos identificados foram então testados
e ajustados através de testes de penetração a alguns dispositivos smart home IoT.
1.4 Contribuições
A principal contribuição desta dissertação é o desenvolvimento de um método de iden-
tificação e exploração de vulnerabilidades em dispositivos smart home IoT. Este método
tem como objetivo detalhar de forma prática, e com ferramentas dispońıveis de forma gra-
tuita, como é posśıvel identificar vulnerabilidades nestes dispositivos e como é que podem
ser exploradas. O método centra-se na identificação de vulnerabilidades que podem ser
exploradas através da rede TCP/IP. Estas vulnerabilidades são as que apresentam um
maior risco para a segurança dos dispositivos smart home IoT.
Este método tem como particularidade o facto de poder ser aplicado até a dispositivos
IoT que não sejam smart home, permitindo que um fabricante verifique se os seus dispo-
sitivos estão vulneráveis aos ciberataques mais comuns. Recorrendo a ferramentas open
source, que são geralmente as utilizadas por quem faz os ciberataques aos dispositivos, é
posśıvel identificar e corrigir vulnerabilidades com um custo baixo.
4
-
1.5. Trabalho relacionado
Serão também testados alguns dispositivos smart home IoT, de forma a demonstrar
o método desenvolvido e verificar se os mesmos apresentam vulnerabilidades graves como
indicam os estudos e relatórios publicados [38][39][43][44].
Para além das contribuições já referidas é apresentada uma visão sobre o que é a IoT e o
smart home IoT, através de uma análise factual de alguns dos seus aspetos nomeadamente
o seu ecossistema, o impacto na sociedade, as principais vulnerabilidades dos dispositivos
smart home IoT e o seu risco real. Através desta análise pretende-se identificar as ameaças
com maior ńıvel de risco para a segurança dos dados pessoais, bens e integridade f́ısica da
população.
1.5 Trabalho relacionado
Ao longo da dissertação são feitas várias referências a trabalhos relacionados com a IoT e
com as questões da segurança. No entanto existe já algum trabalho realizado ao ńıvel da
deteção de vulnerabilidades em dispositivos smart home IoT que merece especial desta-
que. Estes trabalhos apresentam também uma abordagem prática e metódica de deteção
de vulnerabilidades:
1. Em 2017, Visoottiviseth et al. [45] apresentam uma ferramenta automatizada de deteção
de vulnerabilidades em dispositivos IoT denominada PENTOS. A ferramenta utiliza uma
série de outras ferramentas já existentes assim como algumas desenvolvidas pelos seu
autores, para realizar um teste de penetração aos dispositivos IoT que se encontrem numa
determinada rede. A aplicação começa por tentar recolher alguma informação sobre o
dispositivo e seguidamente utiliza essa informação para identificar vulnerabilidades através
de CVEs. Seguidamente efetua um ataque de força bruta à palavra-passe da rede WiFi,
assim como a algum serviço SSH, telnet ou FTP. Caso encontre alguma aplicação web fará
também uma análise de vulnerabilidades. No final produz um relatório com os resultados
das diferentes fases bem como sugestões de como resolver as vulnerabilidades.
Tal como outras ferramentas de deteção automática de vulnerabilidades, esta depende
muito da informação que é recolhida, nomeadamente dos CVEs. Caso não consiga iden-
tificar corretamente o tipo de dispositivo, que serviços corre ou se a vulnerabilidade não
se encontrar reportada, a ferramenta não irá conseguir detetá-la ou poderá gerar falsos
positivos. Para alem desta questão, não aborda todo o ecossistema do smart home IoT no-
meadamente as vulnerabilidades nas comunicações e na aplicação para dispositivos móveis.
2. Em 2017 Silva [46] apresenta também uma ferramenta automatizada para realizar testes
de penetração em dispositivos IoT. A ferramenta é muito focada na análise das comu-
nicações TCP/IP de forma a verificar se são utilizadas comunicações seguras, e na análise
de vulnerabilidades de SQLi, XSS na interface web dos dispositivos. Tal como é referido
5
-
1. Introdução
por Silva, existem muitas vulnerabilidades que não conseguem ser detetadas de forma au-
tomatizada, dáı a ferramenta não conseguir analisar outras vulnerabilidades.
3. Também em 2017 é publicado o livro ”IoT Hackers Handbook”da autoria de Gupta
[4], fundador da empresa Attify. Esta empresa especializa-se em testes de penetração em
dispositivos IoT. O livro percorre todas as fases de um teste de penetração, dando um es-
pecial enfoque à exploração de vulnerabilidades no hardware bem como nas comunicações
bluetooth e Zigbee. A exploração de vulnerabilidades nas comunicações TCP/IP e a ex-
posição de serviços na internet são abordados de forma muito superficial.
4. Ainda em 2017 Capellupo et al. [47] analisam a segurança de quatro dispositivos smart
home IoT, recorrendo a um método estruturado pelos próprios. Este recorre a ferramentas
open source e ao SO Kali Linux para analisar as comunicações do dispositivo, procurar por
portos abertos e procurar por vulnerabilidades conhecidas. Trata-se de uma abordagem
mais simplificada de um teste de penetração que permite verificar se o dispositivo utiliza
comunicações cifradas e senão possui portos inseguros.
5. Já em 2018 Martins [48] apresenta um framework para a investigação de vulnerabili-
dades em dispositivos IoT. Este trabalho centra-se nas vulnerabilidades das comunicações
em rede redes LLN, nas quais são adotados os protocolos 6LoWPAN (IPv6) e RPL para o
encaminhamento. São apresentados cenários de teste de vários tipos de vulnerabilidades
nas comunicações através de ataques de flood, captura não autorizada de pacotes, DDoS,
entre outros.
Atualmente a arquitetura mais utilizada para dispositivos IoT domésticos ainda não ado-
tou este tipo de protocolos de comunicação, tornando esta framework não adequada na
deteção de vulnerabilidades em sistemas smart home IoT atuais.
1.6 Organização da dissertação
Os caṕıtulos seguintes desta dissertação estão organizados da seguinte forma:
• Caṕıtulo 2 - Introduz o conceito da IoT e smart home IoT bem como da suaarquitetura. É feita também uma apresentação do ecossistema do smart home IoT,
assim como algumas reflexões sobre o impacto atual e futuro da IoT na sociedade e
na indústria;
• Caṕıtulo 3 - São tratados os temas relacionados com a segurança no smart homeIoT, nomeadamente os desafios atuais e as ameaças à segurança do seu ecossistema.
Para além disso serão discutidas as vulnerabilidades mais comuns para cada uma das
partes do ecossistema, bem como uma indicação do risco que estas representam para
a segurança dos dispositivos. Serão também enumerados alguns dos ciberataques
6
-
1.6. Organização da dissertação
tornados públicos até agora que exploraram vulnerabilidades em dispositivos IoT.
No final será abordada a temática dos testes de penetração no smart home IoT;
• Caṕıtulo 4 - Neste capitulo será apresentado o método de identificação e exploraçãode vulnerabilidades. Este método é direcionado para as vulnerabilidades que podem
ser exploradas sem acesso f́ısico ao dispositivos, quer através da internet quer através
da rede interna TCP/IP do ecossistema;
• Caṕıtulo 5 - Demonstra a aplicação do método apresentado no capitulo 4 a algunsdispositivos smart home IoT, bem como o levantamento das suas vulnerabilidades.
7
-
Caṕıtulo 2
IoT - Definição e conceito
Predicting the future is easy. Believing it is hard
Kevin Ashton, autor do termo Internet of Things
Neste caṕıtulo serão apresentados alguns dos conceitos da IoT, definições e arquitetu-
ras conceptuais, bem algumas observações sobre o impacto atual e futuro desta tecnologia.
Será também explorado o conceito de smart home IoT bem como a forma como a arqui-
tetura teórica se reflete na prática.
Em 1989 ”o mundo já tinha internet, mas faltava-lhe a coisa” [49], até que nesse
ano John Romkey utilizou o protocolo SNMP para ligar remotamente uma torradeira. A
internet acolheu assim a sua primeira ”coisa”. No entanto a autoria do termo Internet of
Things é atribúıda a Kevin Ashton [50], durante uma apresentação das potencialidades da
tecnologia RFID no rastreamento de produtos numa linha de distribuição.
Desde esta altura o termo IoT tornou-se sinónimo para quase tudo, tão abrangente
que nos dias de hoje ainda não existe um consenso sobre a sua definição. Um documento
publicado pela IEEE em 2015 [51] apresenta várias definições de diferentes instituições e
indiv́ıduos ligados a diversas áreas. Cada uma dessas definições tem uma nuance diferente
para a definição consoante a sua realidade. Esta incerteza só demonstra a universalidade
da IoT e a sua capacidade de se adaptar a várias realidades. Muitas definições baseiam-se
quase numa tradução do termo ”internet das coisas”. O dicionário Priberam da Ĺıngua
Portuguesa define a palavra ”coisa”como ”objeto ou ser inanimado que não se quer ou
não se consegue nomear”. Ou seja, qualquer ”coisa”desde que ligada à internet acaba por
ser classificada como um dispositivo IoT, até mesmo um preservativo [52].
Uma das definições mais amplas e que se enquadra no conceito da IoT é a sugerida
pela Internet Society [53]. Esta define a IoT como ”a extensão da conectividade da rede
e capacidade de computação para dispositivos, sensores e objetos do dia a dia que nor-
malmente não são considerados computadores, permitindo que estes produzam, troquem
e consumam informação com a mı́nima intervenção humana”.
9
-
2. IoT - Definição e conceito
Infelizmente é esta moda de acrescentar o termo ”smart” a um produto (ver Fig.
2.1) para o diferenciar da concorrência e descoroar a utilidade do mesmo [54], que acaba
por manchar a verdadeira essência da IoT. A era da informação que vivemos atualmente
contém essencialmente informação que foi produzida recorrendo a dados inseridos por
alguém. Existe uma imensidão de dados que não são recolhidos nem tratados a cada
segundo que passa. O que a IoT pretende é disponibilizar formas de recolher esses dados
de forma automática, enviá-los para serem processados e desencadear ou não uma ação,
podendo esta ser uma comunicação para uma pessoa ou para outro dispositivo IoT [50][55].
A internet acaba por ser o meio de comunicação que torna este conceito posśıvel, não
uma forma de dar ”inteligência a coisas”. As decisões ou informações tomadas pela IoT
pretendem ajudar a humanidade a evoluir e não se limitar apenas enviar notificações
quando a torrada está pronta [56].
Figura 2.1: Demonstração da ideia errada de dispositivos IoT [1]
2.1 Arquitetura da IoT
Até ao momento não existe uma arquitetura que abranja todo o universo da IoT. A falta de
standards em termos de protocolos, plataformas e sistemas operativos torna muito dif́ıcil
tentar definir uma de arquitetura para a IoT, ou para qualquer uma das suas componentes.
No entanto existem duas abordagens predominantes para definir a arquitetura da IoT [2]
(ver Fig. 2.2). Uma das abordagens divide a arquitetura em cinco camadas [57], outra
divide em apenas três camadas [58] [59], sendo esta última considerada a arquitetura
mı́nima, e até a mais utilizada [58] pelos fabricantes. A arquitetura mais simples define
as seguintes camadas (ver esquema ”A”da Fig. 2.2) [58]:
Camada de Perceção Também por vezes denominada ”camada de sensores”, têm como
propósito receber dados do ambiente através dos sensores e produzir ações nos atua-
10
-
2.1. Arquitetura da IoT
dores. Esta camada deteta, coleta e processa informação, que depois transmite para
a camada de rede;
Camada de Rede Desempenha a função de encaminhamento e transmissão de informação
entre os diferentes dispositivos IoT e a internet. Nesta camada, a cloud, as gateways,
equipamentos de switching e routing, operam utilizando diferentes tecnologias e pro-
tocolos de comunicação;
Camada Aplicacional Garante a autenticidade, integridade e confidencialidade da in-
formação. É nesta camada que a IoT demonstra a sua capacidade de criar um
ambiente inteligente.
A arquitetura de cinco camadas, segundo alguns investigadores [2], acaba por fazer mais
sentido em termos de investigação já que esta acaba por ser mais focada nos pormenores da
IoT. Esta arquitetura inclui a camada de perceção e aplicacional da arquitetura anterior,
juntamente com as seguintes camadas (ver esquema ”B”da Fig. 2.2) [2][57]:
Camada de transporte Transfere os dados dos sensores da camada de perceção para a
camada de processamento e vice versa, através de diferentes protocolos e tecnologias
de comunicação nomeadamente, wireless, 3G, LAN, Bluetooth, RFID e NFC;
Camada de Processamento Também designada de middleware, armazena, analisa e
processa grandes quantidades de dados provenientes da camada de transporte. Con-
segue gerir e disponibilizar um conjunto de serviços diversos para as camas inferiores,
recorrendo a vários tipos de tecnologias nomeadamente bases de dados, cloud com-
puting e big data;
Camada de Negócio Responsável pela gestão de todo o sistema da IoT, incluindo aplicações,
modelos de negócio e privacidade dos seus utilizadores. Constrói modelos de negócio
com base na análise dos dados da camada aplicacional.
Figura 2.2: Duas das arquiteturas sugeridas para a IoT [2]
11
-
2. IoT - Definição e conceito
2.2 Dispositivos smart home IoT
O termo IoT acaba por ser tão vasto que engloba uma série de componentes, conceitos,
tecnologias e finalidades diferentes. Uma dessas componentes é o smart home. Por de-
finição uma ”smart home” ou casa inteligente, ”é uma casa ou um ambiente habitável
que contenha tecnologia que permita que os equipamentos domésticos ou sistemas possam
ser controlados automaticamente.” [59]. Apesar de apenas nos últimos tempos, devido à
proliferação dos dispositivos ”smart”, se ter começado a ouvir falar do termo smart home,
a ideia é bastante antiga.
Em 1966 Jim Sutherland construiu um computador em casa que permitia controlar a
televisão e o rádio, entre outras funcionalidade, através de uma rede desenhada por ele
[60]. Também desde a década de 70 que o protocolo X10 [61] permite controlar luzes,
eletrodomésticos e outros dispositivos. O que a IoT veio trazer foi a possibilidade de
controlar estes dispositivos através da internet, permitir que comuniquem entre si e que
recolham uma grande quantidade de informação (ver figura 2.3). Estes são referidos como
dispositivos smart home IoT.
Tal como na IoT também existe alguma dificuldade em encontrar uma definição con-
sensual do que é o smart home IoT [62]. A definição é ainda mais confusa porque existem
autores que se referem aos dispositivos smart home IoT apenas como smart home. Torna-se
assim necessário indicar a definição que se vai utilizar ao longo da dissertação. Adotou-se
a definição de smart home IoT como ”residências equipadas com redes de comunicações
de última geração, sensores, dispositivos domésticos, aplicações e funções que podem ser
monitorizadas, acedidas e controladas remotamente, e que disponibilizam serviços que res-
pondem às necessidades dos seus habitantes”[63]. Esta é a definição que mais se enquadra
com o conceito de IoT referido anteriormente (ver secção 2).
Figura 2.3: Universo de dispositivos smart home IoT [3]
12
-
2.3. Da arquitetura para a realidade - A perspetiva da segurança
2.3 Da arquitetura para a realidade - A perspetiva da
segurança
A determinada altura é necessário sair dos modelos conceptuais das arquiteturas e verificar
o que é que temos na realidade. Mais uma vez, como não existem standards, o que é
implementando pelos fabricantes não segue os modelos das arquiteturas ou não existe uma
clara separação entre as várias camadas (ver secção 2.1). Devido à abordagem prática desta
dissertação considerou-se necessário apresentar como é que os dispositivos que atualmente
estão dispońıveis no mercado, traduzem a abordagem teórica da arquitetura para a prática.
Do ponto de vista da identificação e exploração de vulnerabilidades esta abordagem e
terminologia prática é fundamental, porque são estes dispositivos, aplicações, protocolos,
sistemas operativos, serviços, entre outros, que poderão ter as vulnerabilidades que podem
ser exploradas. A esta abordagem prática da interligação dos diversos componentes dos
sistemas smart home IoT iremos chamar ecossistema.
A explicação dos vários componentes do ecossistema será feita com base na análise da
forma como alguns fabricantes implementarem os seus sistemas, nomeadamente a Xiaomi,
e com base no trabalho de alguns peritos que realizam testes de penetração em dispositivos
IoT, tanto dispositivos smart home, como outros dispositivos não empresariais. Depen-
dendo do fabricante, do dispositivo ou até do tipo de configuração, o ecossistema da IoT
será diferente.
A figura 2.4 ilustra alguns dos tipos de interação entre as componentes do ecossistema.
Cada uma das setas representa uma comunicação entre as componentes. As várias setas
da mesma cor representam as varias comunicações necessárias para desencadear uma ação
num dispositivo IoT. Por exemplo a aplicação para dispositivos móveis comunica direta-
mente com a ”Fechadura IoT”(setas amarelas), no entanto para interagir com a ”Lâmpada
IoT”segue o percurso das setas a verde. Existem assim dispositivos que apenas podem ser
controlados através da cloud e outros da rede interna. Existem também dispositivos que
recebem comandos de outros dispositivos, representado na figura pelas setas a preto.
No entanto os componentes que podem fazer parte dos vários tipos de ecossistemas
enquadram-se em cinco grandes grupos [64][4]:
Hardware Inclui toda a parte f́ısica do ecossistema, incluindo o firmware1 dos dispositi-
vos. Num ecossistema mı́nimo teremos sempre pelo menos um sensor, de movimento
por exemplo, ou atuador, por exemplo uma lâmpada, e um dispositivo que recebe
a informação do sensor ou envia comandos para o atuador, que pode ser um hub
central ou apenas um smartphone. Caraterizamos um sensor como um dispositivo
que coleta dados do ambiente que o rodeia, e um atuador como um mecanismo que
efetua algum tipo de ação f́ısica [65];
1Embora o firmware seja uma classe espećıfica de software, dada a sua função de interface e controlode baixo ńıvel de hardware espećıfico, optou-se por inclúı-lo neste grupo
13
-
2. IoT - Definição e conceito
Aplicação web Poderá servir tanto para configurar o dispositivo, como para o controlar
ou aceder a algumas funcionalidades. Esta aplicação encontra-se normalmente alo-
jada num servidor web disponibilizado pelo dispositivo. É muito frequente encontrar
estas aplicações web em câmaras de vigilância entre outras.
Aplicação para dispositivos móveis Este tipo de aplicação tem vindo a substituir
gradualmente as aplicações web referidas anteriormente. Estas servem os mesmos
propósitos mas com mais funcionalidades e são mais práticas de utilizar já que estão
dispońıveis diretamente no smartphone, tablet ou outro dispositivo móvel;
Rede e cloud Esta componente do ecossistema é a que mais se assemelha às arquiteturas
teóricas enumeradas anteriormente (ver secção 2.1). Engloba toda a comunicação
entre dispositivos, entre os dispositivos e as aplicações web e para dispositivos móveis,
bem como a comunicação para a cloud ;
API São um aspeto fundamental na IoT. Facilitam a integração e interoperabilidade en-
tre dispositivos, aplicações e cloud. Tornam assim posśıvel que uma determinada
aplicação controle e receba informação de vários dispositivos de vários fabricantes
[66][67]. Cada vez mais os fabricantes começam a prestar mais atenção e a disponi-
bilizar documentação sobre as suas APIs como uma forma de marketing [68].
Figura 2.4: Interação entre os diversos componentes do ecossistema smart home IoT
14
-
2.4. Impacto atual e futuro
2.4 Impacto atual e futuro
Dado o que foi já foi aqui discutido (ver secção 1.1) as tecnologias IoT terão um grande
impacto na economia dos próximos anos. A própria comissão europeia identificou a IoT
como um dos seus programas chave [69], e o concelho nacional de inteligência dos Estados
Unidos, considerou-a como uma das seis tecnologias com potencial impacto nos interesses
do páıs até 2025 [70].
A grande dúvida será se esse impacto se irá refletir no dia a dia da população, no-
meadamente, o quão rapidamente se irão adotar as tecnologias smart home IoT. Apesar
das demonstração, visões e projeções serem muito sedutoras, e as promessas de conforto,
conveniência, segurança e poupança energética, serem promissoras, quando se olha para
elas de forma pragmática surgem algumas dúvidas. Por exemplo relativamente à pou-
pança energética, existem investigadores que defendem que a poupança energética pode
nem existir [71]. Podemos deixar de nos esquecer da luz acesa, mas teremos uma série de
dispositivos a consumir energia para controlar essa luz [72]. Também ao recolhermos cada
vez mais informação, iremos necessitar de cada vez mais data centers para a armazenar e
processar [71], que também consomem energia.
Para além do impacto direto no consumidor, existe ainda uma previsão de um grande
impacto ao ńıvel da indústria. O impacto prevê-se ser tão grande que deu origem ao
termo ”Indústria 4.0”[73], sendo uma referência a uma quarta revolução industrial. Esta
revolução centra-se na interação dos equipamentos da cadeia de produção com os res-
tantes sistemas, incluindo a cadeia loǵıstica. O próprio produto em si também partilha
informação ao longo de todo o processo de produção e loǵıstico. Esta partilha de in-
formação em tempo real torna posśıvel por exemplo automatizar os ritmos de produção
de acordo com a procura em tempo real, permitindo até ao cliente final saber exatamente
quando é que o produto está dispońıvel.
A ”Indústria 4.0”pretende também revolucionar o processo de automação industrial
conectando todos os dispositivos à internet [74], partilhando eles próprios informação uns
com os outros. Esta revolução torna posśıvel por exemplo a distribuição geográfica de
fábricas com a capacidade de sincronizar as alterações e ajustes ao processo de fabrico em
tempo real.
Existem ainda várias questões sociais que se levantam. Devido a alguma complexidade
de configuração e falta de compatibilidade entre dispositivos de diferentes fabricantes,
existe a necessidade de ”domesticar”o smart home IoT [75]. É também muito importante
definir o que de facto se pretende que esta tecnologia faça e que benef́ıcios trará para a
nossa qualidade de vida. O que é que será mais importante para nós daqui a 10 anos
quando formos comprar um frigoŕıfico? Será a sua capacidade de manter os alimentos
frios e eficiência energética ou se tem ligação à internet com possibilidade de análise ao
seu conteúdo através de uma câmara?
Para além destas questões existem ainda as questões da segurança que irão ser aborda-
15
-
2. IoT - Definição e conceito
das de forma mais detalhada mais à frente (ver secção 3). Se o esṕırito consumista empur-
rar o smart home IoT para dentro das nossas casas, sem resolver os problemas de segurança
atuais, o crime informático irá ter consequências graves no nosso dia a dia. Também se se
mantiver a impossibilidade de obter atualizações regulares para os dispositivos, qual será
o destino da nossa máquina de lavar ”inteligente”que tem uma vulnerabilidade grave e o
fabricante não disponibiliza atualizações?
O que o futuro nos reserva será com certeza muito para além do que podemos imaginar.
As possibilidades que a IoT nos abre são imensas e a humanidade terá de se adaptar a elas.
O que é certo é que essas mudanças estão a acontecer já. O fim de uma relação amorosa
hoje, não passa apenas por um simples ”acabou”, passa por alterar as palavras-passe do
Facebook, Twitter, email e, talvez a mais importante, dos nossos dispositivos IoT [76]. No
capitulo seguinte iremos abordar um dos temas mais discutidos atualmente relativamente
ao smart home IoT, a segurança.
16
-
Caṕıtulo 3
Segurança no smart home IoT
The only truly secure system is one that is powered off, cast in a
block of concrete and sealed in a lead-lined room with armed guards
- and even then I have my doubts
Gene Spafford
”Internet of Vulnerabilities”[77], ”Evil Things”[43] ou ”Stupid Things”[78], são alguns
dos rótulos que a IoT já ganhou. Neste caṕıtulo iremos discutir algumas das razões que
levaram a que uma tecnologia com tanto potencial, seja considerada tão insegura. Nesta
discussão abordaremos os desafios que os dispositivos smart home IoT apresentam em
termos de segurança, bem como algumas das suas ameaças. Serão também abordadas
as principais vulnerabilidades destes dispositivos, bem como uma avaliação do risco que
estas apresentam para a segurança do ecossistema do smart home IoT. Por último serão
abordados alguns dos ciberataques reportados até agora relacionados com os dispositivos
IoT.
Tal como veremos neste caṕıtulo, não corrigir logo as falhas de segurança dos disposi-
tivos smart home IoT antes de estes começarem a ser adotados em massa pelos consumi-
dores, pode ser um grave problema para o futuro. Fazendo uma analogia com o mercado
dos smartphones observamos que a versão 5 e 5.1 do sistema operativo android, lançado
em 2014, teve a última atualização de segurança em Março de 2018 [79], no entanto é a
utilizada, em Agosto de 2018 [80], em 20% dos dispositivos android. Segundo dados de
2015 dos consumidores dos Estados Unidos [81], um smartphone era substitúıdo a cada 4,7
anos, quando um frigoŕıfico é substitúıdo a cada 13 anos e um termostato de um sistema
de aquecimento a cada 35 anos. Se compararmos estes dados, será que vamos ter um
frigoŕıfico ligado à internet que teve a última atualização de segurança há 9 anos atrás?
Ao não tornar a segurança um fator fundamental e apenas um slogan publicitário,
corre-se o risco de o consumidor ignorar por completo essas questão já que não consegue
distinguir um produto seguro de um não seguro [82]. No entanto o facto de o consumidor
continuar a confiar nas empresas após um falha de segurança é uma questão que demonstra
17
-
3. Segurança no smart home IoT
muita confiança. Mesmo após grandes problemas de segurança com a divulgação de dados
de milhões utilizadores, sites como a Ashley Madison [83] e empresas como a VTech [84],
continuam a prosperar e até com valores de mercado superiores aos que tinham antes
do ataque. A razão para este fenómeno poderá estar relacionado com o investimento
feito por estas empresas na segurança dos seus produtos após um ataque, ou com uma
despreocupação em relação à segurança por parte do consumidor.
3.1 Desafios de segurança no Smart Home IoT
Segurança é “a qualidade ou estado de estar seguro – estar livre de perigo”, ou seja, implica
“uma proteção contra adversários” [85]. O objetivo da segurança informática é garantir a
segurança da informação que é gerida pelo sistema informático. No entanto a segurança
da informação a todo o momento é algo imposśıvel de atingir. Esta complexidade leva
a considerar a segurança da informação como uma arte, uma ciência ou até uma ciência
social [85]. Esta ”arte”tem como objetivo garantir [85]:
• a confidencialidade implementando mecanismos que se certifiquem que a informaçãoapenas é acedida por quem está autorizado;
• a integridade de forma a manter a informação integra e completa;
• a disponibilidade mantendo a informação acesśıvel no momento em que é ne-cessária;
• o não repúdio assegurando a autoria da informação.Qualquer departamento de informática numa empresa tem estes objetivos em mente.
No entanto os sistemas smart home IoT são instalados e mantidos pelos utilizadores, a
grande maioria deles sem nenhuma consciencialização sobre segurança informática.
Os sistemas IoT, em especial os smart home, partilham as carateŕısticas de uma rede
de computadores convencional, logo partilham também os mesmos problemas de segu-
rança. Apesar de as redes domésticas serem uma realidade há muito tempo, estas eram
constitúıdas essencialmente por computadores, e mais recentemente por smartphones e
tablets. No entanto estes dispositivos têm uma maior capacidade de processamento, têm
sistemas operativos mais robustos e são constantemente monitorizados pelos utilizado-
res. Os dispositivos IoT, incluindo os smart home, são exatamente o oposto. Existem
assim vários constrangimentos que levam a que as medidas convencionais de segurança
não possam ser aplicadas de forma simples [86]:
a) Os dispositivos IoT têm geralmente processadores com pouca capacidade de proces-
samento e muitos operam através de baterias. Os algoritmos de criptografia contem-
porâneos requerem uma rápida computação, logo não podem ser importados direta-
mente para estes dispositivos;
18
-
3.2. Ameaças à segurança do smart home IoT e potencial impacto da sua concretização
b) Os dispositivos IoT têm normalmente muito pouca memória. Os esquemas de segurança
convencionais não estão desenhados para dispositivos com restrições de memória;
c) Os dispositivos IoT usam geralmente comunicações de rádio com pouco débito, tornando-
se incompat́ıveis com os esquemas de segurança tradicionais;
d) A instalação de atualizações de segurança nos dispositivos IoT pode ser algo impra-
ticável, dado que os sistemas operativos minimalistas destes dispositivos podem não
conter funcionalidades que permitam a integração de novo código ou bibliotecas;
e) Os dispositivos IoT portáteis podem juntar-se ou sair de uma rede sem qualquer tipo
de configuração prévia. Estas mudanças constantes na topologia da rede podem afetar
a performance dos esquemas de segurança existentes;
f) O universo IoT é composto por diferentes tipos de dispositivos que vão desde com-
putadores até cartões RFID, passando por uma vasta rede de protocolos wireless tais
como WiFi, Zigbee, Z-Wave, entre outros. Das soluções de segurança atuais, é dif́ıcil
encontrar uma que consiga acomodar esta diversidade de dispositivos tão heterogéneos.
Para além destes constrangimentos temos ainda as questões t́ıpicas quando se imple-
mentam medidas de segurança. Se uma determinada empresa implementar mecanismos
de segurança muito restritos, por exemplo com palavras-passe muito complexas e que tem
que ser mudadas mensalmente, o mais certo é que os utilizadores comecem a escrevê-las
em post-its. O mesmo se passa com os dispositivos IoT, especialmente os direcionados
para o consumidor tais como os smart home. Um determinado dispositivo até pode ser
muito seguro, no entanto, é preciso que as medidas de segurança não comprometam em
demasia a usabilidade do dispositivo.
Apesar destas dificuldades, ou talvez devido ao facto de ser um grande desafio, a
comunidade cient́ıfica e académica tem prestado um grande contributo propondo várias
soluções para os problemas de segurança da IoT [87].
3.2 Ameaças à segurança do smart home IoT e potencial
impacto da sua concretização
Uma ameaça é definida como ”um objeto, pessoa ou outra entidade que representa um
perigo para um determinado bem” [85]. Os dispositivos smart home IoT estão sujeitos a
múltiplas ameaças devido à heterogeneidade do seu ecossistema (ver secção 2.3). Graças
à sua semelhança com as redes de computadores tradicionais (ver secção 3.1), as redes
smart home IoT partilham também algumas das ameaças dessas redes, juntamente com
outras ameaças especificas, nomeadamente [88][89]:
• Escuta não autorizada(Eavesdropping) - Um atacante pode escutar e moni-torizar de forma não autorizada as comunicações entre os dispositivos smart home
19
-
3. Segurança no smart home IoT
IoT. Estas comunicações podem conter informação confidencial que os residentes não
pretendem que seja divulgada a pessoas não autorizadas;
• Masquerading - Um atacante pode apoderar-se de determinados privilégios fazendo-se passar por um utilizador autorizado. O sistema pensa assim que está a comunicar
com um determinado utilizador e de facto não está;
• Replay attack - Um atacante, primeiro apodera-se de mensagens que estão a sertrocadas entre duas entidade leǵıtimas, e depois transmite-as mais tarde como um
elemento não autorizado. O atacante pode por exemplo intercetar um pedido para
abrir uma porta, e enviá-lo posteriormente;
• Negação de serviço(DDoS\DDoS) - Acontece quando um atacante pretendetornar um determinado serviço indispońıvel ou reduzir a sua disponibilidade para os
utilizadores leǵıtimos;
• Código malicioso(Malware) São programas que tem como objetivo explorar asvulnerabilidades dos sistemas. São utilizados para alterar, destruir ou obter in-
formação para além de permitirem aceder de forma não autorizada aos dispositivos;
• Exploração das fragilidades do sistema - Um atacante pode aproveitar asfragilidades do sistema para executar comandos, obter acesso ao sistema ou aceder
a informação. Nos dispositivos smart home IoT uma das fragilidades mais comuns
são serviços expostos na internet sem autenticação ou com palavras-passe inseguras.
Tal como numa rede empresarial, a segurança do sistema é tão forte quanto a do seu elo
mais fraco. Não vale a pena estarmos a investir milhares de euros em sistemas de firewall
extremamente robustos, quando a porta do datacenter está sempre aberta. Nos sistema
smart home IoT acontece o mesmo. Um exemplo deste tipo de problemas foi identificado
por investigadores da Trend Micro. Estes encontraram uma vulnerabilidade em algumas
colunas IoT da reputada marca Sonos. Estas permitiam reproduzir ficheiros de audio de
forma não autenticada passando apenas um URL. Um atacante podia mandar a coluna
reproduzir um ficheiro de áudio com um comando de voz que ativasse uma das assistentes
IoT(”Alexa”, ”Siri”, entre outras) da residência, por exemplo, ”Alexa, abre a porta da
frente”. Este seria uma nova abordagem a um ataque clássico de privilege escalation.
Numa rede informática tradicional, a concretização de algumas das ameaças apresen-
tadas levaria essencialmente a uma violação da confidencialidade, integridade, disponibili-
dade ou não repudio da informação gerida pelo sistema. No entanto no caso dos sistemas
smart home IoT estamos a falar de dispositivos que podem ameaçar a integridade f́ısica
das pessoas. Ou seja, temos ações no mundo do ciberespaço com consequências no mundo
real. Alguns destes ataques que ultrapassam as barreiras do ciberespaço são [14]:
• Determinar quais as casas mais lucrativas para um assalto através das câmaras IP;
• Verificar ou não se uma casa está ocupada e por quem, através dos vários sensoresespalhados pela casa;
20
-
3.3. Principais vulnerabilidades no smart home IoT
• Aumentar a temperatura do termostato quando não está ninguém em casa de formaa causar impactos financeiros;
• Manipular a máquina de lavar para causar uma inundação;
• Afetar comunidades inteiras através do ataque coordenado a vários dispositivos deforma a sobrecarregar a rede energética.
No entanto é muito pouco provável que alguém efetue algum ataque deste tipo a uma
casa, já que eram necessárias motivações muito espećıficas. A principal ameaça serão os
ataques em massa que não tem uma habitação como alvo mas sim um tipo de dispositivo
que apresente determinadas carateŕısticas. Isto porque um ataque deste género será mais
dif́ıcil de investigar e terá um maior impacto. Um claro exemplo disto são os ataques de
ransomware.
Mesmo quem não possui dispositivos smart home IoT pode ser afetado por um ata-
que a estes dispositivos, sendo o ataque DDoS da bootnet Mirai um claro exemplo disso
(ver secção 3.4). Esta era composta essencialmente por câmaras de segurança que ti-
nham vulnerabilidades facilmente exploráveis. Investigadores [90] também já alertaram
para o facto de que se for criada uma bootnet com um número suficiente de dispositivos
que tenham um grande consumo energético, tais como aquecedores, ar condicionados ou
caldeiras, é posśıvel causar uma apagão. Os investigadores conclúıram que numa grande
rede energética, como a da Califórnia ou do Canadá, numa altura de grande consumo
energético como o verão, um aumento abrupto no consumo de cerca de 1% é suficiente
para causar falhas no sistema de distribuição da rede elétrica [91].
3.3 Principais vulnerabilidades no smart home IoT
Constantemente somos bombardeados com anúncios sobre a insegurança da IoT. ”Milhões
de dispositivos de streaming estão vulneráveis”[92], ”Dispositivos IoT são fáceis de atacar”[93],
”Ataques a pacemakers, bombas de insulina e sinais vitais de pacientes em tempo real”[94],
”A maioria dos dispositivos IoT pode cair nas mãos de uma bootnet”[95] ou ”Risco para
a segurança das crianças ao utilizarem brinquedos ligados à internet”[96], são alguns dos
t́ıtulos de not́ıcias que pregam o apocalipse causado pela IoT.
O que iremos analisar nesta secção são quais as principais vulnerabilidades que podem
ser exploradas para concretizar as ameaças que se ouvem nas not́ıcias, bem como qual o
ńıvel de risco que essas vulnerabilidades apresentam. Serão apresentadas as vulnerabili-
dades para cada um dos componentes do ecossistema do smart home IoT (ver secção 2.3).
Algumas destas vulnerabilidades poderão ser também válidas para outros sistemas IoT
que não smart home como por exemplo carros [97], armas [98], ou outros dispositivos que
por alguma razão tenha um ponto de acesso WiFi [99].
Em jeito de resumo as vulnerabilidades que apresentam um maior risco para a segu-
rança do smart home IoT são:
21
-
3. Segurança no smart home IoT
• Falta de atualizações ao firmware dos dispositivos.
• Autenticação insegura ou inexistente na aplicação web;
• Autenticação insegura ou inexistente em serviços;
• Exposição incorreta de serviços na internet;
• Comunicações inseguras.
3.3.1 Vulnerabilidades no hardware
Um dispositivo IoT é constitúıdo por uma combinação de duas componentes: o hardware
e o software. O que permite a comunicação entre estas duas componentes é o firmware.
Este tipo de software é gravado de forma permanente no dispositivo, sendo por isso consi-
derado como uma das parte do hardware. Os ataques ao hardware tem normalmente como
objetivo:
• Explorar vulnerabilidades no firmware;
• Substituir o firmware original por um modificado;
• Corromper o sistema operativo ou o firmware de modo a colocá-lo num estado derecuperação (Recovery mode);
• Extrair o firmware do dispositivo de modo a analisá-lo e encontrar vulnerabilidadesno dispositivo ou noutras componentes do ecossistema.
Na sua grande maioria, quando explorados com sucesso, os ataques ao hardware com-
prometem de forma total a segurança do próprio dispositivo, e em algumas situações, a
segurança de todo o sistema IoT. Por exemplo, no caso dos sistemas smart home IoT ao
explorar uma falha no hardware do hub de controlo do sistema, será posśıvel controlar
todos os restantes dispositivos já que estes ”confiam”nesse dispositivo [100]. Apesar do
sucesso destes ataques ter normalmente consequências catastróficas, o risco acaba por ser
baixo. Isto porque, à exceção de algumas vulnerabilidades no firmware, estes ataques
exploram essencialmente vulnerabilidades que implicam o acesso f́ısico ao dispositivo.
No caso de dispositivos IoT empresariais, o risco será mais elevado já que as ameaças
serão diferentes e a questão da segurança f́ısica dos dispositivos e da sua idoneidade são
preocupações presentes [101]. Quanto aos sistemas smart home IoT, poder-se-á afirmar
que no caso da compra de dispositivos usados ou que não estejam selados, poderá existir
um risco maior já que estes podem ter sido adulterados[102].
Algumas das vulnerabilidades mais comuns no hardware dos dispositivos dispositivos
smart home IoT são as seguintes [103][87][104][41][105]:
• Unidade de armazenamento desprotegida - Falta de proteção da unidadede armazenado permitindo que mesma possa ser removida do dispositivo e lida ex-
ternamente. Esta vulnerabilidade torna posśıvel extrair informação de forma não
autorizada do dispositivo, nomeadamente dados pessoais, já que é também comum
22
-
3.3. Principais vulnerabilidades no smart home IoT
que a mesma não esteja cifrada ou que esteja cifrada com chaves conhecidas e comuns
a muitos outros dispositivos.
A exploração desta vulnerabilidade terá um risco baixo já que necessita de acesso
f́ısico ao dispositivo, para além da posśıvel inutilização do mesmo durante o processo
de desmontagem.
• Pinos UART ou JTAG acesśıveis - A grande maioria dos dispositivos vem compinos UART ou JTAG completamente acesśıveis e identificados nas placas de circuito
(ver figura 3.1). Os pinos permitem comunicar com os vários componentes que estão
na placa e são utilizados durante o processo de desenvolvimento do dispositivo como
forma de efetuar um debug caso surjam erros. Estes são normalmente deixados
desprotegidos e permitem aceder ao firmware do dispositivo, alterar o boot ou até
permitir o acesso direto a uma consola com acesso root.
A equipa GTVHacker tem documentadas dezenas de ataques a dispositivos IoT
explorando vulnerabilidades em pinos UART [104]. É também normalmente através
do acesso a estes pinos que o firmware do dispositivo acaba por ser extráıdo para ser
analisado, e posteriormente utilizada a informação recolhida para encontrar outras
vulnerabilidades, ou alterado e escrito novamente no dispositivo.
Tal como a vulnerabilidade anterior, esta terá um risco baixo já que necessita de
acesso f́ısico ao dispositivo, para além da desmontagem e risco de inutilização do
mesmo.
Figura 3.1: Pinos JTAG (à esquerda) e UART (à direita) [4]
• Falta de proteção contra manipulação - Muitos dos dispositivos acabam porser facilmente desmontados sem ser necessário recorrer a ferramentas especificas.
Isto pode ser bom no caso de se pretender reparar o dispositivo, no entanto também
facilita quando se pretende adulterar o mesmo. Torna-se assim dif́ıcil perceber se
um dispositivo já foi desmontado ou não.
23
-
3. Segurança no smart home IoT
Mais uma vez, esta vulnerabilidade terá um risco baixo no caso dos dispositivos
smart home IoT, sendo no entanto um pouco maior no caso de se tratar de um
dispositivo em segunda mão.
• Dispositivo não configurado - Alguns dispositivos de modo a permitir a suaconfiguração, tem um ponto de acesso WiFi que anunciam até estarem configurados.
O que se tem verificado é que algumas pessoas compram os dispositivos e depois
acabam por não os configurar, porque não pretendem ou não sabem utilizar as
funcionalidades adicionais. O problema é que existem dispositivos que tem este
ponto de acesso WiFi completamente aberto, permitindo a que qualquer pessoa
dentro do alcance da rede WiFi o configure e o controle [106].
O risco aumenta porque existem sites como a Wigle.net (https://www.wigle.net/)
que possui uma base de dados de mais de 450 milhões de redes WiFi. Esta permite
pesquisar pelo SSID dessas redes dos dispositivos, já que normalmente, ou é o mesmo
para todos os dispositivos daquele modelo, ou obedece a um padrão.
O risco de exploração desta vulnerabilidade é moderado, uma vez que implica sempre
estar no alcance da rede WiFi, e existem dispositivos que desligam esta rede WiFi
ao fim de algum tempo de estarem ligados mesmo sem estarem ainda configurados.
Vulnerabilidades no firmware
Considerando também o firmware como parte do hardware, é nele que acabam por cair
grande parte das culpas pelas vulnerabilidades. Muitas vezes reporta-se que o firmware
do dispositivo é vulnerável, no entanto acaba por não ser o firmware que é vulnerável, mas
sim alguma componente, serviço ou até o próprio sistema operativo. No entanto, como
estes não podem ser atualizados de forma autónoma, a única forma de os corrigir é através
de uma atualização do firmware.
Apresentamos então algumas das vulnerabilidades mais comuns no firmware [103][87]
[104][41][105]:
• Exposição de informação senśıvel - Muitas vezes durante o processo de desen-volvimento de software são colocadas algumas informações diretamente no código
de forma a agilizar a programação. Outras vezes trata-se apenas de mau desen-
volvimento ou formas mais rápidas e nada seguras de fazer as coisas. Seja porque
razão for, muitos dispositivos acabam por conter informações senśıveis diretamente
no código do firmware tais como credenciais de acesso, chaves de encriptação, URLs
entre outras informações. O risco aumenta ainda mais quando estas informações são
comuns a uma série de dispositivos [107]. A análise do firmware é uma das principais
formas de descobrir outras vulnerabilidades nos dispositivos.
Devido aos inúmeros casos já identificados onde esta vulnerabilidade foi detetada, e
como o firmware pode ser obtido sem acesso ao dispositivo, em algumas situações
até diretamente da página do fabricante, o risco de exploração desta vulnerabilidade
24
https://www.wigle.net/
-
3.3. Principais vulnerabilidades no smart home IoT
é elevado. Acaba por não ser uma vulnerabilidade que afete diretamente a segurança
do dispositivo ou do ecossistema, mas fornece informações que permitem explorar
outras vulnerabilidades.
• Falta de atualizações ao firmware - Tal como já foi referido (ver secção 3.1),a falta de atualizações ao firmware nos dispositivos IoT leva a que muitas das vul-
nerabilidades não possam ser corrigidas. Irão sempre existir vulnerabilidades em
qualquer dispositivo, seja ele IoT ou não, a única forma de as corrigir é através de
uma atualização, que no caso destes dispositivos, envolve quase sempre uma atua-
lização do firmware. Esta é talvez a principal vulnerabilidade dos dispositivos IoT,
basta ser descoberta alguma vulnerabilidade e não existir ou não ser posśıvel atua-
lizar o firmware para comprometer a segurança do dispositivo. O ńıvel de risco irá
depender do tipo de vulnerabilidade, se esta puder ser explorada através da internet,
aumentará em muito a probabilidade de o dispositivo ser atacado por uma bootnet.
• Processo de atualização do firmware inseguro - Para além de ser muito impor-tante implementar mecanismos de atualização do firmware, é também importante
garantir que o firmware que está a ser instalado não foi adulterado, normalmente
recorrendo a assinaturas digitais. Este processo é largamente utilizado nos sistema
informáticos, e quando bem implementado, inviolável. No entanto muitos dispositi-
vos, ou não possuem esquemas de verificação do firmware, implementam métodos de
assinatura inseguros ou não seguram de forma correta as chaves criptográficas. Sem
esta correta verificação, é posśıvel, juntamente com vulnerabilidades na rede em que
o dispositivo está inserido, instalar um firmware adulterado de forma remota [108].
O ńıvel de risco desta vulnerabilidade acaba por ser reduzido já que será necessário
ter acesso à rede do dispositivos e explorar outras vulnerabilidades de modo a con-
seguir levar o dispositivo a instalar um firmware adulterado.
• Vulnerabilidades no SO - Como foi discutido inicialmente, o fimware inclui todoo software que corre no dispositivo, incluindo o sistema operativo. Logo qualquer
vulnerabilidade no sistema operativo, nas suas componentes ou nos serviços que lá
correm será uma vulnerabilidade que só poderá ser corrigida com uma atualização de
firmware. Como veremos na secção 3.4, muitos dos ataques a dispositivos IoT tiram
partido das vulnerabilidades nos serviços que estes disponibilizam, muitos deles até
são acesśıveis através da internet.
Os principais alvos são os serviços de telnet ou SSH que frequentemente tem palavras-
passe fracas ou conhecidas. Outros serviços também podem ser vulneráveis, princi-
palmente os que aceitam comandos sem primeiro solicitarem autenticação [109], ou
que não utilizam comunicações cifradas. Este tipo de vulnerabilidades são as mais
exploradas nos dispositivos IoT e são o alvo preferido das bootnets, principalmente
as vulnerabilidades nos serviços que estão expostos na internet.
25
-
3. Segurança no smart home IoT
3.3.2 Vulnerabilidades na aplicação web
Há muito tempo que os sites ou aplicações web são alvo de ataques e muitas vezes a porta
de entrada para uma rede informática. Devido a isso existe uma preocupação acrescida
com estes, especialmente aqueles que recolhem alguma informação através de caixas de
texto ou outros campos de introdução de dados. No entanto, muitas destas vulnerabili-
dades já conhecidas e facilmente evitáveis, estão presentes em algumas das aplicações web
dos dispositivos IoT. Isto acontece porque não é dada a devida importância à segurança
durante o processo de desenvolvimento dos dispositivos.
Qualquer dispositivo IoT com uma aplicação web acesśıvel através da internet terá
certamente dezenas de ataques diários. Estas representam assim um risco muito elevado
para a segurança dos sistemas IoT. O projeto OWASP classificou as vulnerabilidades nas
aplicações web de administração dos dispositivos IoT, como as mais graves numa lista de
10 [110]. Algumas das vulnerabilidades mais comuns são [103][87][104][105]:
SQL Injection Esta vulnerabilidade permite correr código SQL de forma não autorizada
com o objetivo de alterar ou ler uma base de dados ou levar um dispositivo a executar
código de forma não autorizada. Uma das formas mais comuns de explorar esta
vulnerabilidade é utilizar a página de autenticação de uma aplicação web para revelar
informações da base de dados através de querys SQL, ou ultrapassar uma página de
autenticação (ver figura 3.2). Existem também alguns dispositivos que recebem as
suas configurações através de instruções SQL algumas vezes até da aplicação para
dispositivos móveis. Já foram descobertas vulnerabilidades que permitiam ter acesso
de administrador ao dispositivo através da execução de malware enviado recorrendo
a instruções SQL [111].
Caso o dispositivo tenha uma base de dados que sirva de suporte à aplicação web o
risco de exploração deste tipo de vulnerabilidade será baixo, se a aplicação apenas
for acesśıvel através da rede interna. No entanto se puder ser acedida externamente,
ou se existir outra vulnerabilidade que permita o acesso à rede interna, o risco é
extremamente elevado e será uma questão de tempo até que esta vulnerabilidade
seja explorada.
CROSS-Site Scripting(XSS) Uma vulnerabilidade bastante conhecida e que ganha no-
vos contornos com os dispositivos IoT. Esta consiste em levar a que um browser
execute código malicioso ao carregar uma página ou aplicação web. Por exemplo
uma página que publique o que os utilizadores escrevem, como o Facebook. Se
alguém conseguir introduzir código malicioso através de uma publicação, qualquer
pessoa que visite aquele perfil pode ficar infetada, já que o seu browser vai correr
o código. Este código malicioso pode ser utilizado para vários fins, nomeadamente
para descarregar um malware, roubar os cookies de autenticação, entre outras pos-
sibilidades. No entanto existem vulnerabilidades que permitem efetuar este ataque
26
-
3.3. Principais vulnerabilidades no smart home IoT
Figura 3.2: Exemplo de um ataque de SQL injection para ultrapassar a validação dapalavra-passe do utilizador [5]
sem ser necessário levar o utilizar a abrir uma página ou seguir uma determinada
URL [112].
Esta vulnerabilidade é comum nas aplicações web dos dispositivos IoT. Terá um risco
baixo caso a aplicação web apenas seja acesśıvel através da rede interna. No entanto
se puder ser acedida externamente, ou se existir outra vulnerabilidade que permita o
acesso à rede interna, o risco é extremamente elevado e será uma questão de tempo
até esta vulnerabilidade ser explorada.
Autenticação insegura ou inexistente A grande maioria dos dispositivos vem com
contas de acesso ao dispositivo já configuradas com palavras-passe inseguras e co-
nhecidas. Para além disso não possuem sistemas de bloqueio de contas após várias
tentativas de acesso, permitindo assim que se faça um ataque de força bruta ao sis-
tema de autenticação. A grande demonstração do impacto desta vulnerabilidade são
as páginas web onde é posśıvel aceder ao stream de v́ıdeo em direto de câmaras IP.
O motor de busca Shodan [113] dedica-se a indexar milhares de dispositivos IoT com
portos abertos para a internet. Através deste motor de busca é posśıvel encontrar
milhares de aplicações web de câmaras IP, muitas delas com as palavras-passe por
defeito. Esta vulnerabilidade é normalmente a primeira a ser explorada já que é a
mais fácil. A partir do momento em que o dispositivo seja indexado por algum motor
de busca como o Shodan, é uma questão de tempo até que esta vulnerabilidade seja
explorada.
3.3.3 Vulnerabilidades na aplicação para dispositivos móveis
A grande maioria (senão todos) dos dispositivos smart home IoT tem uma aplicação para
smartphone ou tablet. No entanto este tipo de aplicações também apresenta vulnerabili-
27
-
3. Segurança no smart home IoT
dades. Par