CN112422484B - 确定用于处理安全事件的剧本的方法、装置及存储介质 - Google Patents

确定用于处理安全事件的剧本的方法、装置及存储介质 Download PDF

Info

Publication number
CN112422484B
CN112422484B CN201910783314.6A CN201910783314A CN112422484B CN 112422484 B CN112422484 B CN 112422484B CN 201910783314 A CN201910783314 A CN 201910783314A CN 112422484 B CN112422484 B CN 112422484B
Authority
CN
China
Prior art keywords
security event
historical
event
determining
security
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
CN201910783314.6A
Other languages
English (en)
Other versions
CN112422484A (zh
Inventor
邢超
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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201910783314.6A priority Critical patent/CN112422484B/zh
Publication of CN112422484A publication Critical patent/CN112422484A/zh
Application granted granted Critical
Publication of CN112422484B publication Critical patent/CN112422484B/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/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/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1425Traffic logging, e.g. anomaly 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
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Alarm Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请公开了一种确定用于处理安全事件的剧本的方法、装置及存储介质,属于互联网安全技术领域。该方法包括:查找与待处理的安全事件的类型绑定的剧本;如果没有查找到,从案例数据库中确定与该安全事件的类型匹配的案例,从与该安全事件的类型匹配的案例包括的一个或多个剧本中确定用于处理该安全事件的剧本。由于案例数据库中每个案例用于指示针对属于同一个类型的历史安全事件执行的剧本,以及执行剧本后的处理结果,因此,对于当前待处理的安全事件,即使没有查找到与类型绑定的剧本,仍然可以通过案例数据库确定用于处理该安全事件的剧本,相对于需要通过人工方式编排针对该安全事件的剧本,本申请提供的方法显然可以提高获取剧本的效率。

Description

确定用于处理安全事件的剧本的方法、装置及存储介质
技术领域
本申请涉及互联网安全技术领域,特别涉及一种确定用于处理安全事件的剧本的方法、装置及存储介质。
背景技术
随着互联网安全技术的发展,安全编排、自动化和响应(securityorchestration、automation、and response,SOAR)系统被越来越广泛地应用于处理安全事件。当将安全事件输入至SOAR系统之后,SOAR系统分析该安全事件,确定一个剧本(palybook)。该剧本包括一系列阻断策略。当SOAR系统执行该剧本时,可以控制与SOAR系统连接的多个网络安全设备执行这一系列阻断策略,以实现对该安全事件的处理。
当前,针对不同的安全事件类型,通过人工方式编排针对每个安全事件类型的剧本,得到安全事件类型与剧本的对应关系,然后将该对应关系存储在SOAR系统中。当SOAR系统接收到安全事件时,确定该安全事件的类型,然后根据该对应关系,选择与该安全事件的类型绑定的剧本,以处理该安全事件。
上述方法中,如果接收到安全事件的类型没有绑定的剧本,该安全事件仍然需要通过人工方式来编排剧本,从而导致确定剧本的效率太低。
发明内容
本申请提供了一种确定用于处理安全事件的剧本的方法、装置及计算机存储介质,可以提高确定用于处理安全事件的剧本的效率。所述技术方案如下:
第一方面,提供了一种确定用于处理安全事件的剧本的方法,该方法包括:查找与待处理的安全事件的类型绑定的剧本;在没有查找到与该安全事件的类型绑定的剧本的情况下,从案例数据库中确定与该安全事件的类型匹配的案例,案例数据库包括多个案例,每个案例包括一个类型、一个或多个剧本以及一个或多个剧本中每个剧本的处理结果,每个案例用于指示针对属于同一个类型的历史安全事件执行的剧本,以及执行剧本后的处理结果;从与该安全事件的类型匹配的案例包括的一个或多个剧本中确定用于处理该安全事件的剧本。
本申请提供的技术方案至少可以实现如下技术效果:
第一,设置案例数据库,由于案例数据库中每个案例用于指示针对属于同一个类型的历史安全事件执行的剧本,以及执行剧本后的处理结果,因此,对于当前待处理的安全事件,即使没有查找到与类型绑定的剧本,仍然可以通过案例数据库确定用于处理该安全事件的剧本,相对于需要通过人工方式编排针对该安全事件的剧本,本申请提供的方法显然可以提高确定剧本的效率。
第二,即使从案例数据库中确定的剧本不适用该安全事件,通过上述方法用户可以在从从案例数据库中确定的剧本的基础上编排针对该安全事件的剧本,相对于直接通过人工方式编排针对该安全事件的剧,本申请提供的方法仍然可以提高推荐剧本的效率。
在一种可能的示例中,从案例数据库中确定与该安全事件的类型匹配的案例,包括:从案例数据库中查找类型与安全事件的类型一致的案例,将查找到的案例作为与安全事件的类型匹配的案例。
由于案例数据库中每个案例用于指示针对属于同一个类型的历史安全事件执行的剧本,以及执行剧本后的处理结果,因此,案例数据库中极有可能存在类型与安全事件的类型一致的案例,这种情况下,便可直接将类型与安全事件的类型一致的案例中的剧本确定为用于处理该安全事件的剧本,提高了获取剧本的效率。
在一种可能的示例中,从案例数据库中查找包括的类型与该安全事件的类型一致的案例之后,还包括:在没有查找到类型与该安全事件的类型一致的案例的情况下,从任务数据库中获取多个历史安全事件,任务数据库包括多个任务,每个任务包括一个历史安全事件、一个剧本和一个处理结果,每个任务用于指示针对一个历史安全事件执行的剧本以及执行剧本后的处理结果;从多个历史安全事件中确定与该安全事件相似的历史安全事件;确定相似的历史安全事件的类型;从案例数据库中查找类型与相似的历史安全事件的类型一致的案例,将查找到的案例作为与该安全事件的类型匹配的案例。
由于案例数据库中每个案例用于指示针对属于同一个类型的历史安全事件执行的剧本,以及执行剧本后的处理结果,因此,案例数据库中也可能不存在类型与安全事件的类型一致的案例,这种情况下,还可以从任务数据库中查找相似的历史安全事件,进而根据相似的历史安全事件来推荐剧本,相对于直接通过人工方式编排剧本,仍然可以提高推荐剧本的效率。
在一种可能的示例中,从任务数据库中获取多个历史安全事件,包括:根据效用度量指标,从任务数据库中获取多个历史安全事件,效用度量指标包括目标处理结果、目标任务执行时间、以及目标相似频率中的一个或多个,目标相似频率是指任务中的历史安全事件在当前时间之前被确定为相似的历史安全事件的频率。
在本申请中,还可以设置效用度量指标,避免需要从所有历史安全事件来查找相似历史安全事件,从而提高查找相似的历史安全事件的效率。
在一种可能的示例中,从多个历史安全事件中确定与该安全事件相似的历史安全事件,包括:确定多个历史安全事件中每个历史安全事件的多个属性;确定该安全事件的多个属性;对于多个属性中每个属性,确定每个历史安全事件的该属性和该安全事件的该属性之间的差异距离;根据每个历史安全事件和该安全事件在多个属性中每个属性上的差异距离,确定该安全事件与每个历史安全事件之间的相似度;将相似度大于相似度阈值的历史安全事件确定为与该安全事件相似的历史安全事件。
上述确定相似的历史安全事件的方式还可以称为K-邻近(K-NearestNeighbor,KNN)算饭,KNN算法在确定相似性方法的准确度比较高,从而也就提高了确定相似的历史安全事件的精确性。
在一种可能的示例中,对于每个历史安全事件,确定该历史安全事件的该属性和该安全事件的该属性之间的差异距离,包括:在该属性为不具有语义的属性的情况下,如果该历史安全事件的该属性和该安全事件的该属性相同,则将上述差异距离确定为1,如果该历史安全事件的该属性和该安全事件的该属性不相同,则将上述差异距离确定为0;或者,
在该属性为具有语义的属性的情况下,将该历史安全事件的该属性和该安全事件的该属性之间的编辑距离确定为上述差异距离;或者,
在该属性为具有大小比较特性的属性的情况下,将该历史安全事件的该属性和该安全事件的该属性之间的欧式距离确定为上述差异距离;或者,
在该属性为链表类型或者数组类型的情况下,将该历史安全事件的该属性和该安全事件的该属性之间的杰卡德距离确定为上述差异距离。
在本申请中,还可以针对不同类型的属性设置有不同的差异距离确定方式,以提高确定的相似度的精确性。
在一种可能的示例中,从多个历史安全事件中确定与该安全事件相似的历史安全事件,包括:确定该安全事件的K维特征向量,K维特征向量用于指示该安全事件在K个属性中每个属性上的特征值,特征值为数值;根据该安全事件的K维特征向量从K-D树中查找与该安全事件最邻近的叶子节点,K-D树中每个节点用于指示一个历史安全事件,K-D树是根据多个历史安全事件中每个历史安全事件的K维特征向量构建的;回溯最邻近的叶子节点和K-D树的根节点之间的路径上每个节点,确定每个节点和每个节点的子节点分别与该安全事件之间的欧式距离;将欧式距离最小的节点指示的历史安全事件确定为与该安全事件相似的历史安全事件。
上述确定相似的历史安全事件的方式还可以称为K维度(K-dimensional,K-D)树算法,K-D树算法在确定相似性方法的效率比较高,从而也就提高了确定相似的历史安全事件的效率。
在一种可能的示例中,从与该安全事件的类型匹配的案例包括的一个或多个剧本中确定用于处理该安全事件的剧本,包括:根据与该安全事件的类型匹配的案例包括的各个剧本的处理结果和/或各个剧本的执行时间,从与该安全事件的类型匹配的案例包括的各个剧本中选择一个或多个剧本,将选择的剧本作为用于处理该安全事件的剧本。
在匹配到案例之后,可以将案例中处理结果为成功的案例,或者执行时间距离当前时间较近的案例中的剧本确定为用于处理该安全事件的剧本,以提高根据确定的剧本处理该安全事件的成功率。
在一种可能的示例中,从与该安全事件的类型匹配的案例包括的各个剧本中选择一个或多个剧本之后,还包括:将选择的剧本推送至用户端,以使用户修改选择的剧本;接收用户端返回的剧本更新消息,剧本更新消息携带用户修改后的剧本,将用户修改后的剧本作为用于处理该安全事件的剧本。
在本申请中,可以直接根据查找的剧本处理该安全事件,当然用户还可以修改查找的剧本,进一步提高根据确定的剧本处理安全事件的成功率。
在一种可能的示例中,将选择的剧本推送至用户端之后,还包括:在接收到用户端返回的禁止推荐设置请求的情况下,将该安全事件的类型添加至禁止推荐列表中,该禁止推荐列表包括禁止通过案例数据库确定剧本的安全事件的类型;相应地,从案例数据库中确定与该安全事件的类型匹配的案例之前,还包括:从禁止推荐列表中查找该安全事件的类型;在没有查找到该安全事件的类型的情况下,执行从案例数据库中确定与该安全事件的类型匹配的案例的操作。
在本申请中,对于某些波及范围比较大的安全事件,用户可能并不想对这类安全事件触发自动化处理,因此,提供了一种禁止推荐列表设置方式,以适应这种场景,从而提高了处理安全事件的灵活性。
在一种可能的示例中,从与该安全事件的类型匹配的案例包括的一个或多个剧本中确定用于处理该安全事件的剧本之后,还包括:获取按照确定的剧本处理所述安全事件后的处理结果;根据该安全事件的类型、确定的剧本、以及确定的剧本的处理结果,生成一个案例;将生成的案例添加至案例数据库中。
在一种可能的示例中,获取按照确定的剧本处理所述安全事件后的处理结果之后,还包括:根据该安全事件、确定的剧本、以及确定的剧本的处理结果,生成一个任务;将生成的任务添加至任务数据库中。
在每次处理一个安全事件之后,更新任务数据库和案例数据库,以提高任务数据库和案例数据库中的数据的丰富程度,从而提高针对后续的安全事件确定的剧本的有效性。
第二方面,提供了一种确定用于处理安全事件的剧本的装置,该装置具有实现上述第一方面中确定用于处理安全事件的剧本的方法行为的功能。该装置包括至少一个模块,该至少一个模块用于实现上述第一方面所提供的确定用于处理安全事件的剧本的方法。
第三方面,提供了一种确定用于处理安全事件的剧本的装置,该装置的结构中包括处理器和存储器,所述存储器用于存储支持该装置执行上述第一方面所提供的方法的程序,以及存储用于实现上述第一方面所提供的方法所涉及的数据。所述处理器被配置为用于执行所述存储器中存储的程序。所述存储设备的操作装置还可以包括通信总线,该通信总线用于该处理器与存储器之间建立连接。
第四方面,提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述第一方面所述的用于处理安全事件的剧本的方法。
第五方面,提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述第一方面所述的用于处理安全事件的剧本的方法。
上述第二方面、第三方面、第四方面和第五方面所获得的技术效果与第一方面中对应的技术手段获得的技术效果近似,在这里不再赘述。
附图说明
图1是本申请实施例提供的一种通过人工方式处理安全事件的流程示意图;
图2是本申请实施例提供的另一种通过人工方式处理安全事件的流程示意图;
图3是本申请实施例提供的一种基于SOAR系统处理安全事件的流程示意图;
图4是本申请实施例提供的一种执行剧本的过程示意图;
图5是本申请实施例提供的一种基于安全事件推荐剧本的方法流程图;
图6是本申请实施例提供的一种处理安全事件的流程示意图;
图7是本申请实施例提供的修改剧本的流程示意图;
图8是本申请实施例提供的一种设置白名单的流程示意图;
图9是本申请实施例提供的另一种处理安全事件的流程示意图;
图10是本申请实施例提供的一种计算机设备的结构示意图;
图11是本申请实施例提供的一种基于安全事件推荐剧本的装置框图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
在本申请实施例进行解释说明之前,先对本申请实施例的应用场景进行解释说明。
目前,对网络安全产生威胁的安全事件种类繁多,安全事件的闭环需要人工参与处理。闭环是指阻断安全事件。在现网中大部分客户担心误报安全事件导致下发错误的阻断策略而影响业务,所以一般先由运维人员分析主机上的日志、进程等文件,确认安全事件存在威胁,然后在终端上清除文件,并在网络安全设备上增加阻断策略。运维人员还可以监控设备日志确认威胁已经被正确处理。显然,人工方式处理安全事件的效率非常低。
图1是本申请实施例提供的一种通过人工方式处理安全事件的流程示意图。如图1所示,当出现安全事件时,先需要由安全分析人员通过人工方式分析疑似威胁,然后由安全分析人员和区域管理员人工调查取证。之后安全分析人员和区域管理员分析主机上的日志、进程等文件,以分析潜在威胁。最后处理分析人员在终端上清除文件,在网络安全设备上增加防护策略,并监控设备日志确认威胁已经被正确处理。
上述对安全事件的处理方式需要人工参与,提供的设备联动能力有限。图2以随机域名生成算法(domain generation algorithms,DGA)软件为例来说明通过人工方式处理安全事件的流程。如图2所示,当有DGA告警产生时,首先需要通过人工方式调查取证DGA告警,调查取证的过程包括分析上报DAG告警的源地址是否是有目的的IP地址,查询元数据中是否有交互流量,查询情报的可信度是否大于99%等,以判断是否需要启动威胁处理。调查取证的详细过程可以参考图2,在此就不再一一展开说明。在启动威胁处理后,还需判断感染范围以及威胁类型,以根据感染范围和威胁类型编排如图2所示的不同的阻断策略。编排不同的阻断策略的内容可以参考图2,在此不再详细阐述。最后通过联动相关的网络安全设备按照编排的阻断策略闭环处理安全事件。
为了解决上述通过人工方式处理安全事件效率低的问题,SOAR系统应运而生。图3是本申请实施例提供的一种基于SOAR系统处理安全事件的流程示意图。如图3所示,安全数据源、安全检测源、WEB(网页)检测等网络监测端或者用户提供的安全事件输入至SOAR系统,SOAR系统查找与该安全事件的类型绑定的剧本,然后SOAR系统根据剧本中各个阻断策略对应的动作(action)会调用相关的设备闭环处理安全事件。在对安全事件闭环处理之前,还可以将安全事件在公有云、私有云、安全控制器等服务器上模拟,以确定该安全事件是否真的对网络安全存在攻击。如果真的存在攻击,再执行触发执行该剧本的操作。
为了后续便于说明,将SOAR系统中的相关概念解释如下:
剧本(Playbook):编排了一系列安全处理动作和处理流程的场景化剧本。
动作(Action):在剧本中负责处理、判断的节点,包含了各种类型的节点。
任务(Task):某个剧本被触发执行的实例。
案例(Case):针对特定攻击场景的多次任务的聚合案例,运维人员可以通过案例逐步优化已经配置的剧本。
设备类型(DeviceType):用于指示对接的外部系统、设备或服务的类型,外部系统、设备或服务包括防火墙、安全控制器、网络控制器、终端检测响应(endpoint detectionresponse,EDR)、云端智能中心、网络安全智能系统(cybersecurity intelligencesystem,CIS)等,设备类型包含版本信息、认证机制等。
设备(Device):用于指示对接的外部系统或设备实例,包含外部系统或设备的IP地址、端口、认证信息(用户名、密码)等。
连接器(Connector):用于指示采用某一种特定通信方式对接外部系统或设备的装置,包括表征状态转移协议的连接器(restful connector)、系统日志连接器(syslogconnector)、简单邮件传输协议连接器(SMTP connector)、安全外壳连接器(SSHconnector)等。
用户可以针对特定的安全事件类型事先定义对应的剧本。比如,针对恶意命令与控制(command and control,C&C)场景中的一类安全事件,用户可以事先编排针对该类安全事件的编排策略,形成剧本。此时,如果来了一个新的安全事件,如果该安全事件的类型与预先定义的这一类安全事件的类型相同,则直接触发上述编排的剧本,以实现对该安全事件的自动调查取证和自动化闭环处理。
图4是本申请实施例提供的一种剧本中指示的处理安全事件的流程示意图。如图4所示,按照剧本中指示的处理安全事件的流程,需要先调查取证,调查取证的过程包括:查询网络协议(Internet Protocol,IP)地址是否为恶意IP地址,如果不是(图4中标记为N),则控制EDR获取C&C攻击中的文件的摘要,该摘要是通过消息摘要算法第五版(message-digest algorithm 5,MD5)确定的,在图4中将该摘要标记为MD5摘要。根据文件的MD5摘要查询该文件是否为恶意文件,如果不是,则控制EDR提交该文件给沙箱,然后查询沙箱的文件检测结果,并判断文件检测结果是否为恶意文件等一系列操作。在每个调整取证过程中,如果任何一个判断结果为是(图4中标记为Y),则执行下一步阻断策略,下一步的阻断策略包括邮件通知、短信通知、防火墙设置IP地址黑名单、隔离终端以限制访问其他主机、EDR关闭进程以及EDR删除文件等。如图4所示,剧本中指示了处理安全事件的每一步流程直至最终安全事件的闭环。
本申请实施例提供的确定用于处理安全事件的剧本的方法可应用于上述SOAR系统中,以提高获取剧本的效率。上述SOAR系统还以称为SOAR引擎,该SOAR系统可以部署在一个服务器上。另外,本申请实施例提供的剧本还可以称为安全事件响应编排剧本。
接下来对本申请实施例提供的确定用于处理安全事件的剧本的方法进行解释说明。
图5是本申请实施例提供的一种基于安全事件推荐剧本的方法流程图。如图5所示,该方法包括如下步骤:
步骤501:查找与待处理的安全事件的类型绑定的剧本。
在一种可能的实现方式中,当大数据平台识别到安全事件之后,大数据平台可将安全事件传递给SOAR系统,以便于SOAR系统通过步骤501至步骤503闭环处理该安全事件。
SOAR系统中预先存储有与各个特定场景下的各类安全事件绑定的剧本。因此,当SOAR系统接收到一个待处理的安全事件时,SOAR系统首先查找与该安全事件的类型绑定的剧本,如果查找到与该安全事件的类型绑定的剧本,则直接触发执行该剧本,也即是,按照剧本中的流程调用相关的设备以实现对该安全事件的闭环处理。如果没有查找到与该安全事件的类型绑定的剧本,则通过下述步骤502至步骤503来实现对该安全事件的闭环处理。
安全事件的类型可以是指对安全事件按照大类划分之后得到的类型(eventtype),也可以是对安全事件按照精细分类划分之后得到的类型(event subtype),本申请实施例对此不做具体限定。
步骤501中查找与安全事件的类型绑定的剧本的过程也称为匹配安全事件的过程。如果查找到与安全事件的类型绑定的剧本,则这个过程可以称为完全匹配。
步骤502:在没有查找到与该类型绑定的剧本的情况下,从案例数据库中确定与该安全事件的类型匹配的案例。
案例数据库包括多个案例(case),每个案例包括一个类型、一个或多个剧本以及一个或多个剧本中每个剧本的处理结果,每个案例用于指示针对属于同一个类型的历史安全事件执行的一个或多个剧本,以及执行一个或的多个剧本后的处理结果。
由于案例数据库中的每个案例用于指示针对一个类型的历史安全事件的处理情况,因此,案例数据库中可能存在类型恰好与该安全事件的类型一致的案例,也可能不存在。所以,在一种可能的实现方式中,步骤502可以为:从案例数据库中查找类型与该安全事件的类型一致的案例,将查找到的案例作为与该安全事件的类型匹配的案例。
相应地,在没有查找到包括的类型与该安全事件的类型一致的案例的情况下,为了避免通过人工方式来直接为该安全事件编排剧本而导致耗费大量的人力资源,可以从任务数据库中获取多个历史安全事件。从多个历史安全事件中确定与该安全事件相似的历史安全事件;确定相似的历史安全事件的类型。从案例数据库中查找类型与相似的历史安全事件的类型一致的案例,将查找到的案例作为与安全事件的类型匹配的案例。
上述任务数据库包括多个任务(task),每个任务包括一个历史安全事件、一个剧本和一个处理结果,每个任务用于指示当前时间之前针对一个历史安全事件执行的剧本以及执行剧本后的处理结果。
也即是,本申请实施例提供了两种数据库,一种案例数据库,一种任务数据库。案例数据库用于记录各类历史安全事件。任务数据库用于记录每个历史安全事件。由于任务数据库中记录的历史安全事件的数据存在冗余,为了提高查询效率,可以先从案例数据库中查找与该类型匹配的案例,如果没有查找到,再继续从任务数据库中查找。
下面结合图6对上述步骤501至步骤502做进一步详细说明。
图6是本申请实施例提供的一种处理安全事件的流程示意图。如图6所示,当检测到安全事件后,可以将该安全事件输入至SOAR系统,该SOAR系统查找与该安全事件的类型绑定的剧本,如果查找到,则直接按照该剧本中指示的流程调用相应设备闭环处理安全事件,并输出执行结果为匹配成功。如果没有查找到,则输出执行结果为匹配失败。
在输出执行结果为匹配失败后,SOAR系统继续从案例数据库中查找匹配的案例,如果案例数据库中存在类型与该安全事件的类型一致的案例,则从该案例包括的剧本中获取一个剧本,并按照该剧本中指示的流程调用相应设备闭环处理安全事件。
如果案例数据库中不存在类型与该安全事件的类型一致的案例,则获取任务数据库中的所有历史安全事件,并采用相似算法确定相似的历史安全事件。在查找相似的历史安全事件之后,返回案例数据库中查找类型与该相似的历史安全事件的类型一致的案例,从该案例包括的剧本获取一个剧本,并按照该剧本中指示的流程调用相应设备闭环处理安全事件。
另外,由于任务数据库中记录的是所有的历史安全事件,因此为了提高从任务数据库中获取多个历史安全事件的效率,在一种可能的实现方式中,从任务数据库中获取多个历史安全事件可以为:根据效用度量指标,从任务数据库中获取多个历史安全事件。效用度量指标包括目标处理结果、目标任务执行时间、以及目标相似频率中的一个或多个,目标相似频率是指任务中的历史安全事件在当前时间之前被确定为相似的历史安全事件的频率。
比如,可以从任务数据库中获取剧本处理结果为成功的历史安全事件,此时,目标处理结果为成功。还可以获取执行时间在当前时间之前最近一段时间内的历史安全事件,此时,目标任务执行时间为当前时间之前且距离当前时间参考时长的一段时间。还可以获取当前时间之前被确定为相似的历史安全事件的频率大于参考频率的历史安全事件,此时,目标相似频率为前述参考频率。通过效用度量指标,一方面可以提高减少获取的多个历史安全的数目,从而降低后续推荐剧本的计算量。另一方面还可以提高最终推荐的剧本的可用性。
在本申请实施例中,提供了两种从多个历史安全事件中确定与该安全事件相似的历史安全事件的实现方式,也即是,提供了两种查找相似历史安全事件的实现方式。
第一种,通过KNN相似算法来从多个历史安全事件中确定与该安全事件相似的历史安全事件。
上述确定相似历史安全事件的过程可以为:确定多个历史安全事件中每个历史安全事件的多个属性;确定该安全事件的多个属性;对于多个属性中每个属性,确定每个历史安全事件的该属性和该安全事件的该属性之间的差异距离;根据每个历史安全事件和该安全事件在多个属性中每个属性上的差异距离,确定该安全事件与每个历史安全事件之间的相似度;将相似度大于相似度阈值的历史安全事件确定为与该安全事件相似的历史安全事件。
其中,根据每个历史安全事件和该安全事件在多个属性中每个属性上的差异距离,确定该安全事件与每个历史安全事件之间的相似度可以通过下述公式来实现:
Figure BDA0002177233170000081
上述公式中的Q表示待处理的安全事件,C表示任一历史安全事件,Sim(Q,C)表示该安全事件和任一历史安全事件的相似度。f为任一属性,F为多个属性,wf为针对该属性f设置的权重。qf为该安全事件的该属性,cf表示任一历史安全事件的该属性,σf(qf,cf)表示该安全事件的属性f与任一历史安全事件的属性f之间的差异距离。
上述针对任一属性设置的权重可以任意设置,本申请实施例对此不做具体限定。
另外,在本申请实施例中,针对不同类型的属性,还可以采用不同的差异距离确定方式。
在一种可能的实现方式中,对于每个历史安全事件和上述每个属性,在该属性为不具有语义的属性的情况下,该历史安全事件的该属性和该安全事件的该属性之间的差异距离可以设置为1或0。
在该属性为具有语义的属性的情况下,该历史安全事件的该属性和该安全事件的该属性之间的差异距离为编辑距离。编辑距离是针对二个字符串的差异程度的量化量测,量测方式是看至少需要多少次的处理才能将一个字符串变成另一个字符串。
在该属性为具有大小比较特性的属性的情况下,该历史安全事件的该属性和该安全事件的该属性之间的差异距离为欧式距离。另外,在确定出欧式距离之后,还可以转换为0至1之间,以便于后续确定相似度。
在该属性为链表类型或者数组类型的情况下,该历史安全事件的该属性和该安全事件的该属性之间的差异距离为杰卡德距离。杰卡德距离用来度量两个集合之间的相似性,它被定义为两个集合交集的元素个数除以并集的元素个数。
也即是,对于多个属性中的每个属性,确定每个历史安全事件的该属性和该安全事件的该属性之间的差异距离的实现方式可以如下:
对于每个历史安全事件,在该属性为不具有语义的属性的情况下,如果该历史安全事件的该属性和该安全事件的该属性相同,则将该差异距离确定为1,如果该历史安全事件的该属性和该安全事件的该属性不相同,则将该差异距离确定为0;或者,
在该属性为具有语义的属性的情况下,将该历史安全事件的该属性和该安全事件的该属性之间的编辑距离确定为该差异距离;或者,
在该属性为具有大小比较特性的属性的情况下,将该历史安全事件的该属性和该安全事件的该属性之间的欧式距离确定为该差异距离;或者,
在该属性为链表类型或者数组类型的情况下,将该历史安全事件的该属性和该安全事件的该属性之间的杰卡德距离确定为该差异距离。
另外,针对IP类型属性:完全相同返回1,否则转化成整型计算两者之间的差异距离。
上述通过KNN算法来从多个历史安全事件中确定与该安全事件相似的历史安全事件的准确性比较高,但是,KNN算法在数据规模比较大的情况下效率较低,因此,应用本申请实施例时,可以根据需求来确定是否采用KNN算法确定相似的历史安全事件。
第二种,通过K-D树相似算法来从多个历史安全事件中确定与该安全事件相似的历史安全事件。
上述确定相似历史安全事件的过程可以为:确定该安全事件的K维特征向量,K维特征向量用于指示安全事件在的K个属性中每个属性上的特征值,特征值为数值;根据该安全事件的K维特征向量从K-D树中查找与该安全事件最邻近的叶子节点,K-D树中每个节点用于指示一个历史安全事件。K-D树是根据多个历史安全事件中每个历史安全事件的K维特征向量构建的。回溯最邻近的叶子节点和K-D树的根节点之间的路径上每个节点,确定每个节点和每个节点的子节点分别与安全事件之间的欧式距离。将欧式距离最小的节点指示的历史安全事件确定为与安全事件相似的历史安全事件。
每个维度的特征向量的值可以是将对应的属性的属性值归一化到0至1之间得到的。
另外,上述K-D树是根据多个历史安全事件中每个历史安全事件的K维特征向量构建的。构建K-D树的过程可以为:将K个属性排序,得到维度划分排序。从多个历史安全事件中选取一个合适的历史安全事件,将选取的历史安全事件作为根节点。然后选取维度划分排序中排名第一的属性。对于其他的所有历史安全事件,根据其他的所有历史安全事件在排名第一的属性的属性值,将其他的所有历史安全事件划分在根节点的两个分支上,比如,可以将在排名第一的属性上的属性值大于根节点的历史安全事件划分至左边的分支上,将在排名第一的属性的属性值小于或等于根节点的历史安全事件划分至右边的分支上。对于每个分支,按照上述确定根节点的方式和排名第二的属性重新上述操作,直至将全部历史安全事件对应到每个节点上,最终得到的树形数据结构成为K-D树。
上述维度划分排序可以按照属性的关键程度排序,在此不再详细阐述。另外,上述从多个历史安全事件中选取一个合适的历史安全事件的原则是保证构建的K-D树的结构均衡即可,K-D树的结构均衡是指树上的各个分支均匀地分布在根节点的两侧。至于如何从多个历史安全事件中选取一个合适的历史安全事件,本申请实施例对此不做具体限定。
另外,由于找到的叶子节点并不一定就是与该安全事件对应的查询点最邻近的,最邻近肯定距离查询点更近,并且最邻近的节点与该查询点之间的距离应该小于该查询点与找到的叶子节点之间的距离。因此,为了找到真正的最邻近的节点,还需要执行回溯操作,直到回溯到根节点,来判断最邻近的节点。
步骤503:从与安全事件的类型匹配的案例包括的一个或多个剧本中确定用于处理该安全事件的剧本。
在一种可能的实现方式中,为了使得后续执行剧本后能够有效阻断该安全事件,步骤503的过程可以为:根据与该安全事件的类型匹配的案例包括的各个剧本的处理结果和/或各个剧本的执行时间,从与该安全事件的类型匹配的案例包括的各个剧本中选择一个或多个剧本,将选择的剧本作为用于处理该安全事件的剧本。
比如,可以从与该安全事件的类型匹配的案例包括的各个剧本中选择的处理结果为成功的剧本,和/或,选择执行时间在最近一段时间内的剧本,来作为用于处理该安全事件的剧本,以提高后续执行剧本后阻断该安全事件的成功率。
当通过上述实现方式确定出用于处理该安全事件的剧本后,可以直接按照剧本中指示的流程调用相关设备处理该安全事件,以实现对该安全事件的自动化闭环处理。也可以将该剧本发送至其他服务器上,由其他服务器按照剧本中指示的流程调用相关设备处理该安全事件。
另外,由于与该安全事件相似的安全事件毕竟与该安全事件还是存在差异的,因此,为了避免直接触发执行该推荐的剧本而导致一些异常出现,在从与安全事件的类型匹配的案例包括的各个剧本中选择一个剧本之后,还可以将选择的剧本推送至用户端,以使用户修改选择的剧本;接收用户端返回的剧本更新消息,剧本更新消息携带用户修改后的剧本,将用户修改后的剧本作为用于处理该安全事件的剧本。
相对于直接为安全事件编排剧本,修改查找到的针对相似的历史安全事件的剧本,以得到针对该安全事件的剧本,该过程耗费的人力资源更少。
上述用户修改剧本的过程可以如图7中的步骤701至步骤703所示。
步骤701:推荐页面中显示有传入的安全事件的待推荐的剧本。
用户端显示有推荐页面,在SOAR系统确定出为针对相似的历史安全事件的剧本时,可以将该剧本作为传入SOAR系统中的安全事件的待推荐的剧本。并将待推荐的剧本推送至用户端。用户端的显示界面中便显示有该待推荐的剧本。
步骤702:修改重用该待推荐的剧本。
当用户在推荐页面发现针对传入的安全事件的待推荐的剧本时,用户选择推荐页面中的重用修改选项,该重用修改选项用于启动对待推荐的剧本的修改功能,以使用户端基于用户的操作修改重用该待推荐的剧本。
步骤703:保存修改后的剧本。
用户在在修改待推荐的剧本之后,可以通过推荐页面中的保存选项触发用户端来保存修改后的剧本。用户端还可以将该修改后的剧本与该安全事件绑定,也即是,将该修改后的剧本作为用于处理该安全事件的剧本。
另外,在本申请实施例中,可能存在一些用户不想触发自动化推荐剧本的场景。比如,对于威胁涉及范围比较大的安全事件,这类安全事件如有没有被有效阻断,可能对网络造成不可逆转的破坏。针对这类安全事件,为了保险起见,通常由用户来编排剧本,以保证能够成功阻断该安全事件。因此,在一种可能的实现方式中,SOAR系统在将选择的剧本推送至用户端之后,还可以接收用户端返回的禁止推荐设置请求,禁止推荐设置请求用于指示禁止对安全事件推荐剧本。因此,SOAR系统在接收到该禁止推荐设置请求的情况下,便可将该安全事件的类型添加至禁止推荐列表中,禁止推荐列表包括禁止通过案例数据库获得剧本的安全事件的类型。该禁止推荐列表还可以称为白名单,本申请实施例并不限定该禁止推荐列表的名称。
此时,在步骤501中从案例数据库中确定与安全事件的类型匹配的案例之前,SOAR系统还可以从禁止推荐列表中查找该安全事件的类型,在没有查找到该安全事件的类型的情况下,执行从案例数据库中确定与安全事件的类型匹配的案例的操作。在查找到该安全事件的类型的情况下,则仍然通过人工方式编排针对该安全事件的剧本,将人工编排的剧本作为用于处理该安全事件的剧本。通过禁止推荐列表的设置可以提高确定用于处理安全事件的剧本的灵活性。
上述禁止推荐列表的设置过程可以如图8中的步骤801至步骤803所示。
步骤801:推荐页面中显示有传入的安全事件的待推荐的剧本。
如上述步骤701可知,在SOAR系统将待推荐的剧本推送至用户端。用户端的显示界面中便显示有该待推荐的剧本。
步骤802:将该安全事件的类型添加至禁止推荐列表中。
当用户在推荐页面发现传入的安全事件有待推荐的剧本时,此时,如果用户不希望按照待推荐的剧本自动化闭环处理该安全事件。则可以点击推荐页面中的禁止推荐选项,以触发用户端向SOAR系统发送禁止推荐设置请求,用于指示SOAR系统将该安全事件的类型添加至禁止推荐列表中。
步骤803:清除剧本推荐记录。
如图6所示,SOAR系统还可以新建一个数据库,用于记录推荐结果。也即是,在每次针对一个安全事件获取了一个剧本之后,均可以在该数据库中添加一条剧本推荐记录。在这种场景下,对于图8所示的安全事件,由于用户不希望该安全事件被推荐剧本,因此还可以清除针对该安全事件的剧本推荐记录。
另外,在每次闭环处理一个安全事件之后,还可以更新案例数据库和任务数据库,以使更新后的案例数据库和任务数据库能够指示所有历史安全事件的处理情况。因此,在一种可能的实现方式中,更新案例数据库的过程可以为:从与安全事件的类型匹配的案例包括的一个或多个剧本中确定用于处理安全事件的剧本之后,还可以获取按照确定的剧本处理安全事件后的处理结果;根据安全事件的类型、确定的剧本、以及确定的剧本的处理结果,生成一个案例;将生成的案例添加至案例数据库中。
同样地,更新任务数据库的过程可以为:在上述获取确定的剧本的处理结果之后,根据安全事件、确定的剧本、以及确定的剧本的处理结果,生成一个任务;将生成的任务添加至任务数据库中。
可以同时更新案例数据库和任务数据库,比如可以在闭环处理该安全事件之后同时更新更新案例数据库和任务数据库。可选地,还可以在闭环处理该安全事件之后先更新任务数据库,后续可以周期性地根据任务数据库更新案例数据库。
如图6所示,在执行剧本后,创建针对该安全事件的任务,并获取该任务的标识,然后根据该任务的标识将该任务添加至任务数据库中。然后从案例数据库中查找是否存在包括该安全事件的类型的案例,也即是,查找是否存在已经关联的案例。如果案例数据库中存在与该任务关联的案例,则将该任务中剧本和执行结果添加至关联的案例中,以实现对关联的案例的更新。如果案例数据库中不存在与该任务关联的案例,此时,在案例数据库中创建一个案例,并在创建的案例中添加该任务中安全事件的类型,该任务中的剧本和执行结果添加至关联的案例中。
上述步骤501至步骤503所示的过程还可以通过图9所示的流程图来表示。如图9所示,当SOAR系统接收到待处理的安全事件时,通过步骤501先从案例数据库中查找与该待处理的安全事件的类型绑定的剧本。如果查找到,也即是如果完全匹配到一个剧本,此时,则触发执行匹配到的剧本,也即是,自动化处理该安全事件。
如果没有完全匹配到,则通过步骤502查找与该安全事件相似的历史安全事件,根据相似的历史安全事件确定一个待推荐剧本,还可以通过用户修改该推待荐的剧本,将修改后的剧本作为用于处理该安全事件的剧本,然后根据该剧本自动化处理该安全事件。
如图9所示,在自动化处理剧本之后,形成一个任务,然后再将形成的任务添加至案例数据库中。
上述步骤501至步骤503是以SOAR系统为例来说明如何执行本申请实施例提供的确定剧本的方法,可选地,本申请实施例提供的确定剧本的方法还可以通过其他类型的服务器来实现,本申请实施例对此不做具体限定。
在本申请实施例中,SOAR系统中设置有案例数据库,由于案例数据库中每个案例用于指示针对属于同一个类型的历史安全事件执行的剧本,以及执行剧本后的处理结果,因此,对于当前待处理的安全事件,即使没有查找到与类型绑定的剧本,仍然可以通过案例数据库确定用于处理该安全事件的剧本,相对于需要通过人工方式编排针对该安全事件的剧本,本申请提供的方法显然可以提高获取剧本的效率。
另外,即使从案例数据库中确定的剧本不适用该安全事件,通过上述方法用户可以在从案例数据库中确定的剧本的基础上编排用于处理该安全事件的剧本,相对于直接通过人工方式编排针对该安全事件的剧本,本申请提供的方法仍然可以提高获取剧本的效率。
图10是本发明实施例提供的一种计算机设备的结构示意图。本申请实施例中涉及的SOAR系统可以通过图10所示的计算机设备来实现。参见图10,该计算机设备包括至少一个处理器1001,通信总线1002、存储器1003以及至少一个通信接口1004。
处理器1001可以是一个通用中央处理器(central processing unit,CPU)、特定应用集成电路(application-specific integrated circuit,ASIC)或一个或多个用于控制本申请方案程序执行的集成电路。
通信总线1002可包括一通路,在上述组件之间传送信息。
存储器1003可以是只读存储器(read-only memory,ROM)或可存储静态信息和指令的其它类型的静态存储设备,随机存取存储器(random access memory,RAM)或者可存储信息和指令的其它类型的动态存储设备,也可以是电可擦可编程只读存储器(electrically erasable programmable read-only memory,EEPROM)、只读光盘(compactdisc read-only memory,CD-ROM)或其它光盘、光碟(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘或者其它磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其它介质。存储器1003可以独立存在,通过通信总线1002与处理器1001相连接。存储器1003也可以和处理器1001集成在一起。
其中,存储器1003用于存储执行本申请方案的程序代码。处理器1001用于执行存储器1003中存储的程序代码。程序代码中可以包括一个或多个软件模块。另外,在本申请实施例中,存储器还可以用于存储案例数据库、任务数据库中的数据,以实现上述实施例提供的推荐剧本的方法。
通信接口1004,用于与其它设备或通信网络通信。通信网络可以包括以太网,无线接入网(radio access network,RAN),无线局域网(wireless local area networks,WLAN)等。其它设备可以是EDR、网络控制器、网管设备、邮件服务器、短信服务器、沙箱、安全设备等。处理器1001通过通信接口1004向这些设备下发剧本中的阻断策略来实现对安全事件的闭环处理。
在具体实现中,作为一种实施例,计算机设备可以包括多个处理器,例如图10中所示的处理器1001和处理器1005。这些处理器中的每一个可以是一个单核(single-CPU)处理器,也可以是一个多核(multi-CPU)处理器。这里的处理器可以指一个或多个设备、电路、和/或用于处理数据(例如计算机程序指令)的处理核。
在具体实现中,作为一种实施例,该计算机设备还可以包括输出设备1006和输入设备1007。输出设备1006和处理器1001通信,可以以多种方式来显示信息。例如,输出设备1006可以是液晶显示器(liquid crystal display,LCD)、发光二级管(light emittingdiode,LED)显示设备、阴极射线管(cathode ray tube,CRT)显示设备或投影仪(projector)等。输入设备1007和处理器1001通信,可以以多种方式接收用户的输入。例如,输入设备1007可以是鼠标、键盘、触摸屏设备或传感设备等。
上述的计算机设备可以是一个通用计算机设备或者是一个专用计算机设备。在具体实现中,计算机设备可以是台式机、便携式电脑、网络服务器、掌上电脑(personaldigital assistant,PDA)、移动手机、平板电脑、无线终端设备、通信设备或者嵌入式设备。本申请实施例不限定计算机设备的类型。
参见图11,本申请实施例提供了一种确定用于处理安全事件的剧本的装置,该装置1100包括:
第一查找模块1101,用于执行图5实施例中的步骤501;
第一确定模块1102,用于执行图5实施例中的步骤502,其中,案例数据库包括多个案例,每个案例包括一个类型、一个或多个剧本以及一个或多个剧本中每个剧本的处理结果,每个案例用于指示针对属于同一个类型的历史安全事件执行的剧本,以及执行剧本后的处理结果;
第二确定模块1103,用于执行图5实施例中的步骤503。
在一种可能的实现方式中,第一确定模块1102用于:
从案例数据库中查找类型与该安全事件的类型一致的案例,将查找到的案例作为与安全事件的类型匹配的案例。
在一种可能的实现方式中,第一确定模块1102还用于:
在没有查找到类型与该安全事件的类型一致的案例的情况下,从任务数据库中获取多个历史安全事件,该任务数据库包括多个任务,每个任务包括一个历史安全事件、一个剧本和一个处理结果,每个任务用于指示针对一个历史安全事件执行的剧本以及执行剧本后的处理结果;
从多个历史安全事件中确定与安全事件相似的历史安全事件;
确定该相似的历史安全事件的类型;
从案例数据库中查找类型与相似的历史安全事件的类型一致的案例,将查找到的案例作为与安全事件的类型匹配的案例。
在一种可能的实现方式中,第一确定模块1102用于:
根据效用度量指标,从任务数据库中获取多个历史安全事件,效用度量指标包括目标处理结果、目标任务执行时间、以及目标相似频率中的一个或多个,目标相似频率是指任务中的历史安全事件在当前时间之前被确定为相似的历史安全事件的频率。
在一种可能的实现方式中,第一确定模块1102用于:
确定多个历史安全事件中每个历史安全事件的多个属性;
确定该安全事件的多个属性;
对于多个属性中每个属性,确定每个历史安全事件的该属性和安全事件的该属性之间的差异距离;
根据每个历史安全事件和该安全事件在多个属性中每个属性上的差异距离,确定该安全事件与每个历史安全事件之间的相似度;
将相似度大于相似度阈值的历史安全事件确定为与该安全事件相似的历史安全事件。
在一种可能的实现方式中,第一确定模块1102用于:
对于每个历史安全事件,在该属性为不具有语义的属性的情况下,如果历史安全事件的该属性和安全事件的该属性相同,则将差异距离确定为1,如果历史安全事件的该属性和该安全事件的该属性不相同,则将差异距离确定为0;或者,
在该属性为具有语义的属性的情况下,将该历史安全事件的该属性和该安全事件的该属性之间的编辑距离确定为差异距离;或者,
在该属性为具有大小比较特性的属性的情况下,将该历史安全事件的该属性和该安全事件的该属性之间的欧式距离确定为差异距离;或者,
在该属性为链表类型或者数组类型的情况下,将该历史安全事件的该属性和该安全事件的该属性之间的杰卡德距离确定为差异距离。
在一种可能的实现方式中,第一确定模块1102用于:
确定安全事件的K维特征向量,K维特征向量用于指示安全事件在K个属性中每个属性上的特征值,特征值为数值;
根据安全事件的K维特征向量从K-D树中查找与安全事件最邻近的叶子节点,K-D树中每个节点用于指示一个历史安全事件,K-D树是根据多个历史安全事件中每个历史安全事件的K维特征向量构建的;
回溯最邻近的叶子节点和K-D树的根节点之间的路径上每个节点,确定每个节点和每个节点的子节点分别与安全事件之间的欧式距离;
将欧式距离最小的节点指示的历史安全事件确定为与安全事件相似的历史安全事件。
在一种可能的实现方式中,第二确定模块1103用于:
根据与安全事件的类型匹配的案例包括的各个剧本的处理结果和/或各个剧本的执行时间,从与安全事件的类型匹配的案例包括的各个剧本中选择一个或多个剧本,将选择的剧本作为用于处理安全事件的剧本。
在一种可能的实现方式中,第二确定模块1103用于:
将选择的剧本推送至用户端,以使用户修改选择的剧本;
接收用户端返回的剧本更新消息,剧本更新消息携带用户修改后的剧本,将用户修改后的剧本作为用于处理安全事件的剧本。
在一种可能的实现方式中,如图11所示,该装置1100还包括:
第一添加模块1104,用于在接收到用户端返回的禁止推荐设置请求的情况下,将安全事件的类型添加至禁止推荐列表中,禁止推荐列表包括禁止通过案例数据库确定剧本的安全事件的类型;
相应地,该装置1100还包括:
第二查找模块1105,用于从禁止推荐列表中查找安全事件的类型;
第一确定模块1102,还用于在第二查找模块没有查找到安全事件的类型的情况下,执行从案例数据库中确定与安全事件的类型匹配的案例的操作。
在一种可能的实现方式中,如图11所示,该装置1100还包括:
获取模块1106,用于获取按照确定的剧本处理安全事件后的处理结果;
第一生成模块1107,用于根据安全事件的类型、确定的剧本、以及确定的剧本的处理结果,生成一个案例;
第二添加模块1108,用于将生成的案例添加至案例数据库中。
在一种可能的实现方式中,如图11所示,该装置还包括:
第二生成模块1109,用于根据安全事件、确定的剧本、以及确定的剧本的处理结果,生成一个任务;
第三添加模块1110,用于将生成的任务添加至任务数据库中。
在本申请实施例中,设置有案例数据库,由于案例数据库中每个案例用于指示针对属于同一个类型的历史安全事件执行的剧本,以及执行剧本后的处理结果,因此,对于当前待处理的安全事件,即使没有查找到与类型绑定的剧本,仍然可以通过案例数据库确定用于处理该安全事件的剧本,相对于需要通过人工方式编排针对该安全事件的剧本,本申请提供的方法显然可以提高获取剧本的效率。
另外,即使从案例数据库中确定的剧本不适用该安全事件,通过上述方法用户可以在从从案例数据库中确定的剧本的基础上编排用于处理该安全事件的剧本,相对于直接通过人工方式编排针对该安全事件的剧,本申请提供的方法仍然可以提高获取剧本的效率。
需要说明的是:上述实施例提供的确定用于处理安全事件的剧本的装置在获取剧本时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的确定用于处理安全事件的剧本的装置与确定用于处理安全事件的剧本的方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
另外,图11所示的各个模块对应的程序代码可以存储在图10所示的存储器中,由图10中的计算机设备中的处理器1001来执行这些程序代码,以实现图11所示的装置的功能。
实施例可以全部或部分地通过软件、硬件、固件或者其任意结合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线或无线方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。以上所述为本申请提供的实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

Claims (24)

1.一种确定用于处理安全事件的剧本的方法,其特征在于,所述方法包括:
查找与待处理的安全事件的类型绑定的剧本;
在没有查找到与所述安全事件的类型绑定的剧本的情况下,从案例数据库中确定与所述安全事件的类型匹配的案例,所述案例数据库包括多个案例,每个案例包括一个类型、一个或多个剧本以及所述一个或多个剧本中每个剧本的处理结果,每个案例用于指示针对属于同一个类型的历史安全事件执行的剧本,以及执行剧本后的处理结果;
从与所述安全事件的类型匹配的案例包括的一个或多个剧本中确定用于处理所述安全事件的剧本。
2.如权利要求1所述的方法,其特征在于,所述从案例数据库中确定与所述安全事件的类型匹配的案例,包括:
从所述案例数据库中查找类型与所述安全事件的类型一致的案例,将查找到的案例作为与所述安全事件的类型匹配的案例。
3.如权利要求2所述的方法,其特征在于,所述从所述案例数据库中查找类型与所述安全事件的类型一致的案例之后,还包括:
在没有查找到类型与所述安全事件的类型一致的案例的情况下,从任务数据库中获取多个历史安全事件,所述任务数据库包括多个任务,每个任务包括一个历史安全事件、一个剧本和一个处理结果,每个任务用于指示针对一个历史安全事件执行的剧本以及执行剧本后的处理结果;
从所述多个历史安全事件中确定与所述安全事件相似的历史安全事件;
确定所述相似的历史安全事件的类型;
从所述案例数据库中查找类型与所述相似的历史安全事件的类型一致的案例,将查找到的案例作为与所述安全事件的类型匹配的案例。
4.如权利要求3所述的方法,其特征在于,所述从任务数据库中获取多个历史安全事件,包括:
根据效用度量指标,从所述任务数据库中获取多个历史安全事件,所述效用度量指标包括目标处理结果、目标任务执行时间、以及目标相似频率中的一个或多个,所述目标相似频率是指任务中的历史安全事件在当前时间之前被确定为相似的历史安全事件的频率。
5.如权利要求3或4所述的方法,其特征在于,所述从所述多个历史安全事件中确定与所述安全事件相似的历史安全事件,包括:
确定所述多个历史安全事件中每个历史安全事件的多个属性;
确定所述安全事件的多个属性;
对于所述多个属性中每个属性,确定每个历史安全事件的所述属性和所述安全事件的所述属性之间的差异距离;
根据每个历史安全事件和所述安全事件在所述多个属性中每个属性上的差异距离,确定所述安全事件与每个历史安全事件之间的相似度;
将相似度大于相似度阈值的历史安全事件确定为与所述安全事件相似的历史安全事件。
6.如权利要求5所述的方法,其特征在于,对于每个历史安全事件,所述确定每个历史安全事件的所述属性和所述安全事件的所述属性之间的差异距离,包括:
在所述属性为不具有语义的属性的情况下,如果所述历史安全事件的所述属性和所述安全事件的所述属性相同,则将所述差异距离确定为1,如果所述历史安全事件的所述属性和所述安全事件的所述属性不相同,则将所述差异距离确定为0;或者,
在所述属性为具有语义的属性的情况下,将所述历史安全事件的所述属性和所述安全事件的所述属性之间的编辑距离确定为所述差异距离;或者,
在所述属性为具有大小比较特性的属性的情况下,将所述历史安全事件的所述属性和所述安全事件的所述属性之间的欧式距离确定为所述差异距离;或者,
在所述属性为链表类型或者数组类型的情况下,将所述历史安全事件的所述属性和所述安全事件的所述属性之间的杰卡德距离确定为所述差异距离。
7.如权利要求3或4所述的方法,其特征在于,所述从所述多个历史安全事件中确定与所述安全事件相似的历史安全事件,包括:
确定所述安全事件的K维特征向量,所述K维特征向量用于指示所述安全事件在K个属性中每个属性上的特征值,所述特征值为数值;
根据所述安全事件的K维特征向量从K-D树中查找与所述安全事件最邻近的叶子节点,所述K-D树中每个节点用于指示一个历史安全事件,所述K-D树是根据所述多个历史安全事件中每个历史安全事件的K维特征向量构建的;
回溯所述最邻近的叶子节点和所述K-D树的根节点之间的路径上每个节点,确定每个节点和每个节点的子节点分别与所述安全事件之间的欧式距离;
将欧式距离最小的节点指示的历史安全事件确定为与所述安全事件相似的历史安全事件。
8.如权利要求1至7任一所述的方法,其特征在于,所述从与所述安全事件的类型匹配的案例包括的一个或多个剧本中确定用于处理所述安全事件的剧本,包括:
根据与所述安全事件的类型匹配的案例包括的各个剧本的处理结果和/或各个剧本的执行时间,从与所述安全事件的类型匹配的案例包括的各个剧本中选择一个或多个剧本,将选择的剧本作为用于处理所述安全事件的剧本。
9.如权利要求8所述的方法,其特征在于,所述从所述与所述安全事件的类型匹配的案例包括的各个剧本中选择一个或多个剧本之后,还包括:
将所述选择的剧本推送至用户端,以使用户修改所述选择的剧本;
接收所述用户端返回的剧本更新消息,所述剧本更新消息携带所述用户修改后的剧本,将所述用户修改后的剧本作为用于处理所述安全事件的剧本。
10.如权利要求9所述的方法,其特征在于,所述将所述选择的剧本推送至用户端之后,还包括:
在接收到所述用户端返回的禁止推荐设置请求的情况下,将所述安全事件的类型添加至禁止推荐列表中,所述禁止推荐列表包括禁止通过所述案例数据库确定剧本的安全事件的类型;
相应地,所述从案例数据库中确定与所述安全事件的类型匹配的案例之前,还包括:
从所述禁止推荐列表中查找所述安全事件的类型;
在没有查找到所述安全事件的类型的情况下,执行所述从案例数据库中确定与所述安全事件的类型匹配的案例的操作。
11.如权利要求1至10任一所述的方法,其特征在于,所述从与所述安全事件的类型匹配的案例包括的一个或多个剧本中确定用于处理所述安全事件的剧本之后,还包括:
获取按照确定的剧本处理所述安全事件后的处理结果;
根据所述安全事件的类型、所述确定的剧本、以及所述确定的剧本的处理结果,生成一个案例;
将生成的案例添加至所述案例数据库中。
12.一种确定用于处理安全事件的剧本的装置,其特征在于,所述装置包括:
第一查找模块,用于查找与待处理的安全事件的类型绑定的剧本;
第一确定模块,用于在没有查找到与所述安全事件的类型绑定的剧本的情况下,从案例数据库中确定与所述安全事件的类型匹配的案例,所述案例数据库包括多个案例,每个案例包括一个类型、一个或多个剧本以及所述一个或多个剧本中每个剧本的处理结果,每个案例用于指示针对属于同一个类型的历史安全事件执行的剧本,以及执行剧本后的处理结果;
第二确定模块,用于从与所述安全事件的类型匹配的案例包括的一个或多个剧本中确定用于处理所述安全事件的剧本。
13.如权利要求12所述的装置,其特征在于,所述第一确定模块用于:
从所述案例数据库中查找类型与所述安全事件的类型一致的案例,将查找到的案例作为与所述安全事件的类型匹配的案例。
14.如权利要求13所述的装置,其特征在于,所述第一确定模块还用于:
在没有查找到类型与所述安全事件的类型一致的案例的情况下,从任务数据库中获取多个历史安全事件,所述任务数据库包括多个任务,每个任务包括一个历史安全事件、一个剧本和一个处理结果,每个任务用于指示针对一个历史安全事件执行的剧本以及执行剧本后的处理结果;
从所述多个历史安全事件中确定与所述安全事件相似的历史安全事件;
确定所述相似的历史安全事件的类型;
从所述案例数据库中查找类型与所述相似的历史安全事件的类型一致的案例,将查找到的案例作为与所述安全事件的类型匹配的案例。
15.如权利要求14所述的装置,其特征在于,所述第一确定模块用于:
根据效用度量指标,从所述任务数据库中获取多个历史安全事件,所述效用度量指标包括目标处理结果、目标任务执行时间、以及目标相似频率中的一个或多个,所述目标相似频率是指任务中的历史安全事件在当前时间之前被确定为相似的历史安全事件的频率。
16.如权利要求14或15所述的装置,其特征在于,所述第一确定模块用于:
确定所述多个历史安全事件中每个历史安全事件的多个属性;
确定所述安全事件的多个属性;
对于所述多个属性中每个属性,确定每个历史安全事件的所述属性和所述安全事件的所述属性之间的差异距离;
根据每个历史安全事件和所述安全事件在所述多个属性中每个属性上的差异距离,确定所述安全事件与每个历史安全事件之间的相似度;
将相似度大于相似度阈值的历史安全事件确定为与所述安全事件相似的历史安全事件。
17.如权利要求16所述的装置,其特征在于,所述第一确定模块用于:
对于每个历史安全事件,在所述属性为不具有语义的属性的情况下,如果所述历史安全事件的所述属性和所述安全事件的所述属性相同,则将所述差异距离确定为1,如果所述历史安全事件的所述属性和所述安全事件的所述属性不相同,则将所述差异距离确定为0;或者,
在所述属性为具有语义的属性的情况下,将所述历史安全事件的所述属性和所述安全事件的所述属性之间的编辑距离确定为所述差异距离;或者,
在所述属性为具有大小比较特性的属性的情况下,将所述历史安全事件的所述属性和所述安全事件的所述属性之间的欧式距离确定为所述差异距离;或者,
在所述属性为链表类型或者数组类型的情况下,将所述历史安全事件的所述属性和所述安全事件的所述属性之间的杰卡德距离确定为所述差异距离。
18.如权利要求14或15所述的装置,其特征在于,所述第一确定模块用于:
确定所述安全事件的K维特征向量,所述K维特征向量用于指示所述安全事件在K个属性中每个属性上的特征值,所述特征值为数值;
根据所述安全事件的K维特征向量从K-D树中查找与所述安全事件最邻近的叶子节点,所述K-D树中每个节点用于指示一个历史安全事件,所述K-D树是根据所述多个历史安全事件中每个历史安全事件的K维特征向量构建的;
回溯所述最邻近的叶子节点和所述K-D树的根节点之间的路径上每个节点,确定每个节点和每个节点的子节点分别与所述安全事件之间的欧式距离;
将欧式距离最小的节点指示的历史安全事件确定为与所述安全事件相似的历史安全事件。
19.如权利要求12至18任一所述的装置,其特征在于,所述第二确定模块用于:
根据与所述安全事件的类型匹配的案例包括的各个剧本的处理结果和/或各个剧本的执行时间,从与所述安全事件的类型匹配的案例包括的各个剧本中选择一个或多个剧本,将选择的剧本作为用于处理所述安全事件的剧本。
20.如权利要求19所述的装置,其特征在于,所述第二确定模块用于:
将所述选择的剧本推送至用户端,以使用户修改所述选择的剧本;
接收所述用户端返回的剧本更新消息,所述剧本更新消息携带所述用户修改后的剧本,将所述用户修改后的剧本作为用于处理所述安全事件的剧本。
21.如权利要求20所述的装置,其特征在于,所述装置还包括:
第一添加模块,用于在接收到所述用户端返回的禁止推荐设置请求的情况下,将所述安全事件的类型添加至禁止推荐列表中,所述禁止推荐列表包括禁止通过所述案例数据库确定剧本的安全事件的类型;
相应地,所述装置还包括:
第二查找模块,用于从所述禁止推荐列表中查找所述安全事件的类型;
所述第一确定模块,还用于在所述第二查找模块没有查找到所述安全事件的类型的情况下,执行所述从案例数据库中确定与所述安全事件的类型匹配的案例的操作。
22.如权利要求12至21任一所述的装置,其特征在于,所述装置还包括:
获取模块,用于获取按照确定的剧本处理所述安全事件后的处理结果;
第一生成模块,用于根据所述安全事件的类型、所述确定的剧本、以及所述确定的剧本的处理结果,生成一个案例;
第二添加模块,用于将生成的案例添加至所述案例数据库中。
23.一种基于安全事件推荐剧本的装置,其特征在于,所述装置包括存储器和处理器;
所述存储器用于存储支持所述装置执行权利要求1-11任一项所述的方法的程序,以及存储用于实现权利要求1-11任一项所述的方法所涉及的数据;
所述处理器被配置为用于执行所述存储器中存储的程序。
24.一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行权利要求1-11任一项所述的方法。
CN201910783314.6A 2019-08-23 2019-08-23 确定用于处理安全事件的剧本的方法、装置及存储介质 Active CN112422484B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910783314.6A CN112422484B (zh) 2019-08-23 2019-08-23 确定用于处理安全事件的剧本的方法、装置及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910783314.6A CN112422484B (zh) 2019-08-23 2019-08-23 确定用于处理安全事件的剧本的方法、装置及存储介质

Publications (2)

Publication Number Publication Date
CN112422484A CN112422484A (zh) 2021-02-26
CN112422484B true CN112422484B (zh) 2023-03-17

Family

ID=74779640

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910783314.6A Active CN112422484B (zh) 2019-08-23 2019-08-23 确定用于处理安全事件的剧本的方法、装置及存储介质

Country Status (1)

Country Link
CN (1) CN112422484B (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113037744A (zh) * 2021-03-05 2021-06-25 中通服创发科技有限责任公司 一种基于交互式的安全事件剧本编排与处置方法及装置
CN113037774B (zh) * 2021-03-31 2022-05-27 新华三信息安全技术有限公司 一种安全管理方法、装置、设备及机器可读存储介质
CN113472787A (zh) * 2021-06-30 2021-10-01 深信服科技股份有限公司 一种告警信息处理方法、装置、设备及存储介质
CN113343228B (zh) * 2021-06-30 2023-11-10 北京天融信网络安全技术有限公司 事件可信度分析方法、装置、电子设备及可读存储介质
CN113468212A (zh) * 2021-07-21 2021-10-01 华青融天(北京)软件股份有限公司 事件执行的方法、装置及电子设备
CN113792099B (zh) * 2021-08-12 2023-08-25 上海熙业信息科技有限公司 一种基于历史效用表剪枝的数据流高效用项集挖掘系统
CN114157495B (zh) * 2021-12-06 2024-04-19 杭州安恒信息安全技术有限公司 安全网络剧本编排方法、装置、设备及可读存储介质
CN114254102B (zh) * 2022-02-28 2022-06-07 南京众智维信息科技有限公司 一种基于自然语言的协同应急响应soar剧本推荐方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102594783A (zh) * 2011-01-14 2012-07-18 中国科学院软件研究所 一种网络安全应急响应方法
CN105653250A (zh) * 2014-11-14 2016-06-08 中国科学院沈阳计算技术研究所有限公司 一种用于三维模拟系统的任务控制系统
CN107590386A (zh) * 2017-08-16 2018-01-16 腾讯科技(深圳)有限公司 安全事件信息的处理方法、装置、存储介质和计算机设备
WO2018236688A1 (en) * 2017-06-22 2018-12-27 Mark Cummings SECURITY ORCHESTRATION AND NETWORK IMMUNE SYSTEM DEPLOYMENT FRAMEWORK

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8019713B2 (en) * 2005-07-08 2011-09-13 Honda Motor Co., Ltd. Commonsense reasoning about task instructions

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102594783A (zh) * 2011-01-14 2012-07-18 中国科学院软件研究所 一种网络安全应急响应方法
CN105653250A (zh) * 2014-11-14 2016-06-08 中国科学院沈阳计算技术研究所有限公司 一种用于三维模拟系统的任务控制系统
WO2018236688A1 (en) * 2017-06-22 2018-12-27 Mark Cummings SECURITY ORCHESTRATION AND NETWORK IMMUNE SYSTEM DEPLOYMENT FRAMEWORK
CN107590386A (zh) * 2017-08-16 2018-01-16 腾讯科技(深圳)有限公司 安全事件信息的处理方法、装置、存储介质和计算机设备

Also Published As

Publication number Publication date
CN112422484A (zh) 2021-02-26

Similar Documents

Publication Publication Date Title
CN112422484B (zh) 确定用于处理安全事件的剧本的方法、装置及存储介质
US11824646B1 (en) Processing anomaly data to identify network security threats by use of rarity analysis
US11343268B2 (en) Detection of network anomalies based on relationship graphs
US10902114B1 (en) Automated cybersecurity threat detection with aggregation and analysis
EP3531325B1 (en) Computer security event analysis
US8056136B1 (en) System and method for detection of malware and management of malware-related information
US8839435B1 (en) Event-based attack detection
US11080307B1 (en) Detection of outliers in text records
US20220294816A1 (en) Ingesting event data into a data warehouse
US20150213272A1 (en) Conjoint vulnerability identifiers
US11973784B1 (en) Natural language interface for an anomaly detection framework
JP2024536226A (ja) 機械学習を介して悪意のあるハンズオンキーボード活動を検出するためのシステムおよび方法
US20230319092A1 (en) Offline Workflows In An Edge-Based Data Platform
CN114362980B (zh) 协议挂登录账号识别方法、装置、计算机设备和存储介质
US11468074B1 (en) Approximate search of character strings
CN116938605B (zh) 网络攻击防护方法、装置、电子设备及可读存储介质
US11734316B2 (en) Relationship-based search in a computing environment
US20240323216A1 (en) Credential-based security posture engine in a security management system
US12058160B1 (en) Generating computer code for remediating detected events
US20240089293A1 (en) Automated Security Rule Updates Based On Alert Feedback
CN117857209A (zh) 一种邮件安全检测方法、装置和系统
CN116909785A (zh) 异常事件的处理方法、装置、设备、存储介质和程序产品
WO2024112501A1 (en) Guided anomaly detection framework
CN115408357A (zh) 一种文件记录处理方法、装置、设备及介质

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