CN1725142A - 用于安全系统的框架 - Google Patents

用于安全系统的框架 Download PDF

Info

Publication number
CN1725142A
CN1725142A CNA2005100811905A CN200510081190A CN1725142A CN 1725142 A CN1725142 A CN 1725142A CN A2005100811905 A CNA2005100811905 A CN A2005100811905A CN 200510081190 A CN200510081190 A CN 200510081190A CN 1725142 A CN1725142 A CN 1725142A
Authority
CN
China
Prior art keywords
security
security engine
engine
assembly
strategy
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CNA2005100811905A
Other languages
English (en)
Inventor
S·W·汤森得
T·F·菲克斯
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Corp
Original Assignee
Microsoft Corp
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 Microsoft Corp filed Critical Microsoft Corp
Publication of CN1725142A publication Critical patent/CN1725142A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Mathematical Physics (AREA)
  • Storage Device Security (AREA)
  • Computer And Data Communications (AREA)

Abstract

描述了一种对于安全系统的框架。该框架可被使用于跟踪哪个安全引擎可供用于实施安全策略。安全引擎是一软件资源,它实施设计成帮助确保应用或操作系统的漏洞不被利用的安全策略。框架可用来维护一计算设备状态的整体视图,一安全系统被配置以与该计算设备一起工作。框架可以通过提供一应用程序接口在安全系统组件中统一实施安全策略。安全系统可代理安全实施事件和安全策略。通过提供这些服务,框架为软件组件和安全系统之间的交互动作带来一统一模型。

Description

