WO2008002331A2 - Enhanced browser security - Google Patents

Enhanced browser security Download PDF

Info

Publication number
WO2008002331A2
WO2008002331A2 PCT/US2006/060017 US2006060017W WO2008002331A2 WO 2008002331 A2 WO2008002331 A2 WO 2008002331A2 US 2006060017 W US2006060017 W US 2006060017W WO 2008002331 A2 WO2008002331 A2 WO 2008002331A2
Authority
WO
WIPO (PCT)
Prior art keywords
security
context zone
computer
zone
context
Prior art date
Application number
PCT/US2006/060017
Other languages
French (fr)
Other versions
WO2008002331A3 (en
Inventor
David W. Plummer
Original Assignee
Xeriton Corporation
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
Application filed by Xeriton Corporation filed Critical Xeriton Corporation
Publication of WO2008002331A2 publication Critical patent/WO2008002331A2/en
Publication of WO2008002331A3 publication Critical patent/WO2008002331A3/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/20Network architectures or network communication protocols for network security for managing network security; network security policies in general
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]

Definitions

  • Embodiments of the invention relate generally to computer systems and, more particularly, to improvements in security for browser applications.
  • Many conventional Internet-browser applications (“browsers”) include one or more security "zones” that allow a user to apply one or more security policies to web sites accessible to the browsers.
  • a security policy may govern whether an accessed web site is allowed to, for example, run ActiveX controls on or automatically upload/download software to the system on which the browser is running.
  • the browser may include a "Restricted" zone represented by a user interface 10 displayable on a display device (not shown) and having one or more fields 2OA, 20B that a user can populate with the domain identifiers of web sites to which the user would like to apply a comparatively restrictive security policy.
  • FIG. 1 Many conventional Internet-browser applications
  • the user has previously placed several domain identifiers (e.g., www.abc.com, www.cba.com) in the Restricted zone, a fact illustrated in field 2OB.
  • the browser applies a predefined security policy associated with the Restricted zone to each of the web sites associated with the domain identifiers displayed in field 2OB. If the user wishes to add a web site to the Restricted zone, the user must type or otherwise manually enter the domain identifier into the field 2OA.
  • a machine-executable method implementable in a system operable to execute a browser application having at least one security-context zone and operable to apply at least one security policy to interaction between the system and web site" rnrrfisnnndine to domain identifiers populating the at least one security-context zone includes comparing a first set of domain identifiers populating a first security-context zone of the at least one security-context zone with a second set of domain identifiers. The method further includes populating the first security-context zone with at least one second-set identifier not included in the first set of domain identifiers.
  • FIG. 1 illustrates a conventional user interface
  • FIG. 2 is a schematic view of an exemplary operating environment in which an embodiment of the invention can be implemented
  • FIG. 3 is a functional block diagram of an exemplary operating environment in which an embodiment of the invention can be implemented
  • FIG. 4 illustrates a user interface according to an embodiment of the invention
  • FIG. 5 illustrates a user interface according to an embodiment of the invention.
  • FIG. 6 is a flow diagram illustrating a method according to an embodiment of the invention. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT
  • FIG. 2 illustrates an example of a suitable computing system environment 100 on which the invention may be implemented.
  • the computing system environment 100 is only one example of a suitable computing environment and is not intended to suggest any limitation as to the scope of use or functionality of the invention. Neither should the computing environment 100 be interpreted as having any dependency or requirement relating to any one or combination of components illustrated in the exemplary operating environment 100.
  • Embodiments of the invention are operational with numerous other general purpose or special purpose computing system environments or configurations.
  • Examples of well known computing systems, environments, and/or configurations that may be suitable for use with the invention include, but are not limited to, personal computers, server computers, hand-held or laptop devices, multiprocessor systems, microprocessor-based systems, set top boxes, programmable consumer electronics, network PCs, minicomputers, mainframe computers, distributed computing environments that include any of the above systems or devices, and the like.
  • Embodiments of the invention may be described in the general context of computer-executable instructions, such as program modules, being executed by a computer.
  • program modules include routines, programs, objects, components, data structures, etc. that perform particular tasks or implement particular abstract data types.
  • the invention may also be practiced in distributed computing environments where tasks are performed by remote processing devices that are linked through a communications network.
  • program modules may be located in both local and remote computer storage media including memory storage devices.
  • an exemplary system for implementing the invention includes a general purpose computing device in the form of a computer 110.
  • Components of computer 110 may include, but are not limited to, a processing unit 120, a system memory 130, and a system bus 121 that couples various system components including the system memory to the processing unit 120.
  • the system bus 121 may be any of several types of bus structures including a memory bus or memory controller, a peripheral bus, and a local bus using any of a variety of bus architectures.
  • Computer 110 typically includes a variety of computer readable media.
  • Computer readable media can be any available media that can be accessed by computer 110 and includes both volatile and nonvolatile media, removable and non-removable media.
  • computer readable media may comprise computer storage media and communication media.
  • Computer storage media includes both volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information such as computer readable instructions, data structures, program modules or other data.
  • Computer storage media includes, but is not limited to, RAM, ROM, EEPROM, flash memory or other memory technology, CD- ROM, digital versatile disks (DVD) or other optical disk storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium which can be used to store the desired information and which can accessed by computer 110.
  • Communication media typically embodies computer readable instructions, data structures, program modules or other data in a modulated data signal such as a carrier wave or other transport mechanism and includes any information delivery media.
  • modulated data signal means a signal that has one or more of its characteristics set or changed in such a manner as to encode information in the signal.
  • communication media includes wired media such as a wired network or direct-wired connection, and wireless media such as acoustic, RF, infrared and other wireless media. Combinations of any of the above should also be included within the scope of computer readable media.
  • the system memory 130 includes computer storage media in the form of volatile and/or nonvolatile memory such as read only memory (ROM) 131 and random access memory (RAM) 132.
  • ROM read only memory
  • RAM random access memory
  • BIOS basic input/output system
  • RAM 132 typically contains data and/or program modules that are immediately accessible to and/or presently being operated on by processing unit 120.
  • FIG. 2 illustrates operating system 134, application programs 135, other program modules 136, and program data 137.
  • the computer 110 may also include other removable/non-removable, volatile/nonvolatile computer storage media.
  • FIG. 2 illustrates a hard disk drive 140 that reads from or writes to non-removable, nonvolatile magnetic media, a magnetic disk drive 151 that reads from or writes to a removable, nonvolatile magnetic disk 152, and an optical disk drive 155 that reads from or writes to a removable, nonvolatile optical disk 156 such as a CD ROM or other optical media.
  • removable/non-removable, volatile/nonvolatile computer storage media that can be used in the exemplary operating environment include, but are not limited to, magnetic tape cassettes, flash memory cards, digital versatile disks, digital video tape, solid state RAM, solid state ROM, and the like.
  • the hard disk drive 141 is typically connected to the system bus 121 through an non-removable memory interface such as interface 140, and magnetic disk drive 151 and optical disk drive 155 are typically connected to the system bus 121 by a removable memory interface, such as interface 150.
  • the drives and their associated computer storage media discussed above and illustrated in FIG. 2, provide storage of computer readable instructions, data structures, program modules and other data for the computer 110.
  • hard disk drive 141 is illustrated as storing operating system 144, application programs 145, other program modules 146, and program data 147. Note that these components can either be the same as or different from operating system 134, application programs 135, other program modules 136, and program data 137. Operating system 144, application programs 145, other program modules 146, and program data 147 are given different numbers here to illustrate that, at a minimum, they are different copies.
  • a user may enter commands and information into the computer 20 through input devices such as a keyboard 162 and pointing device 161, commonly referred to as a mouse, trackball or touch pad.
  • Other input devices may include a microphone, joystick, game pad, satellite dish, scanner, or the like.
  • These and other input devices are often connected to the processing unit 120 through a user input interface 160 that is coupled to the system bus, but may be connected by other interface and bus structures, such as a parallel port, game port or a universal serial bus (USB).
  • a monitor 191 or other type of display device is also connected to the system bus 121 via an interface, such as a video interface 190.
  • computers may also include other peripheral output devices such as speakers 197 and printer 196, which may be connected through a output peripheral interface 190.
  • the computer 110 may operate in a networked environment using logical connections to one or more remote computers, such as a remote computer 180.
  • the remote computer 180 may be a personal computer, a server, a router, a network PC, a peer device or other common network node, and typically includes many or all of the elements described above relative to the computer 110, although only a memory storage device 181 has been illustrated in FIG. 2.
  • the logical connections depicted in FIG. 2 include a local area network (LAN) 171 and a wide area network (WAN) 173, but may also include other networks.
  • LAN local area network
  • WAN wide area network
  • Such networking environments are commonplace in offices, enterprise-wide computer networks, intranets and the Internet.
  • the computer 110 When used in a LAN networking environment, the computer 110 is connected to the LAN 171 through a network interface or adapter 170. When used in a WAN networking environment, the computer 110 typically includes a modem 172 or other means for establishing communications over the WAN 173, such as the Internet.
  • the modem 172 which may be internal or external, may be connected to the system bus 121 via the user input interface 160, or other appropriate mechanism.
  • program modules depicted relative to the computer 110, or portions thereof may be stored in the remote memory storage device.
  • FIG. 2 illustrates remote application programs 185 as residing on memory device 181.
  • System 200 includes an electronic client device 210, such as a personal computer or workstation, that is linked via a communication medium, such as a network 220 (e.g., the Internet), to an electronic device or system, such as a server 230.
  • the server 230 may further be coupled, or otherwise have access, to a database 240 and a computer system 260.
  • FIG. 3 includes one server 230 coupled to one client device 210 via the network 220, it should be recognized that embodiments of the invention may be implemented using one or more such client devices coupled to one or more such servers.
  • each of the client device 210 and server 230 may include all or fewer than all of the features associated with the computer 110 illustrated in and discussed with reference to FIG. 3.
  • Client device 210 includes or is otherwise coupled to a computer screen or display 250.
  • Client device 210 can be used for various purposes including both network- and local-computing processes.
  • the client device 210 is linked via the network 220 to server 230 so that computer programs, such as, for example, a browser, running on the client device 210 can cooperate in two-way communication with server 230.
  • Server 230 may be coupled to database 240 to retrieve information therefrom and to store information thereto.
  • Database 240 may include a plurality of different tables (not shown) that can be used by server 230 to enable performance of various aspects of embodiments of the invention.
  • the server 230 may be coupled to the computer system 260 in a manner allowing the server to delegate certain processing functions to the computer system.
  • An embodiment of the invention includes a first domain-identifier file 270 and a populating component 280, the functionality of which is discussed more fully hereinafter. At least portions of the component 280 may be executed by the server 230. Alternatively or additionally, at least portions of the component 280 may be executed by the computer system 260. Alternatively or additionally, at least portions of the component 280 may be executed by the client device 210.
  • the first domain-identifier file 270 and/or component 280 may be implemented in any suitable hardware, software, firmware, or combination thereof.
  • a user (not shown) of the client device 210 desiring to apply one or more security policies to one or more web sites uses a browser application running on the client device to access web content, which may, but need not, be served by the server 230.
  • a uniform resource locator URL
  • the user may download from the server 230 and install on the client device 210 the first domain-identifier file 270 and/or component 280.
  • the user may receive the first domain-identifier file 270 and/or component 280 on a tangible computer- readable medium (not shown), such as, for example, a CD-ROM, and subsequently install the file and/or component on the client device 210 from the medium.
  • a tangible computer- readable medium such as, for example, a CD-ROM
  • An embodiment of the invention which may include the first domain- identifier file 270 and/or component 280, includes one or more user-interface components (not shown).
  • a user interface including, for example, a window 300 (FIG. 4) may be presented to the user on a display device such as display 250.
  • the window 300 includes a control-button panel 310, the buttons of which are selectable via a conventional "point-and-click" device, such as a mouse (not shown), and enable the user to control probe functionality of the component 280 as described more fully hereinafter.
  • An embodiment of the file 270 includes domain identifiers associated with web sites that have been analyzed and categorized according to their trustworthiness and, as such, the extent to which each is appropriate for a particular security zone.
  • the file 270 may include a set of identifiers of sites appropriate for the "Restricted" zone (i.e., a zone having a more-restrictive policy than that of a zone having normal or average security requirements), a set of identifiers appropriate for a "Trusted" zone (i.e., a zone having a less-restrictive policy than that of a zone having normal or average security requirements), and/or sets of identifiers appropriate for respective ones of other zones of varying security requirements.
  • the administrator of the server 230 or the administrator of a site hosted by the server 230 and from which the client device 210 ultimately receives the file 270 may make the determinations upon which such categorizations are based. These determinations may be made on an ongoing basis such that, periodically, a second domain-identifier file 290 (FIG. 3), and perhaps subsequent updated domain-identifier files (not shown) that include newly analyzed sites may be provided in a manner described above to the client device 210 to supplement or supplant the first domain-identifier file 270.
  • the second domain- identifier file 290 and subsequent updated domain-identifier files may be manually downloaded by the user or automatically uploaded to the client device 210.
  • An embodiment allows users to submit web sites for review and automatic or manual inclusion in, for example, an updated domain-identifier file. Additionally, an embodiment enables a user to contact the server 230 for a real-time evaluation of a site rather than relying on a static domain-identifier file.
  • the user interface allows the user to choose a security zone (i.e., Restricted, Trusted, etc.) for which a probe shall be performed using the window 300.
  • a security zone i.e., Restricted, Trusted, etc.
  • the component 280 is operable to review the domain identifiers in the file 270, and to determine whether those domain identifiers currently populate the selected zone (in the example illustrated in FIG. 4, the Restricted zone) of the browser.
  • the status of this probe is displayed in a status pane 320 of the window 300.
  • Those identifiers in the file 270 that do currently populate the zone are tallied into the total corresponding to the "Protected Sites Found" entry of the status pane 320. Those identifiers in the file 270 that do not currently populate the zone are tallied into the total corresponding to the "Exposed Sites Found" entry of the status pane 320. Sites corresponding to those identifiers in the file 270 that do not currently populate the zone may be displayed in a probe-results pane 330. After reviewing the sites listed in the results pane 330, the user may select a populate button 340 of the window 300 to populate the zone with all of the sites displayed in the results pane 330.
  • the user may, prior to selecting the populate button 340, select one or more of the sites listed in the results pane 330 to be excluded from populating the zone.
  • the user interface of an embodiment may include a settings page 400 that enables a user to customize the security policy that will be applied to web sites that have been made subject to a particular zone.
  • the settings page may allow the user to enable/disable the ability of sites in the applicable zone to, for example, run ActiveX controls, script ActiveX controls, run Java Applets, etc.
  • the user may enable/disable these settings by using setting buttons 410 to toggle between or otherwise select the permission settings.
  • FIG. 6 illustrates a process 600, according to an embodiment of the invention, that can be implemented in a system operable to execute a browser application having at least one security-context zone and operable to apply at least one security policy to interaction between the system and web sites corresponding to domain identifiers populating the a security-context zone.
  • the process 600 is illustrated as a set of operations shown as discrete blocks.
  • the process 600 may be implemented in any suitable hardware, software, firmware, or combination thereof.
  • the process 600 may be implemented in computer-executable instructions that can be transferred from one computer, such as server 230, to a second computer, such as client device 210, via a communications medium, such as network 220.
  • the order in which the operations are described is not to be necessarily construed as a limitation.
  • a first set of domain identifiers populating a first security-context zone is compared with a second set of domain identifiers.
  • the populating component 280 may review a set of domain identifiers in the file 270 appropriate for the Restricted zone and determine whether those domain identifiers currently populate the Restricted zone of the browser.
  • the first security-context zone is populated with at least one second-set identifier not included in the first set of domain identifiers. For example, as discussed above, sites corresponding to those identifiers in the file 270 that do not currently populate the Restricted zone may be displayed in a probe-results pane 330. After reviewing the sites listed in the results pane 330, the user may select a populate button 340 of the window 300 to populate the Restricted zone with all of the sites displayed in the results pane 330.
  • the populating component 280 or other associated implementation may be operable to restrict the number of domain identifiers that can populate a given one or more of the zones and, as such, restrict the number of web sites to which a given one or more security policies are applied.
  • a third set of domain identifiers populating a second security-context zone is compared with a fourth set of domain identifiers.
  • the populating component 280 may review a set of domain identifiers in the file 270 appropriate for the Trusted zone and determine whether those domain identifiers currently populate the Trusted zone of the browser.
  • the second security-context zone is populated with at least one fourth-set identifier not included in the third set of domain identifiers. For example, sites corresponding to those identifiers in the file 270 that do not currently populate the Trusted zone may be displayed in a probe-results pane 330. After reviewing the sites listed in the results pane 330, the user may select a populate button 340 of the window 300 to populate the Trusted zone with all of the sites displayed in the results pane 330.

