
Prison: Tracking Process Interactions to Contain Malware ∗Benjamin Caillat, Bob Gilbert, Richard Kemmerer, ∗Christopher Kruegel, and ∗Giovanni Vigna University of California, Santa Barbara fbenjamin, rgilbert, kemm, chris, [email protected] and ∗Lastline, Inc. www.lastline.com Abstract—Modern operating systems provide a number of corrupt the data or code of another process. Inter-process different mechanisms that allow processes to interact. These communication provides a channel over which data, code, interactions can generally be divided into two classes: inter- and commands can be exchanged. If a system isolates process communication techniques, which a process supports to provide services to its clients, and injection methods, which processes weakly, then communication is straightforward, allow a process to inject code or data directly into another for example, by allowing processes to directly read from process’ address space. Operating systems support these mech- and write to each other’s memory. In contrast, strongly anisms to enable better performance and to provide simple and isolated processes may only communicate in ways that are elegant software development APIs that promote cooperation more complicated and performance-intensive, for example, between processes. Unfortunately, process interaction channels introduce prob- by using remote procedure calls (RPCs). lems at the end-host that are related to malware containment Completely isolated processes are secure against external and the attribution of malicious actions. In particular, host- tampering, but they are not very useful in and of themselves. based security systems rely on process isolation to detect Inter-process communication features provide a mechanism and contain malware. However, interaction mechanisms allow by which processes can share data and, perhaps, influence malware to manipulate a trusted process to carry out malicious actions on its behalf. In this case, existing security products will each other’s execution in a controlled manner. Thus, process typically either ignore the actions or mistakenly attribute them isolation suffers as inter-process communication becomes to the trusted process. For example, a host-based security tool more flexible and easy to use. Due to the design goals might be configured to deny untrusted processes from accessing mentioned above, modern systems tend to favor diverse the network, but malware could circumvent this policy by and flexible inter-process communication mechanisms over abusing a (trusted) web browser to get access to the Internet. In short, an effective host-based security solution must monitor strong process isolation. Unfortunately, an overly permissive and take into account interactions between processes. security model combines with weak process isolation to In this paper, we present PRISON, a system that tracks provide an environment in which malware can abuse its process interactions and prevents malware from leveraging ability to freely interact with other processes. benign programs to fulfill its malicious intent. To this end, For instance, consider a personal firewall that limits an operating system kernel extension monitors the various system services that enable processes to interact, and the system outgoing network traffic to a few trusted applications, such analyzes the calls to determine whether or not the interaction as Internet Explorer for web traffic and Outlook for email. should be allowed. PRISON can be deployed as an online system If a malicious process directly attempts to make an Internet for tracking and containing malicious process interactions to connection, the firewall can successfully block the attempt, effectively mitigate the threat of malware. The system can as it represents a violation of the policy. However, the also be used as a dynamic analysis tool to aid an analyst in understanding a malware sample’s effect on its environment. malicious process can send inputs to the Internet Explorer application in order to drive the browser to execute the request on behalf of the malware. For example, the malware I. INTRODUCTION might utilize a COM interface that Internet Explorer exposes Contemporary operating systems are designed to offer a or, more generically, it may directly write code into the flexible platform that supports a diverse set of applications. browser’s address space and execute it. In this case, the As such, performance and ease of software development are firewall sees a network request coming from the trusted primary design considerations. These design goals influence Internet Explorer process, so it allows the traffic to pass an important system trade-off between two diametrically through unabated. This is an example of the confused deputy opposed features: process isolation and inter-process com- problem [5], and it is characteristic of the access control munication. Process isolation ensures that a process cannot systems that contemporary operating systems use. In this paper, we propose PRISON, a system that monitors describe the design and implementation of PRISON, a process interactions to detect and mitigate malicious inter- system that extends the Microsoft Windows XP kernel process communication and code or data injection. In par- to implement our proposed approach. Moreover, we ticular, we developed a host-based component that monitors verified that Windows 7 faces similar security problems, the system calls that enable process interactions. PRISON can and we ported parts of PRISON to this platform to detect when a system call is used by one process to interact demonstrate the validity of our system design. with another. When such an interaction is found, the system • We discuss our experimental results, which show that can automatically invoke one of several responses to mitigate our system is able to efficiently defend against attacks the impact of malicious code: block the communication, alert where process interactions are attempted in order to the user, or update the privileges of the target process. Our carry out malicious actions. Furthermore, we validate focus in this paper is on demonstrating the practical impact that our analysis is comprehensive by comparing the on end-host security when inter-process communication is process interactions we identify to those described by not properly taken into account. In addition, we describe an oracle that does whole-system data tracking. the variety and complexity of different inter-process com- munication channels on a real-world operating system such II. SYSTEM OVERVIEW as Microsoft Windows, and we discuss the challenges that Our solution to address the problem of malicious process need to be overcome to monitor these channels. Finally, interaction is PRISON, a host-based system that operates we show how PRISON can be used as the basis for a as a kernel extension to the Windows XP platform. In containment system that prevents malware from abusing order to get a detailed understanding of how inter-process trusted processes. communication is implemented in Windows, we performed Tracking process interactions in a comprehensive manner a deep analysis of the communication mechanisms that are is difficult, because operating systems provide a diverse set available in the system. PRISON monitors all known kernel of communication interfaces using protocols that are often interfaces to detect when processes interact. The system can undocumented. As evidence of this difficulty, we evaluated block the communication attempt if the source violates a a number of host-based security products, and we showed security policy. Alternatively, PRISON can alert the user, that these systems fail to capture all process interactions asking for permission before allowing a specific interaction. (these experiments are described in Section IV-C). This In the current implementation, PRISON only considers failure implies that malware is able to effectively “launder” processes that cannot tamper with the kernel (e.g., by loading its malicious actions through trusted processes to avoid a driver). We therefore only consider malware running under detection and containment. a non-administrator user account. The system could be We implemented our system as a Windows XP kernel extended to processes with administrator permissions by extension. PRISON hooks a variety of kernel system services adding a supplementary mechanism that would protect the (system calls) to monitor a diverse set of interaction chan- kernel (and PRISON) from modification. We leave this for nels. Our experiments demonstrate that PRISON is effective future work, but we note that such protection mechanisms at blocking unauthorized process interactions over all the have been implemented in the past [15], [20]. mechanisms that we are aware of. Furthermore, we show that Nevertheless, Microsoft is aggressively moving towards our efficient technique offered finer granularity and better an unprivileged user account model [12]. Furthermore, re- coverage than commercial tools. We also verified that the cent studies suggest that malware is increasingly adapting to lack of process isolation is a security problem on more such an environment, and it runs properly without adminis- recent versions of Windows (in particular, Windows 7), and trator access [2]. we ported a subset of PRISON as a proof-of-concept to demonstrate that our proposed approach remains valid. Modes of Operation. PRISON has two modes of operation: logging mode and filtering mode. In logging mode, PRISON To summarize, we make
Details
-
File Typepdf
-
Upload Time-
-
Content LanguagesEnglish
-
Upload UserAnonymous/Not logged-in
-
File Pages10 Page
-
File Size-