instituto politécnico de beja - vulnerabilidades em dispositivos … · 2019-03-19 · instituto...

175
INSTITUTO POLIT ´ ECNICO DE BEJA Escola Superior de Tecnologia e Gest˜ ao Mestrado em Engenharia de Seguran¸ ca Inform´ atica Vulnerabilidades em Dispositivos IoT para Ambiente Smart Home Lu´ ıs Carlos Gon¸ calves Costa 2018

Upload: others

Post on 31-May-2020

3 views

Category:

Documents


0 download

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