说明书 用于安全系统的框架
技术领域
本发明描述的技术一般涉及操作系统,尤其涉及用于安全系统的框架。
发明背景
应用程序或操作系统的用户有时会无意地安装具有破坏性或恶意的软件资源。软件资源包括,举例来说,应用程序、用户接口、设备驱动程序、网络协议堆栈和其它电子信息。例如,用户可以安装一应用程序,该应用程序可以提供理想的功能,但是可能会被病毒感染以产生不理想的结果。进一步举例来说,该被安装的应用程序可能是特洛伊木马程序。特洛伊木马程序是一提供有用功能性和以其它方式显示出无害的程序,但是它被设计成恶意的或提供给用户不想要的结果。实际上,任何软件资源由于程序错误、和其它软件资源的冲突、或各种其它原因,都可能无意地以用户不想要的方式运转。
当一软件资源运转失常或执行恶意行为时,对于用户、其它软件资源和管理协调多个软件资源的操作系统而言可以导致各种问题。如此看来,提供用于安全系统减少类似的问题的框架将是非常理想的。
发明概述
以下描述用于安全系统的框架。框架可被用于跟踪哪个安全引擎可用来实施安全策略。安全引擎是一软件资源,它实施设计成帮助确保应用或操作系统的漏洞不被利用的安全策略。框架可用来维护一计算设备状态的整体视图,该整体视图和安全系统一起配置实施。框架可以通过提供应用程序接口在安全系统组件间统一实施安全策略。安全系统可代理安全实施事件和安全策略。通过提供这些服务,框架为软件组件和安全系统之间的相互作用带来统一的模型。
附图说明
图1是一方框图,示出了合适于所描述系统的实施例的一计算系统组件。
图2是一方框图,示出了在某些实施例中安全系统的组件。
图3是一流程图,示出了在某些实施例中安全系统的启动程序。
图4是一流程图,示出了在某些实施例中安全系统的加载_安全_引擎例行程序。
图5是一流程图,示出了在某些实施例中安全系统的准备_安全_策略例行程序。
图6是一流程图,示出了在某些实施例中安全系统的更新_安全_策略例行程序。
发明内容
描述了用于安全系统的框架(“该框架”)。该框架可以以多种方式在有关安全系统的组件中使用,该组件包括安全引擎和主机服务组件。例如,可以使用框架以跟踪哪个安全引擎可用来实施安全策略。进一步举例而言,框架可用来维护一计算设备状态的整体视图,该整体视图和安全系统一起配置实施。安全引擎是一软件资源,它实施设计成帮助确保应用或操作系统的漏洞不被利用的安全策略。主机服务组件可以和安全引擎一起配置或协作,并且为实施安全策略的安全系统以执行和安全引擎及计算设备相关的其它服务。
在某些实施例中,通过提供应用程序接口(“API”),框架统一地在安全系统组件之间实施安全策略。API包括多个诸如方法、事件和性质的特点,该特点被用来注册和注销安全引擎,并被用来提供其它和安全系统相关的功能。通过使用框架的API的特性,安全系统可以,举例来说,被通知关于安全引擎的增加、安全引擎的移除、和对于安全引擎的更改。然后,当安全系统启动、当增加、移除或修改安全策略、或在其它情况下,安全系统的主机服务组件确定哪个安全引擎可用或应该被通知。通过确定哪个安全引擎是可用的,主机服务组件确定哪个安全引擎启动、各种安全策略应该和哪个安全引擎通信、和哪个安全引擎应该被重新配置,举例来说,基于安全策略的更改。如此,安全系统统一地实施在安全系统组件之间的安全策略。
在某些实施例中,框架使安全系统呈现出计算设备的整体视图,在该计算设备上运行安全系统。例如,当病毒检测系统呈现出有关病毒的信息并且防火墙系统呈现出有关防火墙的信息时,安全系统可以呈现出有关病毒、防火墙和其它对于正在计算设备上运行的安全引擎的特性的信息。
在某些实施例中,通过代理安全实施事件和安全策略,安全系统呈现出该整体视图。代理包括收集和汇编在信息源上的信息,并且使来自信息源的信息可用。通过安全系统的主机服务组件来完成代理。通过代理安全实施事件,主机服务组件可以能够提供给一应用汇编好的信息,上述应用依次把汇编好的信息提供给用户。通过代理安全策略,主机服务组件可以能够提供安全策略的适当的子集给相关的安全引擎。
被设计成通过安全应用来防止这些问题的技术和操作系统在申请共同待批专利提交的序号为10/836,810、题为“安全应用和操作系统”的申请中有所描述,该专利申请整体应用在此作为参考。以下的讨论提供了在此共同待批的专利申请中所描述的技术的概括。
在某些有关该共同待批专利申请所公开的技术的实施例中,安全引擎实施帮助确保操作系统的漏洞不被利用的安全策略。安全策略包括安全实施事件的指示和安全实施操作。安全实施事件是对于所定义的安全策略的事件。例如,安全实施事件可以发送和接收在网络端口上的某一类型的消息、修改可执行文件的请求和格式化硬盘的请求。安全实施操作是在安全策略中有关安全实施事件的指定的操作。例如,安全实施操作可以包括例如允许事件、拒绝事件、通知用户、或从用户请求输入。
安全引擎可以通过执行各种安全实施操作以回应安全实施事件。由安全引擎执行的实施操作的例子包括,但不局限于,防止电子病毒、网络访问的授权、检测来自非授权用户或软件资源入侵、旧版软件的检测、软件资源的自动“死锁”(例如,响应来自管理员的信号)、和来自用户和软件资源的不理想行为的一般阻塞。
安全引擎可以接收来自主机服务组件的安全策略。主机服务组件执行包括安全引擎之间的协调和安全策略信息之间的通信的各种任务。主机服务组件也可以加载、卸除、和配置安全引擎。
主机服务组件需要了解可用于或不可用于接收安全策略信息或可以以其它方式配置的安全引擎。安全引擎可以在安全系统配置后添加到安全系统中。安全引擎也可以在诸如安全策略被添加、移除或修改后被移除或重新配置。
现在参考图,图1示出了一合适的计算系统环境100的示例,在该环境中可实现框架。计算系统环境100只是一合适的计算环境的一例,而不是要提出对框架使用或功能的范围进行限制。计算系统环境100也不应解释成对于在示例计算系统环境100中所示出的任一组件或其组合有任何依赖或需求。
框架用多个其它通用或专用计算系统环境或配置是可运行的。可以适用于该框架使用的公知的计算系统、环境、和/或配置的实例包括,但不局限于,个人电脑、服务器电脑、手持设备或膝上型电脑、移动计算机、多处理器系统、基于微处理器的系统、机顶盒、可编程消费者电器、网络PC、小型机、大型计算机、包括任何诸如以上系统或设备的分布计算环境等。
框架可以在诸如由计算机执行的程序模块的可实现计算机指令的一般上下文中被描述。一般地,程序模块包括完成特殊任务或执行特殊抽象数据类型的例行程序、程序、对象、组件、数据结构等。框架也可以在分布的计算环境中实践,在此通过连接到一计算网络的远程处理设备来执行任务。在分布的计算环境中,程序模块可以定位于包括记忆体储存器设备的本地和远程计算机存储介质。
参见图1,对于实现框架的示例的系统包括一以计算机110形式出现的通用计算设备。计算机110的组件包括,但不局限于,处理单元120、系统存储器130、以及将包括系统存储器130在内的各种系统元件耦合至处理单元120的系统总线121。上述系统总线121可以是多种总线体系结构类型中的任何一种,包括存储总线或存储控制器、外围总线和使用各种总线体系结构的任一种的局部总线。举例来说,而非限制,此类体系结构包括工业标准体系结构(ISA)总线、微通道体系结构(MCA)总线、增强型工业标准体系结构(EISA)总线、视频电子标准技术协会(VESA)局部总线、和也被称为Mezzanine总线的外围部件互连(PCI)总线。
计算机110通常包括各种计算机可读介质。计算机可读介质可以是任何计算机110能够访问的可用介质,包括易失性的和非易失性的介质、可移动的和不可移动的介质。举例来说,而非限制,计算机可读介质可以包含计算机存储介质和通信介质。计算机存储介质包括能以任何方法或技术实现的易失性的和非易失性的、可移动的和不可移动的介质,用于存储诸如计算机可读指令、数据结构、程序模块或其它数据等信息。计算机存储介质包括,但不局限于,RAM、ROM、EEPROM、闪存或其它存储技术,CD-ROM、数字化多功能光盘(DVD)或其它光盘存储、盒式磁带、磁带、磁盘存储器或其它磁存储设备,或任何其它可以被用来存储想要的信息并且可以被计算机110访问的介质。通信介质通常体现了诸如载波或其它传送机制的已调数据信号中的计算机可读指令、数据结构、程序模块或其它数据,也包括任何信息传递介质。注意术语“已调制数据信号”是指在该信号中以编码信息的方式来设置或改变其一个或多个特征的信号。举例来说,而非限制,通信介质包括诸如有线网或直线连接的有线介质,和诸如声音、射频、红外线和其它无线介质的无线介质。任何以上所述的组合也可以包括在计算机可读介质的范围之内。
系统存储器130包括以诸如只读存储器(ROM)131和随机存取存储器(RAM)132的易失性和/或非易失性存储器的形式的计算机存储介质。包含如在启动期间帮助在计算机110内各元素之间传送信息的基本例行程序的基本输入输出系统(BIOS)133,通常存储在ROM 131中。RAM 132通常包含可以被处理单元120立即访问和/或当前操作的数据和/或程序模块。举例来说,而非限制,图1示出了操作系统134、应用程序135、其它程序模块136和程序数据137。
计算机110还可以包括其它可移动/不可移动、易失性/非易失性的计算机存储介质。仅作为示例,图1示出了从不可移动、非易失性磁性介质读出或写入不可移动、非易失性磁性介质的硬盘驱动器141、从可移动、非易失性磁性磁盘152读出或写入可移动、非易失性磁性磁盘152的磁盘驱动器151、以及从诸如CD ROM或其它光学介质的可移动、非易失性光盘156读出或写入可移动、非易失性光盘156的光盘驱动器155。其它可以使用在示例的操作环境中的可移动/不可移动、易失性/非易失性计算机存储介质包括,但不局限于,盒式磁带、闪存卡、数字多功能光盘、数字视频带、固态RAM、固态ROM、等。硬盘驱动141通常通过诸如接口140的不可移动存储接口连接到系统总线121,磁盘驱动151和光盘驱动155通常通过诸如接口150的可移动存储接口连接到系统总线121。
以上讨论并且在图1中示出的驱动器及其它们相关的计算存储介质为计算机110提供了计算机可读指令、数据结构、程序模块和其它数据的存储。在图1,例如,示出硬盘驱动141存储操作系统144、应用程序145、其它程序模块146、和程序数据147。需要注意的是这些组件可以和操作系统134、应用程序135、其它程序模块136和程序数据137相同,也可以和它们不同。在此对操作系统144、应用程序145、其它程序模块146和程序数据147给出了不同的标号来说明至少它们是不同的拷贝。用户可以通过诸如写字板、或电子数字转换器164、麦克风163、键盘162和定位设备161把指令和信息输入到计算机110中,定位设备161通常指如鼠标、跟踪球或触摸板。其它输入设备(图1中未示)可以包括操纵杆、游戏垫、圆盘式卫星天线、扫描仪等等。这些和其它输入设备通常由用户输入接口160连接到处理单元120,上述输入接口160和系统总线121相耦合。但是上述和其它输入设备也可以由其它接口和总线结构连接到处理单元120,诸如,并行端口、游戏端口或通用串行总线(USB)。监视器191或其它类型显示设备也可以通过诸如视频接口190的接口连接到系统总线121。监视器191也可以和触摸屏等集成在一起。需要注意的是监视器和/或触摸屏可以物理地耦合到包含了计算机110,诸如写字板式个人计算机的一房屋。另外,计算机110也包括其它外围输出设备,诸如可以通过一输出外围设备接口194等连接的扬声器195和打印机196。
计算机110可以在网络化的环境中运行,该环境使用逻辑连接连接到一个或多个诸如远程计算机180的远程计算机。远程计算机180可以是个人计算机、服务器、路由器、网络个人计算机、对等设备或其它共用网络节点,通常包括以上描述的和110相关的多个或全部组件,尽管在图1中只示出了存储器储存装置181。在图9中描绘的逻辑连接包括局域网(LAN)171和广域网(WAN)173,但是也可以包括其它网络。这样的网络环境在办公室、企业范围的计算机网络、内联网和因特网中是普遍的。举例来说,在当前的框架中,计算机110可以包括源机器,数据从该源机器中被转移,并且远程计算机180可以包括目的计算机。需要注意的是,尽管那些源机器和目的机器不需要通过网络或其它方式连结,但是取而代之的是,数据可以通过任何能够由源平台写入并且被目的平台或平台读取的介质所转移。
当在LAN网络环境中使用时,计算机110通过网络接口或适配器170连接到LAN171。当在WAN网络环境中使用时,计算机110通常包括调制解调器972或通过诸如因特网的WAN173建立通信的其他装置。调制解调器172可以是内置的或外置的,可以通过用户输入接口160或其它适当的机制连接到系统总线121。在一网络连接的环境中,所描述的和计算机110相关的程序模块或其中的一部分可以存储在远程存储器储存设备内。举例说明,但非限制,图1示出了驻留在存储设备181上的远程应用程序185。可以理解的是所示的网络连接是示例的,也可以使用在计算机间建立通信链路的其他装置。
尽管图1中所示的各种功能和数据驻留在以一种特定方式安排的特定计算机系统中,本领域技术人员会理解上述功能和数据可以以各种其它方式分布在不同安排的计算机系统间。尽管计算机系统按以上述描述的方式配置并且通常用于支持框架运行,本领域的一普通技术人员会理解该框架可以使用具有各种类型、配置和组件的设备来实现。
图2是一方框图,示出了在某些实施例中安全系统的组件。安全系统包括核心模式组件202、用户模式组件204、诸如把事件从核心模式组件转移到用户模式组件的对于WINDOWS事件跟踪的事件转移组件206、和客户应用程序208。事件转移组件可以异步或同步执行。除了对于WINDOWS事件跟踪,可以被用于在用户模式和核心模式组件之间的通信的组件包括,举例来说,应用程序接口调用、套件等。
系统也包括安全引擎210和相关的策略表212。在某些实施例中,安全引擎210可拥有用户模式部分和核心模式部分,通过两者之间的通信来执行和安全引擎相关的各种活动。每个相关的策略表包括由安全引擎引用的规则。或者,安全引擎可以使用一个策略表或多个策略表,在这种情况下,表将识别指定的安全引擎策略。
系统进一步包括主机服务组件214和相关安全策略表216。安全策略表包括与安全策略相关的规则和与上述规则相关联的数据。
系统还包括一个或多个清单218。清单可识别和安全引擎相关的信息。例如,清单可以识别执行和安全引擎相关的计算步骤的文件名和文件位置(举例来说,动态链接库)。清单也可以拥有和安全引擎相关联的全球唯一标识(″GUID″)。在某些实施例中,一清单可以和多个安全引擎相关联。或者,一安全系统可以用有多个清单,每个清单和一安全引擎相关联。在某些实施例中,清单可以被数字化签名。在某些实施例中,清单可以以文件形式存储或存储在一记录中,或实际上,存储在任一计算机可读介质中。
核心模式组件、用户模式组件和事件转移组件通常包括在操作系统200中。该操作系统结合计算系统环境100进行操作。
图3是一流程图,示出了在某些实施例中安全系统的启动例行程序。当安全系统启动时,主机服务组件执行上述程序。该程序开始于框302。
在框306,程序列举并读取清单。清单在以上有关图2和框218处被描述。一安全系统可以拥有一个或多个清单。在某些实施例中,安全系统对于每个安全引擎有一清单。通过读取清单,主机服务组件可能够确定和安全引擎相关的信息。例如,主机服务组件可能够确定文件名、位置、GUID和其它和安全引擎相关的属性。
在框308,程序列举安全引擎。列举安全引擎可包括遍历一个或多个清单以确定指定的安全引擎的列表。在某些实施例中,程序可通过检查存储在辅助存储器(例如,硬盘)中的记录或文件来列举安全引擎。
在框310和318之间,程序在安全引擎间循环并对每个安全引擎执行若干函数。在框312,该程序调用一准备_安全_策略子程序对每个安全引擎准备安全策略。这个子程序将在以下结合图5进行进一步详细描述。主机服务组件可异步调用准备_安全_策略子程序,并且如果该子程序没有以及时的方式返回,主机服务组件可确定安全系统不能启动。在某些实施例中,安全引擎执行准备_安全_策略子程序。在这种情况下,在安全引擎从对子程序的调用返回之前(例如,当另一个安全引擎发送故障时—参阅以下有关故障的进一步细节),主机服务组件可发送一信号至执行准备_安全_策略子程序以返回安全策略的安全引擎。在某些实施例中,对于返回安全策略的调用可异步执行。该调用可异步执行以使主机服务组件不需要被当返回安全策略时安全引擎会执行的处理所阻碍。在框314,程序调用加载_安全_引擎子程序以加载每个安全引擎。该子程序将在以下结合图4被进一步详细描述。
在框316,程序把准备好的安全策略传递给每个安全引擎。
在框320,程序确定任何准备好的安全策略被传递到的安全引擎是否报告故障。安全引擎会报告故障当,例如,它不能启动、不能接收由主机服务组件传递来的安全策略、或由于其它各种原因而导致故障。如果安全引擎报告故障,程序继续到框322。否则,程序继续到框324,在此发信号通知安全引擎确认主机服务组件先前传递给安全引擎的安全策略。在框322,主机服务组件发信号通知安全引擎返回主机服务组件先前传递给安全引擎的安全策略。在某些实施例中,程序依次指示每个安全引擎确认它的安全策略。在这种情况下,程序发送信号给安全引擎并同时在发送信号通知下一安全引擎前等待安全引擎确认它的安全策略。当灾难性故障发生时(举例来说,当在安全引擎的用户和核心模式部分之间存在通信故障时),主机服务组件可尝试重新加载先前的安全策略。在框322或324之后,程序返回框326。
图4是一流程图,示出了在某些实施例中安全系统的加载_安全_引擎例行程序。当主机服务组件尝试加载已被确定可用来实施安全策略的安全引擎时,它可执行该程序。程序开始于框402,在此它接收安全引擎的指示作为参数。
在框404,程序加载与指示的安全引擎相关联的动态连接库(“DLL”)。当安全引擎以不同于DLL的方式实现时,可产生适当可供选择的操作系统调用以装载安全引擎。
在框406,程序调用加载的安全引擎的初始化函数。安全引擎的初始化函数把安全引擎初始化成,举例来说,对于安全引擎的默认状态。在默认状态中,安全引擎只是一外壳程序而不实施安全策略。或者,默认状态可导致安全引擎执行基于先前配置的默认实施。主机服务组件可对于每个安全引擎异步调用初始化函数并且在程序继续(图中未示)之前等待所有调用完成。在框408,程序确定是否在加载安全引擎或初始化安全引擎中存在故障。安全引擎的加载或初始化可以失败当,举例来说,它的DLL不能找到、在被数字化标记后被修改、或若干其它原因时。
如果在加载或初始化安全引擎时存在故障,程序在框410返回故障的指示。否则,程序在框412返回成功的指示。
图5是一流程图,示出了在某些实施例中安全系统的准备_安全_策略程序。准备_安全_策略程序可由主机服务组件或安全引擎执行。
程序开始于框502。如果程序由主机服务组件执行,程序接收安全引擎的指示作为参数。然后,如果程序由安全引擎执行,程序不接收安全引擎的指示作为参数。
在框504,程序加载安全策略。安全系统可拥有一个或多个安全策略。主机服务组件可加载来自直接连结到与主机服务组件相关联的计算系统的存储器设备的安全策略,或它可加载来自可通过网络相关联的存储器设备的安全策略。在某些实施例中,程序接收安全策略的指示。或者,程序通过评估记录的一部分来确定安全策略的位置。
在框506,程序合并安全策略。合并安全策略可包括把安全策略组合成一大的安全策略。在某些实施例中,安全策略可用可扩展标记语言(″XML″)表示。当多个安全策略以XML表示,合并安全策略可包括组合所有的安全策略成一大的XML流以使单个策略的效应被保存。
在框508,程序确定可应用于指示的安全引擎或可执行程序的安全引擎(适当的)的合并后的安全策略的子集。例如,和网络相关的安全策略可应用与可实施网络策略的安全引擎。相反,和检测软件资源版本号相关的安全策略可以不能应用于实施网络策略的安全引擎。
在框510,程序返回到它的调用者,该调用者为在框508所确定的作为准备好的安全策略的安全策略子集。
图6是一流程图,示出了在某些实施例中安全系统的更新_安全_策略例行程序。程序可由主机服务组件在主机服务组件确定更新安全策略时执行。主机服务组件在,举例来说,它接收到新的安全策略或对于安全策略的更新时确定更新安全策略。
程序开始于框602。在某些实施例中,程序可接收一新的、更新过的、或移除的安全策略的指示。
在框604和610之间,程序在安全引擎之间循环以更新安全引擎。在框606,程序对每个安全引擎准备安全策略。程序通过调用准备_安全_策略子程序来准备安全策略,有关信息已在以上结合图5所述。
在框608,程序把准备好的安全策略传递给安全引擎。
在框612,程序确定任何安全策略被传递到的安全引擎是否报告故障。如果安全引擎报告故障,程序继续到框614,在此它返回至安全策略。否则,程序继续到框616,在此它发送信号通知安全引擎确认安全策略。
在框314或框616之后,程序在框618返回它的调用者。
在某些实施例中,框架可拥有关闭安全引擎的停止方法。
在某些实施例中,框架使和安全策略规则相关的数据独立于规则本身而被更新。为了支持该功能,框架支持多个方法、特性和事件。例如,安全引擎可调用ReadAndRefisterNotifyData方法来表明当在该调用中针对该方法所指示的数据改变时,安全引擎希望被通知。作为进一步的例子,当数据改变时,主机服务组件可调用WriteData方法以通知安全引擎数据已被更改的方式更改数据。类似地,WriteConfig方法可使能主机服务组件以先前调用ReadAndRegisterNotifyConfig方法的安全引擎被通知数据的更改的方法在安全引擎的子集中分配配置数据。
安全引擎也可更改与安全策略相关联的数据。当安全引擎更改数据,它可使用WriteSecurityEngineData方法来对其它安全系统的组件表明数据正在被更改。通过这个方式,安全引擎可以能够和另一安全引擎通信。
已注册用以接收数据更改通知的组件也能够调用相应的方法以解除来自接收通知的注册。
安全引擎可确定通知用户或询问用户。例如,为了响应安全策略的规则,当因特网浏览应用程序试图通过网络端口8080通信时,安全引擎可确定通知用户。类似地,安全引擎可确定询问用户有关是否个人财务应用程序应该被允许由网络端口8080发送信息的指示。当安全引擎确定通知用户或询问用户时,安全引擎可调用一框架的方法以执行这些动作。在安全引擎发送给用户通知后,安全引擎可继续处理。另一方面,在安全引擎询问用户后,安全引擎可暂停处理直到用户提供一响应。安全引擎也可能超时,并且在没有用户响应的情况下通过,举例来说,使用默认值继续处理。
在某些实施例中,安全系统可监控清单并且添加、修改、或动态地移除安全引擎。通过动态地实行这种行为,安全系统可不需要重新启动。
在某些实施例中,安全系统可能够通过包括诸如使用数字签名以确认清单的完整性的各种方式来保护它本身。
在一实施例中,新的安全引擎可不被允许。
以上所描述的各种方法可通过回调程序实现。例如,当方法被调用,调用者可提供方法的指示,表明被调用的方法可使用于返回成功或失败的指示。通过这种方法,调用者不必在继续它的处理之前同时等待调用的方法的完成。
通过先前所述,应该理解的是在此所描述的本发明的特定的实施例是为了说明的目的,但是在不偏离本发明精神和范围的情况下,可做各种修改。相应地,本发明被附加地权利要求所界定。

