  With the continuous evolution of computational devices, more and more
applications are being executed remotely. The applications operate on a wide
spectrum of devices, ranging from IoT nodes with low computational capabilities
to large cloud providers with high capabilities. Remote execution often deals
with sensitive data or executes proprietary software. Hence, the challenge of
ensuring that the code execution will not be compromised rises. Remote
Attestation deals with this challenge. It ensures the code is executed in a
non-compromised environment by calculating a potentially large sequence of
cryptographic hash values. Each hash calculation is computationally intensive
and over a large sequence the overhead becomes extremely high. In this work, we
propose LightFAt: a Lightweight Control Flow Attestation scheme. Instead of
relying on the expensive cryptographic hash calculation, LightFAt leverages the
readings from the processor's Performance Monitor Unit (PMU) in conjunction
with a lightweight unsupervised machine learning (ML) classifier to detect
whether a target application's control flow is compromised, hence improving the
system's security. On the verifier's side, LightFAt reaches a detection
accuracy of over 95%, with low false-negative and false-positive rates.
