Cybersecurity in Internet of Things - Leal, Roberto Emanuel Fernandes (2021)
Um sistema Internet of Things (IoT) tem um largo leque de aplicações e de ambientes de utilização, isto é, desde uma rede doméstica a uma rede industrial, ou desde uma rede com alguns dispositivos IoT a uma rede com milhares de dispositivos IoT. Os dispositivos que estão presentes nos sistemas IoT podem ter características diversas, por exemplo, diferentes versões de sistemas operativos instalados e diferentes capacidades e recursos disponíveis. Em suma, um sistema IoT pode apresentar um elevando nível de heterogeneidade. De forma a facilitar e a normalizar a operação dos sistemas IoT, existem vários tipos de standards e de protocolos que podem ser utilizados, tais como, o Message Queuing Telemetry Transport (MQTT), que não é específico para um sistema IoT mas que pela sua simplicidade é bastante utilizado, e a sua variante segura o Message Queuing Telemetry Transport over TLS (MQTTS). As utilizações do MQTT e do MQTTS facilitam a uniformização e a comunicação entre os vários dispositivos IoT. Estes sistemas IoT, são compostos por vários dispositivos IoT. Estes caracterizam-se por terem fracos recursos de hardware, nomeadamente ao nível da capacidade de memória Random-Access Memory (RAM) ou Read-Only Memory (ROM), de processamento e de armazenamento em disco. Estes dispositivos estão frequentemente expostos a ambientes exteriores e, por isso, estão mais vulneráveis a ataques à sua integridade e disponibilidade, bem como, à informação por si recolhida e transmitida. A monitorização do tráfego e a deteção das anomalias podem dar um forte contributo para a mitigação destas ameaças, podendo ser efetuadas através de soluções do tipo Intrusion Detection System (IDS). Estas soluções são caracterizadas por causar um baixo impacto no desempenho dos sistemas IoT e, por isso, representam uma solução interessante de integração neste tipo de sistemas. No entanto, é essencial que os sistemas de IDS tenham na sua base de dados interna as especificações, as regras e os comportamentos necessários para analisar o tráfego que flui num sistema IoT. É neste âmbito que se enquadra este trabalho, nomeadamente na análise, na caracterização e na avaliação das especificações do tráfego gerado pelos aplicativos MQTT e MQTTS, tendo-se determinado os Information Elements (IE) mais relevantes a considerado e criado um cenário de testes capaz de capturar esses IE. Posteriormente, esses IE foram analisados com o intuito de caracterizar de forma generalista o tráfego MQTT e o tráfego MQTTS.