Abstract

A machine-executable method implementable in a system operable to execute a browser application having at least one security-context zone and operable to apply at least one security policy to interaction between the system and web sites corresponding to domain identifiers populating the at least one security-context zone includes comparing a first set of domain identifiers populating a first security-context zone of the at least one security-context zone with a second set of domain identifiers. The method further includes populating the first security-context zone with at least one second-set identifier not included in the first set of domain identifiers.

Description

ENHANCED BROWSER SECURITY
INVENTOR David Plummer
PRIORITY CLAIM/CROSS REFERENCE TO RELATED APPLICATIONS [0001] The present application claims priority from U.S. Provisional
Application No. 60/727,288 filed October 14, 2005, which is, along with commonly owned and co-pending U.S. Application No. 11/351,257 filed on February 6, 2006, U.S. Patent Application No. 11/549,804 (Attorney Ref. No. SFON-1-1004) entitled "Control of Application Access to System Resources," U.S. Patent Application No. 11/549,783 (Attorney Ref. No. SFON-1-1007) entitled "Control of Application Access to System Resources," and U.S. Provisional Application No. 60/805,683 filed on June 23, 2006, herein incorporated by reference in its entirety.
FIELD OF THE INVENTION
[0002] Embodiments of the invention relate generally to computer systems and, more particularly, to improvements in security for browser applications. BACKGROUND OF THE INVENTION
[0003] Many conventional Internet-browser applications ("browsers") include one or more security "zones" that allow a user to apply one or more security policies to web sites accessible to the browsers. Such a security policy may govern whether an accessed web site is allowed to, for example, run ActiveX controls on or automatically upload/download software to the system on which the browser is running. As shown in FIG. 1, the browser may include a "Restricted" zone represented by a user interface 10 displayable on a display device (not shown) and having one or more fields 2OA, 20B that a user can populate with the domain identifiers of web sites to which the user would like to apply a comparatively restrictive security policy. In the example illustrated in FIG. 1, the user has previously placed several domain identifiers (e.g., www.abc.com, www.cba.com) in the Restricted zone, a fact illustrated in field 2OB. As such, the browser applies a predefined security policy associated with the Restricted zone to each of the web sites associated with the domain identifiers displayed in field 2OB. If the user wishes to add a web site to the Restricted zone, the user must type or otherwise manually enter the domain identifier into the field 2OA.
[0004] As the number of web sites that the user wishes to add to a zone increases, it should be appreciated that the task of employing a user interface, such as the interface 10 of FIG. 1, to manually enter each associated domain identifier becomes increasingly nontrivial. Moreover, by the time the user decides to so restrict a web site, it is highly possible that the user has already suffered some negative effect from accessing the web site due to the user being previously unaware of the harmful nature of the web site.
SUMMARY OF THE INVENTION [0005] In an embodiment of the invention, a machine-executable method implementable in a system operable to execute a browser application having at least one security-context zone and operable to apply at least one security policy to interaction between the system and web site" rnrrfisnnndine to domain identifiers populating the at least one security-context zone includes comparing a first set of domain identifiers populating a first security-context zone of the at least one security-context zone with a second set of domain identifiers. The method further includes populating the first security-context zone with at least one second-set identifier not included in the first set of domain identifiers.
BRIEF DESCRIPTION OF THE DRAWINGS
[0006] Preferred and alternative embodiments of the present invention are described in detail below with reference to the following drawings.
[0007] FIG. 1 illustrates a conventional user interface; [0008] FIG. 2 is a schematic view of an exemplary operating environment in which an embodiment of the invention can be implemented;
[0009] FIG. 3 is a functional block diagram of an exemplary operating environment in which an embodiment of the invention can be implemented;
[0010] FIG. 4 illustrates a user interface according to an embodiment of the invention;
[0011] FIG. 5 illustrates a user interface according to an embodiment of the invention; and
[0012] FIG. 6 is a flow diagram illustrating a method according to an embodiment of the invention. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT
[0013] FIG. 2 illustrates an example of a suitable computing system environment 100 on which the invention may be implemented. The computing system environment 100 is only one example of a suitable computing environment and is not intended to suggest any limitation as to the scope of use or functionality of the invention. Neither should the computing environment 100 be interpreted as having any dependency or requirement relating to any one or combination of components illustrated in the exemplary operating environment 100. [0014] Embodiments of the invention are operational with numerous other general purpose or special purpose computing system environments or configurations. Examples of well known computing systems, environments, and/or configurations that may be suitable for use with the invention include, but are not limited to, personal computers, server computers, hand-held or laptop devices, multiprocessor systems, microprocessor-based systems, set top boxes, programmable consumer electronics, network PCs, minicomputers, mainframe computers, distributed computing environments that include any of the above systems or devices, and the like.
[0015] Embodiments of the invention may be described in the general context of computer-executable instructions, such as program modules, being executed by a computer. Generally, program modules include routines, programs, objects, components, data structures, etc. that perform particular tasks or implement particular abstract data types. The invention may also be practiced in distributed computing environments where tasks are performed by remote processing devices that are linked through a communications network. In a distributed computing environment, program modules may be located in both local and remote computer storage media including memory storage devices.
[0016] With reference to FIG. 2, an exemplary system for implementing the invention includes a general purpose computing device in the form of a computer 110. Components of computer 110 may include, but are not limited to, a processing unit 120, a system memory 130, and a system bus 121 that couples various system components including the system memory to the processing unit 120. The system bus 121 may be any of several types of bus structures including a memory bus or memory controller, a peripheral bus, and a local bus using any of a variety of bus architectures. By way of example, and not limitation, such architectures include Industry Standard Architecture (ISA) bus, Micro Channel Architecture (MCA) bus, Enhanced ISA (EISA) bus, Video Electronics Standards Association (VESA) local bus, and Peripheral Component Interconnect (PCI) bus also known as Mezzanine bus. [0017] Computer 110 typically includes a variety of computer readable media. Computer readable media can be any available media that can be accessed by computer 110 and includes both volatile and nonvolatile media, removable and non-removable media. By way of example, and not limitation, computer readable media may comprise computer storage media and communication media. Computer storage media includes both volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information such as computer readable instructions, data structures, program modules or other data. Computer storage media includes, but is not limited to, RAM, ROM, EEPROM, flash memory or other memory technology, CD- ROM, digital versatile disks (DVD) or other optical disk storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium which can be used to store the desired information and which can accessed by computer 110. Communication media typically embodies computer readable instructions, data structures, program modules or other data in a modulated data signal such as a carrier wave or other transport mechanism and includes any information delivery media. The term "modulated data signal" means a signal that has one or more of its characteristics set or changed in such a manner as to encode information in the signal. By way of example, and not limitation, communication media includes wired media such as a wired network or direct-wired connection, and wireless media such as acoustic, RF, infrared and other wireless media. Combinations of any of the above should also be included within the scope of computer readable media.
[0018] The system memory 130 includes computer storage media in the form of volatile and/or nonvolatile memory such as read only memory (ROM) 131 and random access memory (RAM) 132. A basic input/output system 133 (BIOS), containing the basic routines that help to transfer information between elements within computer 110, such as during start-up, is typically stored in ROM 131. RAM 132 typically contains data and/or program modules that are immediately accessible to and/or presently being operated on by processing unit 120. By way of example, and not limitation, FIG. 2 illustrates operating system 134, application programs 135, other program modules 136, and program data 137.
[0019] The computer 110 may also include other removable/non-removable, volatile/nonvolatile computer storage media. By way of example only, FIG. 2 illustrates a hard disk drive 140 that reads from or writes to non-removable, nonvolatile magnetic media, a magnetic disk drive 151 that reads from or writes to a removable, nonvolatile magnetic disk 152, and an optical disk drive 155 that reads from or writes to a removable, nonvolatile optical disk 156 such as a CD ROM or other optical media. Other removable/non-removable, volatile/nonvolatile computer storage media that can be used in the exemplary operating environment include, but are not limited to, magnetic tape cassettes, flash memory cards, digital versatile disks, digital video tape, solid state RAM, solid state ROM, and the like. The hard disk drive 141 is typically connected to the system bus 121 through an non-removable memory interface such as interface 140, and magnetic disk drive 151 and optical disk drive 155 are typically connected to the system bus 121 by a removable memory interface, such as interface 150.
[0020] The drives and their associated computer storage media discussed above and illustrated in FIG. 2, provide storage of computer readable instructions, data structures, program modules and other data for the computer 110. In FIG. 2, for example, hard disk drive 141 is illustrated as storing operating system 144, application programs 145, other program modules 146, and program data 147. Note that these components can either be the same as or different from operating system 134, application programs 135, other program modules 136, and program data 137. Operating system 144, application programs 145, other program modules 146, and program data 147 are given different numbers here to illustrate that, at a minimum, they are different copies. A user may enter commands and information into the computer 20 through input devices such as a keyboard 162 and pointing device 161, commonly referred to as a mouse, trackball or touch pad. Other input devices (not shown) may include a microphone, joystick, game pad, satellite dish, scanner, or the like. These and other input devices are often connected to the processing unit 120 through a user input interface 160 that is coupled to the system bus, but may be connected by other interface and bus structures, such as a parallel port, game port or a universal serial bus (USB). A monitor 191 or other type of display device is also connected to the system bus 121 via an interface, such as a video interface 190. In addition to the monitor, computers may also include other peripheral output devices such as speakers 197 and printer 196, which may be connected through a output peripheral interface 190.
[0021] The computer 110 may operate in a networked environment using logical connections to one or more remote computers, such as a remote computer 180. The remote computer 180 may be a personal computer, a server, a router, a network PC, a peer device or other common network node, and typically includes many or all of the elements described above relative to the computer 110, although only a memory storage device 181 has been illustrated in FIG. 2. The logical connections depicted in FIG. 2 include a local area network (LAN) 171 and a wide area network (WAN) 173, but may also include other networks. Such networking environments are commonplace in offices, enterprise-wide computer networks, intranets and the Internet.
[0022] When used in a LAN networking environment, the computer 110 is connected to the LAN 171 through a network interface or adapter 170. When used in a WAN networking environment, the computer 110 typically includes a modem 172 or other means for establishing communications over the WAN 173, such as the Internet. The modem 172, which may be internal or external, may be connected to the system bus 121 via the user input interface 160, or other appropriate mechanism. In a networked environment, program modules depicted relative to the computer 110, or portions thereof, may be stored in the remote memory storage device. By way of example, and not limitation, FIG. 2 illustrates remote application programs 185 as residing on memory device 181. It will be appreciated that the network connections shown are exemplary and other means of establishing a communications link between the computers may be used. [0023] Referring now to FIG. 3, an embodiment of the present invention can be described in the context of an exemplary computer network system 200 as illustrated. System 200 includes an electronic client device 210, such as a personal computer or workstation, that is linked via a communication medium, such as a network 220 (e.g., the Internet), to an electronic device or system, such as a server 230. The server 230 may further be coupled, or otherwise have access, to a database 240 and a computer system 260. Although the embodiment illustrated in FIG. 3 includes one server 230 coupled to one client device 210 via the network 220, it should be recognized that embodiments of the invention may be implemented using one or more such client devices coupled to one or more such servers.
[0024] In an embodiment, each of the client device 210 and server 230 may include all or fewer than all of the features associated with the computer 110 illustrated in and discussed with reference to FIG. 3. Client device 210 includes or is otherwise coupled to a computer screen or display 250. Client device 210 can be used for various purposes including both network- and local-computing processes.
[0025] The client device 210 is linked via the network 220 to server 230 so that computer programs, such as, for example, a browser, running on the client device 210 can cooperate in two-way communication with server 230. Server 230 may be coupled to database 240 to retrieve information therefrom and to store information thereto. Database 240 may include a plurality of different tables (not shown) that can be used by server 230 to enable performance of various aspects of embodiments of the invention. Additionally, the server 230 may be coupled to the computer system 260 in a manner allowing the server to delegate certain processing functions to the computer system.
[0026] An embodiment of the invention includes a first domain-identifier file 270 and a populating component 280, the functionality of which is discussed more fully hereinafter. At least portions of the component 280 may be executed by the server 230. Alternatively or additionally, at least portions of the component 280 may be executed by the computer system 260. Alternatively or additionally, at least portions of the component 280 may be executed by the client device 210. The first domain-identifier file 270 and/or component 280 may be implemented in any suitable hardware, software, firmware, or combination thereof.
[0027] Still referring to FIG. 3, and in operation according to an embodiment of the invention, a user (not shown) of the client device 210 desiring to apply one or more security policies to one or more web sites uses a browser application running on the client device to access web content, which may, but need not, be served by the server 230. Specifically, by employing an appropriate uniform resource locator (URL) in a known manner, the user may download from the server 230 and install on the client device 210 the first domain-identifier file 270 and/or component 280. Alternatively, the user may receive the first domain-identifier file 270 and/or component 280 on a tangible computer- readable medium (not shown), such as, for example, a CD-ROM, and subsequently install the file and/or component on the client device 210 from the medium.
[0028] An embodiment of the invention, which may include the first domain- identifier file 270 and/or component 280, includes one or more user-interface components (not shown). As such, upon execution of an embodiment, a user interface including, for example, a window 300 (FIG. 4) may be presented to the user on a display device such as display 250. In the illustrated embodiment, the window 300 includes a control-button panel 310, the buttons of which are selectable via a conventional "point-and-click" device, such as a mouse (not shown), and enable the user to control probe functionality of the component 280 as described more fully hereinafter.
[0029] An embodiment of the file 270 includes domain identifiers associated with web sites that have been analyzed and categorized according to their trustworthiness and, as such, the extent to which each is appropriate for a particular security zone. For example, the file 270 may include a set of identifiers of sites appropriate for the "Restricted" zone (i.e., a zone having a more-restrictive policy than that of a zone having normal or average security requirements), a set of identifiers appropriate for a "Trusted" zone (i.e., a zone having a less-restrictive policy than that of a zone having normal or average security requirements), and/or sets of identifiers appropriate for respective ones of other zones of varying security requirements. The administrator of the server 230 or the administrator of a site hosted by the server 230 and from which the client device 210 ultimately receives the file 270 may make the determinations upon which such categorizations are based. These determinations may be made on an ongoing basis such that, periodically, a second domain-identifier file 290 (FIG. 3), and perhaps subsequent updated domain-identifier files (not shown) that include newly analyzed sites may be provided in a manner described above to the client device 210 to supplement or supplant the first domain-identifier file 270. In alternative embodiments, the second domain- identifier file 290 and subsequent updated domain-identifier files may be manually downloaded by the user or automatically uploaded to the client device 210. An embodiment allows users to submit web sites for review and automatic or manual inclusion in, for example, an updated domain-identifier file. Additionally, an embodiment enables a user to contact the server 230 for a real-time evaluation of a site rather than relying on a static domain-identifier file.
[0030] In an embodiment, the user interface allows the user to choose a security zone (i.e., Restricted, Trusted, etc.) for which a probe shall be performed using the window 300. Once the "Start Probe" button of the panel 310 is selected, the component 280 is operable to review the domain identifiers in the file 270, and to determine whether those domain identifiers currently populate the selected zone (in the example illustrated in FIG. 4, the Restricted zone) of the browser. In the illustrated embodiment, the status of this probe is displayed in a status pane 320 of the window 300. Those identifiers in the file 270 that do currently populate the zone are tallied into the total corresponding to the "Protected Sites Found" entry of the status pane 320. Those identifiers in the file 270 that do not currently populate the zone are tallied into the total corresponding to the "Exposed Sites Found" entry of the status pane 320. Sites corresponding to those identifiers in the file 270 that do not currently populate the zone may be displayed in a probe-results pane 330. After reviewing the sites listed in the results pane 330, the user may select a populate button 340 of the window 300 to populate the zone with all of the sites displayed in the results pane 330. In an embodiment, the user may, prior to selecting the populate button 340, select one or more of the sites listed in the results pane 330 to be excluded from populating the zone. [0031] Referring to FIG. 5, the user interface of an embodiment may include a settings page 400 that enables a user to customize the security policy that will be applied to web sites that have been made subject to a particular zone. As illustrated in FIG. 5, the settings page may allow the user to enable/disable the ability of sites in the applicable zone to, for example, run ActiveX controls, script ActiveX controls, run Java Applets, etc. The user may enable/disable these settings by using setting buttons 410 to toggle between or otherwise select the permission settings.
[0032] FIG. 6 illustrates a process 600, according to an embodiment of the invention, that can be implemented in a system operable to execute a browser application having at least one security-context zone and operable to apply at least one security policy to interaction between the system and web sites corresponding to domain identifiers populating the a security-context zone. The process 600 is illustrated as a set of operations shown as discrete blocks. The process 600 may be implemented in any suitable hardware, software, firmware, or combination thereof. As such the process 600 may be implemented in computer-executable instructions that can be transferred from one computer, such as server 230, to a second computer, such as client device 210, via a communications medium, such as network 220. The order in which the operations are described is not to be necessarily construed as a limitation.
[0033] At a block 610, a first set of domain identifiers populating a first security-context zone is compared with a second set of domain identifiers. For example, the populating component 280 may review a set of domain identifiers in the file 270 appropriate for the Restricted zone and determine whether those domain identifiers currently populate the Restricted zone of the browser.
- I I - [0034] At a block 620, the first security-context zone is populated with at least one second-set identifier not included in the first set of domain identifiers. For example, as discussed above, sites corresponding to those identifiers in the file 270 that do not currently populate the Restricted zone may be displayed in a probe-results pane 330. After reviewing the sites listed in the results pane 330, the user may select a populate button 340 of the window 300 to populate the Restricted zone with all of the sites displayed in the results pane 330. In an embodiment, the populating component 280 or other associated implementation may be operable to restrict the number of domain identifiers that can populate a given one or more of the zones and, as such, restrict the number of web sites to which a given one or more security policies are applied.
[0035] At a block 630, a third set of domain identifiers populating a second security-context zone is compared with a fourth set of domain identifiers. For example, the populating component 280 may review a set of domain identifiers in the file 270 appropriate for the Trusted zone and determine whether those domain identifiers currently populate the Trusted zone of the browser.
[0036] At a block 640, the second security-context zone is populated with at least one fourth-set identifier not included in the third set of domain identifiers. For example, sites corresponding to those identifiers in the file 270 that do not currently populate the Trusted zone may be displayed in a probe-results pane 330. After reviewing the sites listed in the results pane 330, the user may select a populate button 340 of the window 300 to populate the Trusted zone with all of the sites displayed in the results pane 330.
[0037] While a preferred embodiment of the invention has been illustrated and described, as noted above, many changes can be made without departing from the spirit and scope of the invention. Accordingly, the scope of the invention is not limited by the disclosure of the preferred embodiment. Instead, the invention should be determined entirely by reference to the claims that follow. The embodiments of the invention in which an exclusive property or privilege is claimed are defined as follows:

