# Review of Smart-Home Security Using the Internet of Things
## 4 Analysis and Discussions of the IoT Setting
### Threats Faced by a Smart Home and Related Countermeasures
#### 4.2.1 Application Layer Analysis
Smart homes and IoT environments rely on remote communication with servers that store and manage large amounts of data to support the services required by the applications. However, this type of communication raises significant security concerns, leading to various issues related to system security and the quality of service at the application layer. The application layer can also be susceptible to attacks, involving the unauthorized reconfiguration of remote devices through the Internet [11; 12; 125]. If devices lack proper software protection and strong security protocols, potential attackers may attempt to reconfigure network devices and change their settings to their own preferences, allowing them to gain access to sensitive personal information transmitted between devices on the network. This level is responsible for the correct and smooth operation of the applications hosted by the devices, in order to provide the electronic services. To be able to deal with phishing attacks, users, either as administrators of the home environment or the server, should be trained in order not to be misled by fake emails or fake websites. But also, proper user authentication at the network level can prevent a phishing attack [15; 108]. [PERSON] et al. [126] propose a threat modeling approach specifically designed for IoT and smart-home use-cases to identify and mitigate social engineering and phishing threats effectively. The method uses the STRIDE threat modeling approach to systematically identify potential threats that could lead to phishing attacks. By implementing this approach, IoT researchers, engineers, and cybersecurity policymakers can enhance security measures during the early design stages of IoT systems, ensuring more secure deployments in critical infrastructures. Technically, there are several studies that are trying to utilize ML for the detection of phishing messages [127; 128; 129; 130]. Then, these solutions can be integrated by the system developers to classify automatically received messages and block malicious attempts before reaching the user. Nevertheless, raising the user's awareness (e.g., training, informative campaigns, etc.) for these threats is one of the main controls that are recommended [16; 17]. One way to detect the presence of malicious code or malicious applications in application stores is by following a strategy which measures the normal execution time of the processes that the nodes execute in \"normal\" conditions. When in other measurements this time exceeds the usual, it means that the node additionally employs unwanted, extraneous, and malicious software [35; 111]. [PERSON] [131] proposes an innovative method for detecting malware in IoT devices by utilizing Markov chain behavioral models to analyze the sequence of API calls made by applications during execution. This dynamic analysis approach creates a behavioral model of the applications, represented as a Markov chain, where transitions between states (API calls) help to distinguish between benign and malicious applications, based on their unique patterns of API usage. [PERSON] et al. [132] focus on enhancing the detection of malware threats in industrial mobile-IoT networks through a comprehensive analysis of different detection techniques, specifically static, dynamic, and hybrid approaches. The authors present a detailed performance comparison of these methods, focusing on aspects like data set characteristics, feature extraction, selection techniques, and achieved accuracy. By analyzing and identifying suspicious API calls, system calls, and permissions, this solution aims to assist application developers in creating safer applications for IoT settings. The main solution proposed by [PERSON] et al. [133] is the development of a novel methodology to construct and evaluate features for detecting malicious applications in Android. This approach involves a comprehensive taxonomy of features derived from static, dynamic, and meta-data analyses.