throbber
United States Patent [191
`Tajalli et a1.
`
`[54] SYSTEM AND METHOD FOR
`CONTROLLING THE USE OF A COMPUTER
`[75] Inventors: Homayoon Tajalli, Ellicott City;
`Mark L. Badger; David I. Dalva, both
`of Rockville; Stephen T. Walker,
`Glenwood, all of Md.
`[73] Assignee: Trusted Information Systems, Inc.,
`Glenwood, Md.
`[21] Appl. No.: 937,424
`[22] Filed:
`Aug. 31, 1992
`[51] Int. Cl.5 ............................................. .. H04L 9/00
`[52] US. Cl. ........................... .. 395/700; 364/DIG. 2;
`364/9l8.7; 340/825.31
`[58] Field of Search ............................. .. 395/650, 700;
`_
`364/969.4, 969.3, 246.6, 246.9
`[56]
`References Cited
`U.S. PATENT DOCUMENTS
`
`3,827,029 7/1974 Schlotterer et a1. ........... .. 340/ 172.5
`
`4,200,770 4/ 1980 Hellman et a1. . . . . . .
`4,757,533 7/1988 Allen et a1. ..... ..
`4,885,789 12/1989 Burger et a1.
`4,918,653 4/1990 Johri et a1.
`5,012,515 4/1991 McVitie .......... ..
`5,032,979 7/1991 Hecht et a1. .... ..
`
`. . . . . . .. 178/22
`380/25
`380/25
`.. 364/900
`380/49
`.. 364/200
`
`. . . . .. 380/4
`5,224,160 6/ 1993 Paulini et a1. . . . . . . . . .
`.. 395/425
`5,263,147 11/1993 Francisco et a1.
`5,272,754 12/1993 Boerbert ............................. .. 380/25
`
`FOREIGN PATENT DOCUMENTS
`
`O325776A2 8/1989 European Pat. Off. .
`0432333A1 6/1991 European Pat. Off. .
`0468625A2 1/ 1992 European Pat. Off. .
`
`OTHER PUBLICATIONS
`IBM Technical Disclosure Bulletin, vol. 34, No. 8, Jan.
`1992, New York, US; pp. 214-215; Mechanism for
`Trusted Computing Base Isolation.
`Final Evaluation Report, Secure Communications Proces
`sor (SCOMP), Release 2.1, CSC-EPL-85/00l, 1985.
`Saydjari, et a1., Locking Computers Securely, 10th Na
`tional Computer Security Conference Proceedings,
`21-24 Sep. 1987.
`Maria M. King, Identifying and Controlling Undesirable
`Program Behaviors, 14th National Computer Security
`
`USOO5361359A
`Patent Number:
`Date of Patent:
`
`[11]
`[45]
`
`5,361,359
`Nov. 1, 1994
`
`Conference, Oct. 1-4, 1991, Omni Shoreham Hotel,
`Washington, DC.
`Russell Davis, PRC, Inc., Peeling the Viral Onion, 14th
`National Computer Security Conference, Oct. 1-4,
`1991, Omni Shoreham Hotel, Washington, DC.
`Final Evaluation Report of International Business Ma
`chines Corporation, VM/SP with RACE, 28 Sep. 1989,
`National Computer Security
`Center, CSC-E
`PL-89/O05.
`Final Evaluation Report of Unisys Corporation, OS 1100,
`Sep. 27, 1989, National Computer Security Center,
`CSC-EPL-89/0O4.
`Final Evaluation Report of Digital Equipment Corpora
`tion, VAX/VMS Version 4.3, 30 Jul. 1986, National
`Computer Security Center, CSC-EPL-86/O04.
`Final Evaluation Report of Trusted Information Systems
`Incorporated, Trusted Xenix, 22 Jan. 1991, National
`Computer Security Center, CSC-EPL-91/003, C-
`Evaluation No. 01-92.
`Operating Systems by H. M. Deitel pp. 535, 541, 542,
`1990.
`Unix System Security by Rik Farrow, 1990, pp. 9-12,
`55, 56, 203-205.
`Primary Examiner-Gareth D. Shaw
`Assistant Examiner—Michael T. Richey
`Attorney, Agent, or Firm-—Sterne, Kessler, Goldstein &
`Fox
`ABSTRACT
`[57]
`A system and method for auditing and controlling the
`use of a computer. An operating system and selected
`programs and data , referred to as approved applica
`tions and approved data , are stored on a protected
`media which cannot be modi?ed by any ordinary user
`or application program, regardless of operating system
`privilege. The protected media can be modi?ed by the
`operating system, as well as by an administrator using a
`trusted path mechanism. The trusted path mechanism
`establishes a reliable communication channel between
`the administrator and the computer system. The present
`invention may be con?gured to collect user audit data
`concerning user activity and system status and to write
`the audit data to the protected media. Also, the present
`invention may be con?gured to limit execution of appli
`cation programs to the approved applications.
`
`33 Claims, 10 Drawing Sheets
`
`12D
`
`118
`
`119
`
`UserMa
`
`Palo Alto Networks, Inc. - Exhibit 1093 - Page 1
`Palo Alto Networks, Inc. v. Finjan, Inc., IPR2016-00159
`
`

`
`US. Patent
`
`Nov. 1, 1994
`
`Sheet 1 of 10
`
`5,361,359
`
`120
`/
`
`116
`/
`
`/114
`
`TPM =
`
`4'
`
`Interface Port
`
`110
`/
`
`114 /
`
`Memory
`
`126
`\
`O
`
`Administrator
`
`Interface Port
`
`124
`/
`
`-
`
`-
`
`- “4
`/
`
`Termina| <-> Interface Port
`
`1 12
`/
`CPU
`
`118
`/
`
`128
`\
`O
`-
`Q Ordinary User
`
`119
`/ Protected Media
`User Media
`
`109
`
`FIG. 1
`
`Palo Alto Networks, Inc. - Exhibit 1093 - Page 2
`Palo Alto Networks, Inc. v. Finjan, Inc., IPR2016-00159
`
`

`
`US. Patent
`
`Nov. 1, 1994
`
`Sheet 2 of 10
`
`5,361,359
`
`118 hi/ce
`
`Protected Media (PM)
`/ 21°
`Operating System Portion /215
`Operating System /216
`Kernel
`213
`/
`219
`Boot Program
`/
`Operating System Programs/22o
`Trusted Path Programs
`
`/212
`Swap/Page Portion
`/ 214
`Application/Data Portiyzzz
`Approved Application
`;
`>24
`/22
`Approved Appllcatlon/226
`Approved Data
`5
`/22>228
`
`Approved Data
`
`Palo Alto Networks, Inc. - Exhibit 1093 - Page 3
`Palo Alto Networks, Inc. v. Finjan, Inc., IPR2016-00159
`
`

`
`U.S. Patent
`
`Nov. 1, 1994
`
`Sheet 3 of 10
`
`5,361,359
`
`116
`
`114
`/
`
`TPM
`
`Interface Port
`
`1 18
`
`14
`/1
`
`Protected Media
`
`Interface Port
`
`120 "
`
`1 10
`/
`
`Memory
`
`112
`
`124
`
`.
`
`. .
`
`114 .
`
`Eli
`
`User Media
`
`Interface Port
`
`FIG. 3
`
`Palo Alto Networks, Inc. - Exhibit 1093 - Page 4
`Palo Alto Networks, Inc. v. Finjan, Inc., IPR2016-00159
`
`

`
`US. Patent
`
`Nov. 1, 1994
`
`Sheet 4 of 10
`
`5,361,359
`
`422
`
`Administrator
`requested single
`user mode?
`
`NO
`
`YES
`
`~
`
`424
`
`——'>"
`
`430
`
`receive request
`from administrator
`426
`
`requested multi-
`user mode?
`
`YES
`
`mount root file
`system read only
`
`432
`
`mount user file
`
`systems)
`
`read/wn e
`
`execute command
`
`PI’OCGSS non
`administrative re uest
`of admlnlstra or
`and ordinary user
`
`"
`
`administrator
`requested single
`
`436
`/
`NO
`user W YES
`
`438
`
`remount I'OOt
`file system read/
`write
`
`FIG.4B
`
`Palo Alto Networks, Inc. - Exhibit 1093 - Page 5
`Palo Alto Networks, Inc. v. Finjan, Inc., IPR2016-00159
`
`

