CN110915182B - 数据处理中的入侵检测和缓解 - Google Patents

数据处理中的入侵检测和缓解 Download PDF

Info

Publication number
CN110915182B
CN110915182B CN201880046810.7A CN201880046810A CN110915182B CN 110915182 B CN110915182 B CN 110915182B CN 201880046810 A CN201880046810 A CN 201880046810A CN 110915182 B CN110915182 B CN 110915182B
Authority
CN
China
Prior art keywords
security
security policy
learned
execution environment
events
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201880046810.7A
Other languages
English (en)
Other versions
CN110915182A (zh
Inventor
A·舒尔曼-佩莱格
S·瑞格维
S·考哈尼曼
R·佩莱格
Z·巴瑟尔
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.)
International Business Machines Corp
Original Assignee
International Business Machines 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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of CN110915182A publication Critical patent/CN110915182A/zh
Application granted granted Critical
Publication of CN110915182B publication Critical patent/CN110915182B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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
    • H04L63/205Network architectures or network communication protocols for network security for managing network security; network security policies in general involving negotiation or determination of the one or more network security mechanisms to be used, e.g. by negotiation between the client and the server or between peers or by selection according to the capabilities of the entities involved
    • 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/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • G06F21/53Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by executing in a restricted environment, e.g. sandbox or secure virtual machine
    • 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/55Detecting local intrusion or implementing counter-measures
    • G06F21/554Detecting local intrusion or implementing counter-measures involving event detection and direct action
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1416Event detection, e.g. attack signature detection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/03Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
    • G06F2221/034Test or assess a computer or a system

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computing Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)
  • Storage Device Security (AREA)

Abstract

安全管理器,被配置为生成多个学习的安全策略,并向客户端机器提供至少一个学习的安全策略和安全代理,以便由所述安全代理在所述客户端机器上执行所述至少一个学习的安全策略。安全管理器被配置为从安全代理接收指示客户端机器上的异常行为的警报。

Description

