Movatterモバイル変換


[0]ホーム

URL:


USRE43987E1 - System and method for protecting a computer system from malicious software - Google Patents

System and method for protecting a computer system from malicious software
Download PDF

Info

Publication number
USRE43987E1
USRE43987E1US13/015,186US201113015186AUSRE43987EUS RE43987 E1USRE43987 E1US RE43987E1US 201113015186 AUS201113015186 AUS 201113015186AUS RE43987 EUSRE43987 EUS RE43987E
Authority
US
United States
Prior art keywords
data
memory space
logical process
processor
network
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active, expires
Application number
US13/015,186
Inventor
Allen F. Rozman
Alfonso J. Cioffi
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
ROZMAN MEGAN ELIZABETH
ROZMAN MELANIE ANN
ROZMAN MORGAN LEE
Original Assignee
Individual
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Family has litigation
First worldwide family litigation filedlitigationCriticalhttps://patents.darts-ip.com/?family=35759063&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=USRE43987(E1)"Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by IndividualfiledCriticalIndividual
Priority to US13/015,186priorityCriticalpatent/USRE43987E1/en
Application grantedgrantedCritical
Publication of USRE43987E1publicationCriticalpatent/USRE43987E1/en
Assigned to CIOFFI, ALFONSOreassignmentCIOFFI, ALFONSOLETTERS OF TESTAMENTARY (SEE DOCUMENT FOR DETAILS).Assignors: ROZMAN, ALLEN FRANK
Assigned to ROZMAN, MEGAN ELIZABETH, ROZMAN, MELANIE ANN, ROZMAN, MORGAN LEEreassignmentROZMAN, MEGAN ELIZABETHASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS).Assignors: CIOFFI, ALFONSO
Assigned to ROZMAN, MEGAN ELIZABETH, ROZMAN, MELANIE ANN, ROZMAN, MORGAN LEEreassignmentROZMAN, MEGAN ELIZABETHCORRECTIVE ASSIGNMENT TO CORRECT THE CONVEYING PARTY DATA TO READ ALLEN FRANK ROZMAN (DECEASED) REPRESENTED BY ALFONSO CIOFFI (EXECUTOR OF ESTATE) PREVIOUSLY RECORDED ON REEL 034385 FRAME 0958. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT.Assignors: ALLEN FRANK ROZMAN (DECEASED) REPRESENTED BY ALFONSO CIOFFI (EXECUTOR OF ESTATE)
Activelegal-statusCriticalCurrent
Adjusted expirationlegal-statusCritical

Links

Images

Classifications

Definitions

Landscapes

Abstract

In a computer system, a first electronic data processor is communicatively coupled to a first memory space and a second memory space. A second electronic data processor is communicatively coupled the second memory space and to a network interface device. The second electronic data processor is capable of exchanging data across a network of one or more computers via the network interface device. A video processor is adapted to combine video data from the first and second electronic data processors and transmit the combined video data to a display terminal for displaying the combined video data in a windowed format. The computer system is configured such that a malware program downloaded from the network and executing on the second electronic data processor is incapable of initiating access to the first memory space.

Description

