1. A method for detection of anomalous program execution using hardware-based micro-architectural data, the method comprising: obtaining hardware-based micro-architectural data, including hardware-based time-varying micro-architectural counter data, for a hardware device executing one or more processes; applying one or more machine-learning procedures to the hardware-based micro-architectural data to determine whether at least one of the one or more processes executing on the hardware device corresponds to an anomalous process; and upon determining that the at least one of the one or more processes corresponds to an anomalous process, filtering the at least one of the one or more processes in order to terminate its execution.