数据处理中的入侵检测和缓解
技术领域
本发明涉及计算机安全,尤其涉及入侵检测系统。
背景技术
计算机安全系统保护存储在计算机系统中、在计算机系统上执行和/或在计算机系统之间传送的数据的机密性(例如,保护免受隐私破坏)、数据的完整性(例如,保护免受数据破坏)以及数据的可用性(例如,保护免受功能中断)。然而,对计算机系统的未授权入侵可能导致数据泄露和/或功能受限。
未授权入侵可以利用各种攻击向量,诸如但不限于工作站侵扰、证书盗窃、利用(exploitation)(例如,缓冲区溢出、堆栈溢出等)、漏洞(例如,利用应用、内核等的编码弱点)以及逃脱到主机的攻击(escape-to-host attacks)。
传统的入侵检测系统可能遭受许多挑战,诸如生成过多数量的警报、需要重要的专业知识(例如,配置/维护入侵检测系统,以及解释来自入侵检测系统的输出)、以及具有过于严格的规则(例如,不允许授权的更新发生)或过于灵活的规则(例如,无法识别新的恶意攻击简档)。
一些示例保护系统是防病毒工具、rootkit检测器和/或高级持久威胁(APT)工具,这些工具被配置为防止计算机感染,或针对已感染的计算机消除现有威胁。不利地,这些工具给使用它们的机器带来了巨大的资源负担(例如,运行时开销)。例如,这些工具可能需要检查每个传入的网络通信。
另一个示例保护系统是执行策略配置,借此用户定义计算机系统的预期行为,以防止执行任何其他操作(例如,恶意代码)。不利的是,执行策略可能过于严格。例如,在使用执行策略时,操作系统更新和/或手动管理会话可能不切实际。另一个示例保护系统是白名单,其中具有未知或恶意内容的文件被阻止执行。但是,白名单可能无法阻止使用安全执行环境中常用的知名工具(例如,nmap或tcpdump)的攻击。
另一示例保护系统是基于网络的入侵检测系统(NIDS)。不利的是,很难或不可能在网络级别检测到众多的攻击。
另一个示例保护系统是基于主机的入侵检测系统(HIDS),该系统通过检查与底层操作系统的交互来监视主机上应用程序的行为。但是,传统的HIDS无法监视在可能执行数百个不同容器和/或虚拟机的网络环境中进行的大量调用。
现有技术解决方案包括2016年7月27日在IBM研究与发展杂志第60卷第4期第12:1-12:10页发表的作者为S.Barlev,Z.Basil,S.Kohanim,R.Peleg,S.Regev,A.Shulman-Peleg的“安全但可用–保护服务器和Linux容器”(“Secure Yet Usable–ProtectingServers andLinux Containers”,S.Barlev,Z.Basil,S.Kohanim,R.Peleg,S.Regev,A.Shulman-Peleg,27July 2016,IBM Journal of Research andDevelopment,Vol.60,Issue 4,pgs.12:1-12:10)。
因此,本领域中需要解决上述问题。
发明内容
从第一方面来看,本发明提供了一种用于管理入侵检测系统的计算机实现的方法,该方法包括:由客户端机器的安全代理拦截由利用所述客户端机器的第一执行环境生成的多个事件的第一子集,其中所述多个事件的所述第一子集根据第一学习的安全策略被拦截,其中所述第一学习的安全策略基于观察所述第一执行环境的操作而被学习,其中所述第一子集包括所述多个事件中的少于一半的事件,并且其中所述事件的第一子集中的至少一个事件是与恶意代码简档相关联的事件的类型;由所述安全代理基于针对所述第一执行环境的所述第一学习的安全策略,基于将至少一个拦截的事件与所述第一学习的安全策略的至少一个规则进行比较,来识别异常;以及响应于识别出异常,由所述安全代理执行缓解动作。
从另一方面来看,本发明提供了一种用于管理入侵检测系统的计算机实现的方法,该方法包括:基于与合成的第一执行环境相关联的事件的子集,生成包含第一学习的安全策略的多个安全策略,其中与所述第一学习的安全策略相关联的至少一个规则是基于与恶意代码简档相关联的事件的类型;将所述多个安全策略存储在安全策略数据库中;向多个客户端提供至少所述第一学习的安全策略,其中所述第一学习的安全策略与由所述多个客户端部署的第一执行环境相关,其中所述多个客户端被配置为实施所述第一学习的安全策略;以及从第一客户端接收基于由部署在第一客户端上的第一执行环境生成的并且由第一客户端根据所述第一学习的安全策略拦截的至少一个拦截事件来识别异常的警报。
从另一方面来看,本发明提供了一种用于管理入侵检测系统的计算机系统,该系统包括:处理器;有形计算机可读存储器,用于存储程序指令,当所述程序指令由所述处理器执行时,执行以下步骤:拦截由利用客户端机器的第一执行环境生成的多个事件的第一子集,其中所述多个事件的所述第一子集由第一学习的安全策略定义,其中所述第一学习的安全策略基于观察所述第一执行环境的操作而被学习,其中所述第一子集包括所述多个事件的少于一半的事件,并且其中所述事件的所述第一子集中的至少一个事件是与恶意代码简档相关联的事件的类型;基于针对所述第一执行环境的所述第一学习的安全策略,基于将至少一个拦截的事件与所述第一学习的安全策略的至少一个规则进行比较,来识别异常;以及响应于识别出异常而执行缓解动作。
从另一方面来看,本发明提供了一种用于管理入侵检测系统的系统,包括:安全管理器,其包括处理器、存储处理器可执行指令的存储器、安全策略数据库和接口,其中所述安全管理器通信地耦合到多个节点;其中,所述安全管理器被配置为:基于与合成的第一执行环境相关联的少数事件而生成包含第一学习的安全策略的多个安全策略,其中与所述第一学习的安全策略相关联的至少一个规则是基于与恶意代码简档相关联的事件的类型;将所述多个安全策略存储在所述安全策略数据库中;向所述多个节点的子集提供相应的安全代理和至少所述第一学习的安全策略,其中所述节点的子集被配置为托管所述第一执行环境,其中相应的安全代理被配置为在所述节点的子集的相应节点上实施至少所述第一学习的安全策略;以及从提供给第一节点的第一安全代理接收基于由利用第一节点的第一执行环境生成的并且由第一安全代理根据第一学习的安全策略拦截的至少一个拦截事件来识别异常的警报。
从另一方面来看,本发明提供了一种用于管理入侵检测系统的计算机程序产品,该计算机程序产品包括计算机可读存储介质,该计算机可读存储介质可由处理电路读取并且存储由处理电路执行以实现用于执行本发明的步骤的方法的指令。
从另一方面来看,本发明提供了一种存储在计算机可读介质上并且可加载到数字计算机的内部存储器中的计算机程序,其包括软件代码部分,当所述程序在计算机上运行时,用于执行本发明的步骤。
本公开的各方面涉及一种计算机实现的方法,包括由客户端机器的安全代理拦截由利用客户端机器的第一执行环境生成的多个事件的第一子集。可以根据第一学习的安全策略来拦截多个事件的第一子集。可以基于观察第一执行环境的操作来学习第一学习的安全策略。第一子集可以包括多个事件的少于一半的事件,并且事件的第一子集中的至少一个事件可以是与恶意代码简档相关联的事件的类型。计算机实现的方法还可以包括由安全代理基于针对第一执行环境的第一学习的安全策略,基于将至少一个拦截的事件与第一学习的安全策略的至少一个规则进行比较来识别异常。计算机实现的方法还可以包括响应于识别出异常由安全代理执行缓解动作。
本公开的另外的方面涉及一种计算机系统,该计算机系统包括处理器和用于存储程序指令的有形计算机可读存储器,该程序指令当由处理器执行时,执行拦截由利用客户端机器的第一执行环境生成的多个事件的第一子集的步骤。多个事件的第一子集可以由第一学习的安全策略定义。可以基于观察第一执行环境的操作来学习第一学习的安全策略。第一子集可以包括多个事件的少于一半的事件,并且事件的第一子集中的至少一个事件可以是与恶意代码简档相关联的事件的类型。程序指令可以由处理器执行以进一步执行以下步骤:基于针对第一执行环境的第一学习的安全策略,基于将至少一个拦截的事件与第一学习的安全策略的至少一个规则进行比较来识别异常,以及响应于识别出异常而执行缓解动作。
本公开的另外方面涉及一种计算机程序产品,其包括具有体现于其中的程序指令的计算机可读存储介质。计算机可读存储介质本身可以不是瞬时信号。所述程序指令可由处理器执行以使所述处理器执行包括拦截由利用客户端机器的第一执行环境生成的多个事件的第一子集的方法。多个事件的第一子集可以由第一学习的安全策略定义。可以基于观察第一执行环境的操作来学习第一学习的安全策略。第一子集可以包括多个事件的少于一半的事件,并且事件的第一子集中的至少一个事件是与恶意代码简档相关联的事件的类型。处理器可以执行一种方法,该方法进一步包括基于针对第一执行环境的第一学习的安全策略,基于将至少一个拦截的事件与第一学习的安全策略的至少一个规则进行比较来识别异常,以及响应于识别出异常而执行缓解动作。
本公开的另外的方面涉及一种包括安全管理器的系统,该安全管理器包括处理器、存储处理器可执行指令的存储器、安全策略数据库和接口。安全管理器可以通信地耦合到多个节点。安全管理器可经配置以基于与合成的第一执行环境相关联的少数事件而生成包含第一学习的安全策略的多个安全策略。与第一学习的安全策略相关联的至少一个规则可以基于与恶意代码简档相关联的事件的类型。安全管理器还可以被配置为将多个安全策略存储在安全策略数据库中,并且向多个节点的子集提供相应的安全代理和至少第一学习的安全策略。节点的子集可以被配置成托管第一执行环境。相应的安全代理可以被配置为在节点子集的相应节点上至少实施第一学习的安全策略。安全管理器可以进一步被配置为从提供给第一节点的第一安全代理接收警报,该警报基于由利用第一节点的第一执行环境生成的并且由第一安全代理根据第一学习的安全策略拦截的至少一个拦截事件来识别异常。
本公开的另外的方面涉及一种计算机实现的方法,包括基于与合成的第一执行环境相关联的事件的子集来生成包括第一学习的安全策略的多个安全策略,其中与第一学习的安全策略相关联的至少一个规则基于与恶意代码简档相关联的事件的类型。该方法还可以包括将多个安全策略存储在安全策略数据库中,并且向多个客户端提供至少第一学习的安全策略。第一学习的安全策略可以与由多个客户端部署的第一执行环境相关。多个客户端可以被配置为实施第一学习的安全策略。该方法还可以包括从第一客户端接收基于由部署在第一客户端上的第一执行环境生成的并且由第一客户端根据第一学习的安全策略拦截的至少一个拦截的事件来识别异常的警报。
附图说明
本申请中包括的附图被并入说明书中并且形成说明书的一部分。它们示出了本公开的实施例,并且与描述一起用于解释本公开的原理。附图仅是某些实施例的说明,并不限制本公开。
图1示出了根据本公开的一些实施例的示例安全环境的框图。
图2示出了根据本公开的一些实施例的示例安全策略数据库。
图3示出了根据本公开的一些实施例的有向无环图(DAG)的示例拓扑。
图4示出了根据本公开的一些实施例的用于向客户端机器提供安全资源的示例方法的流程图。
图5示出了根据本公开的一些实施例的用于生成安全策略数据库的示例方法的流程图。
图6示出了根据本公开的一些实施例的用于实施安全策略的示例方法的流程图。
图7示出了根据本公开的一些实施例的用于更新安全策略的示例方法的流程图。
图8示出了根据本公开的一些实施例的安全管理器的框图。
图9描绘了根据本公开的一些实施例的云计算环境。
图10描绘了根据本公开的一些实施例的抽象模型层。
尽管本公开适于各种修改和替代形式,但是其细节已经通过示例在附图中示出并且将被详细描述。然而,应当理解,其意图不是将本公开限制为所描述的特定实施例。相反,意图是涵盖落入本公开的精神和范围内的所有修改、等同形式和替代形式。
具体实施方式
本公开的各方面涉及计算机安全,并且更具体地,涉及入侵检测系统。本公开的各方面基于在受控(例如,训练、合成、仿真或预生产)执行环境中生成的选择性拦截的事件来开发一个或多个安全策略。每个安全策略可以包括一个或多个规则。每个规则可以包括一组条件。客户端机器可以使用一个或多个安全策略。在一些实施例中,客户端机器是生产环境中的服务器。规则、安全策略和客户端机器之间的关系可由存储在安全策略数据库中的多对多关系来描述。所生成的安全策略可以在运行于一个或多个客户端机器上的执行环境中实施。可通过拦截与执行环境相关联的特定类型的事件并将所拦截的事件与存储在安全策略中的相关规则和条件进行比较来实施安全策略。入侵检测系统可以基于将所选择的事件类型与安全策略进行比较来生成警报,并且在一些情况下缓解入侵。
为了本公开的目的,执行环境可以包括与各类进程相关联的软件例程。执行环境可以是但不限于应用、容器、虚拟机(VM)、数据库管理系统(DBMS)、逻辑分区(LPAR)和执行实体。根据本公开的各种实施例,执行环境可以具有各种粒度的级别。例如,可以为可以在设备上执行的每种类型的应用定义一个执行环境。或者,可以为属于相同或相似类别的应用的多个应用定义一个执行环境。因此,执行环境的范围可以被调整以管理诸如安全策略数据库的复杂性和可管理性以及与执行相应的安全策略相关联的计算开销之类的因素。
例如,为多个应用定义的执行环境可以导致更少的安全策略存储在安全策略数据库(因为每个安全策略覆盖更多数量的应用),同时还导致操作期间的更高的计算开销(因为执行每个安全策略需要实施更多数量的规则,其中仅规则的子集可以适用于给定应用)。
或者,为每个应用定义的执行环境可导致更复杂的安全策略数据库(因为更多的安全策略),但导致与执行关联于每个执行环境的安全策略相关联的计算开销减少(因为每个安全策略仅包含与给定应用相关的规则)。
为了本公开的目的,事件可以被定义为由执行环境生成的或与执行环境相关联的通信。事件可以是但不限于可以从日志文件(诸如系统日志文件(syslog)、操作日志文件(operlog)、事件日志文件、事务日志文件或消息日志文件)拦截的系统调用、操作、命令、进程、任务或其他事件。在一些实施例中,可以从网络流量中拦截事件。在各种实施例中,可在事件的传输期间、与存储事件大致同时(例如,在日志文件中)或在存储事件之后(例如,从日志文件检索历史数据)拦截事件。如下文所使用的,事件类型是指事件的类(例如,文件系统安装进程、文件访问等),而事件是指事件类型的实际执行,其中事件可包含与特定执行环境相关联的参数。
本公开的各方面涉及一种改进的HIDS保护解决方案。改进的HIDS保护解决方案提供了优于传统保护系统的各种优点。
本公开的各方面的一个示例优点是低计算开销。本公开的各方面通过选择性地仅拦截和评估最可能与入侵和/或恶意攻击相关联的事件而表现出低计算开销。例如,除了其他事件以外,本公开的各方面还可以拦截与新进程启动、文件系统安装、库加载、关键文件访问、网络配置改变相关联的事件以及可能被用作未授权入侵和/或恶意攻击的一部分的其他事件。有利地,该策略通过限制拦截和评估的事件的数量来减少计算开销。根据本公开的一些实施例,被拦截事件的数量可以显著小于在给定时间间隔期间生成的事件的总数量(例如,小于总事件的10%,并且在一些情况下,小于总事件的1%)。
本公开的各方面的另一示例优点是自动学习。与需要在实现之前手动定义安全策略的一些传统解决方案相反,本公开的各方面在受控(例如,训练、合成、模拟或预生产)环境中从事学习时段,该受控环境再现与正常操作条件相关联的典型的每日和/或每周任务。本公开的各方面使用这些训练观察来生成定义正常和异常行为的规则。
本公开的各方面的进一步优点是安全策略可扩展性。例如,类似服务器机架可以利用在学习时段期间由服务器机架中的任何一个服务器生成的安全策略,而无需服务器机架中的每个服务器经历训练时段。在涉及数百或数千个设备的情况下,这个优点在规模上是显而易见的。
本公开的各方面的进一步优点是有限的学习阶段。例如,本公开的各方面可以进入有限学习阶段以重新学习由授权的更新进程(例如,操作系统更新、应用更新等)导致的改变。相反,一些传统的安全系统将把授权的更新识别为异常,并防止更新发生。此外,一些传统的安全系统将需要手动重新配置安全策略以解决由授权更新引起的任何改变。因此,有利地,本公开的各方面自动地识别授权的更新并且允许授权的更新发生。此外,本公开的各方面有利地基于在经授权的更新期间作出的改变来细化安全策略,以确保安全策略根据经授权的更新适当地定义正常和异常行为。
本公开的各方面的进一步优点是改进的安全策略管理。安全策略以多对多模型来描述,该多对多模型使得任何机器能够与多个安全策略相关联(例如,操作系统安全策略、web浏览安全策略、以及备份系统安全策略可与单个机器相关联并且在单个机器上实施),并且使得任何安全策略能够与多个机器相关联。同样,任何规则可与多个安全策略相关联,并且任何安全策略可与多个规则相关联。因此,对任何单个规则的更新对于与更新的规则相关联的每个安全策略和机器是容易可用的。
前述优点是示例性优点,并且未列出所有优点。存在本公开的实施例,其包含所有、一些或不具有前述优点,同时仍在本公开的精神和范围内。
现在参考附图,图1示出了根据本公开的一些实施例的示例安全环境100。安全环境100可以包括安全管理器102,其包含安全策略数据库104并且经由网络150通信地耦合到节点106、节点108和节点110。在一些实施例中,安全环境100表示生产环境(例如,运行真实工作负载的计算机环境),而在其他实施例中,安全环境100可以表示受控环境(例如,训练环境、合成环境、模拟环境或运行测试工作负载的预生产环境)。尽管安全环境100被示为包含三个节点,但各实施例可包含更多或更少的节点。例如,在一些实施例中,安全管理器102通信地耦合到(或集成在)单个节点。或者,在一些实施例中,安全管理器102通信地耦合到许多节点(例如,数百、数千、数万或更多节点)。
根据各种实施例,节点106、108和110可以是与被配置为执行计算功能的硬件相关联的设备。节点106、108和110可以是但不限于服务器、计算机、膝上型计算机、大型机或其它设备。节点106、108和110可以是具有相似或不相似的功能和能力的相似或不相似的设备。在一些实施例中,节点106、108和110中的每一个可以表示单独的节点网络或子网络。在一些实施例中,节点106、108和110中的每一个可以表示单独的生产环境。在一些实施例中,安全管理器102与每个节点106、108和110通信,但是节点106、108和110可能不能够彼此通信。在一些实施例中,节点106、108和110也可以称为客户端、客户端设备、客户端机器和/或机器。在一些实施例中,节点106、108和110表示虚拟机。
尽管节点106、108和110在下文中偶尔被称为"客户机"或"客户机机器",但是应当理解,这些机器仅仅相对于安全系统而言是"客户机",并且它们相对于网络中的其它机器而言可充当服务器。
根据各种实施例,网络150可以是物理网络、虚拟网络或既包括一些设备之间的物理连接又包括其他设备之间的虚拟连接的网络。在各种实施例中,网络150是公共网络、私有网络或具有公共和私有特征两者的网络。
在一些实施例中,安全管理器102包括一个或多个设备(例如,节点,工作站,膝上型计算机,耦合至接口的一组服务器,或在一个或多个设备上运行的虚拟机)。在一些实施例中,安全管理器102包括计算机可执行指令,该计算机可执行指令可经由网络从有形存储设备下载并且被配置为在将其下载到的设备上执行。安全管理器102在下文中参照图4至图8进一步详细描述。
安全管理器102包含安全策略数据库104。尽管安全策略数据库104被示为集成在安全管理器102中,但是安全策略数据库可以替代地远离安全管理器102并通过物理或虚拟连接通信地耦合到安全管理器102。
安全策略数据库104可存储用于各种执行环境的安全策略。安全策略数据库104可以存储由规则、策略和机器之间的多对多关系定义的安全策略。在一些实施例中,多对多关系可由安全策略数据库104中的多个表来定义。在一些实施例中,安全策略被存储为带密钥的散列列表(例如,使用执行环境属性作为密钥)。在一些实施例中,安全策略被存储为有向无环图(DAG),其以安全策略作为节点,以安全策略之间的关系作为连接节点的边。在一些实施例中,存储在安全策略数据库104中的安全策略包括静态规则和动态规则。静态规则可以独立于执行环境参数,而动态规则可以依赖于执行环境参数。因此,在所选执行环境中实施安全策略之前,给定执行环境的一个或多个参数可被代入一个或多个动态规则中。在一些实施例中,存储在安全策略数据库104中的安全策略是基于模拟执行环境中的观察而学习的安全策略。在一些实施例中,在识别出与安全策略相关的授权更新(例如,操作系统更新、软件更新等)时,通过有限的重新学习周期来更新存储在安全策略数据库104中的安全策略。安全策略数据库104将在下文中参考图2-3和5更详细地描述。
在一些实施例中,安全管理器102通信地耦合到恶意代码简档140。恶意代码简档140可以包括恶意攻击和/或未授权入侵简档的公共或私有数据库。为了本公开的目的,恶意攻击简档和未授权入侵简档是同义的,只要它们都针对对设备和/或网络的未授权访问,而不管未授权访问是否导致可检测的损害。对于相应的攻击/入侵,恶意代码简档140可以讨论技术、输出、对策、代码、系统调用、进程、任务、命令和/或可能对生成存储在安全策略数据库104中的安全策略有用的其他属性。
安全管理器102可以向节点106提供安全代理114。在一些实施例中,安全代理114包括可下载到节点106并使用与节点106相关联的现有硬件资源在节点106上可执行的处理器可执行指令。安全代理114可以包括安全策略116和事件118。安全策略116可以是来自安全策略数据库104的一个或多个安全策略,并且基于在或可以在节点106上发生的执行环境与节点106相关。事件118包括由在节点106上运行的各种执行环境(例如,执行环境A-C112A-112C)生成的并由安全代理114拦截以使用安全策略116进行评估的事件的拦截子集。
事件118可以包括由各种执行环境生成的事件。例如,事件118可以是系统调用和/或可执行代码的方面。事件118可以从例如日志文件中拦截。事件118可以包括比由执行环境生成的事件总数更少的事件。在一些实施例中,安全代理114可以基于事件118比由执行环境生成的未被拦截的其他事件具有与恶意攻击的更高关联度来拦截事件118。在一些实施例中,事件118可以包含事件,使得每个事件或大多数事件出现在编入目录的恶意攻击简档的至少一个、大多数或多于25%、50%、75%或90%中。在一些实施例中,事件118包含在编入目录的恶意攻击简档中具有比由给定执行环境生成的所有事件的平均出现率更高的出现率的事件。在一些实施例中,事件118包括在时间间隔(例如,1小时、1天等)内由执行环境生成的事件的总数的少数(例如,少于50%、少于一半)、少于10%或少于1%。
节点106可以托管执行环境A-C112A-112C。执行环境A-C112A-112C可以是利用节点106的各方面的相似或不相似的执行环境。在各种实施例中,各个节点可以托管比节点106上所示的三个执行环境A-C112A-112C更多或更少的执行环境。
安全管理器102还连接到节点108。节点108可以托管与节点106上所示的执行环境A-C112A-112C相似或不相似的执行环境120。节点108还可以包括存储安全策略124和事件126的安全代理122。尽管安全代理122可以与安全代理114一致(例如,两者都由安全管理器102提供给相应节点),但是安全代理122可以实施一个或多个安全策略124,其可以与由安全代理114实施的安全策略116类似或不同。同样,安全代理122可拦截由执行环境120生成的事件126,这些事件可与从执行环境A-C112A-112C拦截的事件118相似或不同。
安全管理器102还被示为连接到节点110。节点110可以托管数据128,例如文件系统。节点110还可以包括存储安全策略132和事件134的安全代理130。尽管安全代理130可以与安全代理122和安全代理114一致,但是安全代理130可以实现与安全策略124和116类似或不同的一个或多个安全策略132,并且安全代理130可以拦截可以与事件126和118类似或不同的事件134。例如,安全代理130可以用作文件完整性监视(FIM)系统,并且可以拦截与文件访问和/或对存储在数据128中的所选文件的修改相关联的事件134。
图2示出了根据本公开的一些实施例的示例安全策略数据库200。在一些实施例中,安全策略数据库200与图1的安全策略数据库104一致。安全策略数据库200可以包括安全规则表202、安全策略表208和机器表214。如本领域技术人员将理解的,安全策略数据库200中所示的表被示为安全策略数据库200的示例拓扑,并且实际上,可存在更多或更少的表,其具有更多或更少的列和行,并通过一个或多个映射表(未示出)相互关联。
安全规则202为诸如规则1204A的每一规则存储诸如条件1204B的一个或多个条件以及诸如动作1204C的一个或多个动作。规则1204A可标识规则(例如,通过数字、字母数字、词汇或其它标识)。
条件1204B可以定义与一个或多个事件(例如,进程、系统调用等)相关的一个或多个条件。条件1204B可以与一个或多个事件的进程名、命令行和/或文件摘要相关联,但不限于此。
动作1204C可以是与条件1204B的结果相关联的一个或多个动作。例如,动作1204C基于指示事件正常的条件1204B继续监视(例如,通过迭代下一个事件)。在另一个例子中,动作1204C基于指示事件异常的条件1204B发出警报。在另一个例子中,动作1204C响应于指示异常的条件1204B,通过例如终止与该异常相关联的一个或多个进程来缓解该异常。在一些实施例中,多于一个动作同时或顺序地发生。例如,在一些实施例中,动作1204C包括同时发出警报和终止异常。在一些实施例中,动作1204C包括发出警报,并且响应于由安全管理器提供的输入,终止异常。在一些实施例中,动作1204C包括发出警报,并且响应于经过的时间段或检测到第二异常事件,自动终止异常。
条件1204B可以是限制性的或许可性的。例如,条件1204B可以包括许可性条件,如果确定该许可性条件为真,则导致确定所拦截的事件是异常,否则(即,如果确定该许可性条件为假),则确定所拦截的事件是正常事件。因此,在这样的实施例中,仅匹配特定简档的事件被识别为异常。
相反,条件1204B可以包括限制性条件,如果确定该限制性条件为真,则导致确定所拦截的事件是正常事件,否则(即,如果确定该限制性条件为假),则确定所拦截的事件是异常。因此,在这样的实施例中,任何未能匹配特定简档的事件被认为是异常的。
许可性条件对于各种各样的工作负载可以是有益的(例如,限制诸如将正常事件识别为异常事件的假肯定),而限制性条件对于可预测的工作负载可以是有益的(例如,限制诸如将异常事件识别为正常事件的假否定)。在一些实施方案中,使用许可性条件和限制性条件两者。
安全规则202还包括具有相应条件2206B和动作2206C的规则2206A。尽管出于解释的目的仅示出了两个规则以及对应的条件和动作,但是应当理解,安全规则表202可以包括任何合适数量的规则(例如,数千个)。在一些实施例中,安全规则表202可以通过在模拟执行环境中的自动学习来生成(在下文中参考图5更详细地描述)。
作为许可性安全规则(例如,如果为真则异常,如果为假则正常)的非限制性示例,规则1204A可以与针对所选文件的拦截文件访问功能相关。条件1204B可以包括响应于拦截到对所选择的文件的访问请求,确定与该请求相关联的用户简档是否具有低于"管理员"的角色,以及确定该访问请求是否是在非工作时间(例如,晚上)期间生成的。如果两个条件都为真,则规则1204A可执行一个或多个动作1204C,诸如向安全管理器发送警告和/或降低与生成访问请求的用户简档相关联的特权。如果1204B的任一条件为假,则规则1204A将该事件视为正常事件,并进行监视。
作为限制性安全规则(例如,如果为真则正常,如果为假则异常)的示例,规则2206A可与文件系统安装进程相关。可以拦截与安装新文件系统相关的事件,并将其与条件2206B进行比较。条件2206B可以确定所拦截的事件是否包含与在学习安全规则期间所标识的典型文件系统安装进程相同的特权授权(例如,读和写简档)。如果所拦截的事件包含不同的特权授权,则规则2206A可执行动作2206C,诸如终止文件系统安装进程并向安全管理程序提供警告。如果所拦截的事件包含相同的特权授权,则可以确定所拦截的事件是正常事件。
安全策略表208包括用于各个执行环境的安全规则组。例如,安全策略表208可包含用于执行环境1的安全策略210A,该安全策略包含从安全规则表202检索的一个或多个规则210B。同样,用于执行环境2的安全策略212A可包含从安全规则表202检索的一个或多个规则212B。安全策略可以被狭义地定义(例如,用于特定应用的安全策略)或广义地定义(例如,用于一组应用的安全策略)。尽管在安全策略表208中示出了两个示例安全策略,但是应当理解,任何合适数量的安全策略可以包括在安全策略表208中。例如,基于执行环境定义的粒度和在利用安全策略表208中的安全策略的客户端上操作的工作负载的多样性,数十、数百或数千个安全策略是可能的。安全策略表208可以基于模拟执行环境中的训练来生成(以下将参考图5更详细地描述)。
机器表214可包括在安全环境(例如,图1的安全环境100)中运行的一个或多个机器的列表。机器表214将特定机器、节点、客户端机器或其他设备与一组适当的安全策略相关联。在各种实施例中,机器表214也可以被称为节点表、客户端表或客户端机器表
机器表214可包括机器1216A以及与机器1216A相关联并从安全策略表208检索的一个或多个安全策略216B。机器表214还可以包括与从安全策略表208检索的安全策略218B相关联的机器2218A。尽管为了说明的目的,在机器表214中仅包括两个机器,但是应当理解,在机器表214中可以包括更多或更少的机器。例如,在一些实施例中,机器表214可以包括数千个机器或更多。此外,在各种实施例中,机器1216A和机器2218A可以指物理机或虚拟机。
机器与安全策略的关联可通过训练(例如,通过将给定机器上发生的执行简档或事件与存储在给定安全策略的规则中的执行简档或事件进行匹配)、或通过机器类型(例如,所有服务器具有第一组安全策略、所有台式机具有第二组安全策略、所有膝上型计算机具有第三组安全策略等)、或通过手动配置来获知。
图3示出了根据本公开的一些实施例的有向无环图的示例拓扑。有向无环图(DAG)300是根据本公开的一些实施例的用于组织安全策略的图示。如本领域技术人员将理解的,DAG300是拓扑图示,并且由DAG300中的节点和边图示的依赖性可以通过例如安全策略数据库(例如,图1的安全策略数据库104或图2的200)中的一个或多个相关联的表或者通过将拓扑图示简化为定义DAG300的节点和边的一组编码的逻辑语句来实现。
DAG300可以包括安全策略A-I302-318。安全策略可以依赖于或关联于一个或多个其他安全策略,如DAG300中所示。例如,安全策略I318依赖于安全策略H316或与之相关联。同样,安全策略F312依赖于安全策略E310和安全策略A302两者或与之相关联。同样,安全策略C306和安全策略D308各自依赖于安全策略B304和安全策略A302或与之相关联。诸如安全策略G314的一些安全策略不依赖于任何其它安全策略。
如果实施安全策略的机器的安全性也受益于实施另一安全策略,则该安全策略可以依赖于该另一安全策略或与该另一安全策略相关联。在DAG300的图示中,低于另一安全策略并且连接到该另一安全策略的安全策略依赖于该另一安全策略。
如DAG300中所示,一些安全策略横向地彼此连接(例如,安全策略A302横向地连接到安全策略G314)。横向连接的安全策略在各种实施例中具有各种含义。在一些实施例中,横向连接的安全策略可以与依赖性相关联(例如,安全策略G314可以依赖于安全策略A302)。在一些实施例中,横向连接的安全策略彼此相关联,但是不彼此依赖(例如,横向连接的安全策略A302、安全策略G314和安全策略H316可以与同一公司相关联,但是彼此不相关)。在一些实施例中,在安全策略之间没有横向连接(例如,安全策略G314可以不与安全策略A302连接)。
安全管理器或安全代理可以通过识别执行环境的各方面来检索适当的安全策略。例如,安全代理可以识别与安全策略D308相关联的第一应用。安全代理然后可以请求和/或检索安全策略D308,并且还自动请求和/或检索与安全策略D308相关联的安全策略,即安全策略B304和安全策略A302。在这样的示例中,安全策略D308可以是用于特定应用的安全策略,安全策略B304可以是用于特定操作系统(OS)的安全策略,并且安全策略A302可以是与特定类型的机器(例如,膝上型计算机或特定型号的膝上型计算机)相关联的安全策略。因此,根据本公开的一些实施例,DAG300可以提供安全策略集合的迅速组织和检索。
图4示出了根据本公开的一些实施例的用于向客户端机器提供安全资源的示例方法的流程图。在一些实施例中,方法400可以由安全管理器(例如,图1的安全管理器102)实现。在一些实施例中,方法400可以通过由通信地耦合到计算机可读存储介质的处理器执行存储在计算机可读存储介质中的指令来执行。
在操作402中,安全管理器生成多个安全策略。在一些实施例中,多个安全策略可以通过在模拟执行环境中进行的观察来生成。在替代实施例中,通过由在生产执行环境中运行的实际工作负载实时进行的观察来生成多个安全策略。操作402在下文中参考图5进一步详细描述。
在操作404中,安全管理器向客户端机器(例如,诸如图1的节点106的节点)提供安全代理(例如,诸如图1的安全代理114)以及至少一个安全策略。在一些实施例中,操作404通过从安全管理器下载用于安全代理和安全策略数据库的至少一个子集的指令并将其下载到客户端机器,来向客户端机器提供安全代理和至少一个安全策略。在一些实施例中,基于托管或被配置为托管与至少一个安全策略相关联的执行环境的客户端机器,至少一个安全策略被提供给客户端机器。在一些实施例中,首先向客户端机器提供安全代理,并且安全代理随后基于安全代理识别利用客户端机器的执行环境来向安全管理器请求至少一个安全策略。在一些实施例中,安全代理直接使用从利用客户端机器的执行环境检索的一个或多个参数来查询安全策略数据库,以识别和检索适当的安全策略。
在操作406中,安全管理器从托管在客户端机器上的安全代理接收警报。警报可以指示异常行为或以其他方式与安全管理器通信(例如,指示安全代理已经被完全配置并且在客户端机器上运行等)。如以下参考图6进一步详细描述的,可以响应于安全代理在客户端机器上实施安全策略而生成警报。
在操作408中,安全管理器从在客户端机器上实现的安全代理接收一个或多个安全策略更新。安全策略更新可根据与关联于客户端机器的一个或多个执行环境相关的授权更新来更新。安全策略更新在下文中参考图7更详细地描述。
在操作410中,安全管理器将更新的安全策略存储在安全策略数据库(例如,图1的安全策略数据库104或图2的安全策略数据库200)中,并且在一些情况下,方法400将更新的安全策略分发到在其他客户端机器上运行的其他安全代理。
图5示出了根据本公开的一些实施例的用于生成安全策略数据库的示例方法的流程图。在一些实施例中,方法500可以由安全管理器(例如,图1的安全管理器102)执行。在一些实施例中,方法500通过由通信地耦合到计算机可读存储介质的处理器执行存储在计算机可读存储介质中的指令来执行。
在操作502,安全管理器在一个或多个执行环境的学习环境中拦截第一时间间隔的事件子集。被拦截事件的子集可以是但不限于系统调用的类型。例如,被拦截事件的子集可以包括与以下类型的事件相关(但不限于此)的任何生成的事件:文件系统安装、库加载、网络配置、证书改变等。可从例如日志文件检索所拦截事件的子集。在一些实施例中,所拦截事件的子集包括少于第一时间间隔中所产生事件的总数(例如,第一时间间隔中所产生事件的总数的少数、少于一半、少于50%、10%或1%)。在一些实施例中,拦截的事件的子集包括与在第一时间间隔中生成的所有事件的平均出现率相比、在存储在恶意攻击简档(例如,图1的恶意代码简档140)的存储库中的恶意攻击简档中呈现更高出现率的事件。在一些实施例中,所选择的事件或所选择的事件中的大多数包括以恶意攻击简档的阈值百分比(例如,至少一个、大多数或超过25%、50%、75%或90%)出现的事件。在一些实施例中,使用多个不同条件,使得如果一个事件出现在所有攻击简档的多于50%中,或者如果该事件出现在发生在之前1年间隔中的攻击简档的多于50%中,或者如果该事件出现在与攻击简档的子集相关联的任何攻击简档中,或者如果该事件基于管理员输入被手动包括,则拦截的事件的子集包括该事件。在一些实施例中,集合论被用于确定要拦截的事件的类型的最小数量,使得与每个恶意攻击简档相关联的至少一个事件被配置为被拦截。在各种实施方式中,第一时间间隔小于或等于1小时、4小时、12小时、24小时、72小时或1周。第一时间间隔可以基于执行环境的类型等。在各种实施例中,确定要拦截的事件的数量和类型是基于手动配置和/或基于与恶意代码简档的储存库对接并且识别与恶意代码简档的相应类型相关联的事件的相应类型。
在操作504中,安全管理器生成具有定义正常行为和异常行为的相应条件的相应规则。在一些实施例中,操作504生成与图2的安全规则表202一致的规则,使得每个规则与一个或多个条件和一个或多个动作相关联。操作504可以生成许可性规则(例如,如果为真,异常;如果为假,正常)、限制性规则(例如,如果为真,正常;如果为假,异常)、或者许可性规则和限制性规则的组合。在一些实施例中,操作504与恶意攻击简档(例如,图1的恶意代码简档140)的储存库对接,以便为可以提供附加安全性的相应规则生成附加条件。
作为第一示例,在操作504中,安全管理器可以基于拦截的事件的子集中的每个拦截的事件生成多个限制性规则(如果为真,正常;如果为假,异常)。因此,在第一示例,正常事件仅是与学习期间发生的事件相同的事件。
作为第二示例,在操作504中,安全管理器可以基于从储存库检索的恶意代码简档来生成多个许可性规则(如果为真,异常;如果为假,正常)。因此,在第二示例中,正常事件是不匹配特定恶意代码简档的任何事件。
作为第三示例,在操作504中,安全管理器可以生成多个限制性规则和多个许可性规则。因此,在第三示例中,与给定恶意代码简档匹配的任何事件被认为是异常的(根据许可性规则),并且未能与所学习的事件类型的条件匹配的一些事件类型(例如,文件系统安装进程)被认为是异常的(根据限制性规则)。
在操作506中,安全管理器将相应的规则与相应的安全策略相关联。多个安全策略可与每个规则相关联,并且多个规则可与每个安全策略相关联。安全策略可以包括与特定执行环境或执行环境的特定子集相关的规则。作为第一示例,安全策略可存储用于特定应用、操作系统和机器类型的安全规则。作为第二示例,第一安全策略可以存储与特定应用相关的规则,第二安全策略可以存储与关联于特定应用的特定操作系统相关的规则,该特定操作系统,而第三安全策略可以存储与关联于操作系统和/或特定应用的机器类型相关的规则。在第二示例的情况下,在一些实施例中,操作506生成存储安全策略的层次的有向无环图(例如,图3的DAG300)。
在操作508中,安全管理器将相应的安全策略与相应的机器相关联。在一些实施例中,操作508在安全策略数据库中生成机器表,诸如图2的机器表214。多个安全策略可与每一机器相关联,并且多个机器可与每一安全策略相关联。机器可以是各种类型的硬件资源(例如,服务器、台式机、膝上型计算机、移动电话等),并且在一些实施例中,机器可以包括虚拟机。在一些实施例中,机器被称为客户端或客户端机器。
在操作510中,安全管理器将所生成的规则、策略和关联存储在诸如图1的安全策略数据库104或图2的安全策略数据库200之类的安全策略数据库中。
图6示出了根据本公开的一些实施例的用于实施安全策略的示例方法的流程图。在一些实施例中,方法600可由安全代理(例如,图1的安全代理114)执行。在一些实施例中,方法600通过由通信地耦合到计算机可读存储介质的处理器执行存储在计算机可读存储介质中的指令来执行。
在操作602中,安全代理检测第一执行环境。在一些实施例中,操作602通过拦截与第一执行环境相关联的一个或多个事件并基于所拦截的事件来标识第一执行环境来检测第一执行环境。在一些实施例中,操作602提取与第一执行环境相关联的一个或多个通用唯一标识符(UUID)或全局唯一标识符(GUID),以便标识第一执行环境。
在操作604中,安全代理响应于检测到第一执行环境而检索一个或多个安全策略。在一些实施例中,从本地存储装置检索一个或多个安全策略。在一些实施例中,从安全策略数据库检索一个或多个安全策略。
在操作606中,安全代理可以将一个或多个参数代入所检索的安全策略中。替代参数可以是从第一执行环境检索的参数,并且与和检索的安全策略相关联的各种规则(例如,动态规则)的条件相关联。因此,在操作606中,安全代理通过将来自第一执行环境的参数代入一个或多个动态规则,将动态规则变换成能够在第一执行环境中实施的静态规则。例如,在包括虚拟机实例的执行环境中,可替换参数可与包括虚拟机的各种其它硬件资源的资源位置(例如,地址)相关。
在一些实施例中,在操作606中,安全代理使用来自第一执行环境的参数来标识规则和/或安全策略的有向无环图(DAG)中的适当路径,并从所标识的适当路径实施规则和/或安全策略。
在操作608中,安全代理拦截与第一执行环境相关联的事件的第一子集。在一些实施例中,事件的第一子集由检索到的安全策略定义。在一些实施例中,事件的第一子集可以是与比由执行环境生成的所有事件的平均比率更高的恶意攻击简档比率相关联的事件。在一些实施例中,事件的第一子集可包括由第一执行环境在第一时间间隔内生成的事件总数的少于50%、10%或1%。
在操作610中,安全代理基于至少一个拦截的事件和检索的安全策略的至少一个规则来识别异常事件。在各种实施例中,基于被拦截事件满足安全规则的所有条件(例如,生成真值的许可性安全规则),或者在替代实施例中,基于被拦截事件未能满足安全规则的一个或多个条件(例如,生成假值的限制性安全规则),被拦截事件可以被识别为异常事件。
在操作612中,安全代理可以响应于识别异常事件而执行缓解动作。缓解动作可以是例如生成警报并将警报传达给管理员(例如,安全管理员)。作为另一示例,缓解动作可以是终止与异常事件相关联的进程。
图7示出了根据本公开的一些实施例的用于更新安全策略的示例方法的流程图。根据一些实施例,方法700可由安全代理(例如,图1的安全代理114)执行。在一些实施例中,方法700通过由通信地耦合到计算机可读存储介质的处理器执行存储在计算机可读存储介质中的指令来执行。
在操作702中,安全代理通过拦截由一个或多个执行环境生成的某些事件来实施一个或多个安全策略(例如,如关于图6的操作608所描述的)。
在操作704,安全代理识别执行与执行环境和/或安全策略相关的授权更新的进程。操作704可以基于所执行的工具或命令来识别授权的服务,所述工具或命令例如但不限于Windows更新服务、"apt-get"命令(例如,如在高级打包工具(APT)软件包中使用的)或"yum"命令(例如,如在一些Linux系统中使用的Yellowdog更新器修改器)。例如,操作704可以拦截事件,并且确定该事件包含指示授权更新进程的命令和/或其他参数。
在操作706中,安全代理进入有限学习阶段。有限学习阶段可被配置成观察由执行环境生成的与授权更新相关联的事件达某一时间区间(例如,1小时、12小时、24小时、1周等)。在有限学习阶段期间,安全代理可以减少或消除安全策略或安全策略的子集的实施。在一个示例中,安全代理在有限学习阶段的持续时间内不实施安全策略或安全策略的子集。在另一示例中,安全代理在有限学习阶段期间生成由所识别的异常触发的警报,但是不终止与授权更新相关联的任何进程。
在操作708中,安全代理通过更新与安全策略相关联的并且基于有限学习阶段更新的任何规则、条件和动作来更新安全策略。在一些实施例中,操作708还包括向安全管理器提供更新的安全策略。在操作710,安全代理实施更新的安全策略。
图8示出了根据本公开的一些实施例的安全管理器800的框图。在一些实施例中,安全管理器800与图1的安全管理器102和/或安全代理114一致。安全管理器800可以与一个或多个客户端机器(例如,图1的节点106、108和110)接口,以提供、更新和管理客户端机器的安全系统。在各种实施例中,安全管理器800可以执行图4-7中描述的任何方法,在一些实施例中,安全管理器800向客户端机器提供用于图4-7中描述的一个或多个方法中的指令,使得客户端机器基于由安全管理器800提供的指令来执行该方法。在一些实施例中,安全管理器800还在安全管理器和安全代理存储在同一机器中的情况下用作安全代理(例如,图1的安全代理114)。
安全管理器800可以包括存储器825、存储装置830、互连(例如,总线)820、一个或多个CPU805(在此也称为处理器805)、I/O设备接口810、I/O设备812和网络接口815。
每个CPU805检索并执行存储在存储器825或存储装置830中的编程指令。互连820用于在CPU805、I/O设备接口810、存储装置830、网络接口815和存储器825之间移动数据,例如编程指令。互连820可以使用一个或多个总线来实现。在各种实施例中,CPU805可以是单个CPU、多个CPU、或具有多个处理核的单个CPU。在一些实施例中,CPU805可以是数字信号处理器(DSP)。通常包括存储器825以表示随机存取存储器(例如,静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)或闪存)。通常包括存储器830以表示非易失性存储器,例如硬盘驱动器、固态装置(SSD)、可移除存储卡、光学存储器或快闪存储器装置。在一个备选实施例中,存储装置830可由存储区域网络(SAN)装置、云或经由I/O装置接口810连接到安全管理器800或经由网络接口815连接到网络850的其它装置代替。
在一些实施例中,存储器825存储指令860,并且存储装置830存储安全策略832、拦截的事件834和警报836。然而,在各种实施例中,指令860、安全策略832、拦截的事件834和警报836部分地存储在存储器825中并且部分地存储在存储装置830中,或者它们完全存储在存储器825中或者完全存储在存储装置830中,或者它们经由网络接口815通过网络850被访问。
安全策略832可以包括存储在安全策略数据库中的一个或多个安全策略。例如,安全策略832可以与图1的安全策略数据库104和/或图2的安全策略数据库200一致。安全策略832包括至少一个安全策略,该安全策略包括基于至少一个条件的至少一个规则。安全策略832可以被提供给安全管理器800,或者安全策略832可以基于学习指令862的执行而被学习(例如,如关于图5所描述的)。
拦截的事件834可以包括由执行环境生成并由实施安全策略的安全代理拦截以便与安全策略的一个或多个规则进行比较的事件子集。在一些实施例中,拦截的事件834与图1的事件118、126和/或134一致。
警报836包括响应于检测到异常行为而生成并且被提供给用户接口(例如,I/O设备812)的警报。警报836可包括警报类别(例如,紧急、关键、一般或信息性)、与警报相关的客户端机器、节点和/或执行环境的标识、与警报相关联的进程的名称、生成与警报相关联的进程的程序的名称、时间和/或推荐的缓解动作,以及其他信息。
指令860是处理器可执行指令,包括学习指令862、安全代理指令864和安全管理指令866。学习指令862可以由安全管理器800执行以使用诸如参照图5描述的方法500的方法来生成安全策略832。
安全代理指令864可以被配置成执行诸如图6的方法600和图7的方法700之类的方法,在一些实施例中,安全代理指令864被配置成将所拦截的事件与一个或多个安全策略进行比较,并且根据一个或多个安全策略生成指示异常行为的警报。在一些实施例中,安全代理指令864被配置为向安全管理器800发送更新的安全策略、拦截的事件和/或警报,以便安全管理器800将其存储在安全策略832、拦截的事件834和/或警报836中。在一些实施例中,安全管理器800既用作安全管理器800又用作安全代理,并且直接执行安全代理指令864,而不是经由网络850向客户端机器提供安全代理指令864。
安全管理指令866可以由安全管理器800执行,以使用诸如参照图4描述的方法400的方法来管理一个或多个通信地耦合的客户端机器或节点的安全性,在一些实施例中,安全管理器800执行安全管理指令866以管理分布到经由网络850连接的数百或数千个客户端机器的安全代理的安全性。
在各种实施例中,I/O设备812可以包括能够呈现信息和接收输入的接口。例如,I/O设备812可以向与安全管理器800交互的用户呈现信息(例如,警报836)并且从用户接收输入(例如,所选择的缓解动作)。
安全管理器800经由网络接口815连接到网络850。在一些实施例中,网络850与图1的网络150一致。
首先应当理解,尽管本公开包括关于云计算的详细描述,但其中记载的技术方案的实现却不限于云计算环境,而是能够结合现在已知或以后开发的任何其它类型的计算环境而实现。
云计算是一种服务交付模式,用于对共享的可配置计算资源池进行方便、按需的网络访问。可配置计算资源是能够以最小的管理成本或与服务提供者进行最少的交互就能快速部署和释放的资源,例如可以是网络、网络带宽、服务器、处理、内存、存储、应用、虚拟机和服务。这种云模式可以包括至少五个特征、至少三个服务模型和至少四个部署模型。
特征包括:
按需自助式服务:云的消费者在无需与服务提供者进行人为交互的情况下能够单方面自动地按需部署诸如服务器时间和网络存储等的计算能力。
广泛的网络接入:计算能力可以通过标准机制在网络上获取,这种标准机制促进了通过不同种类的瘦客户机平台或厚客户机平台(例如移动电话、膝上型电脑、个人数字助理PDA)对云的使用。
资源池:提供者的计算资源被归入资源池并通过多租户(multi-tenant)模式服务于多重消费者,其中按需将不同的实体资源和虚拟资源动态地分配和再分配。一般情况下,消费者不能控制或甚至并不知晓所提供的资源的确切位置,但可以在较高抽象程度上指定位置(例如国家、州或数据中心),因此具有位置无关性。
迅速弹性:能够迅速、有弹性地(有时是自动地)部署计算能力,以实现快速扩展,并且能迅速释放来快速缩小。在消费者看来,用于部署的可用计算能力往往显得是无限的,并能在任意时候都能获取任意数量的计算能力。
可测量的服务:云系统通过利用适于服务类型(例如存储、处理、带宽和活跃用户帐号)的某种抽象程度的计量能力,自动地控制和优化资源效用。可以监测、控制和报告资源使用情况,为服务提供者和消费者双方提供透明度。
服务模型如下:
软件即服务(SaaS):向消费者提供的能力是使用提供者在云基础架构上运行的应用。可以通过诸如网络浏览器的瘦客户机接口(例如基于网络的电子邮件)从各种客户机设备访问应用。除了有限的特定于用户的应用配置设置外,消费者既不管理也不控制包括网络、服务器、操作系统、存储、乃至单个应用能力等的底层云基础架构。
平台即服务(PaaS):向消费者提供的能力是在云基础架构上部署消费者创建或获得的应用,这些应用利用提供者支持的程序设计语言和工具创建。消费者既不管理也不控制包括网络、服务器、操作系统或存储的底层云基础架构,但对其部署的应用具有控制权,对应用托管环境配置可能也具有控制权。
基础架构即服务(IaaS):向消费者提供的能力是消费者能够在其中部署并运行包括操作系统和应用的任意软件的处理、存储、网络和其他基础计算资源。消费者既不管理也不控制底层的云基础架构,但是对操作系统、存储和其部署的应用具有控制权,对选择的网络组件(例如主机防火墙)可能具有有限的控制权。
部署模型如下:
私有云:云基础架构单独为某个组织运行。云基础架构可以由该组织或第三方管理并且可以存在于该组织内部或外部。
共同体云:云基础架构被若干组织共享并支持有共同利害关系(例如任务使命、安全要求、政策和合规考虑)的特定共同体。共同体云可以由共同体内的多个组织或第三方管理并且可以存在于该共同体内部或外部。
公共云:云基础架构向公众或大型产业群提供并由出售云服务的组织拥有。
混合云:云基础架构由两个或更多部署模型的云(私有云、共同体云或公共云)组成,这些云依然是独特的实体,但是通过使数据和应用能够移植的标准化技术或私有技术(例如用于云之间的负载平衡的云突发流量分担技术)绑定在一起。
云计算环境是面向服务的,特点集中在无状态性、低耦合性、模块性和语意的互操作性。云计算的核心是包含互连节点网络的基础架构。
现在参考图9,其中显示了示例性的云计算环境50。如图所示,云计算环境50包括云计算消费者使用的本地计算设备可以与其相通信的一个或者多个云计算节点10,本地计算设备例如可以是个人数字助理(PDA)或移动电话54A,台式电脑54B、笔记本电脑54C和/或汽车计算机系统54N。云计算节点10之间可以相互通信。可以在包括但不限于如上所述的私有云、共同体云、公共云或混合云或者它们的组合的一个或者多个网络中将云计算节点10进行物理或虚拟分组(图中未显示)。这样,云的消费者无需在本地计算设备上维护资源就能请求云计算环境50提供的基础架构即服务(IaaS)、平台即服务(PaaS)和/或软件即服务(SaaS)。应当理解,图2显示的各类计算设备54A-N仅仅是示意性的,云计算节点10以及云计算环境50可以与任意类型网络上和/或网络可寻址连接的任意类型的计算设备(例如使用网络浏览器)通信。
现在参考图10,其中显示了云计算环境50(图9)提供的一组功能抽象层。首先应当理解,图10所示的组件、层以及功能都仅仅是示意性的,本发明的实施例不限于此。如图3所示,提供下列层和对应功能:
硬件和软件层60包括硬件和软件组件。硬件组件的例子包括:主机61;基于RISC(精简指令集计算机)体系结构的服务器62;服务器63;刀片服务器64;存储设备65;网络和网络组件66。软件组件的例子包括:网络应用服务器软件67以及数据库软件68。虚拟层70提供一个抽象层,该层可以提供下列虚拟实体的例子:虚拟服务器71、虚拟存储72、虚拟网络73(包括虚拟私有网络)、虚拟应用和操作系统74,以及虚拟客户端75。
在一个示例中,管理层80可以提供下述功能:资源供应功能81:提供用于在云计算环境中执行任务的计算资源和其它资源的动态获取;计量和定价功能82:在云计算环境内对资源的使用进行成本跟踪,并为此提供帐单和发票。在一个例子中,该资源可以包括应用软件许可。安全功能:为云的消费者和任务提供身份认证,为数据和其它资源提供保护。用户门户功能83:为消费者和系统管理员提供对云计算环境的访问。服务水平管理功能84:提供云计算资源的分配和管理,以满足必需的服务水平。服务水平协议(SLA)计划和履行功能85:为根据SLA预测的对云计算资源未来需求提供预先安排和供应。
工作负载层90提供云计算环境可能实现的功能的示例。在该层中,可提供的工作负载或功能的示例包括:地图绘制与导航91;软件开发及生命周期管理92;虚拟教室的教学提供93;数据分析处理94;交易处理95;以及安全管理96。
在任何可能的技术细节结合层面,本发明可以是系统、方法和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于使处理器实现本发明的各个方面的计算机可读程序指令。
计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是――但不限于――电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。
这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
用于执行本发明操作的计算机程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、集成电路配置数据或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如Smalltalk、C++等,以及过程式编程语言—诸如“C”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA),该电子电路可以执行计算机可读程序指令,从而实现本发明的各个方面。
这里参照根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本发明的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
附图中的流程图和框图显示了根据本发明的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
虽然可以理解,可以通过经由加载诸如CD、DVD等的存储介质而将过程软件(例如,存储在图8的指令860中的任何指令和/或被配置为执行关于图4-7描述的方法的任何子集的任何软件)直接手动加载到客户端、服务器和代理计算机中来部署过程软件,但是也可以通过将过程软件发送到中央服务器或一组中央服务器而将过程软件自动或半自动地部署到计算机系统中。然后,将处理软件下载到将执行处理软件的客户端计算机中。或者,处理软件经由电子邮件直接发送到客户端系统。然后,通过执行将所述处理软件分离到目录中的一组程序指令,将所述处理软件分离到目录中或加载到目录中。另一种选择是将处理软件直接发送到客户端计算机硬盘驱动器上的目录。当存在代理服务器时,该过程将选择代理服务器代码,确定将代理服务器的代码放置在哪些计算机上,传送代理服务器代码,然后将代理服务器代码安装在代理计算机上。处理软件将被发送到代理服务器,然后它将被存储在代理服务器上。
本发明的实施例也可以作为与客户公司、非盈利组织、政府实体、内部组织结构等的服务约定的一部分来提供。这些实施例可以包括配置计算机系统以执行,以及部署实现本文描述的方法中的一些或全部的软件、硬件和web服务。这些实施例还可以包括分析客户的操作、响应于分析创建推荐、构建实现推荐子集的系统、将系统集成到现有过程和基础设施中、计量系统的使用、向系统的用户分配费用、以及开账单、开票或者以其他方式接收对系统的使用的支付。