CROSS REFERENCE TO MULTIPLE REISSUE APPLICATIONS
This is a reissue continuation application of U.S. Reissue patent application Ser. No. 12/854,149 filed Aug. 10, 2010 (now, U.S. Pat. No. Re. 43,103), which is a reissue application of U.S. Pat. No. 7,484,247, entitled “System and Method for Protecting a Computer System from Malicious Software,” issued on Jan. 27, 2009. The following are related reissue applications: U.S. patent application Ser. No. 12/720,147 (now, U.S. Pat. No. Re. 43,528) from U.S. Pat. No. 7,484,247, filed on Mar. 9, 2010, U.S. patent application Ser. No. 12/720,207 (now, U.S. Pat. No. Re. 43,500) from U.S. Pat. No. 7,484,247, filed on Mar. 9, 2010, and U.S. patent application Ser. No. 12/941,067 (now, U.S. Pat. No. Re. 43,529) from U.S. Pat. No. 7,484,247, filed on Nov. 7, 2010. All of the above applications are incorporated herein by reference.
TECHNICAL FIELD
The present invention relates generally to computer hardware and software, and more particularly to a system and method for protecting a computer system from malicious software.
CROSS REFERENCE TO RELATED PATENTS AND APPLICATIONS
This application is related to the following U.S. patents and applications:
U.S. patent
or PUB
Application
NumberTitleInventor(s)
5,826,013Polymorphic virus detection module.Nachenberg
5,978,917Detection and elimination of macroChi
viruses.
6,735,700Fast virus scanning using sessionFlint, et al
stamping.
6,663,000Validating components of a malwareMuttik, et al.
scanner.
6,553,377System and process for maintaining aEschelbeck,
plurality of remote security applicationset al.
using a modular framework in a
distributed computing environment.
6,216,112Method for software distribution andFuller, et al.
compensation with replenishable
advertisements.
4,890,098Flexible window management on aDawes, et al.
computer display.
5,555,364Windowed computer display.Goldstein
5,666,030Multiple window generation in computerParson
display.
5,995,103Window grouping mechanism forAshe
creating, manipulating and displaying
windows and window groups on a display
screen of a computer system.
5,502,808Video graphics display system withGoddard, et al.
adapter for display management based
upon plural memory sources.
5,280,579Memory mapped interface between hostNye
computer and graphics system.
5,918,039Method and apparatus for display ofBuswell, et al
windowing application programs on a
terminal.
6,480,198Multi-function controller and method for aKang
computer graphics display system.
6,167,522Method and apparatus for providingLee, et al.
security for servers executing application
programs received via a network
6,199,181Method and system for maintainingRechef, et al.
restricted operating environments for
application programs or operating
systems.
6,275,938Security enhancement for untrustedBond, et al.
executable code.
6,321,337Method and system for protectingReshef, et al.
operations of trusted internal networks.
6,351,816System and method for securing aMueller, et al.
program's execution in a network
environment.
6,546,554Browser-independent and automaticSchmidt, et al.
apparatus and method for receiving,
installing and launching applications from
a browser on a client computer.
6,658,573Protecting resources in a distributedBischof, et al
computer system.
6,507,904Executing isolated mode instructions in aEllison, et al.
secure system running in privilege rings.
6,633,963Controlling access to multiple memoryEllison, et al.
zones in an isolated execution
environment.
6,678,825Controlling access to multiple isolatedEllison, et al.
memories in an isolated execution
environment.
5,751,979Video hardware for protected,McCrory
multiprocessing systems.
6,581,162Method for securely creating, storing andAngelo, et al.
using encryption keys in a computer
system.
6,134,661Computer network security device andTopp
method.
6,578,140Personal computer having a masterPolicard
computer system and in internet computer
system and monitoring a condition of said
master and internet computer systems
PUBE-mail software and method and systemJacobs, Paul E.,
Application #for distributing advertisements to clientet al.
20040054588devices that have such e-mail software
installed thereon.
PUBSystem and method for comprehensiveMayer, Yaron;
Application #general generic protection for computerset al.
20040034794against malicious programs that may steal
information and/or cause damages
PUBSystem and method for providing securitySkrepetos,
Application #to a remote computer over a networkNicholas C.
20040006715browser interface.
PUBVirus protection in an internetSamman, Ben
Application #environment.
20030177397
PUBSystem and method for protectingPham, Khai;
Application #computer users from web sites hostinget al.
20030097591computer viruses.
PUBMalware infection suppression.Hinchliffe,
Application #Alexander
20030023857James; et al.
PUBAccess control for computers.Riordan, James
Application #
20020066016
PUBDetecting malicious alteration of storedWolff, Daniel
Application #computer files.Joseph; et al.
20020174349
The above-listed U.S. Patents and U.S. patent applications are incorporated by reference as if reproduced herein in their entirety.
BACKGROUND
The very popular and ubiquitous rise of the ‘personal’ computer system as an essential business tool and home appliance, together with the exponential growth of the Internet as a means of providing information flows across a wide variety of connected computing devices, has changed the way people live and work. Information in the form of data files and executable software programs regularly flows across the planetary wide system of interconnected computers and data storage devices.
Popular and ubiquitous computer hardware and software architectures have typically been designed to allow for open interconnection via, for example, the internet, a VPN, a LAN, or a WAN, with information often capable of being freely shared between the interconnected computers. This open interconnection architecture has contributed to the adoption and mainstream usage of these computers and the subsequent interconnection of vast networks of computers. This easy to use system has given rise to the explosive popularity of applications such as email, internet browsing, search engines, interactive gaming, instant messaging, and many, many more.
Although there are definite benefits to this open interconnection architecture, a lack of security against unwanted incursions into the computers main processing and non-volatile memory space has emerged as a significant problem. An aspect of some current computer architectures that has contributed to the security problem is that by default programs are typically allowed to interact with and/or alter other programs and data files, including critical operating system files, such as the windows registry, for example. Current open interconnection architectures have opened the door to a new class of unwanted malicious software generally known a malware. This malware is capable of infiltrating any computer system which is connected to a network of interconnected computer systems. Malware is comprised of, but not limited to, classes of software files known as viruses, worms, Trojan horses, browser hijackers, adware, spyware, pop-up windows, data miners, etc. Such malware attacks are capable of stealing data by sending user keystrokes or information stored on a user's computer back to a host, changing data or destroying data on personal computers and/or servers and/or other computerized devices, especially through the Internet. In the least, these items represent a nuisance that interferes with the smooth operation of the computer system, and in the extreme, can lead to the unauthorized disclosure of confidential information stored on the computer system, significant degradation of computer system performance, or the complete collapse of computer system function.
Malware has recently become much more sophisticated and much more difficult for users to deal with. Once resident on a computer system, many malware programs are designed to protect themselves from deletion. For example, some malware programs comprise a pair of programs running simultaneously, with each program monitoring the other for deletion. If one of the pair of programs is deleted, the other program installs a replacement within milliseconds. In another example, some malware will run as a Windows program with a .dlls extension, which Windows may not allow a user to delete while it is executing. Malware may also reset a user's browser home page, change browser settings, or hijack search requests and direct such requests to another page or search engine. Further, the malware is often designed to defeat the user's attempts to reset the browser settings to their original values. In another example, some malware programs secretly record user input commands (such as keystrokes), then send the information back to a host computer. This type of malware is capable of stealing important user information, such as passwords, credit account numbers, etc.
Many existing computers rely on a special set of instructions which define an operating system (O/S) in order to provide an interface for computer programs and computer components such as the computer's memory and central processing unit (CPU). Many current operating systems have a multi-tasking capability which allows multiple computer programs to run simultaneously, with each program not having to wait for termination of another in order to execute instructions. Multi-tasking O/S's allow programs to execute simultaneously by allowing programs to share resources with other programs. For example, an operating system running multiple programs executing at the same time allows the programs to share the computer's CPU time. Programs which run on the same system, even if not simultaneously with other programs, share space on the same nonvolatile memory storage medium. Programs which are executing simultaneously are presently able to place binaries and data in the same physical memory at the same time, limited to a certain degree by the O/S restrictions and policy, to the extent that these are properly implemented. Memory segments are shared by programs being serviced by the O/S, in the same manner. O/S resources, such as threads, process tables and memory segments, are shared by programs executing simultaneously as well.
While allowing programs to share resources has many benefits, there are resulting security related ramifications, particularly regarding malware programs. Security problems include allowing the malware program: to capitalize CPU time, leaving other programs with little or no CPU time; to read, forge, write, delete or otherwise corrupt files created by other programs; to read, forge, write, delete or otherwise corrupt executable files of other programs, including the O/S itself; and to read and write memory locations used by other programs to thus corrupt execution of those programs.
In the case of a computer connected to the Internet, the computer may run an O/S, with several user applications, together comprising a known and trusted set of programs, concurrently with an Internet browser, possibly requiring the execution of downloaded code, such as Java applets, or EXE/COM executables, with the latter programs possibly containing malware. Many security features and products are being built by software manufacturers and by O/S programmers to prevent malware infiltrations from taking place, and to ensure the correct level of isolation between programs. Among these are architectural solutions such as rings-of-protection in which different trust levels are assigned to memory portions and tasks, paging which includes mapping of logical memory into physical portions or pages, allowing different tasks to have different mapping, with the pages having different trust levels, and segmentation which involves mapping logical memory into logical portions or segments, each segment having its own trust level wherein each task may reference a different set of segments. Since the sharing capabilities using traditional operating systems are extensive, so are the security features. However, the more complex the security mechanism is, the more options a malware practitioner has to bypass the security and to hack or corrupt other programs or the O/S itself, sometimes using these very features that allow sharing and communication between programs to do so.
Further, regarding malware programs, for virtually every software security mechanism, a malware practitioner has found a way to subvert, or hack around, the security system, allowing a malware program to cause harm to other programs in the shared environment. This includes every operating system and even the Java language, which was designed to create a standard interface, or sandbox, for Internet downloadable programs or applets.
Major vulnerabilities of existing computer systems lies in the architectures of the computer system and of the operating system itself. A typical multi-tasking O/S environment includes an O/S kernel loaded in the computer random access memory (RAM) at start-up of the computer. The O/S kernel is a minimal set of instructions which loads and off-loads resources and resource vectors into RAM as called upon by individual programs executing on the computer. Sometimes, when two or more executing programs require the same resource, such as printer output, for example, the O/S kernel leaves the resource loaded in RAM until all programs have finished with that resource. Other resources, such as disk read and write, are left in RAM while the operating system is running because such resources are more often used than others. The inherent problem with existing architectures is that resources, such as RAM, or a hard disk, are shared by programs simultaneously, giving a malware program a conduit to access and corrupt other programs, or the O/S itself through the shared resource. Furthermore, as many application programs are of a general nature, many features are enabled by default or by the O/S, thus in many cases bypassing the O/S security mechanism. Such is the case when a device driver or daemon is run by the O/S in kernel mode, which enables it unrestricted access to many if not all the resources.
The most common state-of the-art solutions for preventing malware infiltration are software based, such as blockers, sweepers and firewalls, for example, and hardware based solutions such as router/firewalls. Examples of software designed to counter malware are Norton Systems Works, distributed by the Symantec Corporation, Ad-aware, distributed by the Lavasoft Corporation of Sweeden, Spy Sweeper, distributed by the Webroot Software Corporation, Spyware Guard, distributed by Javacool Software LLC, among others. Currently there are a plethora of freeware, shareware and purchased software programs designed to counter malware by a variety of means. Such anti-malware programs are limited because they can only detect known malware that has already been identified (usually after the malware has already attacked one or more computers).
Network firewalls are typically based on packet filtering, which is limited in principle, since the rules determining which packets to accept and which to reject may contain subjective decisions based on trusting known sites or known applications. However, once security is breached for any reason (for example, due to a software or hardware error, a new piece of malware unrecognized by the anti-malware program or firewall, or an intended deception), a malicious application may take over the computer or server or possibly the entire network and create unlimited damages (directly or indirectly by opening the door to additional malicious applications).
The methods in the prior art are typically comprised of embedded software countermeasures that detect and filter unwanted intrusions in real time, or scan the computer system either at the direction of a user or as a scheduled event. Two problems arise from these methods. In the first instance, a comprehensive scan, detect, and elimination of malware from desired incoming data streams could significantly slow or preclude the interactive nature of many applications such a gaming, messaging, and browsing. In the second instance, newly implemented software screens may be quickly circumvented by malware practitioners who are determined to pass their files through the screen. Newly discovered malware leads to the development of additional screens, which lead to more malware, etc., thus creating an escalating cycle of measure, countermeasure. The basic flaw is that all incoming executable data files must be resident on the computers main processor to perform their desired function. Once resident on that processor, access may be gained to non-volatile memory and other basic computer system elements. Malware exploits this key architectural flaw to infiltrate and compromise computer systems.
The majority of these applications rely upon a scanning engine which searches suspect files for the presence of predetermined malware signatures. These signatures are held in a database which must be constantly updated to reflect the most recently identified malware. Typically, users regularly download replacement databases, either over the Internet, from a received e-mail, or from a CDROM or floppy disc. Users are also expected to update their software engines every so often in order to take advantage of new virus detection techniques (e.g. which may be required when a new strain of malware is detected).
Many of the aforementioned applications are also not effective against security holes, for example, in browsers or e-mail programs, or in the operating system itself. Security holes in critical applications are discovered quite often, and just keeping up with all the patches is cumbersome. Also, without proper generic protection against, for example, Trojan horses, even VPNs (Virtual Private Networks) and other forms of data encryption, including digital signatures, are not totally safe because information can be stolen before or below the encryption layer. Even personal firewalls are typically limited, because once a program is allowed to access the Internet, there are often few limitations on what files may be accessed and transmitted back to a host.
A major problem faced by computer users connected to a network is that the network interface program (a browser, for example) is resident on the same processor as the O/S and other trusted programs, and shares space on a common memory storage medium. Even with security designed into the O/S, malware practitioners have demonstrated great skill in circumventing software security measures to create malware capable of corrupting critical files on the shared memory storage medium. When this happens, users are often faced with a lengthy process of restoring their computer systems to the correct configuration, and often important files are simply lost because no backup exists.
Therefore, what is needed in the art is a means of isolating the network interface program from the main computer system such that the network interface program does not share a common memory storage area with other trusted programs. The network interface program may be advantageously given access to a separate, protected memory area, while being unable to initiate access to the main computer's memory storage area. With the network interface program constrained in this way, malware programs are rendered unable to automatically corrupt critical system and user files located on the main memory storage area. If a malware infection occurs, a user would be able to completely clean the malware infection from the computer using a variety of methods. A user could simply delete all files contained in the protected memory area, and restore them from an image residing on the main memory area, for example.
Other discussions of malware, its effects on computer systems, techniques used by malware practitioners to install malware, and techniques for detection and removal, may be found in the published literature, and in some of the patents and applications previously incorporated by reference. Reference to malware may be found in a technical white paper entitled “Spyware, Adware, and Peer-to-Peer Networks: The Hidden Threat to Corporate Security.”, by Kevin Townsend, © Pest Patrol Inc. 2003. Pest Patrol is a Carlisle; Pa. based developer of software security tools. Another reference is a technical white paper entitled “Beyond Viruses: Why anti-virus software is no longer enough.” by David Stang, PhD, © Pest Patrol Inc. 2002. Yet another reference is “The Web: Threat or Menace?” from “Firewalls and Internet Security: Repelling the Wily Hacker”, Second Edition, Addison-Wesley. ISBN 0-201-63466-X, Copyright 2003. The foregoing references are incorporated by reference as if reproduced herein in their entirety.
SUMMARY OF THE INVENTION
Embodiments of the present invention achieve technical advantages as a system and method for protecting a computer system from malicious software attacks via a network connection.
It is an object of the present invention to provide a computer system capable of preventing malware programs from automatically corrupting critical user and system files.
It is another object of the present invention to confine any malware infection that may occur to a separate, protected part of the computer system.
It is another object of the present invention to provide a user with an easy and comprehensive method of removing the malware infection, even if the user's anti-malware software is incapable of detecting and/or removing the malware infection.
It is another object of the present invention to provide a user with an easy and comprehensive method of restoring critical system and user files that may have been corrupted by a malware infection.
It is another object of the present invention to provide a computer system configured such that attempts by malware to record and report data entry by the computer user via input devices such as keyboards, mouse clicks, microphones, or any other data input devices are effectively blocked.
It is another object of the present invention to provide a computer system capable of executing instructions in a first logical process, wherein the first logical process is capable of accessing data contained in a first memory space and a second memory space.
It is another object of the present invention to provide a computer system capable of executing instructions in a second logical process, wherein the second logical process is capable of accessing data contained in the second memory space, the second logical process being further capable of exchanging data across a network of one or more computers.
It is another object of the present invention to provide a computer system capable of displaying, in a windowed format on a display terminal, data from the first logical process and the second logical process, wherein a video processor is adapted to combine data from the first and second logical processes and transmit the combined data to the display terminal
It is another object of the present invention to provide a computer system configured such that a malware program downloaded from the network and executing as part of the second logical process is incapable of initiating access to the first memory space.
It is another object of the present invention to provide a computer system configured such that corrupted data files residing on the second memory space may be restored from an image residing on the first memory space.
It is another object of the present invention to provide a computer system configured such that data files residing on the second memory space may be automatically deleted when the second logical process is terminated.
It is another object of the present invention to provide a computer system configured such that the second electronic data processor and the video processor are co-located on a circuit card, the circuit card being communicatively coupled to the first electronic data processor.
These objects and other advantages are provided by a preferred embodiment of the present invention wherein a computer system comprising a first electronic data processor is communicatively coupled to a first memory space and to a second memory space, a second electronic data processor is communicatively coupled to the second memory space and to a network interface device, wherein the second electronic data processor is capable of exchanging data across a network of one or more computers via the network interface device, a video processor is adapted to combine video data from the first and second electronic data processors and transmit the combined video data to a display terminal for displaying the combined video data in a windowed format, wherein the computer system is configured such that a malware program downloaded from the network and executing on the second electronic data processor is incapable of initiating access to the first memory space.
TERM DESCRIPTION
Memory—This term is intended to broadly encompass any device capable of storing and/or incorporating computer readable code for instantiating the client device referred to immediately above. Thus, the term encompasses all types of recording medium, e.g., a CD-ROM, a disk drive (hard or soft), magnetic tape, and recording devices, e.g., memory devices including DRAM, SRAM, EEPROM, FRAM, and Flash memory. It should be noted that the term is intended to include any type of device which could be deemed persistent storage. To the extent that an Application Specific Integrated Circuit (ASIC) can be considered to incorporate instructions for instantiating a client device, an ASIC is also considered to be within the scope of the term “memory.”
BRIEF DESCRIPTION OF THE DRAWINGS
For a more complete understanding of the present invention, and the advantages thereof, reference is now made to the following descriptions taken in conjunction with the accompanying drawings, in which:
FIG. 1 illustrates a preferred embodiment of an exemplary computer system according to the principles of the present invention;
FIG. 2 illustrates a preferred embodiment of an exemplary protected process flow according to the principles of the present invention;
FIG. 3 illustrates a preferred embodiment of an exemplary file download process according to the principles of the present invention;
FIG. 4 illustrates a preferred embodiment of an exemplary memory restoration process according to the principles of the present invention;
FIG. 5 illustrates a preferred embodiment of an exemplary automatic memory restoration and cleaning process according to the principles of the present invention;
FIG. 6 illustrates a preferred embodiment of an exemplary interactive network process flow according to the principles of the present invention;
FIG. 7 illustrates a preferred embodiment of an exemplary computer system according to the principles of the present invention;
FIG. 8 illustrates a preferred embodiment of an exemplary computer system according to the principles of the present invention;
FIG. 9 illustrates a preferred embodiment of an exemplary computer system according to the principles of the present invention;
FIG. 10 illustrates a preferred embodiment of an exemplary protected process flow according to the principles of the present invention.
DETAILED DESCRIPTION OF THE ILLUSTRATED EMBODIMENTS
The making and using of the presently preferred embodiments are discussed in detail below. It should be appreciated, however, that the present invention provides many applicable inventive concepts that can be embodied in a wide variety of specific contexts. The specific embodiments discussed are merely illustrative of specific ways to make and use the invention, and do not limit the scope of the invention.
A computer system, constructed in accordance with a preferred embodiment of the present invention, is illustrated inFIG. 1.Computer system100 may represent, for example, a personal computer (PC) system, a server, a portable computer, such as a notebook computer, or any data processing system, a personal digital assistant (PDA), a communication device such as a cell phone, or device that is capable of being connected to a network of one or more computers.System100 comprises a first processor120 (P1) communicatively coupled to a first memory and data storage area110 (M1).P1100 may comprise, for example, a microprocessor, such as a Pentium®4 processor, manufactured by the Intel Corporation, or a Power PC® processor, manufactured by the IBM Corporation. Other electronic data processors manufactured by other companies, including but not limited to electronic data processors realized in Application Specific Integrated Circuits (ASICs) or in Field Programmable Gate Arrays (FP-GAs), are within the spirit and scope of the present invention.
The first memory anddata storage area110 may comprise both volatile and nonvolatile memory devices, such as DRAMs and hard drives, respectively. Any memory structure and/or device capable of being communicatively coupled to P1 may be advantageously used in the present invention. M1 may be used to store, for example, critical operating system files, user data and applications, interim results of calculations, etc. The many uses of computer memory are well understood by those skilled in the art, and will not be discussed further here. One may refer to several of the aforementioned patents and applications incorporated by reference, in addition to other references, for a discussion of existing computer architectures and uses of computer memory. Also part ofsystem100 isuser interface150, which may comprise, for example, a keyboard, mouse or other pointing device, microphone, pen pad, etc. Any device or method capable of inputting commands and/or data from auser160 tocomputer system100 may be used to advantage. Avideo processor170 is used to format information for display and transmit the display information to avideo display device180, which is viewed byuser160.Video processor170 typically includes an associated video memory area, which may be dedicated to the video processor, or shared with other resources. It is understood in the art that thevideo processor170 may be part ofprocessor P1120, in that it may be integrated onto the microprocessor chip.Video processor170 may also comprise a processor IC located on a video graphics card, which is communicatively coupled to a computer motherboard. Additionally,video processor170 may comprise circuitry located on the computer motherboard. Further still, functions ofvideo processor170 may be split between the processor, motherboard, or separate video graphics card.
It is often desirable to connectcomputer system100 to a network of one ormore computer devices195, such as the Internet, a LAN, WAN, VPN, etc. This connection may be accomplished vianetwork interface device190, which may comprise, for example, a telephone modem, a cable modem, a DSL line, a router, gateway, hub, etc. Any device capable of interfacing with thenetwork195 may be used, via a wired connection, a wireless connection, or an optical connection, for example.Network interface device190 may connect to network195 through one or more additional network interface devices (not shown). For example,network interface device190 may comprise a gateway or router, connected to a cable modem, with the cable modem connected tonetwork195. Of course, other configurations are within the spirit and scope of the present teachings.
In accordance with a preferred embodiment of the present invention,network195 is isolated from thefirst processor120 andmemory110 by a second processor140 (P2).Second processor140 may comprise any electronic data processor, such as the devices previously described as applicable tofirst processor120. Communicatively coupled toP2140 is second memory and data storage area130 (M2), which may comprise any memory device or devices, such as the devices previously described as applicable tofirst memory110.
The architecture ofcomputer system100 is designed to be capable of protectingmemory110 from malware initiated intrusions, and preventing malware from initiating unwanted processes onfirst processor120. This is accomplished by usingsecond processor140 to isolate110 and120 fromnetwork195. In a preferred embodiment,P2140 is communicatively coupled to memorystorage area M2130, and may be configured such thatP2140 is incapable of initiating access to memorystorage area M1110. For example,P2140 may be capable of accessing memorystorage area M1110 with the strict permission ofuser160, either through a real time interaction or via stored configuration or commands. Such a configuration may be desirable in a multi-core or multi processor system, whereuser160 may wish to useP2140 in either a protected mode or an unprotected mode, depending on the application. However,user160 is capable of denyingP2140 the capability of initiating access to memorystorage area M1110 without the user's permission.P1120 is communicatively coupled to bothmemory areas M1110 andM2130, thereby enablingP1120 to access data downloaded from thenetwork195. In the presently described embodiment, any malware that has intruded the130-140 system is thus confined to the130-140 system, and may be configured to be incapable of automatically corrupting data contained onM1110, or of automatically initiating an unwanted process onP1120.
This and other features of the present teachings may be illustrated with reference to the example process flow200 ofFIG. 2.Computer user160 wishes to connect to network195 via for example, a browser program such as Internet Explorer or Netscape Navigator. Of course, other methods of connecting to network195 may be used.User160 inputs commands to open a protected process (e.g. a browser program in this example) atstep210. Atstep220, 1stprocessor120 instructs 2ndprocessor140 to initiate the protected process and open one or more process windows.Second processor140, in conjunction withmemory130, then interacts with thenetwork195 vianetwork interface device190, receiving and transmitting the data necessary to execute the desired protected process, such as browsing the internet or communication via e-mail.Second processor140 andmemory130 act as a separate computer system, interacting withnetwork195 while isolatingnetwork195 from thefirst processor120 andmemory110.Memory130 may store critical application and system files required bysecond processor140 to execute the desired tasks.Memory130 also stores data necessary to carry out the desired protected process. In the example ofFIG. 2,first processor120 receives user interface data fromuser160, and passes user interface data tosecond processor140 when the protected process window is selected or active, illustrated atstep230. User interface data, such as keystrokes for example, may be advantageously encrypted byP1120 before passing the data toP2140, withnetwork interface device190 possibly decrypting the data prior to transmitting the data to network195. Encrypting, for example keystroke data, may disrupt the efforts of spyware programs designed to store user keystrokes for later transmission to a host computer.Second processor140 generates video data for the protected process window(s) and passes the video data tovideo processor170, for eventual display onvideo display180, shown atstep240.Video processor170 then interleaves the video data from all processes being executed byfirst processor120 andsecond processor140, atstep250. While there are many applicable methods for displaying video data from multiple sources, one such method was described in U.S. Pat. No. 5,751,979, entitled “Video hardware for protected, multiprocessing systems”, previously incorporated by reference.
In accordance with a preferred embodiment of the present invention, if any malware is downloaded fromnetwork195, it is stored inmemory130, and/or run as a process onsecond processor140. In the configuration ofcomputer system100, any downloaded malware is rendered incapable of self initiating access tomemory110 orfirst processor120, becausesecond processor140 is rendered incapable of initiating access to110 and120 without a direct or stored command fromuser160. Any malware infection is thus confined. If a malware attack corrupts files and/or disrupts the operation of the130-140 system, the user may easily shut down the corrupted process and restore the corrupted files from a protected image stored onmemory110, for example.
In accordance with a preferred embodiment of the present invention, the operating system controlling the110-120 system may be different from an operating system controlling the protected130-140 system. Conversely, a common operating system may control both the110-120 system and the protected130-140 system.
Auser160 may find it desirable to transfer files from the protected130-140 system to the110-120 system.User160 may find it necessary, for example, to transfer an attachment from an e-mail message stored onmemory130 to the110-120 system for further processing, modification, etc. In this case, thecomputer system100 may go through a process whereby a file or other data is transferred from the130-140 system to the110-120 system, exemplified by theprocess300 illustrated inFIG. 3.
In accordance with a preferred embodiment of the present invention, atstep310,user160 selects one or more data files to download fromnetwork195. The desired data is downloaded to the130-140 system atstep320. Theuser160 then directscomputer system100 to move the desired file(s) from the130-140 system to the110-120 system atstep330.P1120 may then perform a malware scan on the desired files, either in real time as the data is being transferred, or while the data still resides in M2130 (step340). Alternatively,P2140 may perform the malware scan. Atstep350, processor P2140 (or P1120) determines if malware has been detected in the desired file(s), and thusP1120 makes a decision. If no malware is detected, the file(s) are moved or copied ontoM2110 atstep360. If malware is detected, the data file(s) are quarantined onM2130, and the data file(s), if transferred toM1100, are erased or quarantined. Once malware is detected, theuser160 may be alerted of the detection (step370). Either as a result of user input or stored configuration commands, the infected file(s) are deleted, cleaned, or quarantined onM2130, atstep380.
Theuser160 would of course understand the dangers inherent in transferring downloaded files from the130-140 system to the110-120 system. For example, the user's anti-malware software may not be up to date, or may simply be unable to detect certain types of malware. Also, the malware itself may be so new that the user's anti-malware definitions have not been updated as yet. Therefore the user may wish to keep the files on the130-140 system for some period of time. Consequently, it may be desirable to have resident on the130-140 system a variety of application software such as readers, thereby allowing the user to examine the files without risking transferring the files to the110-120 system. These reader programs, such as Adobe Acrobat Reader, by the Adobe Systems Corporation, or Visio reader, by the Microsoft Corporation, are typically subset application programs of the full featured application programs, and may thus require far less memory space than the full application. Additionally, software companies often distribute the reader programs for free (or a nominal fee), thereby providing advertising for the full featured application in the hopes that it will be eventually purchased by the user. This reader application may be opened and executed on the130-140 system in a manner similar to the process described inFIG. 2. Of course, auser160 may also load a full application into the130-140 system, enabling processing and modification of a downloaded file fully in the protected space, without risking a transfer of the file to the110-120 system.
In the event the130-140 system becomes infected with malware, theuser160 may wish to clean the130-140 system. This cleaning may be accomplished by running an anti-malware application on the130-140 system. However, if the infection is too severe for the anti-malware software to clean, or if the malware is undetectable by the user's anti-malware software, the user may wish to restore critical system files (or other user data files) for the130-140 system from a protected image stored onM1100, for example. It is of course understood that the critical system file image may be restored from another device, such as a removable drive or a CD, for example. The user may however consider it more convenient to restore the critical system files from an image onM1100.
In accordance with a preferred embodiment of the present invention, an exemplary process for restoringM2130 fromM1110 is illustrated byprocess400 inFIG. 4. Atstep410, malware is detected or suspected to be infecting the130-140 system. The user instructsP1120 to reload critical system files ontoM2130 from a protected image onM1110, atstep420. Depending on the severity of the infection,P1120 may scan all or part of the data contained onM2130 for malware, and may scan all processes currently running onP2140. The scan may be initiated by direct instructions from the user, or by stored configuration commands, for example (step430).P1120 may delete all or part of the data contained on M2.P1120 may also resetP2140 and/or delete the contents of any RAM communicatively coupled to P2140 (step440). Once the130-140 system has been adequately cleaned, clean critical system files are loaded ontoM2130 from any of the sources previously mentioned, preferably an image stored on M1110 (step450). The130-140 may now be rebooted and/or reinitialized from the clean critical system files. In an extreme case where the malware resists deletion by the operating system, the user may elect to do a low level format on theM1110 memory in order to ensure that the malware infection has been cleaned.
In accordance with a preferred embodiment of the present invention, auser160 may consider it advantageous for the130-140 system to be automatically reinitialized from clean critical system files when a protected process window is opened. In this way, the new protected process is much less likely to be affected by an infection from a previous protected process session. Of course, a user may have a plurality of protected processes open and running during a protected process session. It may only be necessary to automatically reinitialize from clean critical system files when the first protected process is opened during a session. Subsequent protected processes may not require automatic re-initialization from clean critical system files. An exemplary automatic re-initialization from clean critical system files is illustrated bysteps510,520 and530 inFIG. 5a. Additionally, processes running onP2140 may be automatically scanned and compared with an allowed process list, particularly as a protected process is started up. If any process is detected which is not on the allowed list, the user may be alerted that a possible malware infection has occurred. A user may then choose to scan or clean the system, or inspect the unknown process to determine if the process will be allowed to continue to execute. A user may also update the list of allowed processes from time to time as new, legitimate processes are added, for example, by a browser software update.
In accordance with a preferred embodiment of the present invention, auser160 may consider it advantageous for the130-140 system to be automatically cleaned when a protected process window is closed. In this way, any detected or undetected malware infections are much less likely to affect a future protected process session. It may only be necessary to automatically clean the130-140 system when the last protected process is closed during a session. An exemplary automatic cleaning process is illustrated bysteps540,550,560,570 and580 inFIG. 5b. Thememory M2130 andprocessor P2140 may be automatically scanned for malware infections as the protected process session closes. Infected files may be deleted or quarantined automatically. Additionally, there may be a variety of files that a user may wish to have automatically cleaned or deleted upon closing a protected process session. For example, temporary internet files, cookies, browser plug-ins, etc., may be deleted or scanned for malware automatically. A user may also wish to have websites that contributed to a malware infection noted, and may wish to place the offending websites in a block list, such that the offending websites cannot be accessed in the future without the user specifically authorizing access. As part of the malware scan, the malware scanner may automatically log the offending website(s), and block future access. Also, theP2140 processor and any associated non-volatile memory may be reset and/or erased as the protected process session is closed. The exemplary automatic cleaning process illustrated inFIG. 5b may therefore reduce the risk of a malware infection being carried over to a future protected process session.
Interactive network processes such as interactive gaming have become very popular in recent years. In current interactive gaming processes, a user may log onto a game host located onnetwork195, or connect to other computers whose users wish to participate in the game. Computer games, such as Quake 3. Arena, by Id Software Incorporated, or Call of Duty, by Activision Incorporated, are just two examples of the plethora of games available that may be played interactively over a network. The user's computer system typically provides the bulk of the processing power and video graphics generation required to display the often fast moving and richly detailed three dimensional game environments. Information about the current and new state of the game is exchanged between various users' computer systems, often in real time. With this type of process, a relatively modest amount of data is required to be exchanged between users, or a user and the host, with the bulk of the processing, data manipulation, and graphics generation being handled by the user's local machine. However, this open network connection may become a conduit for malware practitioners to exploit, allowing malware to be downloaded onto a user's computer during a gaming session, often without the user being aware of the malware transfer. It would be advantageous, therefore, for a computer system to be much less susceptible to malware attacks during gaming sessions.
In accordance with a preferred embodiment of the present invention, anexemplary process flow600, illustrated inFIG. 6, allows an interactive network process, such as online gaming, to be carried out oncomputer system100. A user initiates an interactive network process via 2ndprocessor P2140 (step610).P2140 receives interactive network process status data from network connection (step620).P2140 informs1st processor P1120 that interactive network process status data is available (step630).P1120 retrieves interactive network process status data fromP2140 and uses the status data to update the interactive network process and update video display (step640).P1120 then passes the updated interactive network process status data to P2140 (step650).P2140 then sends the updated interactive network process status data to the network via network connection195 (step660). Theexemplary process600, or a process functionally equivalent, is carried out continuously as long as the interactive process is running.
By using exemplary process600 (or an equivalent),computer system100 is capable of actively deciding what data to download and use, and what data to discard or scan for malware. The game status data is buffered prior to loading it onto the110-120 system. The110-120 system may be advantageously configured to only accept game status information in the proper format, thereby minimizing the chance that a malware practitioner could deceptively load malware onto the110-120 system.
Additionally,computer system100 could be configured such that system130-140 is powerful enough to process the interactive network process without exchanging information with the110-120 system. Such a configuration may be more secure, as a conduit between the110-120 system and the130-140 system may not be necessarily opened. The130-140 system may contain all the necessary files to facilitate the interactive network process. Higher end computers, workstations, and servers often contain dual (or more) processors, such as the Mac G5, manufactured by the Apple Computer Corporation, or a single physical processor with a multiple processor core. Often, the processors in these multi-processor machines are of equal or comparable processing power. In such a configuration, one processor may be dedicated to performing functions equivalent to those described forP1120, with a second processor performing the functions equivalent to those described forP2140. Acomputer system100 employing multiple processors may be advantageously configured such that one of the processors is dedicated to protected processes only when a network process is active. When a user is not accessing a network, the multiple processors in a computer system may be dedicated to other processes, such as performing complex calculations or simulations, or running complex non-network interactive gaming processes, for example. Alternatively, thecomputer system100 may be configured such that the110-120 system simply transfers required files to thevideo processor170 or the130-140 system at the appropriate time to facilitate the interactive network process. The110-120 system could be commanded to retrieve and transfer the files at the command of the video processor, or at the command of the130-140 system, or a combination of both.
In accordance with embodiments of the present invention,computer system100 may be configured in a variety of ways, while still remaining within the spirit and scope of the present teachings. One such exemplary embodiment is illustrated inFIG. 7.Subsystem700 ofcomputer system100 comprises avideo processor770, asecond processor740, and a second memorydata storage area730. The demarcation line illustrated bysubsystem700 may be either physical or logical. For example,subsystem700 may comprise an add-on card, such as a high end video card, or a video/network card. If configured in this exemplary manner, a user could upgrade an existing computer system to take advantage of the teachings of the present invention.Subsystem700 may be plugged into the main motherboard of an existing computer, for example. The motherboard connector may be already communicatively coupled to the110-120 system, thereby facilitating the system upgrade. Thenetwork interface device190 may be connected directly tosubsystem700, ornetwork interface device190 could be integrated as part ofsubsystem700. Memorydata storage area730 may comprise any of the volatile and/or non-volatile memory types previously described, or any combination thereof, or any suitable memory storage medium, for example. Alternatively,subsystem700 may be located on the motherboard, as opposed to an add-on card. Further still, portions ofsubsystem700, such asvideo processor770, and/orsecond processor740, for example, may be integrated together withP1120. It is understood that functions described herein may be configured in a wide variety of ways, without departing from the spirit and scope of the present teachings.
In accordance with a preferred embodiment of the present invention, an alternate configuration forcomputer system100 is illustrated inFIG. 8.Subsystem800 ofcomputer system100 comprises avideo processor870, asecond processor840, and a second memorydata storage area830. The demarcation line illustrated bysubsystem800 may be either physical or logical. For example,subsystem800 may comprise an add-on card, such as a high end video card, or a video/network card. If configured in this exemplary manner, a user could upgrade an existing computer system to take advantage of features of the present invention. In the exemplary embodiment ofFIG. 8,second processor840 andvideo processor870 are integrated together, perhaps on a common integrated circuit. Such a configuration may help to reduce the cost ofsubsystem800, and/or improve the performance. Additionally, a circuit designer may find it advantageous to integrate840 and870 together to facilitate communication between the functions. It is understood that such an integration of functions may create a device in which an external user may find it difficult to distinguish where the function of870 ends and the function of840 begins, and vice versa. Such a device, however, would remain within the spirit and scope of the present teachings.
In accordance with a preferred embodiment of the present invention, an alternate configuration forcomputer system100 is illustrated inFIG. 9.Computer system100 comprises avideo processor970,processor960, and a memorydata storage area950.Processor960 may further comprise multiple processor cores, illustrated by 1stprocessor920 and 2ndprocessor940. It is understood thatprocessor960 may contain more than 2 processor cores. Microprocessors manufactured with multiple processor cores are becoming common in the industry, and such multi-core processors may be particularly advantageous when used in accordance with the present teachings. Memorydata storage area950 may further comprise 1stmemorydata storage area910 and 2ndmemorydata storage area930.Memory areas910 and930 may comprise, for example, different partitions on a single hard drive, and/or different address ranges in a RAM bank.
Referring again toFIG. 9, the functions carried out byprocessors920 and940 may comprise separate, secure logical processes executing on the same physical processor. For example, a first logical process may comprise executing instructions necessary to carry out the functions of an operating system, or the first logical process may comprise executing instructions necessary to carry out the functions of a first computer program, including but not limited to a word processor. A second logical process may comprise executing instructions necessary to carry out the functions of a web browser program, or may comprise executing instructions necessary to carry out the functions of an instant messenger program, for example. Acomputer system100 constructed in accordance with the principles of the present invention would be capable of disallowing a secure logical process, such as the second logical process described above, access to certain memory spaces, and/or disallowing a secure logical process from initiating access to another logical process. For example, the functions carried out by P2140 (FIG. 1) may comprise a secure logical process, which may be configured to be unable to automatically initiate access to eitherM1110 or another logical process performing the functions ofP1120. Additionally,memory areas910 and930 may comprise separate, isolated memory zones within a common physical memory space, such as separate partitions within the same hard drive, for example.
Some malware programs are designed to secretly record user input commands (such as keystrokes, for example), then send the information back to a host computer. This type of malware is capable of stealing important user information, such as passwords, bank account numbers, social security numbers, driver's license numbers, credit account numbers, etc. Theft of such personal information could result in the theft of actual assets (money or securities, etc.) or perhaps used for identity theft, among other malicious intents. Clearly, a computer system capable of ensuring the protection of such sensitive information would be desirable.
In accordance with an embodiment of the present invention, a computer system is configured such that attempts by malware to record and report data entry by the computer user via input devices such as keyboards, mouse clicks, microphones, or any other data input devices are effectively blocked. Encryption of user input data, such as keystrokes, is an effective means of protecting such data from theft by malware. Specific techniques used for data encryption and decryption are well known in the art, and need not be discussed further here. There are many examples in the art that may be examined to better understand various encryption/decryption techniques and the use of encryption/decryption in computer systems. Among these are U.S. Pat. No. 6,581,162 entitled “Method for securely creating, storing and using encryption keys in a computer system.” issued to Angelo, et al., and U.S. Pat. No. 6,134,661 entitled “Computer network security device and method.” Issued to Topp. The aforementioned patents have been previously incorporated by reference.
In accordance with the present teachings, a method of operating a computer system involving data encryption is described. Instep1010, a user opens a protected process where some level of data encryption is desired, for example, the encryption of sensitive user interface data or user files. Other data may be encrypted as desired. Atstep1020,processor P1120 instructsprocessor P2140 to initiate a protected process and open a process window.P1120 encrypts the sensitive data and passes the user interface data toP2140 when aP2140 window is selected or active (step1030).P2140 generates video data for theP2140 process window(s) and passes the video data to video processor170 (step1040).Video processor170 decrypts the sensitive data and interleaves the video data from all P1 and P2 processes (step1050).P2140 passes the encrypted sensitive data to network interface device190 (step1060).Network interface device190 decrypts the sensitive data and passes the decrypted sensitive data to network195. Of course, other methods of operating a computer system in which data is encrypted prior to being passed toP2140, and decrypted after leaving the control ofP2140, are within the spirit and scope of the present teachings.
In accordance with a preferred embodiment of the present invention, data desired to be protected is encrypted prior to sending the data toprocessor P2140, which may be running one or more malware processes.Processor P2140 does not have visibility to the decryption keys, and is therefore unable to decrypt the data. Data may be decrypted bynetwork interface device190 prior to forwarding the data on tonetwork195. Conversely, encrypted data may be sent directly over the network for decryption by another computer system, including, for example, an internet banking host computer. Decryption keys may be passed betweenP1120 andnetwork interface device190 via acommunication link191.Video processor170 may decrypt the data prior to displaying the data onvideo display180, with decryption keys possibly passed betweenP1120 andvideo processor170 via acommunication link171. Conversely, data may be passed directly tovideo processor170 via acommunication link151.
Auser160 may wish to encrypt just a portion of the data destined for the network, such as passwords, credit card numbers, etc. Conversely, a user may wish to encrypt large blocks of data, such as e-mails or large application files containing sensitive text and/or graphics. Instructions may be passed to networkinterface device190 directing190 to decrypt one or more specific data blocks prior to sending the data blocks tonetwork195. Conversely, instructions may be passed to networkinterface device190 directing190 to pass one or more specific data blocks to network195 without decryption.
While this invention has been described with reference to illustrative embodiments, this description is not intended to be construed in a limiting sense. Various modifications and combinations of the illustrative embodiments, as well as other embodiments of the invention, will be apparent to persons skilled in the art upon reference to the description. It is therefore intended that the appended claims encompass any such modifications or embodiments.