Claims

1. A method of transferring a computer program product from at least one first computer to at least one second computer connected to the at least one first computer through a communication medium, the method comprising the steps of:
(a) accessing, on the at least one first computer, computer-executable instructions that, when executed in a system operable to execute a browser application having at least one security-context zone and operable to apply at least one security policy to interaction between the system and web sites corresponding to domain identifiers populating the at least one security-context zone, perform at least the steps of:
(1) comparing a first set of domain identifiers populating a first security- context zone of the at least one security-context zone with a second set of domain identifiers; and
(2) populating the first security-context zone with at least one second-set identifier not included in the first set of domain identifiers; and
(b) transferring the computer-executable instructions from the at least one first computer to the at least one second computer through the communications medium.
2. The method of claim 1 wherein the first security-context zone, with respect to a second security-context zone of the at least one security-context zone, is associated with a more-restrictive security policy.
3. The method of claim 1 wherein the first security-context zone, with respect to a second security-context zone of the at least one security-context zone, is associated with a less-restrictive security policy.
4. The method of claim 1 wherein the computer-executable instructions further perform the steps of: comparing a third set of domain identifiers populating a second security- context zone of the at least one security-context zone with a fourth set of domain identifiers; and populating the second security-context zone with at least one fourth-set domain identifier not included in the third set of domain identifiers.
5. The method of claim 1, further comprising the step of transferring the second set of domain identifiers from the at least one first computer to the at least one second computer through the communications medium.
6. The method of claim 1 wherein the computer-executable instructions further perform the step of restricting the number of domain identifiers that can populate the first security-context zone.
7. The method of claim 1 wherein the computer-executable instructions further perform the step of enabling a user to customize the security policy associated with the first security-context zone.
8. A computer-readable medium having computer-executable components implementable in a system operable to execute a browser application having at least one security-context zone and operable to apply at least one security policy to interaction between the system and web sites corresponding to domain identifiers populating the at least one security-context zone, the components comprising: a first domain-identifier file; and a populating component operable to:
(1) compare a first set of domain identifiers populating a first security- context zone of the at least one security-context zone with a second set of domain identifiers populating the first file; and (2) populate the first security-context zone with at least one second-set identifier not included in the first set of domain identifiers.
9. The medium of claim 8 wherein the first security-context zone, with respect to a second security-context zone of the at least one security-context zone, is associated with a more-restrictive security policy.
10. The medium of claim 8 wherein the first security-context zone, with respect to a second security-context zone of the at least one security-context zone, is associated with a less-restrictive security policy.
11. The medium of claim 8 wherein the populating component is further operable to: compare a third set of domain identifiers populating a second security-context zone of the at least one security-context zone with a fourth set of domain identifiers; and populate the second security-context zone with at least one fourth-set domain identifier not included in the third set of domain identifiers.
12. The medium of claim 8 wherein the first domain-identifier file is supplanted by a second domain-identifier file received by the system from a remote device.
13. The medium of claim 8 wherein the populating component is further operable to restrict the number of domain identifiers that can populate the first security-context zone.
14. The medium of claim 8 wherein the components further comprise a user interface enabling a user to customize the security policy associated with the first security-context zone.
15. A computer-readable medium having computer-executable instructions that, when executed in a system operable to execute a browser application having at least one security- context zone and operable to apply at least one security policy to interaction between the system and web sites corresponding to domain identifiers populating the at least one security- context zone, perform at least the steps of: comparing a first set of domain identifiers populating a first security-context zone of the at least one security-context zone with a second set of domain identifiers; and populating the first security-context zone with at least one second-set identifier not included in the first set of domain identifiers.
16. The medium of claim 15 wherein the first security-context zone, with respect to a second security-context zone of the at least one security-context zone, is associated with a more-restrictive security policy.
17. The medium of claim 15 wherein the first security-context zone, with respect to a second security-context zone of the at least one security-context zone, is associated with a less-restrictive security policy.
18. The medium of claim 15 wherein the computer-executable instructions further perform the steps of: comparing a third set of domain identifiers populating a second security- context zone of the at least one security-context zone with a fourth set of domain identifiers; and populating the second security-context zone with at least one fourth-set domain identifier not included in the third set of domain identifiers.
19. The medium of claim 15 wherein the computer-executable instructions further perform the step of restricting the number of domain identifiers that can populate the first security-context zone.
20. The medium of claim 15 wherein the computer-executable instructions further perform the step of enabling a user to customize the security policy associated with the first security-context zone.
21. A method, comprising: reviewing a set of web sites including at least one web site having at least one characteristic associated therewith; categorizing into a first category at least one said web site based on the at least one said web site having a first characteristic; and providing to an electronic device a set of domain identifiers corresponding to the first-category web sites, wherein the domain-identifier set enables the electronic device to inform a user that the first-category web sites have the first characteristic.
PCT/US2006/060017 2006-06-23 2006-10-16 Enhanced browser security WO2008002331A2 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US80568306P 2006-06-23 2006-06-23
US60/805,683 2006-06-23