`
`US. Patent
`
`Nov. 1, 1994
`
`Sheet 5 of 10
`
`5,361,359
`
`ROM determines the
`boot device
`
`410
`
`412
`
`Load the boot program
`and execute it
`
`Boot loads the kernel
`into memory and
`executes it
`
`Kernel initializes all
`devices
`
`Kernel loads root file
`system from PM and
`mounts read/write
`
`Kernel runs letc/init
`
`414
`
`416
`
`418
`
`420
`
`Palo Alto Networks, Inc. - Exhibit 1093 - Page 6
`Palo Alto Networks, Inc. v. Finjan, Inc., IPR2016-00159
`
`

`
`U.S. Patent
`
`Nov. 1, 1994
`
`Sheet 6 of 10
`
`5,361,359
`
`Memory
`
`110
`
`51 0
`/
`
`/514
`Application
`Program
`
`AP Protection State
`/514
`Application
`Program
`/514
`Application
`Program
`
`/512
`
`OS Protection State
`/516
`operating
`system processes
`
`FIG.5
`
`Palo Alto Networks, Inc. - Exhibit 1093 - Page 7
`Palo Alto Networks, Inc. v. Finjan, Inc., IPR2016-00159
`
`

`
`US. Patent
`
`Nov. 1, 1994
`
`Sheet 7 of 10
`
`5,361,359
`
`/514
`aggogram
`
`lication
`
`/514
`iiglaogram
`
`a lication
`
`/514
`IEa‘r’ogram
`
`a lication
`
`610
`
`216
`612
`118
`lllllllllll /
`./
`Protefgig)Medla <-> Keme| kernel entry points
`
`Other attached
`devices such as
`terminms and
`disk drives
`614/
`
`_
`_
`4+ Flle system access Device access
`(/etc/audit_config)
`(/dev/kmem)
`
`FIG.6
`
`Palo Alto Networks, Inc. - Exhibit 1093 - Page 8
`Palo Alto Networks, Inc. v. Finjan, Inc., IPR2016-00159
`
`