Claims (25)

1. A method of operating a computer system having at least a first and second electronic data processor capable of executing instructions using a common operating system, comprising the steps of:
executing instructions in a first logical process within the common operating system using the first electronic data processor, wherein the first logical process is capable of accessing data contained in a first memory space and a second memory space;
executing instructions in a second logical process within the common operating system using the second electronic data processor, wherein the second logical process is capable of accessing data contained in the second memory space, the second logical process being further capable of exchanging data across a network of one or more computers;
displaying, in a windowed format on a display terminal, data from the first logical process and the second logical process, wherein a video processor is adapted to combine data from the first and second logical processes and transmit the combined data to the display terminal;
wherein the computer system is configured such that the second electronic data processor is operating in a protected mode and data residing on the first memory space is protected from corruption by a malware process downloaded from the network and executing as part of the second logical process.
10. A multi-processor computer system using a common operating system, comprising:
a first electronic data processor capable of executing instructions using the common operating system and communicatively coupled to a first memory space and a second memory space;
a second electronic data processor capable of executing instructions using the common operating system and communicatively coupled to the second memory space and to a network interface device, wherein the second electronic data processor is capable of exchanging data across a network of one or more computers via the network interface device;
a video processor adapted to combine video data from the first and second electronic data processors and transmit the combined video data to a display terminal for displaying the combined video data in a windowed format;
wherein the computer system is configured such that the second electronic data processor is operating in a protected mode and data residing on the first memory space is protected from corruption by a malware process downloaded from the network and executing on the second electronic data processor.
15. A multi-processor computer system using a common operating system, comprising:
at least a first and second electronic data processor capable of executing instructions using the common operating system;
at least a first and second memory space;
a video processor;
wherein the first and second electronic data processors, first and second memory space, and video processor are configured for performing the steps of:
executing instructions in a first logical process with the first electronic data processor, wherein the first logical process is executing within the common operating system and is capable of accessing data contained in the first memory space and the second memory space;
executing instructions in a second logical process with the second electronic data processor, wherein the second logical process is executing within the common operating system and is capable of accessing data contained in the second memory space, the second logical process being further capable of exchanging data across a network of one or more computers;
displaying, in a windowed format on a display terminal, data from the first logical process and the second logical process, wherein the video processor is adapted to combine data from the first and second logical processes and transmit the combined data to the display terminal;
wherein the computer system is configured such that the second electronic data processor is operating in a protected mode and data residing on the first memory space is protected from corruption by a malware process downloaded from the network and executing as part of the second logical process.
21. A computer program product comprising a program code stored in a non-transitory computer readable medium configured to:
execute instructions in a first logical process with a first electronic data processor employing a common operating system, the first logical process being configured to access data in a first memory space and a second memory space;
execute instructions in a second logical process with a second electronic data processor employing the common operating system, the second logical process being configured to access data in the second memory space and exchange data across a network of one or more computers;
generate data from the first logical process and the second logical process for display; and
operate the second electronic data processor in a protected mode such that data residing in the first memory space is protected from corruption by a malware process downloaded from the network and executing as part of the second logical process.
US13/015,1862004-08-072011-01-27System and method for protecting a computer system from malicious softwareActive2026-07-18USRE43987E1 (en)