Publications (2)

Publication Number Publication Date
WO2008002331A2 true WO2008002331A2 (en) 2008-01-03
WO2008002331A3 WO2008002331A3 (en) 2008-04-03

Family

ID=38846145

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2006/060017 WO2008002331A2 (en) 2006-06-23 2006-10-16 Enhanced browser security

Country Status (1)

Country Link
WO (1) WO2008002331A2 (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6411966B1 (en) * 1998-09-21 2002-06-25 Microsoft Corporation Method and computer readable medium for DNS dynamic update to minimize client-server and incremental zone transfer traffic
US20020104025A1 (en) * 2000-12-08 2002-08-01 Wrench Edwin H. Method and apparatus to facilitate secure network communications with a voice responsive network interface device
US6473800B1 (en) * 1998-07-15 2002-10-29 Microsoft Corporation Declarative permission requests in a computer system
US20030051054A1 (en) * 2000-11-13 2003-03-13 Digital Doors, Inc. Data security system and method adjunct to e-mail, browser or telecom program

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6473800B1 (en) * 1998-07-15 2002-10-29 Microsoft Corporation Declarative permission requests in a computer system
US6411966B1 (en) * 1998-09-21 2002-06-25 Microsoft Corporation Method and computer readable medium for DNS dynamic update to minimize client-server and incremental zone transfer traffic
US20030051054A1 (en) * 2000-11-13 2003-03-13 Digital Doors, Inc. Data security system and method adjunct to e-mail, browser or telecom program
US20020104025A1 (en) * 2000-12-08 2002-08-01 Wrench Edwin H. Method and apparatus to facilitate secure network communications with a voice responsive network interface device

Also Published As

Publication number Publication date
WO2008002331A3 (en) 2008-04-03

Similar Documents

Publication Publication Date Title
US8020190B2 (en) Enhanced browser security
EP3610403B1 (en) Isolated container event monitoring
US11675918B2 (en) Policy-based user device security checks
US8667578B2 (en) Web management authorization and delegation framework
US7614002B2 (en) Method and system for protecting internet users' privacy by evaluating web site platform for privacy preferences policy
US7359976B2 (en) Method and system for improved internet security via HTTP-only cookies
US11272030B2 (en) Dynamic runtime interface for device management
US8443452B2 (en) URL filtering based on user browser history
US8060860B2 (en) Security methods and systems
US20050246772A1 (en) System and method for zone transition mitigation with relation to a network browser
US7945681B2 (en) Clipboard data modifications system and method for controlling remote communications
US6366912B1 (en) Network security zones
US8387115B2 (en) Active access control system and method
US7783652B2 (en) Keeping offensive content out of default view on a website
US20060090192A1 (en) Method and system for ensuring that computer programs are trustworthy
WO2007008969A2 (en) Per-user and system granular audit policy implementation
US11882159B2 (en) Executing code injected into an intercepted application response message to eliminate accumulation of stale computing sessions
US7950000B2 (en) Architecture that restricts permissions granted to a build process
US20070199072A1 (en) Control of application access to system resources
US11106805B2 (en) Generating unified data on an electronic device
WO2020224108A1 (en) Url interception and conversion method, device, and computer apparatus
US7383326B1 (en) Methods and computer systems for directing a client to network locations for network hosted services
WO2008002331A2 (en) Enhanced browser security
US20230328068A1 (en) Content sharing in an enterprise digital space
WO2008048320A1 (en) Control of application access to system resources

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 2006846100

Country of ref document: EP

121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 06846100

Country of ref document: EP

Kind code of ref document: A2

NENP Non-entry into the national phase in:

Ref country code: DE

NENP Non-entry into the national phase in:

Ref country code: RU