Claims (21)

1.一种用于管理入侵检测系统的计算机实现的方法,该方法包括:
由客户端机器的安全代理拦截由利用所述客户端机器的第一执行环境生成的多个事件的第一子集,其中所述多个事件的所述第一子集根据第一学习的安全策略被拦截,其中所述第一学习的安全策略基于观察所述第一执行环境的操作而被学习,其中所述第一子集包括所述多个事件中的少于一半的事件,并且其中所述事件的第一子集中的至少一个事件是与恶意代码简档相关联的事件的类型;
由所述安全代理基于针对所述第一执行环境的所述第一学习的安全策略,基于将至少一个拦截的事件与所述第一学习的安全策略的至少一个规则进行比较,来识别异常;以及
响应于识别出所述异常,由所述安全代理执行缓解动作。
2.根据权利要求1所述的方法,还包括:
响应于识别出利用客户端机器的第一执行环境,由所述客户端机器的安全代理从安全策略数据库检索第一学习的安全策略;
其中,所述安全策略数据库包括多个学习的安全策略,其中,每个安全策略包括至少一个安全规则,并且其中,每个安全规则包括至少一个条件。
3.根据权利要求2所述的方法,其中,所述安全策略数据库包括安全规则表、安全策略表以及客户端机器表,其中,多个安全规则与至少一个安全策略相关联,其中,多个安全策略与至少一个安全规则相关联,其中,多个客户端机器与至少一个安全策略相关联,并且其中,多个安全策略与至少一个客户端机器相关联。
4.根据权利要求3所述的方法,还包括:
响应于确定所述客户端机器与所述安全策略数据库中的所述第一学习的安全策略和第二学习的安全策略相关联,由所述安全代理从所述安全策略数据库检索至少第二学习的安全策略。
5.根据前述权利要求中任一项所述的方法,其中,通过拦截由所述第一执行环境的仿真生成的仿真事件的子集并且基于所拦截的仿真事件的子集生成多个规则来学习所述第一学习的安全策略。
6.一种用于管理入侵检测系统的计算机实现的方法,该方法包括:
基于与合成的第一执行环境相关联的事件的子集,生成包含第一学习的安全策略的多个安全策略,其中与所述第一学习的安全策略相关联的至少一个规则是基于与恶意代码简档相关联的事件的类型;
将所述多个安全策略存储在安全策略数据库中;
向多个客户端提供至少所述第一学习的安全策略,其中所述第一学习的安全策略与由所述多个客户端部署的第一执行环境相关,其中所述多个客户端被配置为实施所述第一学习的安全策略;以及
从第一客户端接收基于由部署在所述第一客户端上的第一执行环境生成的并且由所述第一客户端根据所述第一学习的安全策略拦截的至少一个拦截的事件来识别异常的警报。
7.根据权利要求6所述的方法,其中所述多个安全策略被存储在有向无环图(DAG)中,所述有向无环图具有包括规则的安全策略作为节点,并且具有指示节点之间的关系的所述安全策略之间的连接作为边。
8.根据权利要求7所述的方法,其中提供所述第一学习的安全策略还包括:
响应于确定与第二学习的安全策略相对应的第二节点与与所述第一学习的安全策略相对应的第一节点共享所述DAG中的边,提供所述第二学习的安全策略。
9.根据权利要求6至8中任一项所述的方法,其中,生成多个安全策略还包括:
在第一时间间隔内拦截来自所述合成的第一执行环境的事件的第一子集;
基于来自所述合成的第一执行环境的所述事件的第一子集生成定义正常和异常行为的多个规则,其中相应规则与一个或多个条件相关联;
将所述多个规则作为用于所述第一执行环境的所述第一学习的安全策略存储在所述安全策略数据库中;以及
将所述第一学习的安全策略与所述多个客户端相关联。
10.根据权利要求6至9中任一项所述的方法,其中,所述第一学习的安全策略被配置为由所述多个客户端中的每个客户端基于与部署在每个客户端上的相应的第一执行环境相关联的相应参数来动态地改变。
11.一种用于管理入侵检测系统的计算机系统,该系统包括:
处理器;
有形的计算机可读存储器,用于存储程序指令,当所述程序指令由所述处理器执行时,执行以下步骤:
拦截由利用客户端机器的第一执行环境生成的多个事件的第一子集,其中所述多个事件的所述第一子集由第一学习的安全策略定义,其中所述第一学习的安全策略基于观察所述第一执行环境的操作而被学习,其中所述第一子集包括所述多个事件的少于一半的事件,并且其中所述事件的所述第一子集中的至少一个事件是与恶意代码简档相关联的事件的类型;
基于针对所述第一执行环境的所述第一学习的安全策略,基于将至少一个拦截的事件与所述第一学习的安全策略的至少一个规则进行比较,来识别异常;以及
响应于识别出所述异常而执行缓解动作。
12.根据权利要求11所述的计算机系统,其中,所述第一学习的安全策略包括独立于所述第一执行环境的至少一个静态规则和依赖于在所述第一执行环境中配置的至少一个参数的至少一个动态规则,其中,所述处理器还被配置为执行以下步骤:
在所述第一学习的安全策略的所述至少一个动态规则中替换在所述第一执行环境中配置的至少一个参数。
13.根据权利要求11或12所述的计算机系统,其中被配置为识别异常的所述处理器还被配置为执行以下步骤:
将所述第一学习的安全策略的第一规则的多个条件与所述至少一个拦截的事件进行比较,其中所述多个条件与所述至少一个拦截的事件的进程名、命令行和文件摘要有关。
14.根据权利要求11至13中任一项所述的计算机系统,其中,所述第一学习的安全策略中的至少一个规则与被配置为生成真值或假值的一组条件相关联,其中,真值被配置为执行缓解动作,其中,假值被配置为迭代到下一个拦截的事件。
15.根据权利要求11至13中任一项所述的计算机系统,其中,所述第一学习的安全策略中的至少一个规则与被配置为生成真值或假值的一组条件相关联,其中,假值被配置为执行缓解动作,其中,真值被配置为迭代到下一个拦截的事件。
16.一种用于管理入侵检测系统的系统,包括:
安全管理器,其包括处理器、存储处理器可执行指令的存储器、安全策略数据库和接口,其中所述安全管理器通信地耦合到多个节点;
其中,所述安全管理器被配置为:
基于与合成的第一执行环境相关联的少数事件而生成包含第一学习的安全策略的多个安全策略,其中与所述第一学习的安全策略相关联的至少一个规则是基于与恶意代码简档相关联的事件的类型;
将所述多个安全策略存储在所述安全策略数据库中;
向所述多个节点的子集提供相应的安全代理和至少所述第一学习的安全策略,其中所述节点的子集被配置为托管所述第一执行环境,其中相应的安全代理被配置为在所述节点的子集的相应节点上实施至少所述第一学习的安全策略;以及
从提供给第一节点的第一安全代理接收基于由利用所述第一节点的所述第一执行环境生成的并且由所述第一安全代理根据所述第一学习的安全策略拦截的至少一个拦截的事件来识别异常的警报。
17.根据权利要求16所述的系统,其中,所述安全管理器还被配置为:
响应于向所述接口呈现所述警报并且从所述接口接收输入,向所述第一安全代理发送缓解动作,其中所述第一安全代理被配置为实现所述缓解动作。
18.根据权利要求16或17所述的系统,其中,所述安全管理器被配置为通过执行以下步骤来生成多个安全策略:
在第一时间间隔内拦截来自合成的第一执行环境的事件的第一子集;
基于所述事件的第一子集生成定义正常和异常行为的多个规则,其中相应规则与一个或多个条件相关联;
将所述多个规则作为用于所述第一执行环境的所述第一学习的安全策略存储在所述安全策略数据库中;以及
基于所述节点子集被配置为托管所述第一执行环境,将所述第一学习的安全策略与所述节点子集相关联。
19.根据权利要求16至18中任一项所述的系统,其中,所述安全策略数据库包括安全规则表、安全策略表以及节点表,其中,多个安全规则与至少一个安全策略相关联,其中,多个安全策略与至少一个安全规则相关联,其中,多个节点与至少一个安全策略相关联,并且其中,多个安全策略与至少一个节点相关联。
20.根据权利要求16至19中任一项所述的系统,其中,所述安全管理器还被配置为执行以下步骤:
从所述第一安全代理接收更新的第一学习的安全策略,其中所述第一安全代理被配置为响应于检测到与所述第一执行环境相关联的授权更新而更新所述第一学习的安全策略;
响应于接收到所述更新的第一学习的安全策略,更新所述安全策略数据库中的所述第一学习的安全策略;以及
向提供给所述节点子集中的第二节点的至少第二安全代理提供所述更新的第一学习的安全策略。
21.一种计算机可读存储介质,其上存储有指令,所述指令可由处理器执行以使所述处理器实施根据权利要求1-10中任意一项所述的方法。
CN201880046810.7A 2017-07-26 2018-07-24 数据处理中的入侵检测和缓解 Active CN110915182B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/660,016 2017-07-26
US15/660,016 US10560487B2 (en) 2017-07-26 2017-07-26 Intrusion detection and mitigation in data processing
PCT/IB2018/055503 WO2019021180A1 (en) 2017-07-26 2018-07-24 DETECTION AND MITIGATION OF INTRUSION IN DATA PROCESSING

