Program Behavior Analysis and Clustering using Performance Counters
Sai Praveen Kadiyala, Akella Kartheek, Tram Truong-Huu

TL;DR
This paper introduces a novel approach using performance counters to analyze and cluster program behavior, enabling accurate classification of programs in various environments for security and analysis purposes.
Contribution
It develops perfextract for capturing performance counter data and a semi-supervised clustering algorithm for classifying program behaviors based on this data.
Findings
Programs can be accurately differentiated using performance counters.
Method works across physical and virtual environments.
Effective in classifying diverse real-world programs.
Abstract
Understanding the dynamic behavior of computer programs during normal working conditions is an important task, which has multiple security benefits such as the development of behavior-based anomaly detection, vulnerability discovery, and patching. Existing works achieved this goal by collecting and analyzing various data including network traffic, system calls, instruction traces, etc. In this paper, we explore the use of a new type of data, performance counters, to analyze the dynamic behavior of programs. Using existing primitives, we develop a tool named perfextract to capture data from different performance counters for a program during its startup time, thus forming multiple time series to represent the dynamic behavior of the program. We analyze the collected data and develop a semi-supervised clustering algorithm that allows us to classify each program using its performance…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsSoftware System Performance and Reliability · Network Security and Intrusion Detection · Advanced Malware Detection Techniques
