This repository has the code and dataset used in the paper: RITA: Automatic Framework for Designing of Resilient IoT Applications.
The paper can be downloaded here
Luis Eduardo Pessoa, Cristovao Iglesias, Claudio Miceli
Designing resilient Internet of Things (IoT) systems requires i) identification of IoT Critical Objects (ICOs) such as services, devices, and resources, ii) threat analysis, and iii) mitigation strategy selection. However, the traditional process for designing resilient IoT systems is still manual, leading to inefficiencies and increased risks. In addition, while tools such as ChatGPT could support this manual and highly error-prone process, their use raises concerns over data privacy, inconsistent outputs, and internet dependence. Therefore, we propose RITA, an automated, open-source framework that uses a fine-tuned RoBERTa-based Named Entity Recognition (NER) model to iden- tify ICOs from IoT requirement documents, correlate threats, and recommend countermeasures. RITA operates entirely offline and can be deployed on-site, safeguarding sensitive information and delivering consistent outputs that enhance standardization. In our empirical evaluation, RITA outperformed ChatGPT in four of seven ICO categories, particularly in actuator, sensor, network resource, and service identification, using both human-annotated and ChatGPT-generated test data. These findings indicate that RITA can improve resilient IoT design by effectively supporting key security operations, offering a practical solution for developing robust IoT architectures.
A vídeo teaching how to use the platform can be found here.
A demo of the application can be found here.
Execute the deploy scripts in order as follows:
- Download the
targetfolder from here and place it inside thener_modelfolder. Thetargetfolder contains the trained model and was not provided inside github due to it's size. - Execute database/deploy.sh
- Execute client/deploy.sh
- Execute backend/deploy.sh
The empirical evaluation was done using a dashboard, which can be found here.
The trained model can be downloaded from here.
The address below enables any Anvil user to generate a copy of the frontend project: