Cargando…

iDetect for vulnerability detection in internet of things operating systems using machine learning

Internet of Things (IoT) 's devices are ubiquitous and operate in a heterogonous environment with potential security breaches. IoT Operating Systems (IoT OSs) are the backbone software for running such devices. If IoT OSs are vulnerable to security breaches, higher-level security measures may n...

Descripción completa

Detalles Bibliográficos
Autores principales: Al-Boghdady, Abdullah, El-Ramly, Mohammad, Wassif, Khaled
Formato: Online Artículo Texto
Lenguaje:English
Publicado: Nature Publishing Group UK 2022
Materias:
Acceso en línea:https://www.ncbi.nlm.nih.gov/pmc/articles/PMC9556558/
https://www.ncbi.nlm.nih.gov/pubmed/36224208
http://dx.doi.org/10.1038/s41598-022-21325-x
_version_ 1784807088401154048
author Al-Boghdady, Abdullah
El-Ramly, Mohammad
Wassif, Khaled
author_facet Al-Boghdady, Abdullah
El-Ramly, Mohammad
Wassif, Khaled
author_sort Al-Boghdady, Abdullah
collection PubMed
description Internet of Things (IoT) 's devices are ubiquitous and operate in a heterogonous environment with potential security breaches. IoT Operating Systems (IoT OSs) are the backbone software for running such devices. If IoT OSs are vulnerable to security breaches, higher-level security measures may not help. This paper aims to use Machine Learning (ML) to create a tool called iDetect for detecting vulnerabilities in C/C++ source code of IoT OSs. The source code for 16 releases of IoT OSs (RIOT, Contiki, FreeRTOS, Amazon FreeRTOS) and the Software Assurance Reference Dataset (SARD) were used to create a labeled dataset of vulnerable and benign code with the reference being the Common Weakness Enumeration (CWE) vulnerabilities present in IoT OSs. Studies showed that only a subset of CWEs is present in the C/C++ source code of low-end IoT OSs.The labeled dataset was used to train three ML models for vulnerability detection: Random Forest (RF), Convolutional Neural Network (CNN), and Recurrent Neural Network (RNN). The three models were used independently and RF; compared to CNN and RNN, gave the highest accuracy during the testing phase for binary and multiclass classification. RF was chosen as iDetect's ML classifier. Further evaluation was done on an unseen dataset of 322 code snippets taken from TinyOS. iDetect achieved a macro-averaged F1 score (mF1) of 98.5% and weighted-average F1 score (wF1) of 98% for multiclass classification, F1 score (F1) of 97.8% for binary classification, and superior results compared to all three Static Analysis Tools (SATs) used to collect the training dataset.
format Online
Article
Text
id pubmed-9556558
institution National Center for Biotechnology Information
language English
publishDate 2022
publisher Nature Publishing Group UK
record_format MEDLINE/PubMed
spelling pubmed-95565582022-10-14 iDetect for vulnerability detection in internet of things operating systems using machine learning Al-Boghdady, Abdullah El-Ramly, Mohammad Wassif, Khaled Sci Rep Article Internet of Things (IoT) 's devices are ubiquitous and operate in a heterogonous environment with potential security breaches. IoT Operating Systems (IoT OSs) are the backbone software for running such devices. If IoT OSs are vulnerable to security breaches, higher-level security measures may not help. This paper aims to use Machine Learning (ML) to create a tool called iDetect for detecting vulnerabilities in C/C++ source code of IoT OSs. The source code for 16 releases of IoT OSs (RIOT, Contiki, FreeRTOS, Amazon FreeRTOS) and the Software Assurance Reference Dataset (SARD) were used to create a labeled dataset of vulnerable and benign code with the reference being the Common Weakness Enumeration (CWE) vulnerabilities present in IoT OSs. Studies showed that only a subset of CWEs is present in the C/C++ source code of low-end IoT OSs.The labeled dataset was used to train three ML models for vulnerability detection: Random Forest (RF), Convolutional Neural Network (CNN), and Recurrent Neural Network (RNN). The three models were used independently and RF; compared to CNN and RNN, gave the highest accuracy during the testing phase for binary and multiclass classification. RF was chosen as iDetect's ML classifier. Further evaluation was done on an unseen dataset of 322 code snippets taken from TinyOS. iDetect achieved a macro-averaged F1 score (mF1) of 98.5% and weighted-average F1 score (wF1) of 98% for multiclass classification, F1 score (F1) of 97.8% for binary classification, and superior results compared to all three Static Analysis Tools (SATs) used to collect the training dataset. Nature Publishing Group UK 2022-10-12 /pmc/articles/PMC9556558/ /pubmed/36224208 http://dx.doi.org/10.1038/s41598-022-21325-x Text en © The Author(s) 2022 https://creativecommons.org/licenses/by/4.0/Open Access This article is licensed under a Creative Commons Attribution 4.0 International License, which permits use, sharing, adaptation, distribution and reproduction in any medium or format, as long as you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons licence, and indicate if changes were made. The images or other third party material in this article are included in the article's Creative Commons licence, unless indicated otherwise in a credit line to the material. If material is not included in the article's Creative Commons licence and your intended use is not permitted by statutory regulation or exceeds the permitted use, you will need to obtain permission directly from the copyright holder. To view a copy of this licence, visit http://creativecommons.org/licenses/by/4.0/ (https://creativecommons.org/licenses/by/4.0/) .
spellingShingle Article
Al-Boghdady, Abdullah
El-Ramly, Mohammad
Wassif, Khaled
iDetect for vulnerability detection in internet of things operating systems using machine learning
title iDetect for vulnerability detection in internet of things operating systems using machine learning
title_full iDetect for vulnerability detection in internet of things operating systems using machine learning
title_fullStr iDetect for vulnerability detection in internet of things operating systems using machine learning
title_full_unstemmed iDetect for vulnerability detection in internet of things operating systems using machine learning
title_short iDetect for vulnerability detection in internet of things operating systems using machine learning
title_sort idetect for vulnerability detection in internet of things operating systems using machine learning
topic Article
url https://www.ncbi.nlm.nih.gov/pmc/articles/PMC9556558/
https://www.ncbi.nlm.nih.gov/pubmed/36224208
http://dx.doi.org/10.1038/s41598-022-21325-x
work_keys_str_mv AT alboghdadyabdullah idetectforvulnerabilitydetectionininternetofthingsoperatingsystemsusingmachinelearning
AT elramlymohammad idetectforvulnerabilitydetectionininternetofthingsoperatingsystemsusingmachinelearning
AT wassifkhaled idetectforvulnerabilitydetectionininternetofthingsoperatingsystemsusingmachinelearning