The existing safety and security analysis methods and techniques in the literature have been categorised into informal manual frameworks and MBSE approaches. Some of the notable manual frameworks are the Failure Mode Effect Analysis (FMEA), Fault Trees Analysis (FTA), Dynamic Fault Trees, Petri Nets, Attack Trees (AT), Attack–Fault Trees, Attack–Defence Trees, Quantitative Attack Defence Trees, and Bowties, among others
[19][20][21][22]. On the other hand, to meet the continuous requirements of systems development, some of the safety-critical domains, such as the automobile
[23] and aerospace industries
[24], as well as industrial control systems
[25], have begun to explore the options of MBSE approaches. Notably, MBSE approaches have been used to analyse the various NFPs of system design, such as performance
[26][27], safety
[28][29][30][31][32], reliability
[30][32], and security properties
[33][34][35]. In the model-driven development paradigm, some of the classical analysable models such as FTA, AT, Petri nets, and other artefacts are fully or semi-automatically generated using software-based approaches. These approaches generate artefacts based on detailed modelling of the systems’ static and dynamic behavioural patterns using methodologies drawn from the existing modelling languages (ML) functionalities. Existing MBSE frameworks have been developed using the unified modelling language/system modelling language (UML/SysML)
[25][29], the Hierarchically Performed Hazard Origin and Propagation Studies (HiP-HOPS)
[31][32][34][35], and the Architecture Analysis and Design Language (AADL)
[24][26][35]. While research into safety and security analysis frameworks is fast progressing by the day, a most recent overview of the existing IoT-based safety and security (classical and MBSE) approaches can be found in ref.
[36] .
3. Safety and Security Challenges of the IoT System
The freedom to innovate any technology comes with the inherent responsibility of safeguarding the users and the environment from its harmful effects
[38]. With the greater acceptability of IoT in today’s modern space, safety and security continue to remain paramount for various reasons. While the environment is permeated by the innovations of various applications of IoT systems, which are given the increasing autonomy of decision-making, the possibility of safety hazards should not be ruled out if the safety requirements of the systems are not adequately evaluated
[13]. Moreover, in the area of standardisation, a functional safety threshold is a core prerequisite for the market entry and practical use of these modern devices, especially in safety-critical and mission-critical domains
[10][39]. Therefore, for the IoT to be accepted and trusted, the systems must be relatively safe, secure, and devoid of harm to the users or harm to the environment
[40]. Based on these considerations, the development of dependable IoT applications necessitates careful attention to safety issues. The safety requirements that are put into design consideration are meant to reduce the possibility that a device could malfunction or enter into harmful or hazardous operating conditions as a result of design flaws. To guarantee this in the IoT design, a vigorous analysis of various factors and conditions that can compromise the safety of the systems must be conducted. Thus, safety issues are crucial design requirements that need to be given due attention from the SDLC stage in order to guard against the possible negative consequences
[13].
Conversely, security is a critical design challenge in the IoT domain for obvious reasons. The IoT technology extends internet connectivity to become pervasive, as everything (heterogeneous physical and virtual systems) with respect to the IoT systems will be connected to the internet and, at the same time, communicate with one another
[41][42]. This makes the IoT ecosystem characterised by heterogeneity, the absence of defined limits regarding physical expansion, and the number and types of interconnected devices, all of which tend to create additional security risk hazards for the IoT systems
[3][13]. The attack surfaces of IoT-Enabled applications tend to be higher due to the aforementioned reasons. Thus, the constraints open doors to increasing security breaches at a more significant proportion, which system developers need to cater to assure users of secure and dependable smart IoT-enabled applications
[6][41]. Therefore, in the design of dependable IoT systems, it is imperative to conduct safety and security analyses iteratively throughout the SDLC stage and to monitor the same processes during the operational stage to assure the safety and security of the end users and the environment
[13]. To discuss the safety and security design requirements of the IoT system it is necessary to highlight the issues layer-wise, as each of the layers of the IoT architecture may have particular safety and security issues. Accordingly, the existing layers of the IoT architecture will be briefly highlighted prior to discussing their safety and security concerns.
4. The IoT System Architecture
A generic IoT system is represented using a layer architectural framework that uses various standards and layer structures
[2]. Some of the most common frameworks are three-layer, four-layer, and five-layer architectures
[2][43][44][45].
Figure 1 presents the IoT four-layer architecture. The layers are the perception, network, processing, and application layer.
Figure 1. IoT Four-Layer Architecture.
4.1. Perception Layer
The perception layer of the IoT architecture is composed of various devices that primarily deal with the sensing of the environment and the actuation of physical processes. These devices, including sensor nodes and actuators, are expected to have high reliability, ease of use, a higher resolution, high sensitivity, smart detection, and minimum power consumption, among others
[46]. In this layer, various sensor nodes perform sensing measurements of the environment and other physical parameters
[2][46]. Data acquisition of physical parameters, such as object properties, biometrics, and physiological or environmental conditions, is made by various sensor nodes and data acquisition devices.
4.2. Network Layer
The network layer is the second layer in the IoT architecture, which is responsible for the reliable transmission of sensing data generated from the perception layer to the computational unit for information processing
[2][42][47]. The network layer conveys data across interfaces and gateways using communication technologies and protocols, especially the Internet protocol
[42]. This layer of IoT architecture sets the rules for data aggregation. The network layer integrates devices, such as hubs, switches, and gateways, as well as communication technologies such as Bluetooth, Wi-Fi, and Long-Term Evolution (LTE)
[2].
4.3. Data-Processing Layer
The data-processing layer is the IoT system’s event-processing layer, which ensures seamless software interaction for the storage and processing of IoT data
[2][43][44][47]. This layer leverages many connected computing technologies in the form of cloud technology to store, compute, secure, and process various sensing data. The processing layer bridges the application and network layer, which is responsible for data accumulation, abstraction, and analysis
[47][48]. Data processing is carried out via cloud computing and multiparty computation, where mass data processing and intelligent processing are conducted
[42]. The layer processes the data obtained from the perception layer through numerous machine learning, deep-learning algorithms, and data processing elements to generate new insight and, in some cases, make projections and provide useful warnings of impending hazards and situations. Various types of technologies of the processing layer include wired, wireless, and satellite technologies, as well as cloud and other third-party computational systems
[37].
4.4. Application Layer
The application layer is the top layer of the IoT architecture that is responsible for providing personalised services according to the relevant needs of the end-users
[47]. The application layer acts as an interface between third-party applications. The layer serves as the primary link between the users and the applications. The layer receives the data sent through the network layer and uses it to perform the necessary activities or services that the customer needs. The layer is involved in decoding patterns in the IoT data and computing them into summarised patterns that are easily understandable by the users in the form of graphs, tables, and pictorial displays.
5. Safety and Security Issues across IoT Layered Architecture
The IoT system architecture comprises various layers. Remarkably, there are a range of safety and security issues associated with each of these layers. A systematic survey of these safety and security studies gathered from various existing research is provided in this section. A summary of the notable safety and security issues across the IoT layered architecture is depicted below in
Figure 2 [5][27][42][47][48].
Figure 2. Safety and security issues across IoT layers.
5.1. Safety and Security Issues in the Perception Layer
The smooth operation of IoT systems demands that security and safety issues associated with the perception layer enabling technologies must be well taken into account. There are numerous security attacks associated with the perception layer. Notably, denial/distributed denial of service (DoS/DDoS), malicious code injection, false data injection, eavesdropping/interference, jamming, sleep deprivations, booting attacks, and side-channel attacks are some common examples of security threats associated with the perception layer
[47]. On the other hand, regarding safety issues, there is a risk of hardware failure of large networks in some circumstances. Additionally, the heterogeneity of devices that have different flexibility on many occasions and are manufactured with different standards, failures, and reliability behaviours
[49] poses a safety risk. Furthermore, the resource-constrained nature of IoT systems often tends to affect some design considerations, especially those which could have enhanced the system’s safety
[2]. This challenge is affecting the safety consideration of the systems. Additionally, depending on the application domain, IoT applications can be deployed in harsh operating and unattended environments. This constraint makes the perception layer technologies more prone to failures, which has negative effects on the overall safety of the IoT system
[2].
5.2. Safety and Security Issues in the Network Layer
The network layer in an IoT architecture is prone to security issues, such as intended malicious cyber attacks against the confidentiality, integrity, and availability of sensing or actuation data
[3]. Notably, attacks such as phishing site access, man-in-the-middle attacks, selective forwarding, replay attacks, DoS/DDoSs, data transmission errors, data inconsistency, and routing attacks are most prevalent at this layer
[47][50]. On the contrary, the safety issues are unintended environmental and climatic hazards, such as atmospheric fading, which could hinder the free flow of data communication in IoT systems
[51]. Likewise, human error, unauthorised access, restricted computing resources shared by IoT systems, and the challenging operating circumstances of specific IoT applications pose constraints to their safety and reliability
[2]. These issues could affect the efficient performance of the IoT system and, thus, could hinder the trustworthiness of the IoT applications.
5.3. Safety and Security Issues in the Processing Layer
The data processing layer is critical to providing reliable IoT applications. It is susceptible to threats that are capable of affecting the integrity and quality of data processing, among others. The safety challenges in the data processing layer include but are not limited to third-party processing reliance, corrupt data due to noise, signal attenuation, and hardware failure. Some of the identified cyber-security attacks in the middle layer are SQL injection, signature wrapping, man-in-the-middle, cloud malware injection, and flooding attacks, among others
[47].
5.4. Safety and Security Issues in the Application Layer
The most crucial requirement of the application layer in the IoT ecosystem is the ability to provide reliable services to meet the end-users’ personal or business needs. The security issues in the application layer are sometimes specific to different applications
[47]. In general, the major security issues in the application layer include malicious code injection, access control, service interruptions, data theft, snipping, and reprogram attacks
[47]. Conversely, the safety challenges arising from this layer include the possibility of conflicting interactions among various co-located IoT applications, as well as human errors and the performance of the software aspect of the application
[2][13]. For instance, the potential for conflicting interactions between two IoT applications, namely, the smart flood detection system and fire detection system in a smart home system, were illustrated in the literature
[13]. This conflicting interaction could jeopardise safety, even while the two IoT applications are within their nominal behaviours. Therefore, beyond device failure and unintended cyber attacks as sources of hazards to the environment, the conflicting relationship of IoT systems also brings an emerging challenge to the safety of the IoT ecosystem.
6. Conclusion
IoT systems are emerging in a way that has never been seen before due to technological advancement in numerous engineering and computer science areas. According to the review, IoT systems' safety and security standards are crucial to this advancement. An effort to address safety and security issues in the IoT domain will contribute to state-of-the-art development in the IoT ecosystem. Thus, research in this direction will serve as a pivotal driver to manage and reduce adverse events and avoid impact on Health Safety and Environment (HSE) while maintaining a productive process in compliance with local and global regulations. Thus, this will support the rapid pace of the design of IoT-enabled applications, which requires a high level of safety and security thresholds.