Priority Applications (1)

Application NumberPriority DateFiling DateTitle
US13/015,186USRE43987E1 (en)2004-08-072011-01-27System and method for protecting a computer system from malicious software

Applications Claiming Priority (3)

Application NumberPriority DateFiling DateTitle
US10/913,609US7484247B2 (en)2004-08-072004-08-07System and method for protecting a computer system from malicious software
US12/854,149USRE43103E1 (en)2004-08-072010-08-10System and method for protecting a computer system from malicious software
US13/015,186USRE43987E1 (en)2004-08-072011-01-27System and method for protecting a computer system from malicious software

Related Parent Applications (1)

Application NumberTitlePriority DateFiling Date
US10/913,609ReissueUS7484247B2 (en)2004-08-072004-08-07System and method for protecting a computer system from malicious software

Publications (1)

Publication NumberPublication Date
USRE43987E1true USRE43987E1 (en)2013-02-05

Family

ID=35759063

Family Applications (6)

Application NumberTitlePriority DateFiling Date
US10/913,609Active - Reinstated2026-07-18US7484247B2 (en)2004-08-072004-08-07System and method for protecting a computer system from malicious software
US12/720,207Active2026-07-18USRE43500E1 (en)2004-08-072010-03-09System and method for protecting a computer system from malicious software
US12/720,147Active2026-07-18USRE43528E1 (en)2004-08-072010-03-09System and method for protecting a computer system from malicious software
US12/854,149Active2026-07-18USRE43103E1 (en)2004-08-072010-08-10System and method for protecting a computer system from malicious software
US12/941,067Active2026-07-18USRE43529E1 (en)2004-08-072010-11-07System and method for protecting a computer system from malicious software
US13/015,186Active2026-07-18USRE43987E1 (en)2004-08-072011-01-27System and method for protecting a computer system from malicious software

Family Applications Before (5)

Application NumberTitlePriority DateFiling Date
US10/913,609Active - Reinstated2026-07-18US7484247B2 (en)2004-08-072004-08-07System and method for protecting a computer system from malicious software
US12/720,207Active2026-07-18USRE43500E1 (en)2004-08-072010-03-09System and method for protecting a computer system from malicious software
US12/720,147Active2026-07-18USRE43528E1 (en)2004-08-072010-03-09System and method for protecting a computer system from malicious software
US12/854,149Active2026-07-18USRE43103E1 (en)2004-08-072010-08-10System and method for protecting a computer system from malicious software
US12/941,067Active2026-07-18USRE43529E1 (en)2004-08-072010-11-07System and method for protecting a computer system from malicious software

Country Status (1)

CountryLink
US (6)US7484247B2 (en)

Cited By (16)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
US20130347114A1 (en)*2012-04-302013-12-26Verint Systems Ltd.System and method for malware detection
US9923913B2 (en)2013-06-042018-03-20Verint Systems Ltd.System and method for malware detection learning
US10142426B2 (en)2015-03-292018-11-27Verint Systems Ltd.System and method for identifying communication session participants based on traffic patterns
US10198427B2 (en)2013-01-292019-02-05Verint Systems Ltd.System and method for keyword spotting using representative dictionary
US10491609B2 (en)2016-10-102019-11-26Verint Systems Ltd.System and method for generating data sets for learning to identify user actions
US10546008B2 (en)2015-10-222020-01-28Verint Systems Ltd.System and method for maintaining a dynamic dictionary
US10560842B2 (en)2015-01-282020-02-11Verint Systems Ltd.System and method for combined network-side and off-air monitoring of wireless networks
US10614107B2 (en)2015-10-222020-04-07Verint Systems Ltd.System and method for keyword searching using both static and dynamic dictionaries
US10630588B2 (en)2014-07-242020-04-21Verint Systems Ltd.System and method for range matching
US10958613B2 (en)2018-01-012021-03-23Verint Systems Ltd.System and method for identifying pairs of related application users
US10972558B2 (en)2017-04-302021-04-06Verint Systems Ltd.System and method for tracking users of computer applications
US10999295B2 (en)2019-03-202021-05-04Verint Systems Ltd.System and method for de-anonymizing actions and messages on networks
US11381977B2 (en)2016-04-252022-07-05Cognyte Technologies Israel Ltd.System and method for decrypting communication exchanged on a wireless local area network
US11399016B2 (en)2019-11-032022-07-26Cognyte Technologies Israel Ltd.System and method for identifying exchanges of encrypted communication traffic
US11403559B2 (en)2018-08-052022-08-02Cognyte Technologies Israel Ltd.System and method for using a user-action log to learn to classify encrypted traffic
US11575625B2 (en)2017-04-302023-02-07Cognyte Technologies Israel Ltd.System and method for identifying relationships between users of computer applications

