  The Internet of Things (IoT) integrates billions of smart devices that can
communicate with one another with minimal human intervention. It is one of the
fastest developing fields in the history of computing, with an estimated 50
billion devices by the end of 2020. On the one hand, IoT play a crucial role in
enhancing several real-life smart applications that can improve life quality.
On the other hand, the crosscutting nature of IoT systems and the
multidisciplinary components involved in the deployment of such systems
introduced new security challenges. Implementing security measures, such as
encryption, authentication, access control, network security and application
security, for IoT devices and their inherent vulnerabilities is ineffective.
Therefore, existing security methods should be enhanced to secure the IoT
system effectively. Machine learning and deep learning (ML/DL) have advanced
considerably over the last few years, and machine intelligence has transitioned
from laboratory curiosity to practical machinery in several important
applications. Consequently, ML/DL methods are important in transforming the
security of IoT systems from merely facilitating secure communication between
devices to security-based intelligence systems. The goal of this work is to
provide a comprehensive survey of ML /DL methods that can be used to develop
enhanced security methods for IoT systems. IoT security threats that are
related to inherent or newly introduced threats are presented, and various
potential IoT system attack surfaces and the possible threats related to each
surface are discussed. We then thoroughly review ML/DL methods for IoT security
and present the opportunities, advantages and shortcomings of each method. We
discuss the opportunities and challenges involved in applying ML/DL to IoT
security. These opportunities and challenges can serve as potential future
research directions.