Publications (2)

Publication Number Publication Date
CN110915182A CN110915182A (zh) 2020-03-24
CN110915182B true CN110915182B (zh) 2022-02-18

Family

ID=65039163

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201880046810.7A Active CN110915182B (zh) 2017-07-26 2018-07-24 数据处理中的入侵检测和缓解

Country Status (6)

Country Link
US (3) US10560487B2 (zh)
JP (1) JP6960037B2 (zh)
CN (1) CN110915182B (zh)
DE (1) DE112018003006T5 (zh)
GB (1) GB2579309B (zh)
WO (1) WO2019021180A1 (zh)

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU2016204072B2 (en) * 2015-06-17 2017-08-03 Accenture Global Services Limited Event anomaly analysis and prediction
US10560487B2 (en) 2017-07-26 2020-02-11 International Business Machines Corporation Intrusion detection and mitigation in data processing
US10528733B2 (en) * 2017-08-31 2020-01-07 International Business Machines Corporation Integrity, theft protection and cyber deception using a deception-based filesystem
CN108429746B (zh) * 2018-03-06 2020-01-03 华中科技大学 一种面向云租户的隐私数据保护方法及系统
US10951633B1 (en) * 2018-03-30 2021-03-16 Citigroup Technology, Inc. Serverless auto-remediating security systems and methods
US10867044B2 (en) * 2018-05-30 2020-12-15 AppOmni, Inc. Automatic computer system change monitoring and security gap detection system
US11017085B2 (en) * 2018-07-06 2021-05-25 Percepio AB Methods and nodes for anomaly detection in computer applications
US10949532B2 (en) * 2018-12-13 2021-03-16 Beijing Jingdong Shangke Information Technology Co., Ltd. System and method for monitoring file integrity of multiple containers using one agent
RU2739865C2 (ru) * 2018-12-28 2020-12-29 Акционерное общество "Лаборатория Касперского" Система и способ обнаружения вредоносного файла
RU2747474C2 (ru) * 2019-03-29 2021-05-05 Акционерное общество "Лаборатория Касперского" Способ асинхронного выбора совместимых продуктов
US11481486B2 (en) 2019-03-27 2022-10-25 Webroot Inc. Behavioral threat detection engine
US11080394B2 (en) 2019-03-27 2021-08-03 Webroot Inc. Behavioral threat detection virtual machine
US11314863B2 (en) * 2019-03-27 2022-04-26 Webroot, Inc. Behavioral threat detection definition and compilation
US11080391B2 (en) 2019-03-27 2021-08-03 Webroot Inc. Behavioral threat detection definition and compilation
US11588856B2 (en) 2020-05-08 2023-02-21 Rockwell Automation Technologies, Inc. Automatic endpoint security policy assignment by zero-touch enrollment
US11575571B2 (en) * 2020-05-08 2023-02-07 Rockwell Automation Technologies, Inc. Centralized security event generation policy
US11601449B2 (en) * 2020-07-21 2023-03-07 Absolute Software Corporation Event evaluation pipeline for alert engine
US11601457B2 (en) 2020-08-26 2023-03-07 Bank Of America Corporation Network traffic correlation engine
US11475151B2 (en) * 2020-09-01 2022-10-18 International Business Machines Corporation Security policy management for database
US11775639B2 (en) * 2020-10-23 2023-10-03 Sophos Limited File integrity monitoring
CN114462038B (zh) * 2021-12-31 2023-03-24 北京亿赛通科技发展有限责任公司 安全防护方法、装置、设备及计算机可读存储介质
US20230269256A1 (en) * 2022-02-21 2023-08-24 Palo Alto Networks (Israel Analytics) Ltd. Agent prevention augmentation based on organizational learning
CN116132194B (zh) * 2023-03-24 2023-06-27 杭州海康威视数字技术股份有限公司 嵌入式设备未知攻击入侵检测防御方法、系统及装置

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2706652B1 (fr) * 1993-06-09 1995-08-18 Alsthom Cge Alcatel Dispositif de détection d'intrusions et d'usagers suspects pour ensemble informatique et système de sécurité comportant un tel dispositif.
US6530024B1 (en) * 1998-11-20 2003-03-04 Centrax Corporation Adaptive feedback security system and method
US7134141B2 (en) 2000-06-12 2006-11-07 Hewlett-Packard Development Company, L.P. System and method for host and network based intrusion detection and response
US20040015719A1 (en) * 2002-07-16 2004-01-22 Dae-Hyung Lee Intelligent security engine and intelligent and integrated security system using the same
US20040024864A1 (en) 2002-07-31 2004-02-05 Porras Phillip Andrew User, process, and application tracking in an intrusion detection system
JP2004094401A (ja) * 2002-08-29 2004-03-25 Ricoh Co Ltd セキュリティポリシー配布システム、セキュリティポリシーに基づき動作する装置、セキュリティポリシー配布方法、セキュリティポリシー配布プログラム、及びプログラムを記録した記録媒体
US7328259B2 (en) 2002-11-08 2008-02-05 Symantec Operating Corporation Systems and methods for policy-based application management
US7779113B1 (en) 2002-11-25 2010-08-17 Oracle International Corporation Audit management system for networks
US10110632B2 (en) 2003-03-31 2018-10-23 Intel Corporation Methods and systems for managing security policies
US7246156B2 (en) 2003-06-09 2007-07-17 Industrial Defender, Inc. Method and computer program product for monitoring an industrial network
US7421417B2 (en) * 2003-08-28 2008-09-02 Wisconsin Alumni Research Foundation Input feature and kernel selection for support vector machine classification
US20070107052A1 (en) * 2003-12-17 2007-05-10 Gianluca Cangini Method and apparatus for monitoring operation of processing systems, related network and computer program product therefor
US7647622B1 (en) * 2005-04-22 2010-01-12 Symantec Corporation Dynamic security policy through use of empirical security events
CN100589425C (zh) * 2007-07-13 2010-02-10 信息产业部电信传输研究所 公共安全防护系统和公共安全防护方法
US8286243B2 (en) 2007-10-23 2012-10-09 International Business Machines Corporation Blocking intrusion attacks at an offending host
AU2012236739A1 (en) * 2011-03-28 2013-10-03 Mcafee, Inc. System and method for virtual machine monitor based anti-malware security
US9548962B2 (en) * 2012-05-11 2017-01-17 Alcatel Lucent Apparatus and method for providing a fluid security layer
US9509708B2 (en) 2014-12-02 2016-11-29 Wontok Inc. Security information and event management
CN105307175A (zh) * 2015-09-22 2016-02-03 绍兴文理学院 一种无线传感网入侵检测代理启动策略的选择方法
JP6827266B2 (ja) 2016-01-15 2021-02-10 富士通株式会社 検知プログラム、検知方法および検知装置
US9792562B1 (en) * 2016-04-21 2017-10-17 Sas Institute Inc. Event prediction and object recognition system
CN106790256B (zh) * 2017-01-24 2018-12-21 浙江航芯科技有限公司 用于危险主机监测的主动机器学习系统
US10560487B2 (en) 2017-07-26 2020-02-11 International Business Machines Corporation Intrusion detection and mitigation in data processing