Families Citing this family (137)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
US7506020B2 (en)1996-11-292009-03-17Frampton E EllisGlobal network computers
US7926097B2 (en)1996-11-292011-04-12Ellis Iii Frampton EComputer or microchip protected from the internet by internal hardware
US20040003081A1 (en)*2002-06-262004-01-01Microsoft CorporationSystem and method for providing program credentials
US7757291B2 (en)2003-09-152010-07-13Trigence Corp.Malware containment by application encapsulation
US9178784B2 (en)2004-04-152015-11-03Raytheon CompanySystem and method for cluster management based on HPC architecture
US8335909B2 (en)2004-04-152012-12-18Raytheon CompanyCoupling processors to each other for high performance computing (HPC)
US8336040B2 (en)2004-04-152012-12-18Raytheon CompanySystem and method for topology-aware job scheduling and backfilling in an HPC environment
US8707251B2 (en)*2004-06-072014-04-22International Business Machines CorporationBuffered viewing of electronic documents
US7484247B2 (en)*2004-08-072009-01-27Allen F RozmanSystem and method for protecting a computer system from malicious software
EP1811387A4 (en)*2004-08-252016-04-13Nec CorpInformation communication device, and program execution environment control method
US7533131B2 (en)*2004-10-012009-05-12Webroot Software, Inc.System and method for pestware detection and removal
KR20060061219A (en)*2004-12-012006-06-07주식회사 비에스텍 Cryptographic processor
US7571475B2 (en)*2005-04-052009-08-04Cisco Technology, Inc.Method and electronic device for triggering zeroization in an electronic device
US7565695B2 (en)*2005-04-122009-07-21Webroot Software, Inc.System and method for directly accessing data from a data storage medium
US20060230455A1 (en)*2005-04-122006-10-12Yuan-Chang LoApparatus and methods for file system with write buffer to protect against malware
US8452744B2 (en)*2005-06-062013-05-28Webroot Inc.System and method for analyzing locked files
WO2006131921A2 (en)*2005-06-082006-12-14Discretix Technologies Ltd.Method, device, and system of maintaining a context of a secure execution environment
US7788132B2 (en)*2005-06-292010-08-31Google, Inc.Reviewing the suitability of Websites for participation in an advertising network
US20090144826A2 (en)*2005-06-302009-06-04Webroot Software, Inc.Systems and Methods for Identifying Malware Distribution
US7712132B1 (en)2005-10-062010-05-04Ogilvie John WDetecting surreptitious spyware
US8869270B2 (en)*2008-03-262014-10-21Cupp Computing AsSystem and method for implementing content and network security inside a chip
US8381297B2 (en)2005-12-132013-02-19Yoggie Security Systems Ltd.System and method for providing network security to mobile devices
US20080276302A1 (en)2005-12-132008-11-06Yoggie Security Systems Ltd.System and Method for Providing Data and Device Security Between External and Host Devices
JP5203969B2 (en)*2006-01-172013-06-05キダロ (イスラエル) リミテッド Securing data in a networked environment
JP5483884B2 (en)*2006-01-172014-05-07キダロ (イスラエル) リミテッド Seamless integration of multiple computing environments
US20070168694A1 (en)*2006-01-182007-07-19Phil MaddaloniSystem and method for identifying and removing pestware using a secondary operating system
US8434148B2 (en)*2006-03-302013-04-30Advanced Network Technology Laboratories Pte Ltd.System and method for providing transactional security for an end-user device
US9112897B2 (en)*2006-03-302015-08-18Advanced Network Technology Laboratories Pte Ltd.System and method for securing a network session
US20070234337A1 (en)*2006-03-312007-10-04Prowess Consulting, LlcSystem and method for sanitizing a computer program
US9547485B2 (en)2006-03-312017-01-17Prowess Consulting, LlcSystem and method for deploying a virtual machine
US20070237088A1 (en)*2006-04-052007-10-11Honeywell International. IncApparatus and method for providing network security
US8151353B2 (en)2006-04-272012-04-03The Invention Science Fund I, LlcMulti-network virus immunization with trust aspects
US8966630B2 (en)*2006-04-272015-02-24The Invention Science Fund I, LlcGenerating and distributing a malware countermeasure
US7849508B2 (en)*2006-04-272010-12-07The Invention Science Fund I, LlcVirus immunization using entity-sponsored bypass network
US7917956B2 (en)*2006-04-272011-03-29The Invention Science Fund I, LlcMulti-network virus immunization
US9258327B2 (en)2006-04-272016-02-09Invention Science Fund I, LlcMulti-network virus immunization
US8117654B2 (en)*2006-06-302012-02-14The Invention Science Fund I, LlcImplementation of malware countermeasures in a network device
US8539581B2 (en)*2006-04-272013-09-17The Invention Science Fund I, LlcEfficient distribution of a malware countermeasure
US8863285B2 (en)*2006-04-272014-10-14The Invention Science Fund I, LlcVirus immunization using prioritized routing
US8191145B2 (en)*2006-04-272012-05-29The Invention Science Fund I, LlcVirus immunization using prioritized routing
US8613095B2 (en)*2006-06-302013-12-17The Invention Science Fund I, LlcSmart distribution of a malware countermeasure
US7934260B2 (en)*2006-04-272011-04-26The Invention Science Fund I, LlcVirus immunization using entity-sponsored bypass network
US8888585B1 (en)*2006-05-102014-11-18Mcafee, Inc.Game console system, method and computer program product with anti-malware/spyware and parental control capabilities
US8185737B2 (en)2006-06-232012-05-22Microsoft CorporationCommunication across domains
US7996903B2 (en)2006-07-072011-08-09Webroot Software, Inc.Method and system for detecting and removing hidden pestware files
US8190868B2 (en)2006-08-072012-05-29Webroot Inc.Malware management through kernel detection
JP4895718B2 (en)*2006-08-142012-03-14株式会社リコー Image forming apparatus, data recovery method, and recording medium
US8136162B2 (en)*2006-08-312012-03-13Broadcom CorporationIntelligent network interface controller
US8056134B1 (en)2006-09-102011-11-08Ogilvie John WMalware detection and identification via malware spoofing
US9639696B1 (en)*2006-09-292017-05-02Symantec Operating CorporationMethod and apparatus for analyzing end user license agreements
US7941852B2 (en)*2006-10-042011-05-10Symantec CorporationDetecting an audio/visual threat
US8590002B1 (en)2006-11-292013-11-19Mcafee Inc.System, method and computer program product for maintaining a confidentiality of data on a network
US20080182667A1 (en)*2007-01-252008-07-31Igt, Inc.Method of securing data on a portable gaming device from tampering
US8621008B2 (en)2007-04-262013-12-31Mcafee, Inc.System, method and computer program product for performing an action based on an aspect of an electronic mail message thread
US8726041B2 (en)*2007-05-092014-05-13Sony CorporationMethods and apparatus for generating a random number in one or more isolated processors
US8365272B2 (en)2007-05-302013-01-29Yoggie Security Systems Ltd.System and method for providing network and computer firewall protection with dynamic address isolation to a device
US10019570B2 (en)2007-06-142018-07-10Microsoft Technology Licensing, LlcProtection and communication abstractions for web browsers
US8199965B1 (en)*2007-08-172012-06-12Mcafee, Inc.System, method, and computer program product for preventing image-related data loss
US20130276061A1 (en)2007-09-052013-10-17Gopi Krishna ChebiyyamSystem, method, and computer program product for preventing access to data with respect to a data access attempt associated with a remote data sharing session
US8446607B2 (en)*2007-10-012013-05-21Mcafee, Inc.Method and system for policy based monitoring and blocking of printing activities on local and network printers
US8424078B2 (en)*2007-11-062013-04-16International Business Machines CorporationMethodology for secure application partitioning enablement
US8918865B2 (en)*2008-01-222014-12-23Wontok, Inc.System and method for protecting data accessed through a network connection
US8225404B2 (en)*2008-01-222012-07-17Wontok, Inc.Trusted secure desktop
US8893285B2 (en)*2008-03-142014-11-18Mcafee, Inc.Securing data using integrated host-based data loss agent with encryption detection
US20090299862A1 (en)*2008-06-032009-12-03Microsoft CorporationOnline ad serving
US8813050B2 (en)*2008-06-032014-08-19Isight Partners, Inc.Electronic crime detection and tracking
US9524344B2 (en)*2008-06-032016-12-20Microsoft CorporationUser interface for online ads
US8151073B2 (en)*2008-06-252012-04-03Fac Systems Inc.Security system for computers
US20090327869A1 (en)*2008-06-272009-12-31Microsoft CorporationOnline ad serving
US7530106B1 (en)*2008-07-022009-05-05Kaspersky Lab, ZaoSystem and method for security rating of computer processes
US8631488B2 (en)2008-08-042014-01-14Cupp Computing AsSystems and methods for providing security services during power management mode
US9077684B1 (en)2008-08-062015-07-07Mcafee, Inc.System, method, and computer program product for determining whether an electronic mail message is compliant with an etiquette policy
KR101012669B1 (en)*2008-09-252011-02-11주식회사 안철수연구소 Malware detector for diagnosing illegal memory access and its control method
JP4696151B2 (en)*2008-10-232011-06-08株式会社エヌ・ティ・ティ・ドコモ Information processing apparatus and memory management method
US9166797B2 (en)*2008-10-242015-10-20Microsoft Technology Licensing, LlcSecured compartment for transactions
US8789202B2 (en)2008-11-192014-07-22Cupp Computing AsSystems and methods for providing real time access monitoring of a removable media device
US8607345B1 (en)2008-12-162013-12-10Trend Micro IncorporatedMethod and apparatus for generic malware downloader detection and prevention
US11489857B2 (en)2009-04-212022-11-01Webroot Inc.System and method for developing a risk profile for an internet resource
KR101135629B1 (en)*2009-10-262012-04-17한국전자통신연구원Method and apparatus for preventing autorun of portable USB storage
US20110113231A1 (en)*2009-11-122011-05-12Daniel KaminskySystem and method for providing secure reception and viewing of transmitted data over a network
US8494974B2 (en)*2010-01-182013-07-23iSIGHT Partners Inc.Targeted security implementation through security loss forecasting
US12401619B2 (en)2010-01-262025-08-26Frampton E. EllisComputer or microchip with a secure system bios having a separate private network connection to a separate private network
US8255986B2 (en)*2010-01-262012-08-28Frampton E. EllisMethods of securely controlling through one or more separate private networks an internet-connected computer having one or more hardware-based inner firewalls or access barriers
US8429735B2 (en)2010-01-262013-04-23Frampton E. EllisMethod of using one or more secure private networks to actively configure the hardware of a computer or microchip
US20110213809A1 (en)*2010-03-012011-09-01Panda Security, S.L.Method, a system and a computer program product for protecting a data-storing device
US8495739B2 (en)2010-04-072013-07-23International Business Machines CorporationSystem and method for ensuring scanning of files without caching the files to network device
US20110273452A1 (en)*2010-05-102011-11-10Nokia Siemens Networks OyData display
US9202049B1 (en)*2010-06-212015-12-01Pulse Secure, LlcDetecting malware on mobile devices
US8082585B1 (en)*2010-09-132011-12-20Raymond R. GivonettiProtecting computers from malware using a hardware solution that is not alterable by any software
CN102436559B (en)*2010-09-292016-06-01联想(北京)有限公司A kind of state switching method and system
US8438644B2 (en)2011-03-072013-05-07Isight Partners, Inc.Information system security based on threat vectors
KR20120118353A (en)*2011-04-182012-10-26삼성전자주식회사Broadcast receiving apparatus and method of installing service
RU2506638C2 (en)*2011-06-282014-02-10Закрытое акционерное общество "Лаборатория Касперского"System and method for hardware detection and cleaning of unknown malware installed on personal computer
US20130096980A1 (en)*2011-10-182013-04-18Mcafee, Inc.User-defined countermeasures
TWI619038B (en)*2011-11-072018-03-21Admedec Co Ltd Safety box
US9047456B2 (en)2012-03-202015-06-02Canon Information And Imaging Solutions, Inc.System and method for controlling access to a resource
US8832837B2 (en)*2012-06-292014-09-09Mcafee Inc.Preventing attacks on devices with multiple CPUs
US8938796B2 (en)2012-09-202015-01-20Paul Case, SR.Case secure computer architecture
US11126720B2 (en)2012-09-262021-09-21Bluvector, Inc.System and method for automated machine-learning, zero-day malware detection
US9292688B2 (en)2012-09-262016-03-22Northrop Grumman Systems CorporationSystem and method for automated machine-learning, zero-day malware detection
RU2531565C2 (en)2012-09-282014-10-20Закрытое акционерное общество "Лаборатория Касперского"System and method for analysing file launch events for determining safety ranking thereof
US9342695B2 (en)2012-10-022016-05-17Mordecai BarkanSecured automated or semi-automated systems
US11188652B2 (en)2012-10-022021-11-30Mordecai BarkanAccess management and credential protection
US9092628B2 (en)*2012-10-022015-07-28Mordecai BarkanSecure computer architectures, systems, and applications
US9672360B2 (en)2012-10-022017-06-06Mordecai BarkanSecure computer architectures, systems, and applications
WO2014059037A2 (en)2012-10-092014-04-17Cupp Computing AsTransaction security systems and methods
EP2973172B1 (en)2013-03-122017-07-26Intel CorporationPreventing malicious instruction execution
US9501645B2 (en)*2013-03-152016-11-22Rudolf H. HendelSystem and method for the protection of computers and computer networks against cyber threats
US20160078226A1 (en)*2013-05-142016-03-17Hewlett-Packard Development Company, L.P.Detection of a security event
WO2014204363A1 (en)*2013-06-192014-12-24Telefonaktiebolaget L M Ericsson (Publ)Method and an integrated circuit for executing a trusted application within a trusted runtime environment
US11157976B2 (en)2013-07-082021-10-26Cupp Computing AsSystems and methods for providing digital content marketplace security
US9177150B1 (en)2013-12-042015-11-03Google Inc.Detecting setting tampering
US9870116B1 (en)2013-12-092018-01-16Google LlcControlling actions for browser extensions
WO2015123611A2 (en)2014-02-132015-08-20Cupp Computing AsSystems and methods for providing network security using a secure digital device
US9749344B2 (en)2014-04-032017-08-29Fireeye, Inc.System and method of cyber threat intensity determination and application to cyber threat mitigation
US9749343B2 (en)2014-04-032017-08-29Fireeye, Inc.System and method of cyber threat structure mapping and application to cyber threat mitigation
US9372996B2 (en)*2014-05-152016-06-21International Business Machines CorporationProtecting data owned by an operating system in a multi-operating system mobile environment
US20160006754A1 (en)*2014-07-012016-01-07Mcafee, Inc.Secure enclave-rendered contents
US9832216B2 (en)2014-11-212017-11-28Bluvector, Inc.System and method for network data characterization
US9892261B2 (en)2015-04-282018-02-13Fireeye, Inc.Computer imposed countermeasures driven by malware lineage
US11176240B1 (en)*2021-04-202021-11-16Stanley Kevin MilesMulti-transfer resource allocation using modified instances of corresponding records in memory
US11461456B1 (en)*2015-06-192022-10-04Stanley Kevin MilesMulti-transfer resource allocation using modified instances of corresponding records in memory
US10715533B2 (en)*2016-07-262020-07-14Microsoft Technology Licensing, Llc.Remediation for ransomware attacks on cloud drive folders
US10540498B2 (en)*2016-08-122020-01-21Intel CorporationTechnologies for hardware assisted native malware detection
US10628585B2 (en)2017-01-232020-04-21Microsoft Technology Licensing, LlcRansomware resilient databases
KR101997254B1 (en)*2017-05-102019-07-08김덕우Computer having isolated user computing part
KR101920866B1 (en)*2017-05-182018-11-21김덕우An auxiliary memory device having independent recovery region
US10061923B1 (en)*2017-06-262018-08-28Pritam NathSafe and secure internet or network connected computing machine providing means for processing, manipulating, receiving, transmitting and storing information free from hackers, hijackers, virus, malware etc.
US11750623B2 (en)*2017-09-042023-09-05ITsMine Ltd.System and method for conducting a detailed computerized surveillance in a computerized environment
US10924377B2 (en)*2018-09-112021-02-16Citrix Systems, Inc.Systems and methods for application scripts for cross-domain applications
CN110505283B (en)*2019-07-312022-10-21湖南微算互联信息技术有限公司Automatic maintenance system and method based on cloud mobile phone
US11625505B2 (en)*2019-08-192023-04-11Microsoft Technology Licensing, LlcProcessor with network stack domain and system domain using separate memory regions
US11470118B2 (en)2019-11-012022-10-11Microsoft Technology Licensing, LlcProcessor with network processing stack having separate binary
US11403403B2 (en)*2020-04-132022-08-02KameleonSec Ltd.Secure processing engine for securing a computing system
WO2021211091A1 (en)*2020-04-132021-10-21KameleonSec Ltd.Secure processing engine for securing a computing system
US11586727B2 (en)*2021-03-292023-02-21Red Hat, Inc.Systems and methods for preventing kernel stalling attacks
US11599636B1 (en)*2022-07-272023-03-07Aurora Security LlcSystems and methods for managing and providing software packages which have undergone malware and/or vulnerability analysis

