  Internet-of-Things (IoT) devices are known to be the source of many security
problems, and as such they would greatly benefit from automated management.
This requires robustly identifying devices so that appropriate network security
policies can be applied. We address this challenge by exploring how to
accurately identify IoT devices based on their network behavior, using
resources available at the edge of the network.
  In this paper, we compare the accuracy of five different machine learning
models (tree-based and neural network-based) for identifying IoT devices by
using packet trace data from a large IoT test-bed, showing that all models need
to be updated over time to avoid significant degradation in accuracy. In order
to effectively update the models, we find that it is necessary to use data
gathered from the deployment environment, e.g., the household. We therefore
evaluate our approach using hardware resources and data sources representative
of those that would be available at the edge of the network, such as in an IoT
deployment. We show that updating neural network-based models at the edge is
feasible, as they require low computational and memory resources and their
structure is amenable to being updated. Our results show that it is possible to
achieve device identification and categorization with over 80% and 90% accuracy
respectively at the edge.
