A portion of the disclosure of this patent document contains material that is subject to copyright protection. The copyright owner has no objection to the facsimile reproduction by anyone of the patent disclosure, as it appears in the Patent and Trademark Office patent files or records, but otherwise reserves all copyright rights whatsoever.
The present invention relates to computer system management. In particular, but not by way of limitation, the present invention relates to systems and methods for controlling pestware or malware.
Personal computers and business computers are continually attacked by trojans, spyware, and adware, collectively referred to as “malware” or “pestware.” These types of programs generally act to gather information about a person or organization—often without the person or organization's knowledge. Some pestware is highly malicious. Other pestware is non-malicious but may cause issues with privacy or system performance. And yet other pestware is actual beneficial or wanted by the user. Wanted pestware is sometimes not characterized as “pestware” or “spyware.” But, unless specified otherwise, “pestware” as used herein refers to any program that collects and/or reports information about a person or an organization and any “watcher processes” related to the pestware.
Software is available to detect pestware, but scanning a system for pestware typically requires a system to look at files stored in a data storage medium (e.g., disk) on a file by file basis. While the software is scanning the storage medium, however, the rate at which other processes (e.g., user applications) are able to access data from files stored on the storage medium is substantially reduced. In the context of a hard drive, for example, the rate at which data is accessible (e.g., by a word processor application) may be five to ten times slower when the disk is being scanned by anti-malware software.
As a consequence, users are, at the very least, inconvenienced by the slow file access times, and worse, some users may elect to abort pestware scanning when they want to launch an application or open files so they do not have to wait as long for the application or files to be accessed. Accordingly, current software is not always able to scan and remove pestware in a convenient manner and will most certainly not be satisfactory in the future.
Exemplary embodiments of the present invention that are shown in the drawings are summarized below. These and other embodiments are more fully described in the Detailed Description section. It is to be understood, however, that there is no intention to limit the invention to the forms described in this Summary of the Invention or in the Detailed Description. One skilled in the art can recognize that there are numerous modifications, equivalents and alternative constructions that fall within the spirit and scope of the invention as expressed in the claims.
In one embodiment, the invention may be characterized as a method for scanning files for the presence of pestware. In this embodiment, the method includes retrieving information from a storage device with a first process so as to enable the information to be analyzed for a presence of pestware. In response to another process attempting to access the storage device while the first process is retrieving information, the first process ceases to retrieve the information from the storage device during an initial interrupt period. In this embodiment, the method includes extending the initial interrupt period in response to detecting one or more other attempts by one or more other processes to access the storage device so as to create an extended interrupt period. The method in this embodiment also includes resuming, after the first process has ceased to retrieve the information for a desired time period, the retrieval of information from the storage device with the first process even if one or more other processes attempt to access the storage device.
In another embodiment, the invention may be characterized as a method for managing access to a storage device of a computer. In this embodiment the method includes allowing an anti-pestware process to access a storage device of the computer, identifying at least one other process attempting to access the storage device while the anti-pestware process is accessing the storage device of the protected computer, ceasing to allow the anti-pestware process to access the storage device during an interrupt period in response to the at least one other process attempting to access the storage device. In this embodiment the method includes limiting the interrupt period so as to allow the anti-pestware process to access the storage device of the computer even if the at least one process continue to attempt to access the storage device.
In yet another embodiment, the invention may be characterized as a system for managing pestware. In this embodiment, an anti-pestware application is configured to access a file storage device on the protected computer and to identify pestware on the protected computer. In addition, a filter driver is configured to monitor attempts, by at least one process unassociated with the anti-pestware application, to access the file storage device and to prevent the anti-pestware application from accessing the file storage device during an interrupt period in response to the at least one process attempting to access the file storage device. These and other embodiments are described in more detail herein.
Various objects and advantages and a more complete understanding of the present invention are apparent and more readily appreciated by reference to the following Detailed Description and to the appended claims when taken in conjunction with the accompanying Drawings where like or similar elements are designated with identical reference numerals throughout the several views and wherein:
According to several embodiments, the present invention manages access to a file storage device on a protected computer so as to reduce the file-access delays that typically occur when an anti-pestware application is accessing the storage device.
In prior art computer systems, when two processes (e.g., an anti-pestware scanning application and a user application) are attempting to obtain data from files stored on a file storage device of a computer, the computer's operating system attempts to provide both processes access to the storage device. In the context of disk drive storage devices, when the processes are retrieving data from a disk drive, the disk drive must move its head from one disk location to another disk location on a frequent basis to seek the file information desired by each process.
In many disk drives, the time associated with each seek for data is approximately 7 milliseconds—about the time it takes for the drive to provide 250 kilobytes of data to a single process. As a consequence, in these types of disk drives, when only one process is being served data, the single process might be served up to 40 megabytes of data per second, but when two process are served data, each process may be served only 4 megabytes of data per second.
Referring first to
As shown, the anti-spyware application includes 112 a detection module 114, a shield module 116, a removal module 118 and a sweep module 120, which are implemented in software and are executed from the memory 104 by a processor (not shown). The software 112 can be configured to operate on personal computers (e.g., handheld, notebook or desktop), servers or any device capable of processing instructions embodied in executable code. Moreover, one of ordinary skill in the art will recognize that alternative embodiments, which implement one or more components (e.g., the anti-spyware 112) in hardware, are well within the scope of the present invention.
In several embodiments, the sweep module 120 is responsible for accessing and retrieving information from the N files 130 located on the storage device 106, and the detection module 114, it is responsible for detecting pestware or pestware activity on the protected computer 100 based upon the information received from the N files 130.
As shown, the storage device 106 provides storage for a collection of N files 130, which includes an application file 132 and a pestware file 134. The storage device 106 is described herein in several implementations as hard disk drive for convenience, but this is certainly not required, and one of ordinary skill in the art will recognize that other storage media may be utilized without departing from the scope of the present invention. In addition, one of ordinary skill in the art will recognize that the storage device 106, which is depicted for convenience as a single storage device, may be realized by multiple (e.g., distributed) storage devices.
As depicted in
The operating system 124 in the exemplary embodiment is not limited to any particular type of operating system and may be operating systems provided by Microsoft Corp. under the trade name WINDOWS (e.g., WINDOWS 2000, WINDOWS XP, and WINDOWS NT). Additionally, the operating system may be an open source operating system such operating systems distributed under the LINUX trade name. For convenience, however, embodiments of the present invention are generally described herein with relation to WINDOWS-based systems. Those of skill in the art can easily adapt these implementations for other types of operating systems or computer systems.
Also shown in
While referring to
In some embodiments the media access management is carried out by the access management module 126 in connection with the anti-spyware application 112. In one embodiment for example, the access management module 126 informs the anti-spyware application 126 that another process is attempting to access the storage device 106, and in response, the anti-spyware application 112 then ceases to access the storage device 106.
In other embodiments, the access management module 126 simply blocks attempts by the anti-spyware application 112 to access the storage device during the initial interrupt period and subsequent extensions to the interrupt period. In this way, any delays associated with communicating instructions from the access management module 126 to the anti-spyware application 112 are avoided.
Referring briefly to
Referring back to
If a process does attempt to access the storage device 106 during the initial interrupt period (Block 212), then an extended interrupt period is initiated during which time the first process (e.g., a process associated with the sweep module 120) continues to cease accessing the storage device 106. In some embodiments, the extended interrupt period is only initiated when the process attempting to access the storage device 106 during the initial interrupt period is the same process that first triggered the initial interrupt period. In other embodiments, however, when any process (except the first process) attempts to access the storage device 106, the initial interrupt period is extended so that the first process does not access the storage device 106.
Referring again to the exemplary access management scheme depicted in
Referring again to
Referring again to
If, however, the total interrupt period is still within a desirable length of time, and a process attempts to access the storage device 106, then the extended interrupt period is again extended one or more times in response to corresponding attempts by a process(es) to access the storage device (Blocks 218, 220, 216).
In several embodiments, once the interrupt period (e.g., the total interrupt period 320) has ended, then the first process is able to access the storage device 106 for a period of time (e.g., 1-3 seconds) without being interrupted again. In some embodiments for example, the operating system operates in a typical fashion—allowing the first process to access the storage device while also allowing other processes (e.g., a process of the application 122) to access the drive.
Referring again to
In the exemplary embodiment depicted in
In other embodiments, a total interrupt period is limited by simply establishing a maximum amount of time and or maximum number of extensions. As shown in
As shown in the embodiments depicted in
It is also contemplated that many variations of the disclosed process of initiating and extending an interrupt period may be implemented without departing from the scope of the present invention. As depicted in
As shown in
It should be recognized that the media access schemes discussed with reference to
The present application is related to the following commonly owned and assigned applications: application no. (unassigned), Attorney Docket No. WEBR-002/00US, entitled System and Method for Monitoring Network Communications for Pestware; application no. (unassigned), Attorney Docket No. WEBR-003/00US, entitled System and Method For Heuristic Analysis to Identify Pestware, application no. (unassigned), Attorney Docket No. WEBR-005/00US, entitled System and Method for Pestware Detection and Removal, and application no. (unassigned), Attorney Docket No. WEBR-011/00US, filed herewith, entitled System and Method for Directly Accessing Data From a Data Storage Medium each of which is incorporated by reference in their entirety.
Number | Date | Country | |
---|---|---|---|
20070124267 A1 | May 2007 | US |