Dissertação

{en_GB=Analysis of IoT devices via API Exploitation and Model Extraction} {} EVALUATED

{pt=Ao longo dos últimos anos temos assistido a uma grande expansão dos dispositivos IoT´s (Internet of Things) em diferentes áreas, levando a um aumento exponencial na produção de dispositivos como smartwatches, smart TVs, frigoríficos inteligentes, carros inteligentes entre outros. A grande maioria dos utilizadores de IoT´s não está ciente, que o desenvolvimento e produção de muitos destes produtos são apressados de forma a chegarem ao mercado o mais rápido possível, pelo por vezes os testes poderão não ser efectuados de forma adequada. Este problema poderá ser exacerbado no futuro devido à previsível explosão na utilização dos IoT´s e ao aumento da complexidade na sua utilização. Nesta tese desenvolvemos uma ferramenta que vai efetuar testes automáticos aos dispositivos IoT´s através de uma combinação de sequências de métodos com testes do tipo black-box. No final a ferramenta produz um modelo que contém as sequências onde foram detetados problemas. As sequências em conjunto com os logs produzidos pela ferramenta, ajudam a recriar os problemas. Esta ferramenta testa todos os métodos presentes na API do IoT em diferentes estados internos. Testes black-box são utilizados para testar o último método da sequência, uma vez que o objetivo destas sequências é alterar o estado interno do dispositivo de modo a testarmos os métodos em diferentes condições. Esta metodologia de testes permite maximizar o número de situações que se possam expor comportamentos não desejados no dispositivo que está a ser testado., en=In the last few of years there has been a great expansion in the development of the Internet of Things (IoT) on different areas, with a great increase in the production of new devices like smartwatches, smart TVs, Internet refrigerators, smart light bulbs and many more. The great majority of the IoT consumers are not aware that many of these products are rushed to the market and extensive testing is not always performed. This problem will get worse in the future, due to the foreseen increase of IoT devices and their complexity, which will also increase the possibility of errors in the software of these devices. Over the course of this thesis we developed a new tool that automatically tests the IoT devices through a combination of method sequences and black-box testing. Also at the end of the testing, the tool generates a model that exhibits the sequences with problems. In order for the user to have a better understanding of these problems, the tool produces logs that together with the model allow him to recreate the problems found during the tests. The tool tests every method in different internal states of the IoT device that it is able to reach. These sequences have the objective of setting the device into different internal states to exercise the methods in different environments. The goal of this test methodology is to attempt to maximize the number of scenarios that correspond to unintended behavior of the devices.}
{pt=IoT, Testes de API, Testes de caixa-preta, Inferência de modelos, fuzzing, REST, en=IoT, API testing, black-box testing, model inference, fuzzing, REST}

Novembro 8, 2018, 10:30

Publicação

Obra sujeita a Direitos de Autor

Orientação

ORIENTADOR

Pedro Miguel dos Santos Alves Madeira Adão

Departamento de Engenharia Informática (DEI)

Professor Auxiliar