`
`US. Patent
`
`Nov. 1, 1994
`
`'
`
`Sheet 8 of 10
`
`5,361,359
`
`118 aa/aar
`/
`
`Protected Media (PM)
`
`/ 21°
`215
`Operating System Portion /
`Operating System
`/216
`Kernel
`218
`- /
`Boot- Program
`219
`Operating System Programs/220
`Trusted Path Programs
`
`Swap/Page Portion
`
`/212
`/71()
`
`Audit portion
`
`audit log
`
`712
`/
`
`/7
`14
`
`audit configuration data _
`
`FIG.7
`
`Palo Alto Networks, Inc. - Exhibit 1093 - Page 9
`Palo Alto Networks, Inc. v. Finjan, Inc., IPR2016-00159
`
`

`
`US. Patent
`
`Nov. 1, 1994
`
`Sheet 9 of 10
`
`5,361,359
`
`810
`
`user re uest to
`AA sic/‘stem
`
`814
`
`v
`
`812
`
`process the request
`
`is the request in
`the set of requests
`to be audlted?
`
`YES
`
`816
`
`extract information about
`the associated program, user,
`and objects, If any
`
`Is there room on the PM
`to record the new information?
`
`NO
`
`consult audit
`configuration data
`
`820
`
`write extracted information
`into an audit log on the PM
`
`FIG. 8
`
`Palo Alto Networks, Inc. - Exhibit 1093 - Page 10
`Palo Alto Networks, Inc. v. Finjan, Inc., IPR2016-00159
`
`

`
`US. Patent
`
`Nov. 1, 1994
`
`Sheet 10 of 10
`
`5,361,359
`
`910
`
`Currently running program requests to
`execute another program by calling the
`exec system call
`
`912
`
`The Kernel examines the path
`name passed to the exec system call
`
`Does the application
`reside on the PM?
`
`NO
`_.> Return a no__aocess
`.
`error code
`
`918
`
`W
`
`916
`
`Load the requested program into
`memory from the PM and start it running
`
`FIG. 9
`
`Palo Alto Networks, Inc. - Exhibit 1093 - Page 11
`Palo Alto Networks, Inc. v. Finjan, Inc., IPR2016-00159
`
`