Citations (104)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
US4890098A (en)1987-10-201989-12-26International Business Machines CorporationFlexible window management on a computer display
US5280579A (en)1990-09-281994-01-18Texas Instruments IncorporatedMemory mapped interface between host computer and graphics system
US5502808A (en)1991-07-241996-03-26Texas Instruments IncorporatedVideo graphics display system with adapter for display management based upon plural memory sources
US5555364A (en)1994-08-231996-09-10Prosoft CorporationWindowed computer display
US5564051A (en)*1989-08-031996-10-08International Business Machines CorporationAutomatic update of static and dynamic files at a remote network node in response to calls issued by or for application programs
US5666030A (en)1994-07-201997-09-09Ncr CorporationMultiple window generation in computer display
US5673403A (en)*1992-11-131997-09-30International Business Machines CorporationMethod and system for displaying applications of different operating systems on a single system using the user interface of the different operating systems
US5751979A (en)*1995-05-311998-05-12Unisys CorporationVideo hardware for protected, multiprocessing systems
US5826013A (en)1995-09-281998-10-20Symantec CorporationPolymorphic virus detection module
US5918039A (en)1995-12-291999-06-29Wyse Technology, Inc.Method and apparatus for display of windowing application programs on a terminal
US5974549A (en)*1997-03-271999-10-26Soliton Ltd.Security monitor
US5978917A (en)1997-08-141999-11-02Symantec CorporationDetection and elimination of macro viruses
US5995103A (en)1996-05-101999-11-30Apple Computer, Inc.Window grouping mechanism for creating, manipulating and displaying windows and window groups on a display screen of a computer system
US6091412A (en)1997-09-302000-07-18The United States Of America As Represented By The Secretary Of The NavyUniversal client device permitting a computer to receive and display information from several special applications
US6108715A (en)1994-12-132000-08-22Microsoft CorporationMethod and system for invoking remote procedure calls
US6134661A (en)1998-02-112000-10-17Topp; William C.Computer network security device and method
US6167522A (en)1997-04-012000-12-26Sun Microsystems, Inc.Method and apparatus for providing security for servers executing application programs received via a network
US6183366B1 (en)1996-01-192001-02-06Sheldon GoldbergNetwork gaming system
US6192477B1 (en)*1999-02-022001-02-20Dagg LlcMethods, software, and apparatus for secure communication over a computer network
US6199181B1 (en)*1997-09-092001-03-06Perfecto Technologies Ltd.Method and system for maintaining restricted operating environments for application programs or operating systems
US6216112B1 (en)1998-05-272001-04-10William H. FullerMethod for software distribution and compensation with replenishable advertisements
US6275938B1 (en)1997-08-282001-08-14Microsoft CorporationSecurity enhancement for untrusted executable code
US6285987B1 (en)1997-01-222001-09-04Engage, Inc.Internet advertising system
US20020002673A1 (en)*2000-06-302002-01-03Microsoft CorporationSystem and method for integrating secure and non-secure software objects
US6351816B1 (en)1996-05-302002-02-26Sun Microsystems, Inc.System and method for securing a program's execution in a network environment
US20020052809A1 (en)*2000-11-022002-05-02Orell Fussli Security Documents AgMethod for verifying the authenticity of articles
US6385721B1 (en)*1999-01-222002-05-07Hewlett-Packard CompanyComputer with bootable hibernation partition
US6397242B1 (en)1998-05-152002-05-28Vmware, Inc.Virtualization system including a virtual machine monitor for a computer with a segmented architecture
US20020066016A1 (en)2000-03-152002-05-30International Business Machines CorporationAccess control for computers
US6401134B1 (en)1997-07-252002-06-04Sun Microsystems, Inc.Detachable java applets
US6433794B1 (en)1998-07-312002-08-13International Business Machines CorporationMethod and apparatus for selecting a java virtual machine for use with a browser
US6438600B1 (en)1999-01-292002-08-20International Business Machines CorporationSecurely sharing log-in credentials among trusted browser-based applications
US6480198B2 (en)1997-06-272002-11-12S3 Graphics Co., Ltd.Multi-function controller and method for a computer graphics display system
US20020174349A1 (en)2001-05-152002-11-21Wolff Daniel JosephDetecting malicious alteration of stored computer files
US6492995B1 (en)1999-04-262002-12-10International Business Machines CorporationMethod and system for enabling localization support on web applications
US6505300B2 (en)1998-06-122003-01-07Microsoft CorporationMethod and system for secure running of untrusted content
US6507904B1 (en)2000-03-312003-01-14Intel CorporationExecuting isolated mode instructions in a secure system running in privilege rings
US6507948B1 (en)1999-09-022003-01-14International Business Machines CorporationMethod, system, and program for generating batch files
US20030023857A1 (en)2001-07-262003-01-30Hinchliffe Alexander JamesMalware infection suppression
US6546554B1 (en)2000-01-212003-04-08Sun Microsystems, Inc.Browser-independent and automatic apparatus and method for receiving, installing and launching applications from a browser on a client computer
US6553377B1 (en)2000-03-312003-04-22Network Associates, Inc.System and process for maintaining a plurality of remote security applications using a modular framework in a distributed computing environment
US20030097591A1 (en)2001-11-202003-05-22Khai PhamSystem and method for protecting computer users from web sites hosting computer viruses
US6578140B1 (en)*2000-04-132003-06-10Claude M PolicardPersonal computer having a master computer system and an internet computer system and monitoring a condition of said master and internet computer systems
US6581162B1 (en)1996-12-312003-06-17Compaq Information Technologies Group, L.P.Method for securely creating, storing and using encryption keys in a computer system
US20030131152A1 (en)2001-09-202003-07-10Ulfar ErlingssonAltered states of software component behavior
US20030177397A1 (en)2000-08-312003-09-18Ben SammanVirus protection in an internet environment
US6633963B1 (en)2000-03-312003-10-14Intel CorporationControlling access to multiple memory zones in an isolated execution environment
US20030221114A1 (en)*2002-03-082003-11-27International Business Machines CorporationAuthentication system and method
US6658573B1 (en)1997-01-172003-12-02International Business Machines CorporationProtecting resources in a distributed computer system
US6663000B1 (en)2002-08-012003-12-16Networks Associates Technology, Inc.Validating components of a malware scanner
US20040006715A1 (en)2002-07-052004-01-08Skrepetos Nicholas C.System and method for providing security to a remote computer over a network browser interface
US20040006706A1 (en)*2002-06-062004-01-08Ulfar ErlingssonMethods and systems for implementing a secure application execution environment using derived user accounts for internet content
US6678712B1 (en)*1996-01-192004-01-13International Business Machines CorporationMethod and system for executing a program under one of a plurality of mutually exclusive operating environments
US6678825B1 (en)2000-03-312004-01-13Intel CorporationControlling access to multiple isolated memories in an isolated execution environment
US6691230B1 (en)1998-10-152004-02-10International Business Machines CorporationMethod and system for extending Java applets sand box with public client storage
US20040034794A1 (en)2000-05-282004-02-19Yaron MayerSystem and method for comprehensive general generic protection for computers against malicious programs that may steal information and/or cause damages
US20040039944A1 (en)*2002-07-082004-02-26Teiji KarasakiSystem and method for secure wall
US20040054588A1 (en)1999-12-082004-03-18Jacobs Paul E.E-mail software and method and system for distributing advertisements to client devices that have such e-mail software installed thereon
US6735700B1 (en)2000-01-112004-05-11Network Associates Technology, Inc.Fast virus scanning using session stamping
US6754815B1 (en)*2000-03-312004-06-22Intel CorporationMethod and system for scrubbing an isolated area of memory after reset of a processor operating in isolated execution mode if a cleanup flag is set
US6757685B2 (en)2001-02-192004-06-29Hewlett-Packard Development Company, L.P.Process for executing a downloadable service receiving restrictive access rights to at least one profile file
US6756236B2 (en)2000-12-052004-06-29Sony International (Europe) GmbhMethod of producing a ferroelectric memory and a memory device
US6772345B1 (en)2002-02-082004-08-03Networks Associates Technology, Inc.Protocol-level malware scanner
US20040199763A1 (en)2003-04-012004-10-07Zone Labs, Inc.Security System with Methodology for Interprocess Communication Control
US6804780B1 (en)1996-11-082004-10-12Finjan Software, Ltd.System and method for protecting a computer and a network from hostile downloadables
US6836885B1 (en)1998-09-212004-12-28Wyse Technology Inc.Method and apparatus for display of windowing application programs on a terminal
US20040267929A1 (en)*2003-06-272004-12-30Servgate Technologies, IncMethod, system and computer program products for adaptive web-site access blocking
US20050005153A1 (en)*2003-06-302005-01-06Kaustubh DasProcessor based system and method for virus detection
US6871348B1 (en)*1999-09-152005-03-22Intel CorporationMethod and apparatus for integrating the user interfaces of multiple applications into one application
US6873988B2 (en)2001-07-062005-03-29Check Point Software Technologies, Inc.System and methods providing anti-virus cooperative enforcement
US6880110B2 (en)2000-05-192005-04-12Self Repairing Computers, Inc.Self-repairing computer having protected software template and isolated trusted computing environment for automated recovery from virus and hacker attack
US20050149726A1 (en)*2003-10-212005-07-07Amit JoshiSystems and methods for secure client applications
US20050198692A1 (en)*2004-03-022005-09-08International Business Machines CorporationSystem and method of protecting a computing system from harmful active content in documents
US20050240810A1 (en)2004-04-062005-10-27Safford Kevin DOff-chip lockstep checking
US20060004667A1 (en)2004-06-302006-01-05Microsoft CorporationSystems and methods for collecting operating system license revenue using an emulated computing environment
US6990630B2 (en)1998-05-152006-01-24Unicast Communications CorporationTechnique for implementing browser-initiated user-transparent network-distributed advertising and for interstitially displaying an advertisement, so distributed, through a web browser in response to a user click-stream
US6996828B1 (en)*1997-09-122006-02-07Hitachi, Ltd.Multi-OS configuration method
US7013484B1 (en)*2000-03-312006-03-14Intel CorporationManaging a secure environment using a chipset in isolated execution mode
US7024581B1 (en)*2002-10-092006-04-04Xpoint Technologies, Inc.Data processing recovery system and method spanning multiple operating system
US7024555B2 (en)*2001-11-012006-04-04Intel CorporationApparatus and method for unilaterally loading a secure operating system within a multiprocessor environment
US7062672B2 (en)2001-06-082006-06-13Hewlett-Packard Development Company, L.P.Method of and computer network arrangement for restoring an impaired software image
US7082615B1 (en)*2000-03-312006-07-25Intel CorporationProtecting software environment in isolated execution
US7085928B1 (en)2000-03-312006-08-01CigitalSystem and method for defending against malicious software
US7096381B2 (en)2001-05-212006-08-22Self Repairing Computer, Inc.On-the-fly repair of a computer
US7139890B2 (en)2002-04-302006-11-21Intel CorporationMethods and arrangements to interface memory
US7146640B2 (en)*2002-09-052006-12-05Exobox Technologies Corp.Personal computer internet security system
US7146305B2 (en)*2000-10-242006-12-05Vcis, Inc.Analytical virtual machine
US7181768B1 (en)1999-10-282007-02-20CigitalComputer intrusion detection system and method based on application monitoring
US7191469B2 (en)2002-05-132007-03-13Green Border TechnologiesMethods and systems for providing a secure application environment using derived user accounts
US7246374B1 (en)2000-03-132007-07-17Microsoft CorporationEnhancing computer system security via multiple user desktops
US7284274B1 (en)2001-01-182007-10-16Cigital, Inc.System and method for identifying and eliminating vulnerabilities in computer software applications
US7373505B2 (en)2004-04-152008-05-13Microsoft CorporationDisplaying a security element with a browser window
US7401230B2 (en)2004-03-312008-07-15Intel CorporationSecure virtual machine monitor to tear down a secure execution environment
US7421689B2 (en)2003-10-282008-09-02Hewlett-Packard Development Company, L.P.Processor-architecture for facilitating a virtual machine monitor
US7444412B2 (en)2001-06-082008-10-28Hewlett-Packard Development Company, L.P.Data processing system and method
US7484247B2 (en)*2004-08-072009-01-27Allen F RozmanSystem and method for protecting a computer system from malicious software
US7565522B2 (en)2004-05-102009-07-21Intel CorporationMethods and apparatus for integrity measurement of virtual machine monitor and operating system via secure launch
US7596694B1 (en)2004-03-082009-09-29Hewlett-Packard Development Company, L.P.System and method for safely executing downloaded code on a computer system
US7657419B2 (en)*2001-06-192010-02-02International Business Machines CorporationAnalytical virtual machine
US7676842B2 (en)2002-04-132010-03-09Computer Associates Think, Inc.System and method for detecting malicious code
US7730318B2 (en)*2003-10-242010-06-01Microsoft CorporationIntegration of high-assurance features into an application through application factoring
US7818808B1 (en)*2000-12-272010-10-19Intel CorporationProcessor mode for limiting the operation of guest software running on a virtual machine supported by a virtual machine monitor
US7849310B2 (en)*2002-11-182010-12-07Arm LimitedSwitching between secure and non-secure processing modes
US7854008B1 (en)*2007-08-102010-12-14Fortinet, Inc.Software-hardware partitioning in a virus processing system

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
US586013A (en)*1897-07-06Cartridge-loading implement
US6658576B1 (en)*1999-09-292003-12-02Smartpower CorporationEnergy-conserving communication apparatus selectively switching between a main processor with main operating instructions and keep-alive processor with keep-alive operating instruction
US6456554B1 (en)*1999-10-192002-09-24Texas Instruments IncorporatedChip identifier and method of fabrication
US7788669B2 (en)*2003-05-022010-08-31Microsoft CorporationSystem for isolating first computing environment from second execution environment while sharing resources by copying data from first portion to second portion of memory

