  The proliferation and variety of Internet of Things devices means that they
have increasingly become a viable target for malicious users. This has created
a need for anomaly detection algorithms that can work across multiple devices.
This thesis suggests a potential alternative to the current anomaly detection
algorithms to be implemented within IoT systems that can be applied across
different types of devices. This algorithm is comprised of both unsupverised
and supervised machine areas of machine learning combining the strongest facet
of each. The algorithm involves the initial k-means clustering of attacks and
assigns them to clusters. Next, the clusters are then used by the AdaBoosted
Naive Bayes supervised learning algorithm in order to teach itself which piece
of data should be clustered to which specific attack. This increases the
accuracy of the proposed algorithm by adding clustered data before the final
classification step, ensuring a more accurate algorithm. The correct
indentification percentage scores for this proposed algorithm range anywhere
from 90% to 100%, as well as rating the proposed algorithms accuracy, precision
and recall. These high scores achieve an accurate, flexible, scalable,
optimised algorithm that could potentially be in different IoT devices,
ensuring strong data integrity and privacy.
