Towards Automatic Application Fingerprinting Using Performance Monitoring Counters

In this paper, we discuss a method for application fingerprinting using conventional hardware and software performance counters. Modern applications are complex and often utilizes a broad spectra of the available hardware resources, where multiple performance counters can be of significant interest. The number of performance counters that can be captured simultaneously is, however, small due to hardware limitations in most modern computers. We propose to mitigate the hardware limitations using an intelligent mechanism that pinpoints the most relevant performance counters for an application’s performance. In our proposal, we utilize the Pearson correlation coefficient to rank the most relevant PMU events and filter out events of less relevance to an application’s execution. Our ultimate goal is to establish a comparable application fingerprint model using performance counters, that we can use to classify applications. The classification procedure can then be used to determine the type of application’s fingerprint, such as malicious software.

[1]  Jack J. Dongarra,et al.  Collecting Performance Data with PAPI-C , 2009, Parallel Tools Workshop.

[2]  Mikael Sjödin,et al.  Resource Depedency Analysis in Multi-Core Systems , 2020, 2020 IEEE 44th Annual Computers, Software, and Applications Conference (COMPSAC).

[3]  Brendan Gregg,et al.  Systems Performance: Enterprise and the Cloud , 2013 .

[4]  Sigrid Eldh,et al.  A scheduling architecture for enforcing quality of service in multi-process systems , 2017, 2017 22nd IEEE International Conference on Emerging Technologies and Factory Automation (ETFA).