Patent Citations (111)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
US4890098A (en)1987-10-201989-12-26International Business Machines CorporationFlexible window management on a computer display
US5564051A (en)*1989-08-031996-10-08International Business Machines CorporationAutomatic update of static and dynamic files at a remote network node in response to calls issued by or for application programs
US5280579A (en)1990-09-281994-01-18Texas Instruments IncorporatedMemory mapped interface between host computer and graphics system
US5502808A (en)1991-07-241996-03-26Texas Instruments IncorporatedVideo graphics display system with adapter for display management based upon plural memory sources
US5673403A (en)*1992-11-131997-09-30International Business Machines CorporationMethod and system for displaying applications of different operating systems on a single system using the user interface of the different operating systems
US5666030A (en)1994-07-201997-09-09Ncr CorporationMultiple window generation in computer display
US5555364A (en)1994-08-231996-09-10Prosoft CorporationWindowed computer display
US6108715A (en)1994-12-132000-08-22Microsoft CorporationMethod and system for invoking remote procedure calls
US5751979A (en)*1995-05-311998-05-12Unisys CorporationVideo hardware for protected, multiprocessing systems
US5826013A (en)1995-09-281998-10-20Symantec CorporationPolymorphic virus detection module
US5918039A (en)1995-12-291999-06-29Wyse Technology, Inc.Method and apparatus for display of windowing application programs on a terminal
US6183366B1 (en)1996-01-192001-02-06Sheldon GoldbergNetwork gaming system
US6678712B1 (en)*1996-01-192004-01-13International Business Machines CorporationMethod and system for executing a program under one of a plurality of mutually exclusive operating environments
US5995103A (en)1996-05-101999-11-30Apple Computer, Inc.Window grouping mechanism for creating, manipulating and displaying windows and window groups on a display screen of a computer system
US6351816B1 (en)1996-05-302002-02-26Sun Microsystems, Inc.System and method for securing a program's execution in a network environment
US6804780B1 (en)1996-11-082004-10-12Finjan Software, Ltd.System and method for protecting a computer and a network from hostile downloadables
US6581162B1 (en)1996-12-312003-06-17Compaq Information Technologies Group, L.P.Method for securely creating, storing and using encryption keys in a computer system
US6658573B1 (en)1997-01-172003-12-02International Business Machines CorporationProtecting resources in a distributed computer system
US6285987B1 (en)1997-01-222001-09-04Engage, Inc.Internet advertising system
US5974549A (en)*1997-03-271999-10-26Soliton Ltd.Security monitor
US6167522A (en)1997-04-012000-12-26Sun Microsystems, Inc.Method and apparatus for providing security for servers executing application programs received via a network
US6480198B2 (en)1997-06-272002-11-12S3 Graphics Co., Ltd.Multi-function controller and method for a computer graphics display system
US6401134B1 (en)1997-07-252002-06-04Sun Microsystems, Inc.Detachable java applets
US5978917A (en)1997-08-141999-11-02Symantec CorporationDetection and elimination of macro viruses
US6275938B1 (en)1997-08-282001-08-14Microsoft CorporationSecurity enhancement for untrusted executable code
US6199181B1 (en)*1997-09-092001-03-06Perfecto Technologies Ltd.Method and system for maintaining restricted operating environments for application programs or operating systems
US6321337B1 (en)1997-09-092001-11-20Sanctum Ltd.Method and system for protecting operations of trusted internal networks
US6996828B1 (en)*1997-09-122006-02-07Hitachi, Ltd.Multi-OS configuration method
US6091412A (en)1997-09-302000-07-18The United States Of America As Represented By The Secretary Of The NavyUniversal client device permitting a computer to receive and display information from several special applications
US6134661A (en)1998-02-112000-10-17Topp; William C.Computer network security device and method
US6397242B1 (en)1998-05-152002-05-28Vmware, Inc.Virtualization system including a virtual machine monitor for a computer with a segmented architecture
US6990630B2 (en)1998-05-152006-01-24Unicast Communications CorporationTechnique for implementing browser-initiated user-transparent network-distributed advertising and for interstitially displaying an advertisement, so distributed, through a web browser in response to a user click-stream
US6216112B1 (en)1998-05-272001-04-10William H. FullerMethod for software distribution and compensation with replenishable advertisements
US6505300B2 (en)1998-06-122003-01-07Microsoft CorporationMethod and system for secure running of untrusted content
US6433794B1 (en)1998-07-312002-08-13International Business Machines CorporationMethod and apparatus for selecting a java virtual machine for use with a browser
US6836885B1 (en)1998-09-212004-12-28Wyse Technology Inc.Method and apparatus for display of windowing application programs on a terminal
US6691230B1 (en)1998-10-152004-02-10International Business Machines CorporationMethod and system for extending Java applets sand box with public client storage
US6385721B1 (en)*1999-01-222002-05-07Hewlett-Packard CompanyComputer with bootable hibernation partition
US6438600B1 (en)1999-01-292002-08-20International Business Machines CorporationSecurely sharing log-in credentials among trusted browser-based applications
US6192477B1 (en)*1999-02-022001-02-20Dagg LlcMethods, software, and apparatus for secure communication over a computer network
US6492995B1 (en)1999-04-262002-12-10International Business Machines CorporationMethod and system for enabling localization support on web applications
US6507948B1 (en)1999-09-022003-01-14International Business Machines CorporationMethod, system, and program for generating batch files
US6871348B1 (en)*1999-09-152005-03-22Intel CorporationMethod and apparatus for integrating the user interfaces of multiple applications into one application
US7181768B1 (en)1999-10-282007-02-20CigitalComputer intrusion detection system and method based on application monitoring
US20040054588A1 (en)1999-12-082004-03-18Jacobs Paul E.E-mail software and method and system for distributing advertisements to client devices that have such e-mail software installed thereon
US6735700B1 (en)2000-01-112004-05-11Network Associates Technology, Inc.Fast virus scanning using session stamping
US6546554B1 (en)2000-01-212003-04-08Sun Microsystems, Inc.Browser-independent and automatic apparatus and method for receiving, installing and launching applications from a browser on a client computer
US7246374B1 (en)2000-03-132007-07-17Microsoft CorporationEnhancing computer system security via multiple user desktops
US20020066016A1 (en)2000-03-152002-05-30International Business Machines CorporationAccess control for computers
US7085928B1 (en)2000-03-312006-08-01CigitalSystem and method for defending against malicious software
US6633963B1 (en)2000-03-312003-10-14Intel CorporationControlling access to multiple memory zones in an isolated execution environment
US7013484B1 (en)*2000-03-312006-03-14Intel CorporationManaging a secure environment using a chipset in isolated execution mode
US6754815B1 (en)*2000-03-312004-06-22Intel CorporationMethod and system for scrubbing an isolated area of memory after reset of a processor operating in isolated execution mode if a cleanup flag is set
US6507904B1 (en)2000-03-312003-01-14Intel CorporationExecuting isolated mode instructions in a secure system running in privilege rings
US6678825B1 (en)2000-03-312004-01-13Intel CorporationControlling access to multiple isolated memories in an isolated execution environment
US6553377B1 (en)2000-03-312003-04-22Network Associates, Inc.System and process for maintaining a plurality of remote security applications using a modular framework in a distributed computing environment
US7082615B1 (en)*2000-03-312006-07-25Intel CorporationProtecting software environment in isolated execution
US6578140B1 (en)*2000-04-132003-06-10Claude M PolicardPersonal computer having a master computer system and an internet computer system and monitoring a condition of said master and internet computer systems
US7577871B2 (en)2000-05-192009-08-18Vir2Us, Inc.Computer system and method having isolatable storage for enhanced immunity to viral and malicious code infection
US6880110B2 (en)2000-05-192005-04-12Self Repairing Computers, Inc.Self-repairing computer having protected software template and isolated trusted computing environment for automated recovery from virus and hacker attack
US20040034794A1 (en)2000-05-282004-02-19Yaron MayerSystem and method for comprehensive general generic protection for computers against malicious programs that may steal information and/or cause damages
US7039801B2 (en)*2000-06-302006-05-02Microsoft CorporationSystem and method for integrating secure and non-secure software objects
US7650493B2 (en)*2000-06-302010-01-19Microsoft CorporationSystem and method for integrating secure and non-secure software objects
US20020002673A1 (en)*2000-06-302002-01-03Microsoft CorporationSystem and method for integrating secure and non-secure software objects
US20030177397A1 (en)2000-08-312003-09-18Ben SammanVirus protection in an internet environment
US7146305B2 (en)*2000-10-242006-12-05Vcis, Inc.Analytical virtual machine
US20020052809A1 (en)*2000-11-022002-05-02Orell Fussli Security Documents AgMethod for verifying the authenticity of articles
US6756236B2 (en)2000-12-052004-06-29Sony International (Europe) GmbhMethod of producing a ferroelectric memory and a memory device
US7818808B1 (en)*2000-12-272010-10-19Intel CorporationProcessor mode for limiting the operation of guest software running on a virtual machine supported by a virtual machine monitor
US7284274B1 (en)2001-01-182007-10-16Cigital, Inc.System and method for identifying and eliminating vulnerabilities in computer software applications
US6757685B2 (en)2001-02-192004-06-29Hewlett-Packard Development Company, L.P.Process for executing a downloadable service receiving restrictive access rights to at least one profile file
US20020174349A1 (en)2001-05-152002-11-21Wolff Daniel JosephDetecting malicious alteration of stored computer files
US7096381B2 (en)2001-05-212006-08-22Self Repairing Computer, Inc.On-the-fly repair of a computer
US7444412B2 (en)2001-06-082008-10-28Hewlett-Packard Development Company, L.P.Data processing system and method
US7062672B2 (en)2001-06-082006-06-13Hewlett-Packard Development Company, L.P.Method of and computer network arrangement for restoring an impaired software image
US7657419B2 (en)*2001-06-192010-02-02International Business Machines CorporationAnalytical virtual machine
US6873988B2 (en)2001-07-062005-03-29Check Point Software Technologies, Inc.System and methods providing anti-virus cooperative enforcement
US20030023857A1 (en)2001-07-262003-01-30Hinchliffe Alexander JamesMalware infection suppression
US20030131152A1 (en)2001-09-202003-07-10Ulfar ErlingssonAltered states of software component behavior
US7024555B2 (en)*2001-11-012006-04-04Intel CorporationApparatus and method for unilaterally loading a secure operating system within a multiprocessor environment
US20030097591A1 (en)2001-11-202003-05-22Khai PhamSystem and method for protecting computer users from web sites hosting computer viruses
US6772345B1 (en)2002-02-082004-08-03Networks Associates Technology, Inc.Protocol-level malware scanner
US20030221114A1 (en)*2002-03-082003-11-27International Business Machines CorporationAuthentication system and method
US7676842B2 (en)2002-04-132010-03-09Computer Associates Think, Inc.System and method for detecting malicious code
US7139890B2 (en)2002-04-302006-11-21Intel CorporationMethods and arrangements to interface memory
US7191469B2 (en)2002-05-132007-03-13Green Border TechnologiesMethods and systems for providing a secure application environment using derived user accounts
US20040006706A1 (en)*2002-06-062004-01-08Ulfar ErlingssonMethods and systems for implementing a secure application execution environment using derived user accounts for internet content
US20040006715A1 (en)2002-07-052004-01-08Skrepetos Nicholas C.System and method for providing security to a remote computer over a network browser interface
US20040039944A1 (en)*2002-07-082004-02-26Teiji KarasakiSystem and method for secure wall
US7260839B2 (en)*2002-07-082007-08-21Hitachi, Ltd.System and method for secure wall
US6663000B1 (en)2002-08-012003-12-16Networks Associates Technology, Inc.Validating components of a malware scanner
US7146640B2 (en)*2002-09-052006-12-05Exobox Technologies Corp.Personal computer internet security system
US7024581B1 (en)*2002-10-092006-04-04Xpoint Technologies, Inc.Data processing recovery system and method spanning multiple operating system
US7849310B2 (en)*2002-11-182010-12-07Arm LimitedSwitching between secure and non-secure processing modes
US20040199763A1 (en)2003-04-012004-10-07Zone Labs, Inc.Security System with Methodology for Interprocess Communication Control
US20040267929A1 (en)*2003-06-272004-12-30Servgate Technologies, IncMethod, system and computer program products for adaptive web-site access blocking
US7367057B2 (en)*2003-06-302008-04-29Intel CorporationProcessor based system and method for virus detection
US20050005153A1 (en)*2003-06-302005-01-06Kaustubh DasProcessor based system and method for virus detection
US7694328B2 (en)2003-10-212010-04-06Google Inc.Systems and methods for secure client applications
US20050149726A1 (en)*2003-10-212005-07-07Amit JoshiSystems and methods for secure client applications
US7730318B2 (en)*2003-10-242010-06-01Microsoft CorporationIntegration of high-assurance features into an application through application factoring
US7421689B2 (en)2003-10-282008-09-02Hewlett-Packard Development Company, L.P.Processor-architecture for facilitating a virtual machine monitor
US20050198692A1 (en)*2004-03-022005-09-08International Business Machines CorporationSystem and method of protecting a computing system from harmful active content in documents
US7596694B1 (en)2004-03-082009-09-29Hewlett-Packard Development Company, L.P.System and method for safely executing downloaded code on a computer system
US7401230B2 (en)2004-03-312008-07-15Intel CorporationSecure virtual machine monitor to tear down a secure execution environment
US20050240810A1 (en)2004-04-062005-10-27Safford Kevin DOff-chip lockstep checking
US7373505B2 (en)2004-04-152008-05-13Microsoft CorporationDisplaying a security element with a browser window
US7565522B2 (en)2004-05-102009-07-21Intel CorporationMethods and apparatus for integrity measurement of virtual machine monitor and operating system via secure launch
US20060004667A1 (en)2004-06-302006-01-05Microsoft CorporationSystems and methods for collecting operating system license revenue using an emulated computing environment
US7484247B2 (en)*2004-08-072009-01-27Allen F RozmanSystem and method for protecting a computer system from malicious software
US7854008B1 (en)*2007-08-102010-12-14Fortinet, Inc.Software-hardware partitioning in a virus processing system

Non-Patent Citations (45)