Claims (18)

1 一种保护主机计算设备的系统,包括:
第一个组件,上述组件
接收流,所述流包含安全策略;和
对于在一个或多个安全引擎的组中的每个安全引擎,准备和所述组中的至少一个安全引擎相关的一部分安全策略;和
把安全策略的准备好的部分传递给所述组中的至少一个安全引擎;和
所述组中安全引擎的一个,当在接收安全策略的准备好的一部分后没有安全引擎表明故障时,实施它所接收到的安全策略的一部分。
2 根据权利要求1所述的系统,其特征在于对于组中的每个安全引擎,第一个组件接收来自安全引擎的通知以表明是否被传递的策略的一部分被接受,和包括表明被传递的安全策略的一部分没有被接受的故障指示。
3 根据权利要求2所述的系统,其特征在于进一步包括第二个组件,只有当接收到来自所有安全引擎的传递给安全引擎的策略部分被接受的指示时,所述组件把一指令传递给安全引擎以确认被传递的策略部分。
4 根据权利要求3所述的系统,其特征在于第一个和第二个组件是相同的组件。
5 根据权利要求2所述的系统,其特征在于进一步包括第二个组件,如果接收到来自任何一个安全引擎的传递给安全引擎的策略部分不被接受的指示时,所述组件把一指令传递给安全引擎以返回被传递的策略部分。
6 根据权利要求5所述的方法,其特征在于第一个组件和第二个组件是相同的组件。
7 一种用于保护主机计算设备的方法,包括:
接收对于主机计算设备启动安全系统的指示;
确定加载来自一组安全引擎的安全引擎的子集;和
加载来自所确定的安全引擎子集的每个安全引擎。
8 根据权利要求7所述的方法,其特征在于所述加载包括读取安全引擎的已确定子集中的安全引擎的清单。
9 根据权利要求8所述的方法,其特征在于所述清单包括与安全引擎相关联的文件名、位置、和全球唯一标识。
10 根据权利要求9所述的方法,其特征在于所述清单被数字化签名。
11 根据权利要求7所述的方法,其特征在于所述确定包括通过产生一清单列表以确定一组安全引擎。
12 根据权利要求7所述的方法,其特征在于所述确定包括通过读取清单内容以确定一组安全引擎。
13 根据权利要求12所述的方法,其特征在于所述清单是一文件。
14 根据权利要求12所述的方法,其特征在于所述清单是一记录的一部分。
15 根据权利要求7所述的方法,其特征在于包括一当接收到停止安全系统的指示即卸载每个加载的安全引擎。
16 一种含有执行以下步骤的计算机可执行指令的计算机可读介质,所述步骤包括:
接收安全策略的指示;
确定接收到的安全策略应该被传递到一组安全引擎的一个子集;和
把安全策略传递给确定的安全引擎的子集。
17 根据权利要求16所述的计算机可读介质,其特征在于包括为所述安全引擎子集的一安全引擎准备所接收的安全策略。
18 一保护主机计算设备的系统,其特征在于包括接收安全实施事件的通知、汇编接收到的通知、和对软件组件提供通知的主机服务组件。
CNA2005100811905A 2004-07-23 2005-06-23 用于安全系统的框架 Pending CN1725142A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/898,463 US7657923B2 (en) 2004-07-23 2004-07-23 Framework for a security system
US10/898,463 2004-07-23