`
`SYSTEM AND METHOD FOR CONTROLLING
`THE USE OF A COMPUTER
`
`15
`
`CROSS-REFERENCE TO OTHER
`APPLICATIONS
`The following application of common assignee con
`tains some common disclosure and is believed to have
`the same effective ?ling date as the present invention:
`SYSTEM AND METHOD FOR CONTROLLING
`THE USE OF A COMPUTER AT A REGULATED
`SITE
`BACKGROUND Ol“ THE INVENTION
`1. Field of the Invention ‘
`The present invention relates generally to controlling
`the use of a computer system and, more particularly, to
`a system and method for restricting access to speci?ed
`application programs and/or data and to reliably audit
`ing computer usage.
`2. Related Art
`Computer Security
`Many organizations (e.g., businesses, government
`agencies) wish to control how data will be processed or
`25
`stored by computer systems that are owned, operated
`by, or otherwise related to the organizations. The ?eld
`of computer security is broadly concerned with design
`ing and building computer systems that permit organi
`zations that employ computer systems to control how
`data is processed using the computing systems accord
`ing to particular security policies. A security policy (in
`this context) is a set of rules about how data may be
`processed.
`The need to control how computer systems are used
`is related to organizational goals. For example, a busi
`ness might want to protect inventory records from
`unauthorized modi?cations; a government agency pro
`cessing sensitive information might want to control
`access to data so that users can only access information
`according to their security clearances. To allow organi
`zations control over their computer systems, many con
`ventional computer systems provide security controls
`that allow a computer system administrator to limit the
`actions that may be taken by users of the computer
`45
`system. Security controls fall broadly into two groups:
`discretionary controls and mandatory controls.
`Discretionary security controls are generally based
`on the identity of users as they are known to a computer
`system and the “ownership of’ or “control over” data
`stored for particular users by the computer system.
`Each user can employ discretionary controls to reduce
`the access of other users to data that is owned or con
`trolled by that user. A weakness of discretionary con
`trols is that, in conventional computer systems, each
`application program that is executed by a user possesses
`all of that user’s discretionary rights and can use those
`rights to change controls on the user’s data contrary to
`the user’s wishes. An application program that is de
`signed to do this is known as a “Trojan Horse” program
`because it often performs an undesirable function with
`out the user’s knowledge.
`Mandatory security controls are generally based on
`some computer system-maintained attribute of users and
`the data that users access. Often, this attribute is a “secu
`rity level” that is used by the computer system to decide
`if a particular user may access data stored on the com
`puter system. For instance, a user with a “Con?dential”
`
`35
`
`55
`
`65
`
`1
`
`5,361,359
`
`2
`clearance may be prohibited access to data that is classi
`?ed as “Top Secret.”
`The mandatory and discretionary controls are imple
`mented, at least in part, by an operating system of the
`computer system. The operating system is a body of
`software that controls (i.e., manages the usage of) physi
`cal resources such as central processing units (CPU)s,
`random access memory (RAM) (also referred to as
`“memory”), disk drives, networks, monitors, etc. By
`managing these resources, the software provides a way
`for users and application programs to use the resources
`in a more convenient way. The operating system in
`cludes a kernel, or resident portion, that is always in
`RAM. The kernel acts as the “traf?c cop” to manage
`both other pans of the operating system and the applica
`tion programs. Additionally, the operating system usu
`ally includes numerous utility programs that are to be
`used only by an “administrator”.
`As used in this document, an “administrator” is a user
`or organization with current authority to perform sys
`tem administrative functions such as maintaining and
`updating the operating system, whereas an “ordinary
`user” is a person who currently lacks such authority.
`Note that the same person could at some times be an
`administrator and at some times be an ordinary user.
`For example, a person may be an administrator when
`logged in with one login name and password, and an
`ordinary user when logged in with a different login
`name and password. In different systems, various proce
`dures are used by administrators and ordinary users to
`take on their respective roles.
`The operating system utilities may be distinct from
`the application programs. Although the dividing line
`between the two can be somewhat fuzzy, an operating
`system utility generally is distributed as part of an oper
`ating system, and maintains and supports the functions
`of the operating system. Also, an operating system util
`ity may require special privileges (only possessed by the
`administrator) to perform its function. An application
`program, on the other hand, is a program that is de
`signed to address a speci?c problem domain and that
`“uses” the services provided by the operating system.
`A single program can be both an operating system
`utility and an application program, depending on how it
`is used. When executed by an administrator and with
`the privileges to perform its intended function, it is an
`operating system program. When executed by an ordi
`nary user with no special privilege, it is an application
`program.
`Most multi-user computer systems provide some dis?
`cretionary security controls. Additionally, a number of
`computer systems provide mandatory controls and a set
`of features that facilitate the administration of computer
`security policies. The Trusted Computer Security Eval
`uation Criteria (TCSEC) is a National Computer Secu
`rity Center (NCSC) standard for evaluating computers
`that provide security features. The TCSEC, also known
`as the “Orange Book”, is fully described in the National
`Computer Security Center, Department of Defense
`Trusted Computer System Evaluation Criteria, DoD
`5200.28-STD, Dec. 1985. The TCSEC has been used to
`evaluate numerous computer systems, including Mul
`tics, SCOMP, and Trusted XENIX.
`Computer systems that provide access controls also
`must provide privileges that allow the controls to be
`overridden for system maintenance, software installa
`tion, etcetera. In the Unix operating system, for exam
`ple, every process has an identi?er that indicates the
`
`Palo Alto Networks, Inc. - Exhibit 1093 - Page 12
`Palo Alto Networks, Inc. v. Finjan, Inc., IPR2016-00159
`
`

`
`15
`
`25
`
`30
`
`35
`
`3
`user for which the process is running. (Unix is a regis
`tered trademark of Unix System Laboratories, Inc. Dif
`ferent versions of Unix are commercially available from
`a number of sources.) Many Unix access controls are
`relaxed for a process running as the administrator (also
`called the root user). In other operating systems, such as
`V AX VMS, privilege is also associated with processes.
`(VAX VMS is a product of Digital Equipment Corpo
`ration.)
`Although computer systems found to be trusted ac
`cording to the TCSEC provide strong controls over the
`use of privilege, such systems are prohibitively expen
`sive for many applications.
`Most conventional operating systems (including
`Unix) control privilege using only discretionary access
`controls. Controlling privilege using discretionary ac
`cess controls is a serious de?ciency in conventional
`systems because discretionary controls do not provide
`high assurance that ordinary users cannot obtain inap
`propriate privileges and then use those privileges to
`modify the operating system or the applications. A
`typical example of a potential circumvention of discre
`tionary access controls occurs when the password of a
`privileged user is observed. This is not an unusual oc
`currence, as passwords are notoriously dif?cult to keep
`secret. This de?ciency is a particular concern for com
`puter systems that are exposed to network-based at
`tacks, because an intruder can obtain total control over
`a remote system.
`Conventional mandatory and discretionary security
`controls assume an operating environment where ordi
`nary users and application programs are potentially
`malicious. In such an environment, it is the responsibil
`ity of the computer system (and its administrators) to
`ensure that malicious programs or ordinary users can
`not disrupt organizational goals. conventionally, the
`computer system and administrators focus primarily on
`protecting data that is stored or processed on the com
`puter system, and on protecting the continuous avail
`ability of the computer system.
`Because conventional security controls make this
`assumption, they do not adequately support policies
`that prohibit execution of certain programs or algo
`rithms. Execution control policies could provide signi?
`cant bene?ts both for improved utilization of computer
`resources and data protection. For instance, execution
`control can prevent the execution of programs that
`might misuse computing resources. Furthermore, exe
`cution control can prevent the execution of programs
`that might attack the traditional mandatory and discre
`tionary controls.
`Certain execution control policies can be imple
`mented through suitable con?guration of mandatory
`and discretionary access controls of a conventional
`system. On some conventional systems, the administra
`tor can con?gure the discretionary controls to prevent
`ordinary users from executing any but a preselected set
`of programs. For example, a Unix system can be con?g
`ured to allow ordinary users to execute only a speci?ed
`set of application programs. One way to accomplish this
`is where the administrator removes execute access from
`all programs except for those in the speci?ed set, and
`then removes write and read discretionary access from
`these programs. Such an execution control policy is not
`practical, however, because almost all useful systems
`require applications (e.g., text editors) that allow ordi
`nary users to create arbitrary ?les. Once ?les are cre~
`
`5,361,359
`4
`ated, it is possible (under Unix and under most operating
`systems) to execute them as new programs.
`Some operating systems allow any ?le to be executed
`(e.g., MS-DOS). Others, including Unix, however, re
`quire that ?les be designated as “executable” before an
`ordinary user can execute them. Using this feature, it
`would appear that execution control could be achieved
`by making small changes to an operating system to
`prevent ordinary users (other than the root ordinary
`user) from ever adding execute status to a ?le. With this
`modi?cation, however, the strength of the execution
`control would depend on the proper use of the root user
`id. That is, the strength would depend on the discretion
`ary controls that are available to the root user. As dis
`cussed above, discretionary controls are vulnerable to
`Trojan Horse attacks.
`A typical Trojan Horse attack in a Unix system in
`volves an unauthorized ordinary user gaining root ac
`cess. Numerous Unix processes usually run with the
`root id. Using a discretionary control based solution
`would make execution controls dependent on the cor
`rectness of all of those programs. Installing new ver
`sions of programs that run with the root privilege is a
`typical system administrative task. The introduction of
`any corrupted program would render the execution
`controls ineffective for the entire system. The execution
`control policies available with conventional operating
`systems thus do not adequately assure system security.
`Often, a malicious ordinary user (called an attacker)
`relies on the ability to create and execute malicious
`programs on the target computer system. A ?rst tech
`nique the attacker often uses is to create a Trojan Horse
`program that performs an apparently useful function
`and then saves the access rights of its ordinary user.
`Once a “victim” ordinary user runs the program, his
`access rights are saved in the form of a new executable
`program that runs with the victim’s attributes when
`executed by the attacker. A second technique the at
`tacker may use is to take advantage of errors in access
`controls or other system services so as to enable him to
`manipulate the operating system to his advantage. Of
`ten, these errors can only be exploited by writing a
`Trojan Horse program. A system with a strong mecha
`nism for controlling execution could prevent the at
`tacker from creating and executing programs, and could
`therefore prevent penetration by these two common
`techniques.
`A related de?ciency in the conventional art is that,
`once an attacker has penetrated a system, he can often
`“erase his footprints” by altering system logs that might
`reveal the attack. The privileges that enabled the at
`tacker to penetrate the system commonly enable him to
`modify such logs.
`The de?ciencies in the conventional techniques for
`controlling how computers are used indicate that what
`is needed is a computer system which enables an admin
`istrator to reliably control what application programs
`are executed, and which provides the administrator
`with a reliable audit trail of how it has been used.
`Computer Viruses
`Another vulnerability of conventional computer sys
`tems is infection by computer viruses. A computer virus
`is a program that replicates itself by inserting copies of
`itself (or some derivation of itself) into existing pro
`grams. A program is said to be infected when it has been
`so modi?ed. When an infected program is run, it exe
`cutes the viral code that usually attempts to infect more
`programs.
`
`45
`
`55
`
`65
`
`Palo Alto Networks, Inc. - Exhibit 1093 - Page 13
`Palo Alto Networks, Inc. v. Finjan, Inc., IPR2016-00159
`
`

`
`20
`
`25
`
`30
`
`5,361,359
`5
`6
`In addition to propagating, virus programs may per
`providing restrictions which cannot be changed by any
`form other functions. Although these functions may be
`application program or ordinary user, regardless of the
`bene?cial, virus programs are generally malicious and
`privileges or attributes given to the application program
`take advantage of their stealth to alter program behav
`or ordinary user by the underlying operating system.
`ior in undesirable ways without the knowledge of ordi
`These restrictions enable modi?cation of the operating
`system kernel and of any selected operating system
`nary users.
`To reduce the chance of detection, a virus usually
`programs, application programs, and/or data to be lim
`attempts to avoid infecting programs multiple times
`ited to an administrator.
`(which would increase the program size without
`The administrator designates the restrictions for pro
`bound). To avoid multiple infections, viruses typically
`grams and data through a trusted path mechanism
`add a “virus signature” to infected programs. Before
`(T PM). The TPM provides a reliable communication
`infecting a program, a virus checks for its signature to
`channel between the administrator and the underlying
`determine if the program is already infected.
`operating system. Use of the TPM assures the adminis
`Virus countermeasures fall into two groups: infection
`trator that his administrative actions are not intercepted
`prevention and infection detection (and removal). Most
`or modi?ed by malicious application programs, and
`anti-virus products (e.g., Norton Antivirus, available
`assures the underlying operating system that administra
`from Norton Utilities, Inc. and Flu-shot, available from
`tive actions are issued only by the administrator.
`Semantec, Inc.) perform virus detection by scanning
`There is an inherent tradeoff in computer systems
`executable ?les for particular virus signatures and by
`between the desired levels of security, ?exibility and
`computing checksums. Other detection methods are
`cost. The levels of these three factors are varied in three
`presented in M. M. King, “Identifying and Controlling
`embodiments of the invention. The preferred embodi
`Undesirable Program Behaviors,” Proceedings of the
`ment for a particular use depends on the trustworthiness
`14th National Computer Security Conference, Oct. l-4,
`of the ordinary users, the resources that may be avail
`1991, Washington DC. pp. 283-294; as well as in R.
`able to potential attackers, the threats to which the
`Davis, “Peeling the Viral Onion,” Proceedings of the
`system will be exposed, and the intended applications to
`14th National Computer Security Conference, Oct. l-4,
`be run on the system.
`1991, Washington DC. pp. 417-426. There are no reli
`A ?rst embodiment, called a High Integrity (HI)
`able software-based forms of virus prevention. Two
`system, provides protection from system penetrations
`serious de?ciencies of current anti-virus techniques are
`and from either malicious or unintentional modi?ca
`thus that virus code may execute before a virus is de
`tions of the underlying operating system. It provides
`tected, and that viruses whose signatures or behaviors
`protection of any number of selected application pro
`are not known to the detection program may not be
`grams and selected data. The selected application pro
`detected.
`grams are referred to as approved applications and the
`Typically, virus propagation is slowed but not com
`selected data are referred to as approved data. An exam
`pletely impeded by discretionary controls. The reason is
`ple of the selected data is a Unix ?le. A collection of
`that viruses take on the discretionary abilities of the
`zero or more approved applications is referred to as an
`ordinary users that (unknowingly) execute the virus
`approved application set, and a collection of zero or
`programs. (A virus can be viewed as a special kind of
`more approved data is referred to as an approved data
`Trojan Horse program.) When a privileged user exe
`set. The operating system, the approved applications
`cutes a virus-infected program, other programs may
`40
`and the approved data are stored on a protected media
`become vulnerable.
`(PM) to which the ordinary user and application pro
`A possible approach to controlling virus propagation
`grams cannot write.
`is to prevent insertion to, modi?cation to, or removal of
`The HI system enables the administrator to write to
`an approved set of executable programs. Such an ap
`the PM. The administrator can therefore maintain and
`proach would not prevent all kinds of viruses. For in
`upgrade the operating system and can specify the ap
`stance, some viruses are in programs that are not di
`proved applications and data. The HI system uses a
`rectly executed by a machine’s CPU, but are instead
`Trusted Path Mechanism CYPM) to positively identify
`“interpreted” by a directly executable program. Such
`the administrator, and can therefore reliably limit PM
`viruses are “data” as far as the computer operating
`write permission to him. The PM may not be the only
`system is concerned, and it is not currently feasible to
`media available to an HI system. Additional, unpro
`identify the kinds of data that might be interpreted as
`tected media are designated user media (UM). A UM
`programs by other programs. Some conventional com
`may hold user programs and data that users can modify
`puter systems attempt to prevent virus attacks by stor
`without using a TPM.
`ing executable programs in ?les and protecting the ?les
`The HI system assures the integrity of the operating
`from unauthorized reading, writing, creation or dele
`system, the approved applications and the approved
`tion using discretionary access controls. As has been
`data while still enabling the ordinary user to create and
`noted above, discretionary access controls do not pro
`execute application programs and to modify application
`vide strong protection, and therefore do not adequately
`programs and data which are not on the protected me
`control the spread and other damaging effects of vi
`dia. The HI system can therefore be used to protect
`certain critical applications and data without compro
`ruses.
`The de?ciencies of the conventional techniques for
`mising system ?exibility for non-critical applications
`controlling viruses indicate that what is needed is a
`and data.
`computer system which prevents the infection of com
`A second embodiment is an Assured Audit (AA)
`puter systems and the spread of viruses.
`system which collects audit information about the activ
`ities of ordinary users and application programs. As
`with the HI embodiment, the AA system employs a
`TPM and a PM. Using the TPM, the administrator
`speci?es the nature of the audits by specifying audit
`
`SUMMARY OF THE INVENTION
`The present invention addresses the de?ciencies of
`the conventional computer systems described above by
`
`35
`
`45
`
`55
`
`65
`
`Palo Alto Networks, Inc. - Exhibit 1093 - Page 14
`Palo Alto Networks, Inc. v. Finjan, Inc., IPR2016-00159
`
`

`
`8
`A bene?t inherent in all of the embodiments of the
`present invention is its broad applicability. The HI, CE
`and AA systems can be built using any underlying oper
`ating system that has at least two protection states that
`generally prevents application programs and ordinary
`users from normally modifying the operating system.
`This makes the invention relatively generic to operating
`systems.
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`FIG. 1 shows a block diagram of the high integrity
`(HI) system in which a protected media and a user
`media are internal to the system cabinet.
`FIG. 2 shows a block diagram of the protected media
`of the HI system and of the CE system.
`FIG. 3 shows a block diagram of the HI system in
`which a protected media and user media are external to
`the system cabinet.
`FIGS. 4A and 4B show a ?owchart of the method of
`initialization of the HI system.
`FIG. 5 depicts the two protection states of an under
`lying operating system of FIG. 1.
`FIG. 6 depicts the kernel-provided access points (to
`memory and to devices) of the underlying operating
`system.
`FIG. 7 shows a block diagram of a protected media of
`an assured audit (AA) system.
`FIG. 8 shows a ?owchart of the method of auditing
`of the AA system.
`FIG. 9 shows a ?owchart of the method of control
`ling execution of the CE system.
`
`20
`
`25
`
`30
`
`5,361,359
`7
`con?guration data. The AA system collects audit infor
`mation as speci?ed by the con?guration data and gener
`ates audit logs from the information. Both the con?gu
`ration data and the audit logs are stored on the PM.
`Therefore, application programs and ordinary users
`(other than the administrator) are prevented from dis
`abling the auditing speci?ed by the administrator and
`from erasing or modifying the audit data collected.
`The AA system thereby enables the administrator to
`accurately monitor system uses, to the extent he desires.
`The AA system provides a high level of ?exibility, as it
`permits ordinary users to create, modify and execute
`application programs which do not interfere with the
`auditing.
`A third embodiment, referred to as a Controlled Exe
`cution (CE) system, has all of the elements and func
`tions of the HI system, plus an additional feature. The
`CE system prevents ordinary users and application
`programs from executing any application program
`which is not an approved application program.
`The various embodiments of the invention provide
`the following bene?ts:
`HI System:
`Provides protection to both the operating system and
`selected application programs and/ or data from
`changes introduced by system break-ins or mali
`cious app

This document is available on Docket Alarm but you must sign up to view it.


Or .

Accessing this document will incur an additional charge of $.

After purchase, you can access this document again without charge.

Accept $ Charge
throbber

Still Working On It

This document is taking longer than usual to download. This can happen if we need to contact the court directly to obtain the document and their servers are running slowly.

Give it another minute or two to complete, and then try the refresh button.

throbber

A few More Minutes ... Still Working

It can take up to 5 minutes for us to download a document if the court servers are running slowly.

Thank you for your continued patience.

This document could not be displayed.

We could not find this document within its docket. Please go back to the docket page and check the link. If that does not work, go back to the docket and refresh it to pull the newest information.

Your account does not support viewing this document.

You need a Paid Account to view this document. Click here to change your account type.

Your account does not support viewing this document.

Set your membership status to view this document.

With a Docket Alarm membership, you'll get a whole lot more, including:

  • Up-to-date information for this case.
  • Email alerts whenever there is an update.
  • Full text search for other cases.
  • Get email alerts whenever a new case matches your search.

Become a Member

One Moment Please

The filing “” is large (MB) and is being downloaded.

Please refresh this page in a few minutes to see if the filing has been downloaded. The filing will also be emailed to you when the download completes.

Your document is on its way!

If you do not receive the document in five minutes, contact support at support@docketalarm.com.

Sealed Document

We are unable to display this document, it may be under a court ordered seal.

If you have proper credentials to access the file, you may proceed directly to the court's system using your government issued username and password.


Access Government Site

We are redirecting you
to a mobile optimized page.





Document Unreadable or Corrupt

Refresh this Document
Go to the Docket

We are unable to display this document.

Refresh this Document
Go to the Docket