Orientador: Profa. Dra. Michele Nogueira LimaDissertação (mestrado) - Universidade Federal do Paraná, Setor de Ciências Exatas, Programa de Pós-Graduação em Informática. Defesa : Curitiba, 30/09/2022Inclui referênciasResumo: A Internet das Coisas (do inglês, Internet of Things - IoT) é composta por dispositivos computacionais embarcados em objetos comuns do cotidiano, conectados á Internet. A IoT é um paradigma de rede com dispositivos sem fio, recursos computacionais e energéticos limitados. Os inúmeros benefícios da IoT passam pela coleta, transmissão e processamento de dados sensíveis sobre os usuários, por exemplo, a sua localização geográfica ou as condições fisiológicas. A IoT vem sendo alvo de atacantes que comprometem a segurança e a privacidade dos usuários. Os atacantes exploram vulnerabilidades para efetivar o ataque em si. Estas vulnerabilidades consistem em falhas de segurança, que comprometem a integridade dos dispositivos, como "senhas padrões" e transferência de dados sem criptografia. Na literatura, os trabalhos apresentam técnicas de detecção de vulnerabilidades baseadas em análises de código do software, na coleta de dados a partir dos componentes de hardware ou do tráfego de rede. Os trabalhos que detectam vulnerabilidades a partir do hardware e software necessitam de acesso físico aos dispositivos e solucionar os problemas encontrados neste contexto exige alterações de códigos proprietários ou são custosas para os usuários finais, que precisarão trocar os equipamentos vulneráveis por equipamentos modificados mais seguros. Os trabalhos que analisam o tráfego de rede atuam remotamente e as vulnerabilidades encontradas podem ser tratadas sem modificações nos dispositivos. No entanto, as soluções de rede detectam principalmente ataques em execução e não as vulnerabilidades que os levam a serem efetivos. Deste modo, este trabalho apresenta um estudo sobre a detecção de vulnerabilidades de segurança em redes IoT e propõe um método de detecção de vulnerabilidade a fim de auxiliar na prevenção dos ataques. O método proposto detecta vulnerabilidades de segurança por meio do cálculo da entropia e permite a análise da incerteza das informações contidas no tráfego de rede e a identificação dos fluxos provenientes de dispositivos inseguros. Além disso, o método tem como base modelos de aprendizado de máquina rotulados pelo resultado da entropia e usa classificadores para identificar automaticamente os dispositivos vulneráveis recebendo como entrada as características estatísticas extraídas do tráfego. A avaliação de desempenho foi conduzida experimentalmente por meio da análise do tráfego de rede de IoT, considerando um cenário experimental e um cenário orientado a traços. Ambos os cenários foram avaliados offline e stream. Com base nos conjuntos de dados de cada cenário, é extraído as características de rede, criado as tuplas de fluxo, calculado a entropia para rotulagem dos dados e classificam-se os fluxos. Os resultados mostram a eficiência do método com até 99% de precisão na identificação de dispositivos vulneráveis. Além disso, os resultados apontam ser possível rotular e treinar uma base de dados de acordo com a entropia, e assim criar modelos capazes de identificar dispositivos vulneráveis que não possuem técnicas de criptografia na sua comunicação.Abstract: The Internet of Things (IoT) is composed of computing devices embedded in common everyday objects, connected to the Internet. IoT is a network paradigm with wireless devices, limited computing, and energy resources. The numerous benefits of IoT include the collection, transmission, and processing of sensitive data about users, for example, their geographic location or physiological conditions. The IoT has been targeted by attackers who compromise the security and privacy of users. Attackers exploit vulnerabilities to carry out the attack itself. These vulnerabilities consist of security flaws that compromise the integrity of devices, such as "default passwords" and unencrypted data transfer. In the literature, works present vulnerability detection techniques based on software code analysis, and data collection from hardware components or network traffic. Work that detects vulnerabilities from hardware and software requires physical access to the devices and solving the problems found in this context requires changes to proprietary codes or is costly for end users, who will need to exchange vulnerable equipment for more secure modified equipment. Jobs that analyze network traffic work remotely and vulnerabilities found can be addressed without modifying the devices. However, network solutions primarily detect running attacks and not the vulnerabilities that make them effective. Thus, this work presents a study on the detection of security vulnerabilities in IoT networks and proposes a vulnerability detection method to help prevent attacks. The proposed method detects security vulnerabilities through entropy calculation and allows the analysis of the uncertainty of the information contained in the network traffic and the identification of flows coming from insecure devices. In addition, the method is based on machine learning models labeled by the entropy result. It uses classifiers to automatically identify vulnerable devices receiving as input the statistical characteristics extracted from the traffic. The performance evaluation was experimentally conducted through the analysis of IoT network traffic, considering an experimental scenario and a trace-oriented scenario. Both scenarios were evaluated offline and streamed. Based on the data sets of each scenario, the network characteristics are extracted, flow tuples are created, entropy is calculated for data labeling and the flows are classified. The results show the efficiency of the method with up to 99% accuracy in identifying vulnerable devices. In addition, the results indicate that it is possible to label and train a database according to entropy, thus creating models capable of identifying vulnerable devices that do not have encryption techniques in their communication