Publications (1)

Publication Number Publication Date
CN1725142A true CN1725142A (zh) 2006-01-25

Family

ID=35241310

Family Applications (1)

Application Number Title Priority Date Filing Date
CNA2005100811905A Pending CN1725142A (zh) 2004-07-23 2005-06-23 用于安全系统的框架

Country Status (5)

Country Link
US (1) US7657923B2 (zh)
EP (1) EP1622062A3 (zh)
JP (1) JP2006040287A (zh)
KR (1) KR20060048159A (zh)
CN (1) CN1725142A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101047701B (zh) * 2006-03-27 2011-08-17 北京握奇数据系统有限公司 保证应用程序安全运行的系统和方法
CN107949846A (zh) * 2015-06-27 2018-04-20 迈可菲有限责任公司 恶意线程挂起的检测

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7430760B2 (en) * 2003-12-05 2008-09-30 Microsoft Corporation Security-related programming interface
US7533413B2 (en) * 2003-12-05 2009-05-12 Microsoft Corporation Method and system for processing events
US7661123B2 (en) * 2003-12-05 2010-02-09 Microsoft Corporation Security policy update supporting at least one security service provider
US20060005227A1 (en) * 2004-07-01 2006-01-05 Microsoft Corporation Languages for expressing security policies
US7657923B2 (en) 2004-07-23 2010-02-02 Microsoft Corporation Framework for a security system
US7591010B2 (en) * 2005-01-19 2009-09-15 Microsoft Corporation Method and system for separating rules of a security policy from detection criteria
JP4984531B2 (ja) * 2006-01-06 2012-07-25 富士通株式会社 サーバ監視プログラム、中継装置、サーバ監視方法
US20070240122A1 (en) * 2006-04-05 2007-10-11 Chiahong Chen Method, system and program storage device for providing request trace data in a user mode device interface
US7891003B2 (en) * 2006-06-14 2011-02-15 Microsoft Corporation Enterprise threat modeling
US20070294699A1 (en) * 2006-06-16 2007-12-20 Microsoft Corporation Conditionally reserving resources in an operating system
US20080244691A1 (en) * 2007-03-30 2008-10-02 Israel Hilerio Dynamic threat vector update
US20100017843A1 (en) * 2008-06-27 2010-01-21 Microsoft Corporation Scenario Based Security
GB2464966B (en) * 2008-10-31 2012-08-29 Hewlett Packard Development Co Policy enforcement in trusted platforms
EP3304402A1 (en) * 2015-05-28 2018-04-11 Entit Software LLC Security vulnerability detection

