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...
Autores principales: | , , |
---|---|
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 |