* Cited by examiner, † Cited by third party
Title
Anupam, V., et al., "Security of Web Browser Scripting Languages: Vulnerabilities, Attacks, and Remedies." 7th Usenix Security Symposium San Antonio, Texas, Jan. 26-29, 1998.
Balfanz, D. et al., "WindowBox: A Simple Security Model for the Connected Desktop," Microsoft Research, US-2000.
Barham, P., et al., "Xen and the Art of Virtualization," SOSP'03, Oct. 19-22, 2003, Bolton Landing, New York, USA.
Berman, A., et al., "TRON: Process-Specific File Protection for the Unix Operating System," Department of Computer Science and Engineering, University of Washington, Jan. 23, 1995.
Chang, F. et al., "User-level Resource-constrained Sandboxing," Usenix Windows System Symposium, Aug. 2000.
Chen, P.M., et al., "When Virtual Is Better Than Real," Department of Electrical Engineering and Computer Science University of Michigan, US-2001.
Dan, A., et al., "A Sandbox Operating System Environment for Controlled Execution of Alien Code." RC 20742 (Feb. 20, 1997) Computer Science IBM Research Report.
De Paoli, F., et al., "Vulnerability of Secure Web Browsers." Reliable Software Group Computer Science Department, University of California, Santa Barbara, 1997.
Dean, D., et al., "Java Security: From HotJava to Netscape and Beyond," 1996 IEEE Symposium on Security and Privacy, Oakland, CA, May 6-8, 1996.
Delpha, L., et al., White Paper: "Smart Phone Security Issues," Cyber Risk Consulting, Blackhat Briefings Europe May 2004.
Dunlap, G.W., et al.M "ReVirt: Enabling Intrusion Analysis through Virtual-Machine Logging and Replay," Proceedings of the the US-2002 Symposium on Operating Systems Design and Implementation (OSDI).
Garfinkel T., et al., "A Virtual Machine Introspection Based Architecture for Intrusion Detection," Computer Science Department, Stanford University US-2003.
Garfinkel, T., et al., "Terra: A Virtual Machine-Based Platform for Trusted Computing," SOSP'03, Oct. 19-22, 2003, Bolton Landing, New York, USA.
Ghosh, A.K., et al, "Software Security And Privacy Risks In Mobile E-Commerce," Communications of the ACM Feb. 2001 vol. 44, No. 2.
Goldberg, I., et al., "A Secure Environment for Untrusted Helper Applications (Confining the Wily Hacker)," Computer Science Division, University of California, Berkeley, Sixth Usenix Unix Security Symposium San Jose, California, Jul. 1996.
Goldberg, R.P., "Architecture of Virtual Macines" Honeywell Information Systems, Inc. and Harvard University; Presented at the AFIPS National Computer Conference, New York, New York, Jun. 4-8, 1973.
Harty, K., et al., "Application-Controlled Physical Memory using External Page-Cache Management," Computer Science Department, Stanford University, 1992.
Honeycutt, J., Microsoft® Virtual PC US-2004 Technical Overview, Published Nov. US-2003 http://download.microsoft.com/download/c/f/b/cfb1 OOa7-463d-4b86-ad62-064397178bfNirtual-PC-Technical-Overview.doc.
Ioannidis, S., et al., "Building a Secure Web Browser," US-2001 Usenix Annual Technical Conference Boston, Massachusetts, USA Jun. 25-30, 2001.
Ioannidis, S., et al., "Sub-Operating Systems: A New Approach to Application Security," Technical Report MS-CIS-01-06, University of Pennsylvania, Feb. 2000.
J2ME Building Blocks for Mobile Devices: White Paper on KVM and the Connected, Limited Device Configuration. Sun Microsystems May 19, 2000.
Jacob, B., et al., "Virtual Memory in Contemporary Microprocessors." IEEE Micro Jul.-Aug. 1998.
Jaeger, T., et al. "Flexible Control of Downloaded Executable Content." ACM Transactions on Information and System Security, vol. 2, No. 2, May 1999, pp. 177-228.
Jaeger, T., et al., "Building systems that flexibly control downloaded executable content." In Proceedings of the 1996 Usenix Security Symposium, pp. 131-148, San Jose, Ca., 1996.
Jaeger, T., et al., "Building Systems that Flexibly Control Downloaded Executable Context," Sixth Usenix Unix Security Symposium San Jose, California, Jul. 1996.
Mehta, N.V., et al., "Expanding and Extending the Security Features of Java," Proceedings of the 7th Usenix Security Symposium, San Antonio, Texas, Jan. 26-29, 1998.
Peterson, D., et al., "A Flexible Containment Mechanism for Executing Untrusted Code," Usenix Security Symposium San Francisco, California, USA Aug. 5-9, 2002.
Potter, S., et al., "Secure Isolation and Migration of Untrusted Legacy Applications," Columbia University Technical Report Cucs-005-04, Jan. 2004.
Razmov, V., "Security in Untrusted Code Environments: Missing Pieces of the Puzzle," Dept. of Computer Science and Engineering, University of Washington, Mar. 30, 2002.
Rose, R., "Survey of System Virtualization Techniques," Mar. 8, 2004.
Schmid, M., et al., "Protecting Data from Malicious Software," Annual Computer Security Applications Conference (ACSAC'02), Las Vegas, NV, Dec. 2002.
Shapiro, J. et al., "Design of the EROS Trusted Window System".
Shapiro, J., et al., "Verifying the EROS Confinement Mechanism," IBM T.J. Watson Research Center, 0-7695-0665-8/00, US-2000 IEEE.
Stang, D. PhD, "Beyond Viruses: Why Anti-Virus Software is No Longer Enough," Pest Patrol, US-2002.
Stiegler, M. et al., Report Name: "A Capability Based Client: The Darpa Browser", Combex/Focused Research Topic 5/BAA-00-06-SNK, Nov. 18, 2002.
Sugerman, J., et al., "Virtualizing I/O Devices on VMware Workstation's Hosted Virtual Machine Monitor,".
The Web: Threat or Menace? from "Firewalls and Internet Security: Repelling the Wiley Hacker", Second Edition, Addison-Wesley, ISBN 0-201-63466-X, US-2003.
Townsend, K., "Spyware, Adware, and Peer to Peer Networks; The Hidden Threat to Corporate Security".
Usenix Annual Technical Conference Boston, Massachusetts, USA Jun. 25-30, 2001.
Wagner, D.A., "Janus: an approach for confinement of untrusted applications," Master's thesis, University of California, Berkeley, 1999.. Also available, Technical Report CSD-99-1056, UC Berkeley, Computer Science Division. http://INVvW.cs-berkeley.edu/-daw/papers/janus-masters.ps.
Wahabe, R., et al., "Efficient Software-Based Fault Isolation," Computer Science Division University of California, Berkeley, SIGOPS 1993.
West, R., et al., "User-Level Sandboxing: a Safe and Efficient Mechanism for Extensibility", Technical Report, US-2003-014, Boston University, Jun. 2003.
Ye, Z., et al., "Trusted Paths for Browsers: An Open-Source Solution to Web Spoofing," Technical Report TRUS-2002-418 Feb. 4, 2002.
Yee, K-P., "User Interaction Design for Secure Systems," Proceedings of the 4th International Conference on Information and Communications Security table of contents pp. 278-290, US-2002.
Young, M., et al., "The Duality of Memory and Communication in the Implementation of a Multiprocessor Operating System," Computer Science Department Carnegie-Mellon University Proceedings of the 11th Operating Systems Principles, Nov. 1987.

Cited By (30)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
US20130347114A1 (en)*2012-04-302013-12-26Verint Systems Ltd.System and method for malware detection
US10061922B2 (en)*2012-04-302018-08-28Verint Systems Ltd.System and method for malware detection
US11316878B2 (en)2012-04-302022-04-26Cognyte Technologies Israel Ltd.System and method for malware detection
US10198427B2 (en)2013-01-292019-02-05Verint Systems Ltd.System and method for keyword spotting using representative dictionary
US9923913B2 (en)2013-06-042018-03-20Verint Systems Ltd.System and method for malware detection learning
US11038907B2 (en)2013-06-042021-06-15Verint Systems Ltd.System and method for malware detection learning
US10630588B2 (en)2014-07-242020-04-21Verint Systems Ltd.System and method for range matching
US11463360B2 (en)2014-07-242022-10-04Cognyte Technologies Israel Ltd.System and method for range matching
US10560842B2 (en)2015-01-282020-02-11Verint Systems Ltd.System and method for combined network-side and off-air monitoring of wireless networks
US11432139B2 (en)2015-01-282022-08-30Cognyte Technologies Israel Ltd.System and method for combined network-side and off-air monitoring of wireless networks
US10142426B2 (en)2015-03-292018-11-27Verint Systems Ltd.System and method for identifying communication session participants based on traffic patterns
US10623503B2 (en)2015-03-292020-04-14Verint Systems Ltd.System and method for identifying communication session participants based on traffic patterns
US10546008B2 (en)2015-10-222020-01-28Verint Systems Ltd.System and method for maintaining a dynamic dictionary
US11386135B2 (en)2015-10-222022-07-12Cognyte Technologies Israel Ltd.System and method for maintaining a dynamic dictionary
US11093534B2 (en)2015-10-222021-08-17Verint Systems Ltd.System and method for keyword searching using both static and dynamic dictionaries
US10614107B2 (en)2015-10-222020-04-07Verint Systems Ltd.System and method for keyword searching using both static and dynamic dictionaries
US11381977B2 (en)2016-04-252022-07-05Cognyte Technologies Israel Ltd.System and method for decrypting communication exchanged on a wireless local area network
US10944763B2 (en)2016-10-102021-03-09Verint Systems, Ltd.System and method for generating data sets for learning to identify user actions
US10491609B2 (en)2016-10-102019-11-26Verint Systems Ltd.System and method for generating data sets for learning to identify user actions
US11303652B2 (en)2016-10-102022-04-12Cognyte Technologies Israel LtdSystem and method for generating data sets for learning to identify user actions
US11336738B2 (en)2017-04-302022-05-17Cognyte Technologies Israel Ltd.System and method for tracking users of computer applications
US11095736B2 (en)2017-04-302021-08-17Verint Systems Ltd.System and method for tracking users of computer applications
US10972558B2 (en)2017-04-302021-04-06Verint Systems Ltd.System and method for tracking users of computer applications
US11575625B2 (en)2017-04-302023-02-07Cognyte Technologies Israel Ltd.System and method for identifying relationships between users of computer applications
US11336609B2 (en)2018-01-012022-05-17Cognyte Technologies Israel Ltd.System and method for identifying pairs of related application users
US10958613B2 (en)2018-01-012021-03-23Verint Systems Ltd.System and method for identifying pairs of related application users
US11403559B2 (en)2018-08-052022-08-02Cognyte Technologies Israel Ltd.System and method for using a user-action log to learn to classify encrypted traffic
US10999295B2 (en)2019-03-202021-05-04Verint Systems Ltd.System and method for de-anonymizing actions and messages on networks
US11444956B2 (en)2019-03-202022-09-13Cognyte Technologies Israel Ltd.System and method for de-anonymizing actions and messages on networks
US11399016B2 (en)2019-11-032022-07-26Cognyte Technologies Israel Ltd.System and method for identifying exchanges of encrypted communication traffic

Also Published As

Publication numberPublication date
USRE43500E1 (en)2012-07-03
USRE43528E1 (en)2012-07-17
US20060031940A1 (en)2006-02-09
USRE43529E1 (en)2012-07-17
USRE43103E1 (en)2012-01-10
US7484247B2 (en)2009-01-27

Similar Documents

PublicationPublication DateTitle
USRE43987E1 (en)System and method for protecting a computer system from malicious software
US11604861B2 (en)Systems and methods for providing real time security and access monitoring of a removable media device
US9213836B2 (en)System and method for comprehensive general electric protection for computers against malicious programs that may steal information and/or cause damages
AU2014393471B2 (en)Systems and methods for using a reputation indicator to facilitate malware scanning
US20040034794A1 (en)System and method for comprehensive general generic protection for computers against malicious programs that may steal information and/or cause damages
US20030159070A1 (en)System and method for comprehensive general generic protection for computers against malicious programs that may steal information and/or cause damages
US8171552B1 (en)Simultaneous execution of multiple anti-virus programs
US9602538B1 (en)Network security policy enforcement integrated with DNS server
GB2411988A (en)Preventing programs from accessing communication channels withut user permission
US20070240212A1 (en)System and Methodology Protecting Against Key Logger Spyware
WO2019222261A1 (en)Cloud based just in time memory analysis for malware detection
US7665139B1 (en)Method and apparatus to detect and prevent malicious changes to tokens
US9219728B1 (en)Systems and methods for protecting services
IglioTrustedbox: a kernel-level integrity checker
GB2404262A (en)Protection for computers against malicious programs using a security system which performs automatic segregation of programs
CA2471505A1 (en)System and method for comprehensive general generic protection for computers against malicious programs that may steal information and/or cause damages
Martsenyuk et al.Features of multifunctional Backdoor technology in the personal space of users.
US20250217483A1 (en)System and Method For Eliminating Ransomware Infections on Network Shares
GB2411747A (en)Remotely checking the functioning of computer security systems
CA2424144A1 (en)System and method for comprehensive general generic protection for computers against malicious programs that may steal information and/or cause damages
WO2002084939A1 (en)System and method for securely executing a executable to preserve the integrity of files from unauthorized access for network security
Kunle et al.Current Survey of Computer Malwares Infestation and Inhibition
AU2007201692A1 (en)System and method for comprehensive general generic protection for computers against malicious programs that may steal information and/or cause damages

Legal Events

DateCodeTitleDescription
ASAssignment

Owner name:CIOFFI, ALFONSO, TEXAS

Free format text:LETTERS OF TESTAMENTARY;ASSIGNOR:ROZMAN, ALLEN FRANK;REEL/FRAME:034499/0346

Effective date:20121029

ASAssignment

Owner name:ROZMAN, MEGAN ELIZABETH, TEXAS

Free format text:ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:CIOFFI, ALFONSO;REEL/FRAME:034385/0958

Effective date:20141114

Owner name:ROZMAN, MORGAN LEE, TEXAS

Free format text:ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:CIOFFI, ALFONSO;REEL/FRAME:034385/0958

Effective date:20141114

Owner name:ROZMAN, MELANIE ANN, TEXAS

Free format text:ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:CIOFFI, ALFONSO;REEL/FRAME:034385/0958

Effective date:20141114

REMIMaintenance fee reminder mailed
FPAYFee payment

Year of fee payment:8

SULPSurcharge for late payment

Year of fee payment:7

ASAssignment

Owner name:ROZMAN, MEGAN ELIZABETH, TEXAS

Free format text:CORRECTIVE ASSIGNMENT TO CORRECT THE CONVEYING PARTY DATA TO READ ALLEN FRANK ROZMAN (DECEASED) REPRESENTED BY ALFONSO CIOFFI (EXECUTOR OF ESTATE) PREVIOUSLY RECORDED ON REEL 034385 FRAME 0958. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT;ASSIGNOR:ALLEN FRANK ROZMAN (DECEASED) REPRESENTED BY ALFONSO CIOFFI (EXECUTOR OF ESTATE);REEL/FRAME:052994/0740

Effective date:20141114

Owner name:ROZMAN, MELANIE ANN, TEXAS

Free format text:CORRECTIVE ASSIGNMENT TO CORRECT THE CONVEYING PARTY DATA TO READ ALLEN FRANK ROZMAN (DECEASED) REPRESENTED BY ALFONSO CIOFFI (EXECUTOR OF ESTATE) PREVIOUSLY RECORDED ON REEL 034385 FRAME 0958. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT;ASSIGNOR:ALLEN FRANK ROZMAN (DECEASED) REPRESENTED BY ALFONSO CIOFFI (EXECUTOR OF ESTATE);REEL/FRAME:052994/0740

Effective date:20141114

Owner name:ROZMAN, MORGAN LEE, TEXAS

Free format text:CORRECTIVE ASSIGNMENT TO CORRECT THE CONVEYING PARTY DATA TO READ ALLEN FRANK ROZMAN (DECEASED) REPRESENTED BY ALFONSO CIOFFI (EXECUTOR OF ESTATE) PREVIOUSLY RECORDED ON REEL 034385 FRAME 0958. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT;ASSIGNOR:ALLEN FRANK ROZMAN (DECEASED) REPRESENTED BY ALFONSO CIOFFI (EXECUTOR OF ESTATE);REEL/FRAME:052994/0740

Effective date:20141114

FEPPFee payment procedure

Free format text:11.5 YR SURCHARGE- LATE PMT W/IN 6 MO, SMALL ENTITY (ORIGINAL EVENT CODE: M2556); ENTITY STATUS OF PATENT OWNER: SMALL ENTITY

MAFPMaintenance fee payment

Free format text:PAYMENT OF MAINTENANCE FEE, 12TH YR, SMALL ENTITY (ORIGINAL EVENT CODE: M2553); ENTITY STATUS OF PATENT OWNER: SMALL ENTITY

Year of fee payment:12


[8]ページ先頭

©2009-2025 Movatter.jp