Family Cites Families (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5361359A (en) * 1992-08-31 1994-11-01 Trusted Information Systems, Inc. System and method for controlling the use of a computer
US5386564A (en) * 1993-02-24 1995-01-31 Hewlett-Packard Company Conversion of data and objects across classes in an object management system
US5958050A (en) * 1996-09-24 1999-09-28 Electric Communities Trusted delegation system
US5915085A (en) * 1997-02-28 1999-06-22 International Business Machines Corporation Multiple resource or security contexts in a multithreaded application
US5991877A (en) * 1997-04-03 1999-11-23 Lockheed Martin Corporation Object-oriented trusted application framework
US6249866B1 (en) * 1997-09-16 2001-06-19 Microsoft Corporation Encrypting file system and method
US6070244A (en) * 1997-11-10 2000-05-30 The Chase Manhattan Bank Computer network security management system
US6484261B1 (en) * 1998-02-17 2002-11-19 Cisco Technology, Inc. Graphical network security policy management
US6965999B2 (en) * 1998-05-01 2005-11-15 Microsoft Corporation Intelligent trust management method and system
US6182228B1 (en) * 1998-08-17 2001-01-30 International Business Machines Corporation System and method for very fast IP packet filtering
US6405212B1 (en) * 1999-09-27 2002-06-11 Oracle Corporation Database system event triggers
US6646195B1 (en) * 2000-04-12 2003-11-11 Microsoft Corporation Kernel-mode audio processing modules
US7072967B1 (en) * 2000-05-09 2006-07-04 Sun Microsystems, Inc. Efficient construction of message endpoints
US20020123966A1 (en) * 2000-06-23 2002-09-05 Luke Chu System and method for administration of network financial transaction terminals
US20040003266A1 (en) * 2000-09-22 2004-01-01 Patchlink Corporation Non-invasive automatic offsite patch fingerprinting and updating system and method
US7533101B2 (en) * 2002-03-04 2009-05-12 Microsoft Corporation Extensible loader
JP2005523540A (ja) * 2002-03-12 2005-08-04 アイエルエス テクノロジー,インコーポレーテッド 遠隔ツール操作、遠隔データ収集および遠隔制御の統合体を診断するためのシステムおよび方法
US7296154B2 (en) * 2002-06-24 2007-11-13 Microsoft Corporation Secure media path methods, systems, and architectures
JP4147166B2 (ja) * 2002-09-19 2008-09-10 株式会社リコー 画像形成装置及びポリシー配布サーバ並びにポリシー解釈サーバ
US7448067B2 (en) * 2002-09-30 2008-11-04 Intel Corporation Method and apparatus for enforcing network security policies
US8171298B2 (en) * 2002-10-30 2012-05-01 International Business Machines Corporation Methods and apparatus for dynamic user authentication using customizable context-dependent interaction across multiple verification objects
US7146542B2 (en) * 2002-12-20 2006-12-05 Hewlett-Packard Development Company, L.P. Method and apparatus for diagnosis and repair of computer devices and device drivers
US7383586B2 (en) * 2003-01-17 2008-06-03 Microsoft Corporation File system operation and digital rights management (DRM)
US7624422B2 (en) * 2003-02-14 2009-11-24 Preventsys, Inc. System and method for security information normalization
US7200648B2 (en) * 2003-03-28 2007-04-03 Institute For Information Industry Dynamic searching method of provisioning instance identifiers
JP4759513B2 (ja) * 2003-06-02 2011-08-31 リキッド・マシンズ・インコーポレーテッド 動的、分散的および協働的な環境におけるデータオブジェクトの管理
US7404205B2 (en) * 2003-06-03 2008-07-22 Hewlett-Packard Development Company, L.P. System for controlling client-server connection requests
US7533413B2 (en) * 2003-12-05 2009-05-12 Microsoft Corporation Method and system for processing events
US7530093B2 (en) * 2004-04-30 2009-05-05 Microsoft Corporation Securing applications and operating systems
US20060005227A1 (en) * 2004-07-01 2006-01-05 Microsoft Corporation Languages for expressing security policies
US7657923B2 (en) 2004-07-23 2010-02-02 Microsoft Corporation Framework for a security system
US7549158B2 (en) * 2004-08-31 2009-06-16 Microsoft Corporation Method and system for customizing a security policy
US7629422B2 (en) * 2004-12-21 2009-12-08 Univation Technologies, Llc Process for transitioning between Ziegler-Natta-based and chromium-based catalysts
US7591010B2 (en) 2005-01-19 2009-09-15 Microsoft Corporation Method and system for separating rules of a security policy from detection criteria
US7591002B2 (en) * 2005-06-09 2009-09-15 Microsoft Corporation Conditional activation of security policies

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101047701B (zh) * 2006-03-27 2011-08-17 北京握奇数据系统有限公司 保证应用程序安全运行的系统和方法
CN107949846A (zh) * 2015-06-27 2018-04-20 迈可菲有限责任公司 恶意线程挂起的检测
CN107949846B (zh) * 2015-06-27 2021-12-28 迈克菲有限责任公司 恶意线程挂起的检测

Also Published As

Publication number Publication date
KR20060048159A (ko) 2006-05-18
US20060021002A1 (en) 2006-01-26
EP1622062A3 (en) 2010-09-29
US7657923B2 (en) 2010-02-02
JP2006040287A (ja) 2006-02-09
EP1622062A2 (en) 2006-02-01

Similar Documents

Publication Publication Date Title
CN1725142A (zh) 用于安全系统的框架
KR101292936B1 (ko) 원격 시스템을 위한 플러그 앤드 플레이 장치 재지정
RU2335796C2 (ru) Модель и архитектура управляемых фильтров файловой системы
US8448165B1 (en) System and method for logging operations of virtual machines
US9092201B2 (en) Platform for development and deployment of system administration solutions
JP4286798B2 (ja) ハードドライブにドライバファイルをインストールする方法、コンピュータ及びコンピュータ読取可能な記憶媒体
EP1872225B1 (en) Method for handling a detected error in a script-based application
CN101317171B (zh) 应用程序的延迟启动
US8713582B2 (en) Providing policy-based operating system services in an operating system on a computing system
JP2005327239A (ja) セキュリティ関連プログラミング・インターフェース
US20130318512A1 (en) Hot Pluggable Extensions for Access Management System
CN1924863A (zh) 在远程计算机上运行为因特网访问而配置的软件的方法和系统
WO2008151925A2 (en) Managing computer resources in a distributed computing system
US11327816B2 (en) Monitoring components in a service framework
US20070282801A1 (en) Dynamically creating and executing an application lifecycle management operation
US8127271B2 (en) Method and system for accessing a resource implemented in a computer network
US20090138548A1 (en) Apparatus, method, and computer program product for processing information
KR20060063643A (ko) 운영 체제의 성능을 향상시키는 방법 및 시스템
US20070245314A1 (en) Method, system and computer program for collecting inventory information through a data mover
JP2005165874A (ja) クライアント装置のシステム環境規約違反検出方法
JP2007011650A (ja) 情報処理装置、メッセージ管理方法、プログラムおよび記憶媒体
WO2023246486A1 (zh) 一种创建连接器的方法及装置
EP2600271B1 (en) Device for right managing web data, recording medium for performing method for right managing web data on computer, and device and method for providing right management information
EP1235156B1 (en) Remote management unit with interface for remote data exchange
Parziale et al. ABCs of IBM z/OS System Programming Volume 2

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication

Open date: 20060125