  Communication protocol security is among the most significant challenges of
the Internet of Things (IoT) due to the wide variety of hardware and software
technologies involved. Moving target defense (MTD) has been adopted as an
innovative strategy to solve this problem by dynamically changing target system
properties and configurations to obfuscate the attack surface. Nevertheless,
the existing work of MTD primarily focuses on lower-level properties (e.g., IP
addresses or port numbers), and only a limited number of variations can be
generated based on these properties. In this paper, we propose a new approach
of MTD through communication protocol dialects (MPD) - which dynamically
customizes a communication protocol into various protocol dialects and
leverages them to create a moving target defense. Specifically, MPD harnesses a
dialect generating function to create protocol dialects and then a mapping
function to select one specific dialect for each packet during communication.
To keep different network entities in synchronization, we also design a
self-synchronization mechanism utilizing a pseudo-random number generator with
the input of a pre-shared secret key and previously sent packets. We implement
a prototype of MPD and evaluate its feasibility on standard network protocol
(i.e., File Transfer Protocol) and internet of things protocol (i.e., Message
Queuing Telemetry Transport). The results indicate that MPD can create a moving
target defense with protocol dialects to effectively address various attacks -
including the denial of service attack and malicious packet modifications -
with negligible overhead.