Also Published As

Publication number Publication date
GB2579309A (en) 2020-06-17
GB202001969D0 (en) 2020-04-01
JP6960037B2 (ja) 2021-11-05
US20210120045A1 (en) 2021-04-22
GB2579309B (en) 2020-11-18
WO2019021180A1 (en) 2019-01-31
US20190036978A1 (en) 2019-01-31
US11652852B2 (en) 2023-05-16
US20200076861A1 (en) 2020-03-05
CN110915182A (zh) 2020-03-24
DE112018003006T5 (de) 2020-03-05
US10965717B2 (en) 2021-03-30
US10560487B2 (en) 2020-02-11
JP2020528609A (ja) 2020-09-24

Similar Documents

Publication Publication Date Title
CN110915182B (zh) 数据处理中的入侵检测和缓解
US10664592B2 (en) Method and system to securely run applications using containers
US10831933B2 (en) Container update system
US10534911B2 (en) Security within a software-defined infrastructure
US10614233B2 (en) Managing access to documents with a file monitor
US9600320B2 (en) Mitigation of virtual machine security breaches
US10979452B2 (en) Blockchain-based malware containment in a network resource
US10579814B2 (en) Monitoring and preventing unauthorized data access
US11675914B2 (en) Secure information storage
US11263033B2 (en) Usage checks for code running within a secure sub-environment of a virtual machine
US11750652B2 (en) Generating false data for suspicious users
US9930070B2 (en) Modifying security policies of related resources
US20190251255A1 (en) Malicious code avoidance using transparent containers
US11113096B2 (en) Permissions for a cloud environment application programming interface
US11171995B2 (en) Identifying and mitigating risks of cryptographic obsolescence
WO2023020067A1 (en) Identifying credential attacks on encrypted network traffic
US20230088524A1 (en) Secrets swapping in code
US20220156375A1 (en) Detection of repeated security events related to removable media
US20230128474A1 (en) Gathering universal serial bus threat intelligence

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant