CN110313004A - 通过自动攻击测试来验证安全监测 - Google Patents

通过自动攻击测试来验证安全监测 Download PDF

Info

Publication number
CN110313004A
CN110313004A CN201880013073.0A CN201880013073A CN110313004A CN 110313004 A CN110313004 A CN 110313004A CN 201880013073 A CN201880013073 A CN 201880013073A CN 110313004 A CN110313004 A CN 110313004A
Authority
CN
China
Prior art keywords
robotic process
attack
computing device
destination computing
automatic
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
CN201880013073.0A
Other languages
English (en)
Inventor
B·J·戈达尔
A·萨多夫斯基
T·W·罗兹
D·A·马歇尔
R·A·伦丁
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 Technology Licensing LLC
Original Assignee
Microsoft Technology Licensing LLC
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 Technology Licensing LLC filed Critical Microsoft Technology Licensing LLC
Publication of CN110313004A publication Critical patent/CN110313004A/zh
Pending legal-status Critical Current

Links

Classifications

    • 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
    • G06F21/577Assessing vulnerabilities and evaluating computer system security
    • 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/552Detecting local intrusion or implementing counter-measures involving long-term monitoring or reporting
    • 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/1433Vulnerability analysis
    • 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)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer And Data Communications (AREA)
  • Debugging And Monitoring (AREA)

Abstract

公开了用于操作服务的安全测试的自动攻击测试框架的系统、设备和方法。在一个示例中,这样的系统、设备和方法可以包括以下操作:将用于机器人过程的命令指令和有效载荷部署到位于目标基础结构内的计算设备,其中,所述命令指令是基于标准选择的以利用所述机器人过程中的自动攻击动作来测试目标基础结构中的安全特征,并且其中,所述机器人过程是在所述计算设备上执行的,并且是使用所述命令指令和所述有效载荷来开始的;与所述计算设备通信以控制所述目标基础结构内的自动攻击动作,使得所述自动攻击动作是在所述机器人过程内执行的;以及从所述计算设备获得在所述机器人过程内执行的自动攻击动作的结果。

Description

通过自动攻击测试来验证安全监测
背景技术
识别和纠正安全漏洞是信息安全中研究和调查的一个很大领域。具体而言,许多资源投入到保护由云服务和网络连接的信息提供者托管的数据和服务。目前使用各种方法来识别网络可访问的软件应用和服务中的安全漏洞和问题,目的是在恶意行为者可以利用这些漏洞和问题之前识别并纠正这些漏洞和问题。然而,现有的安全测试和安全验证技术通常不足以保持领先于所有恶意行为者。
例如,服务或基础结构的安全验证可以利用侵入测试团队(通常被称为“红队”)手动执行,与之形成对照的是试图保护服务并修补漏洞的“蓝队”。红队可能会开发场景以利用已知漏洞并发现恶意攻击者可能用来破坏服务的新漏洞,以模拟真实事件从而蓝队可以进行事件响应和检测。此外,红队经常花费资源来开发和识别将恶意代码运行到目标盒子上的隐秘方式。然而,由于侵入测试的手动性以及成功部署模拟攻击所需的大量资源和专业知识,红队执行的安全测试可能不经常发生。
发明内容
在附图和以下详细描述文本中提供了本发明主题的实施例的各种细节。将理解的是:以下部分提供了这些实施例中的一些实施例的概括示例。
概括而言,本文中描述的实施例涉及在计算系统和网络内实现的安全监测和测试,并且具体而言,本文中描述的实施例涉及通过协调和监测来自分布式计算设备的自动网络攻击来处理和分析安全措施。在一个示例中,实施例可以包括以下电子操作:将用于机器人(bot)过程的命令指令和有效载荷部署到位于目标基础结构内的目标计算设备,其中,所述命令指令是基于标准选择的以利用所述机器人过程中的自动攻击动作来测试目标基础结构中的安全特征,并且其中,所述机器人过程是在所述目标计算设备上执行的,并且是使用所述命令指令和所述有效载荷来开始的;与所述目标计算设备通信以控制所述目标基础结构内的自动攻击动作,使得所述自动攻击动作是在所述机器人过程内执行的;以及从所述目标计算设备获得在所述机器人过程内执行的自动攻击动作的结果。
在另一个示例中,所述电子操作还可以将通信配置部署到所述目标计算设备,使得所述通信配置用于传送网络位置以使目标计算设备能够获得所述命令指令和所述有效载荷。同样在另一个示例中,部署到所述目标计算设备的所述命令指令定义所述机器人过程的寿命、所述机器人过程的标识符以及用于与所述计算设备安全通信的信息,使得所述自动攻击动作被指定为由所述目标计算设备基于所述机器人过程的所述标识符执行。同样在另一个示例中,所述自动攻击动作被包括在场景的自动攻击动作集中,并且所述场景是由所述计算设备以循环、自动的方式发起的。同样在另一个示例中,利用从工具箱库中选择的远程访问工具箱来执行所述自动攻击动作。
本文中讨论的实施例包括计算设备,所述计算设备包括处理硬件(例如处理器)和存储器硬件(例如存储设备或易失性存储器),所述存储器硬件包括体现在其上的指令,使得所述指令当由所述处理硬件执行时,使所述计算设备实现、执行或协调所述电子操作。本文中讨论的另一个实施例包括计算机程序产品,例如可以由机器可读介质或其他存储设备体现,其提供用于实现、执行或协调电子操作的指令。本文中讨论的另一个实施例包括在计算设备的处理硬件上可操作以实现、执行或协调电子操作的方法。
如本文所讨论的,可以在配置服务计算系统、命令与控制(“C2”)计算系统、或攻击部署计算系统中提供实现本文描述的电子操作的各方面的逻辑、命令或指令。另一个实施例包括将本文所讨论的技术合并到其他形式中,包括到其他形式的编程逻辑、硬件配置或硬件实现的组件或模块中,包括具有用于执行这些技术的功能的相应单元的装置。用于实现这些技术的功能的相应算法可以包括上述电子操作中的一些或所有电子操作的序列,或者附图和以下详细描述中描述的其他方面。
提供本概述部分是为了以简化的形式介绍本发明主题的各方面,并且在随后的详细描述的文本中进一步解释本发明主题。本概述部分不旨在标识所要求保护的主题的关键或所需特征,并且本概述部分中列出的元素的特定组合和顺序不旨在提供对所要求保护的主题的元素的限制。
附图说明
在附图中,相似的附图标记可以描述不同视图中的类似组件,所述附图不一定是按比例绘制的。具有不同字母后缀的相似附图标记可以表示类似组件的不同实例。在附图的图示中,通过示例而非限制的方式示出了一些实施例,其中:
图1示出了根据示例的用于实现操作服务的自动攻击测试的配置和控制服务的概述。
图2示出了根据示例的用于实现操作服务的自动攻击测试的攻击部署服务器的命令和控制的操作的概述。
图3示出了根据示例的在配置服务、命令与控制服务、和攻击部署机器之间执行的用于实现目标服务的自动攻击测试的部署和执行操作序列。
图4示出了根据示例的由攻击部署服务执行的用于使用机器人过程来启动目标服务的自动攻击测试的操作的流程图。
图5示出了根据示例的由命令与控制服务执行的用于使用机器人过程来控制目标服务的自动攻击测试的操作的流程图。
图6示出了根据示例的用于在自动攻击框架内实现自动攻击测试的方法的流程图。
图7示出了根据示例的实现用于自动攻击测试的技术的配置服务计算系统、命令与控制计算系统、和攻击部署计算系统的硬件和功能组件的框图。
具体实施方式
在以下描述中,公开了用于目标的自动攻击测试的方法、配置和相关装置,以针对诸如云服务中的服务器之类的目标执行模拟的网络攻击场景和动作。在以下示例中,模拟的网络攻击可以利用攻击测试框架来实现,所述框架协调受控的网络攻击测试动作。攻击测试框架可以实现攻击者可能能够执行的动作集,并且攻击测试框架可以使用受控过程来针对构成云服务的基础结构、数据服务、过程和接口来执行这些动作中的任何动作。攻击测试框架可以启动这样的自动攻击动作,以通过测量云服务能够检测和响应甚至抵抗模拟攻击的程度来验证云服务的网络防御。
如以下示例中所讨论的,攻击测试框架的使用可以提供有组织的、可重复的且易于实现的攻击指令,所述攻击指令可以用于验证多种类型的计算系统(包括含有许多服务器和操作子系统的云服务)的防御。攻击测试框架可以用于定期生成模拟的网络攻击,所述网络攻击提供用于验证防御措施的准备情况的关键信息。本文中讨论的技术使用以不可预测的方式启动的过程来实现这种受控模拟,同时仍受约束以防止损害敏感数据或者目标系统的破坏性动作。此外,本文中讨论的技术提供了用于生成模拟和协调的攻击场景的启动简单和可重复的方法,所述方法可以允许系统管理员利用先前的手动方法更频繁和更准确地测试防御措施并验证对基础结构的改变。
在一个示例中,攻击测试框架通过使用在目标基础结构中的相应机器上操作的“机器人”过程来执行动作。在一个示例中,机器人过程是在外部控制器或主控制器(例如命令与控制服务)的控制下启动和操作的特定过程。在一个示例中,机器人过程在命令与控制服务的控制下开始、执行和结束功能。在另一个示例中,实现机器人过程的机器是“僵尸(zombie)”机器。在又一个示例中,可以在特定的僵尸机器内实现多个机器人过程。在一个示例中,僵尸机器可以是分布式“僵尸网络(机器人net)”或类似的联网计算机协调组的一部分。
图1提供了用于实现操作服务110的自动攻击测试的示例配置和控制服务的概述。如图1所示,操作服务110可以包括与数据库和存储的数据协调的处理系统152(例如计算设备),所述存储的数据例如提供有操作数据154和凭证数据156。另外,操作服务110可以包括用于托管或处理操作服务110的数据和操作的另外的处理单元(例如充当攻击部署机器142A、142B、142C的服务器计算设备)。
如以下场景中所讨论的,通过使用攻击测试框架以从操作服务内110启动恶意动作,例如将在恶意行为者(例如黑客、流氓雇员)能够进入操作服务110的场景中使用的,处理单元(例如攻击部署机器142A、142B、142C)被协调作为攻击机器集140。因此,攻击测试框架可以从来自操作服务110内的内部处理单元启动攻击,它试图对操作数据154、凭证数据156或处理系统152启动进一步的攻击和漏洞利用。以这种方式操作的攻击机器140的配置可以由系统管理员审慎设计和编程,所述系统管理员试图模拟来自受损系统集的攻击操作。
在一个示例中,攻击测试框架包括使用配置服务120以及命令与控制服务130来经由处理机器(例如攻击机器集140中的攻击部署机器142A、142B、142C)来协调操作服务110上的自动和模拟攻击者动作。如下文进一步讨论的,配置服务120可以在配置服务计算系统122上操作,以根据配置设置数据124(其可以在部署的脚本或命令集中定义)的特性为攻击机器140提供攻击场景的配置、初始化或设置。还如下文进一步讨论的,命令与控制服务130可以在计算设备(例如服务器计算系统132)上操作,以通过在攻击机器140之间启动的机器人过程来提供自动恶意动作的配置和协调。命令与控制服务130可以基于定义场景或目标的漏洞测试数据134、恶意访问工具箱136以及其他约束和规则来执行自动恶意动作。虽然图1的环境将配置服务120以及命令与控制服务130描绘为作为单独的服务并且在单独的机器上操作,但将理解的是:服务120、130的电子功能和能力可以集成到单个计算位置上或作为单个服务。
攻击测试框架操作配置服务120以及命令与控制服务130以建立和执行针对目标服务(例如操作服务110的特征)的模拟攻击。攻击可以包括在攻击场景中提供的一系列多个攻击,例如从第一处理单元(例如攻击部署机器142A)内开始的,扩散到另一个处理系统(例如处理系统152),或者甚至扩展到其他数据源(例如操作数据154或凭证数据156)的恶意动作集。因此,攻击动作可以包括由场景启动的一个动作、多个动作、协调的动作、或者多个协调的或非协调的动作。攻击动作的非限制性集合可以包括:窃取密码、改变帐户访问权限、伪造或改变数据、移除数据、或者任何其他类似类型的未授权、无意的动作。
本文中讨论的攻击测试框架的技术可以与由红队执行的手动活动(例如图1所示的从红队计算系统162针对相应处理单元(例如攻击部署机器142A、142B、142C)、处理系统152、操作数据154或凭证数据156启动的红队动作164)互补。由于来自红队的手动测试资源的部署是资源密集型的,涉及熟练用户,因此对红队服务的需求可能超过用户的资源供应。
由红队执行的侵入测试动作代表潜在的人类攻击者行为,并且可以与攻击测试框架结合使用,以验证系统防御的准备情况。然而,在下一次侵入测试开始之前,可能难以完全解决来自上次侵入测试的所有问题;同样,如果在下次侵入之前没有实现修复无效,则红队将能够破坏系统,从而导致另一轮测试和延迟。使用攻击测试框架可以提供一种用于定期验证红队无法获得的某些攻击场景的结果的可重复的方法,包括以每周、每天或每小时为基础或者在配置改变之后的对特定场景或者场景集的测试。
由红队执行的手动侵入测试动作也有固有的局限性,即在侵入测试被启动的时间点,这样的动作会攻击工作负载状态的特定快照。由于配置随着时间的推移发生变化,可能会有许多攻击者机会在过渡期间被遗漏和未被检测到。使用攻击测试框架能够以类似于软件的单元测试的方式来实现重复但不同的攻击尝试部署。(例如在典型的软件测试部署中使用的)单元测试涉及针对程序的某些特征和部分的单元测试的重复执行以验证代码可以重复预期的动作。单元测试可以用于尽早发现问题,这是因为在每次提交或改变后运行相同的单元测试,并且任何失败的测试都可以指向经改变的代码或测试本身中的错误。此外,单元测试方法中使用的单元测试通常是针对典型用户的可能和预测的动作来编写的。以同样的方式,可以与攻击测试框架一起部署自动攻击测试技术,以复制典型攻击用户(例如试图在操作服务110中执行来自受破坏的系统的未经授权的动作的黑客、流氓雇员或其他恶意行为者)的动作。
攻击测试框架可以执行单元测试和集成测试以模拟攻击者行为,例如攻击者将期望在环境(例如操作服务110)内部采取的定义的动作。可以在测试场景中定义的恶意动作的另外的示例可以包括但不限于:内部扫描和指纹识别;窃取凭证;提升特权;系统间的横向移动;利用或暴露后门;数据泄露等等。可以将这些恶意动作并入漏洞测试数据134的场景脚本中,以便重建和再现实际的攻击者场景;这些恶意动作也可以是模块化的,以允许针对不同类型的恶意访问工具箱136结合新的工具和技术。
图2示出了用于实现对操作服务的自动攻击测试的攻击部署服务器的命令和控制的示例操作的概述。如图所示,用于实现自动攻击测试的组件包括:在管理员170的控制下操作的分发客户端126,在网络可访问的云服务138内操作的命令与控制服务130,以及在操作服务(例如图1中描绘的操作服务110)内操作的攻击部署服务器(例如攻击部署机器142A、142B、142C)。操作服务被示出为包括受到攻击的一个或多个目标数据服务150(例如其可以由图1中描绘的处理系统152、操作数据154和凭证数据156的特征体现)。
自动攻击测试从操作服务内直接针对目标基础结构本身运行,其真实地模拟了攻击者行为。以下场景描述了部署到攻击部署机器142A、142B、142C,指示这些服务器与命令与控制服务130建立通信,并获得攻击部署机器142A、142B、142C处的恶意有效载荷的示例配置。该恶意有效载荷用于在命令与控制服务130的控制下建立机器人过程,所述命令与控制服务130转而操作机器人过程并试图在攻击部署机器142A、142B、142C或其他基础结构目标(例如目标数据服务150)内部执行恶意动作。
图2具体示出了利用以下序列发起的示例自动攻击测试:在分发客户端126、命令与控制服务130、攻击部署机器142A、142B、142C和目标数据服务150之间发生的配置分发动作(标示为“1”)、命令配置动作(标示为“2”)、机器人过程配置动作(标示为“3”)和机器人过程操作动作(标示为“4”)。
在一个示例中,配置分发动作(标示为“1”)可以由管理员170使用分发客户端126发起,以向相应攻击部署机器142A、142B、142C提供配置脚本202A、202B、202C。在一个示例中,配置脚本202A、202B、202C被提供为powershell脚本,其看起来是无害的(例如是与已知恶意软件的模式不匹配的预期系统配置行为)。该脚本可以包括用于标识相应攻击部署服务器的唯一标识符和指示如何识别和联系命令与控制服务130的命令。例如,powershell脚本可以命令相应攻击部署服务器对为命令与控制服务130提供的网络地址执行GET命令。
在一个示例中,命令配置动作204A、204B、204C(标示为“2”)可以包括由命令与控制服务130执行的操作。命令与控制服务130可以使用联系的攻击部署服务器的唯一标识符来确定回调指令是否应当被发送回运行脚本(powershell脚本)的攻击部署服务器。这通过命令与控制服务130评估不同先例的一系列规则来确定,以便在特定选择的位置之间启动自动攻击场景。例如,规则可以包含与在由唯一标识符标识的特定框上启动某些动作的场景有关联的匹配规则。命令与控制服务130可以提供用于建立安全连接的回调指令,例如包括应当联系的监听者的IP地址、端口号和SSL设置,以及一旦在攻击部署服务器上建立机器人过程就应当运行的场景。
命令配置动作还可以利用命令与控制服务130来调用命令步骤,以便于控制攻击部署机器142A、142B、142C之间的机器人过程。例如,场景信息可以与攻击部署服务器的唯一标识符组合,以创建在特定攻击部署服务器上启动的机器人过程的标识符(机器人过程ID)。然后,可以将命令指令传送到攻击部署服务器。作为具体示例,如果找到匹配规则,则回调指令、.dll或者用于启动机器人过程的其他数据以及新的机器人过程ID被隐藏在.jpg文件内部并被发送回攻击部署服务器。然后,攻击部署服务器开始利用已发送的连接指令来运行此机器人过程.dll。因此,命令配置动作导致机器人过程被发起,并且代表命令与控制服务130等待进一步的机器人过程配置和操作(攻击)操作。
在一个示例中,机器人过程配置动作206A、206B、206C(标示为“3”)可以包括特定过程的协调,例如在用于发起和操作恶意访问工具箱(例如远程访问工具箱)的过程中。一旦机器人过程连接到命令与控制服务器,服务器就会查看机器人过程正在使用的机器人过程ID,并从该ID中提取场景信息。场景信息指示应当针对此机器人过程或者由此机器人过程执行哪个脚本或动作。这些可以包括排队命令,等待命令完成,以及搜索先前运行的命令的结果。
在一个示例中,机器人过程操作动作208A、208B、208C(标示为“4”)包括由命令与控制服务130指示的针对攻击部署机器142A、142B、142C的内部服务的恶意动作的操作。在另一个示例中,机器人过程操作动作包括由命令和控制服务130指示的针对其他服务或操作服务的数据(例如目标数据服务150)的恶意动作的操作。可以经由安全连接将任何恶意动作的结果传送到命令与控制服务130。在其他示例中,恶意动作的类型和结果可以由命令与控制服务130记录。
在操作的特定示例中,机器人过程与命令与控制服务130连接,并向命令与控制服务130查询尚待解决的指令。例如,如果命令与控制服务130具有用于特定机器人过程的指令,则该特定机器人过程对指令进行排队并试图完成所有指令,并且如果这些指令中的任何指令需要响应,则该特定机器人过程通知命令与控制服务130:指令已完成并且存在输出。而且例如,如果该特定机器人过程不能执行指令或者不理解指令,则不执行任何动作。在另一个示例中,如果提供给该特定机器人过程的指令之一是“烧掉(burn)”该过程,则该特定机器人过程退出。仍然在另一个示例中,为机器人过程设置到期(“死人(dead man)”)计时器,作为一旦到期计时器到期就使该特定机器人过程退出其循环的机制。
在另一个示例中,可以通过用户接口来暴露攻击测试框架的特征,所述用户接口允许管理员170对攻击特征、场景和调度进行控制和定义。例如,用户接口可以包括图形用户接口172,其允许用户经由命令与控制服务130来指定新的攻击以及该攻击的目标。作为另一个示例,用户接口可以包括命令行接口174,其允许用户发起并组合命令行工具,以经由命令与控制服务130来触发针对所选择的目标的攻击。在另一个示例中,图形用户接口172可以提供用于查看模拟攻击场景的结果(例如记录)和诊断的输出。
在重复部署中使用攻击测试框架可以用于验证基础结构中的安全性改变、更新和投入。此外,即使部分成功的恶意动作也可以用于识别使攻击者更容易操作和启动其他类型攻击的改变或配置。例如,在诸如路由器规则之类的网络配置已经改变的场景中,使用攻击测试框架可以识别经改变的网络配置是否导致更大的安全性暴露或者先前不存在的安全漏洞。
图3示出了在配置服务310、命令与控制服务320和攻击部署机器330之间执行的用于实现对目标数据服务340的自动攻击测试的部署和执行操作300的示例序列。继上文针对图2提供的示例,操作序列300描绘了针对“阶段0”部署动作350A(操作351-355)和“阶段1”执行动作350B(操作356-361)在相应服务和系统之间促进的通信生命周期。
如图所示,阶段0部署动作350A开始于配置服务310向攻击部署机器330提供配置脚本(操作351)。在一个示例中,配置脚本可以包括powershell脚本,其类似于会在操作环境中的部署机器上执行的正常操作动作。然后,攻击部署机器330可以分别对脚本进行解析(操作352)以识别由命令与控制服务320托管的命令和数据的网络位置。该脚本还可以包括为相应部署机器分配的标识符,所述标识符允许分配和识别哪个特定部署机器已经接收到该脚本。例如,执行powershell脚本可以使相应攻击部署机器330从命令与控制服务320获得攻击指令(操作353),例如经由对由网络服务器托管的HTTP网络服务的GET命令。
阶段0部署动作350A还包括:命令与控制服务320响应于对攻击指令的请求,向攻击部署机器330发送攻击指令和有效载荷(操作354)。命令与控制服务320基于评估不同先例的一系列规则来确定其针对特定机器的攻击指令。攻击指令可以包括用于建立用于控制机器人过程的后续安全连接的回调信息。回调信息可以指示应当在命令与控制服务320上联系的监听者的IP地址、端口号和加密(例如安全套接字层(SSL)设置。攻击指令还可以包括一旦机器人过程在相应攻击部署机器330上建立就应当运行的场景。例如,如果为特定部署机器找到匹配规则,则连接指令、机器人过程指令(例如.dll)以及新机器人过程ID被隐藏在合法文件格式(例如.jpg)内部并且被发送回攻击部署机器330。
响应于控制指令和有效载荷,攻击部署机器330分别对攻击指令进行解析并从响应中提取有效载荷(操作355)。在一个示例中,攻击部署机器330包括用于执行机器人过程的指令的接收,以及允许在远程代理(例如命令与控制服务320)的控制下使用机器人过程的恶意有效载荷(例如远程访问工具箱)的接收。在一些示例中,一些攻击部署机器没有接收到指令或有效载荷;在这种情况下,没有进一步的执行。
如图所示,阶段1执行动作350B开始于在将要由命令与控制服务320定义的场景控制的攻击部署机器330上启动机器人过程(操作356)。然后,该机器基于发送到该特定部署机器的连接指令开始运行机器人过程有效载荷(例如具有恶意动作的.dll)。
阶段1执行动作350B通过攻击部署机器330建立到命令与控制服务320的安全连接以用于操作机器人动作(操作357)来继续。接下来,通过安全连接来控制机器人过程中的动作(操作358),其中,攻击部署机器330针对目标数据服务340执行恶意动作(操作359)。
例如,在一个攻击部署机器330上的机器人过程连接到命令与控制服务320之后,命令与控制服务320评估机器人过程正在使用的机器人过程ID并基于机器人过程ID提取场景信息。在作为Windows服务器的攻击部署机器上操作的特定示例中,场景信息可以用于指示应当针对此特定机器人过程执行哪个AutoPwn脚本。AutoPwn脚本是powershell脚本,其使用powershell API在命令与控制服务器上对命令进行排队,等待命令完成,并搜索先前运行的命令的结果。
响应于执行恶意动作(操作359),攻击部署机器可以获得机器人过程动作的结果,并且可以确定特定恶意攻击操作是成功还是不成功。可以通过安全连接将恶意动作的结果(包括从恶意动作获得的数据)传送到命令与控制服务320(操作360)。基于恶意动作的结果和预期的场景,可以在攻击部署机器330上开始、控制或停止另外的机器人过程。多个机器人过程也可以协调彼此之间的动作。最后,机器人过程关闭(操作361)。在一个示例中,机器人过程被定义为在一段时间之后自动关闭。在另一个示例中,可以响应于命令或场景结果来关闭机器人过程。
在作为Windows服务器的攻击部署机器上操作的控制机器人过程动作的场景的示例可以包括在两个机器人过程之间协调操作,类似于以下内容:
(1)在僵尸机器上启动(spin up)第一机器人过程(botl)
(2)在相同僵尸机器上运行用于启动第二机器人过程的命令(bot2)
(3)等待命令完成
(4)在bot2过程上运行用于转储(dump)存储在存储器中的所有纯文本凭证的命令
(5)等待命令完成
(6)针对用于指定帐户列表或帐户标准的凭证(例如type2登录、NT SERVICE/中的任何帐户、来自提升会话的任何凭证等)的先前命令的搜索结果
(7)如果在上一步中找到凭证,则在bot2过程上运行用于利用先前找到的凭证来执行runas.exe的命令。这创建显式登录,并且应当生成可以检测到的日志。
(8)关闭botl过程和bot2过程
可以通过用于跟踪机器人过程的状态的标识符(机器人过程ID)来便利对攻击部署机器330的特定僵尸机器内的机器人过程的协调。每当启动新的机器人过程时,命令与控制服务320可以提供显式的机器人过程ID。最低限度,此机器人过程ID可以包括全局唯一标识符。在另一个示例中,此机器人过程ID还包含场景标识符,使得当机器人过程第一次回调时,与该标识符相对应的特定场景(例如AutoPwn场景)被运行。以这种方式,可以将多个场景链接在一起,并且可以在一个场景的情况下在单个部署机器上编排多个机器人过程。同样地,以类似的方式,场景可以在多个攻击部署机器330之间链接多个机器人过程。
在一个示例中,由命令与控制服务320协调的自动攻击测试进行操作以便知晓其目标的情况,以选择适当的目标和攻击操作。例如,可以针对某些类型的操作是否成功或具有成功历史来定制所执行的攻击操作。还可以根据目标数据服务340的特性或攻击部署机器的特性来定制攻击操作。
在一个示例中,自动攻击测试工具被设计为非破坏性的并且是针对验证自记录的。此外,在机器人过程中执行的操作被设置为过期,并且不引入新的漏洞。在命令与控制服务320和攻击部署机器330之间交换的结果和信息可以在安全连接上加密,以防止拦截或劫持机器人过程。此外,可以约束由机器人过程执行的活动以防止可能使实际攻击者更容易成功或获得敏感数据(或者,防止无意地中断操作服务)的非预期或失控动作。
在一些示例中,自动攻击测试可以用于形式化和集成红队从侵入测试中发现的工具和技术。同样在其他示例中,可以定制侵入测试,以便在自动测试已经成功运行一段时间之后尝试新的恶意技术;因此,在将资源投入新类型的侵入测试之前,允许纠正或修补已知漏洞。
图4示出了由攻击部署服务执行的用于使用机器人过程来启动对目标服务的自动攻击测试的示例操作的流程图400。以下操作可以与先前描述的示例的攻击部署操作(例如上文针对图3描述的攻击部署机器330的阶段0机器人过程部署动作350A或阶段1机器人过程执行动作350B)组合执行或附加于所述攻击部署操作来执行。
如图所示,攻击部署服务的初始操作可以包括获得并解析配置脚本,以识别部署标识符(例如唯一标识符)以及命令与控制服务位置(操作410)。例如,部署标识符可以包括分配给机器的唯一标识符,并且该位置可以包括用于访问命令与控制服务的网络地址(例如URL)。基于提供给攻击部署服务的部署标识符,攻击部署服务的操作继续从命令与控制服务位置获取和解析攻击指令和有效载荷(操作420)。响应于从命令与控制服务位置(例如网络服务URL)接收的信息,攻击部署服务继续启动可控(机器人)过程,并建立到命令与控制服务的控制连接(操作430)。在一个示例中,机器人过程传送机器人过程标识符,以允许命令与控制服务基于机器人过程标识符来识别和控制机器人过程的该实例。
响应于由命令与控制服务建立和传送的配置,在攻击部署服务上操作的机器人过程执行一个或多个机器人攻击动作(操作440)。在一个示例中,根据由命令与控制服务操作的场景来协调机器人攻击动作。同样在一个示例中,使用在命令与控制服务和机器人过程之间部署的远程访问工具箱来执行机器人攻击动作。获得来自机器人过程的攻击动作的结果并将其传送到命令与控制服务(操作450)。机器人过程的进一步操作和控制可以取决于特定攻击动作的成功或失败,或者从特定攻击动作获得的数据或执行的动作。最后,(例如响应于来自命令与控制服务的命令,或者在时间到期之后)机器人过程结束,并且从攻击部署服务移除机器人过程(操作460)。在一个示例中,机器人过程可以排他地在易失性存储器中操作,以防止敏感数据的剩余痕迹在机器人过程结束后持续存在。
图5示出了由命令与控制服务执行的用于使用机器人过程来控制对目标服务的自动攻击测试的示例操作的流程图500。以下操作可以与先前描述的示例的控制与命令操作(例如上文针对图3描述的命令与控制服务320的阶段0机器人过程部署动作350A或阶段1机器人过程执行动作350B)组合执行或附加于所述控制与命令操作来执行。
如图所示,命令与控制服务可以操作以识别用于在多个攻击部署机器、服务和机器人过程之间部署攻击指令和有效载荷的场景和规则(操作510)。作为另一个示例,可以基于管理员输入(例如通过命令行或图形用户接口(GUI)输入)来定制这些场景和规则。基于所识别的场景和规则,针对部署机器生成攻击指令和有效载荷并将其发送到部署机器(操作520)。例如,将攻击指令和有效载荷传送到相应部署机器以启动相应机器人过程。
命令与控制服务继续与已在部署机器上启动的机器人过程建立安全连接(操作530)。命令与控制服务继续经由安全连接来控制部署机器上的机器人过程动作(操作540)。命令与控制服务结束于经由安全连接获得机器人过程动作的结果(操作550)。在一个示例中,基于机器人过程标识符在命令与控制服务内识别机器人过程。基于从相应机器人过程中的恶意动作的结果获得的成功或失败、或者特定数据,可以协调另外的机器人过程动作、机器人过程和场景。
图6是用于利用自动攻击框架实现自动攻击测试的示例方法的流程图600。将理解的是:流程图600的操作可以结合计算机实现的方法、计算机程序产品上的指令或计算设备的配置(或者在这些方法、产品或计算设备中的多者之间)来实现。在一个示例中,电子操作提供自计算设备,所述计算设备充当位于目标服务基础结构外部的网络可访问服务器。
如图所示,流程图的操作可以开始于将通信配置初始部署到位于目标服务基础结构内的目标计算设备(操作610)。在一个示例中,用于部署通信配置的操作用于传送网络位置以使目标计算设备能够获得命令指令和有效载荷。在另一个示例中,在可由目标计算设备执行的脚本中提供通信配置,使得脚本的执行使目标计算设备从网络位置取回命令指令和有效载荷。在另一个示例中,通信配置可以包括将指示符部署到目标计算设备,使得指示符用于标识多个目标计算设备中的目标计算设备,并且使得相应机器人过程基于该指示符被部署到这多个目标计算设备。
流程图600的操作可以继续以定义用于自动攻击动作的标准和场景(操作620)。该定义可以包括对用于机器人过程的命令指令和有效载荷的创建和选择。在一个示例中,定义到目标计算设备的命令指令指示:机器人过程的寿命、机器人过程的标识符、以及与计算设备安全通信的信息。为机器人过程生成的有效载荷可以包括现有的(例如第三方)攻击工具箱,例如远程访问工具箱的形式。
流程图600的操作继续以将用于机器人过程的命令指令和有效载荷部署到位于目标服务基础结构内的目标计算设备(操作630)。在一个示例中,基于标准来选择命令指令,以利用机器人过程中的自动攻击动作来测试目标服务基础结构中的安全特征。如本文所解释的,机器人过程在目标计算设备上执行,并且使用命令指令和有效载荷来开始。在另一个示例中,命令指令和有效载荷被嵌入在发送到目标计算设备的图像文件中。
流程图600的操作利用发送到目标计算设备的通信继续,以控制目标服务基础结构内的自动攻击动作(操作640)。如本文所解释的,自动攻击动作在机器人过程内执行。在一个示例中,自动攻击动作被指定用于由目标计算设备基于机器人过程的标识符来执行。同样在一个示例中,包括自动攻击动作作为场景的多个自动攻击动作中的一个自动攻击动作,使得场景由计算设备以循环、自动的方式发起。同样在一个示例中,利用从工具箱库中选择的远程访问工具箱来执行自动攻击动作。流程图600的操作继续以从目标计算设备获得在机器人过程内执行的自动攻击动作的结果(操作650)。
在另一个可选示例中,向目标计算设备提供用于在目标计算设备上开始第二机器人过程的命令,使得第二机器人过程在目标计算设备上执行并且使用有效载荷来开始(操作660)。从第二机器人过程获得的信息可以用于利用机器人过程来执行另外的自动攻击动作。在另一个示例中,机器人过程的标识符和第二机器人过程的标识符与定义的场景相关联,使得机器人过程和第二机器人过程用于协调所述定义的场景的自动攻击动作(操作670)。
流程图600的操作结束于记录来自目标计算设备的在机器人过程内执行的自动攻击动作的结果(操作680)。
在另一个示例中,目标计算设备是目标服务基础结构中的多个服务器中的服务器,并且相应命令指令和有效载荷被部署到该多个服务器。以这种方式,在多个服务器之间启动相应机器人过程,并且相应机器人过程分别用于执行另外的自动攻击动作。
在一些示例中,对目标计算系统内的服务执行自动攻击动作。在其他示例中,对目标服务基础结构中远离目标计算系统的服务执行自动攻击动作。
如上所述,本文中讨论的自动攻击技术可以与用于安全漏洞的现有方法区分开。例如,这些技术与自动Pwning(拥有、攻击、冲击)特征不同,后者只是重新运行现有工具以使用已知漏洞并破坏网络。确切地说,可以在操作系统内使用自动攻击技术来假设某种程度的破坏,并强调一旦攻击者进入则可以实现可预测的恶意动作。自动攻击技术还可以与用于安全扫描的现有方法区分开来,后者只是扫描已知配置和漏洞。因此,自动攻击技术可以生成动态和不可预测的攻击者动作,而不局限于识别错误配置;并且作为识别漏洞的结果,可以调谐检测机制和补丁以识别并阻止恶意动作。
在另外的示例中,自动攻击技术可以扩展用于机器学习场景。机器学习场景具有以现有规则和人类监督无法获得的方式来识别和分析异常活动和漏洞行为的潜力。机器学习过程消耗标记或分类的数据用于训练以学习特定结果的特性。本文中讨论的攻击部署技术可以用于从自动攻击动作获得标记或分类的数据,以帮助识别与恶意活动相关联的系统活动,并训练机器学习过程以识别何时发生意外行为。此外,通过在假设了破坏的环境中使用自动攻击技术,机器学习算法可以用于开发分析以检测和响应受污染环境中的安全考虑。
图7示出了实现(例如利用上述示例完成的)用于对操作服务的自动攻击测试的技术的配置服务计算系统710、命令与控制计算系统720和攻击部署计算系统740的示例硬件和功能组件的框图700。
将理解的是:虽然配置服务计算系统710以及命令与控制计算系统720在图7中以及在其他附图中被描绘为单独的系统和服务,但是这些系统的特征可以集成到单个系统或服务中(例如在单个服务器计算系统中)。此外,虽然攻击部署计算系统740被描绘为单个计算系统,但将理解的是:其特征可以分布在一个或多个计算系统中。
如图所示,配置服务计算系统710包括:处理电路711(例如CPU)和存储器712(例如易失性或非易失性存储器),其用于(例如经由指令)执行供配置服务(例如图1中描绘的配置服务120)使用和操作的电子操作;数据存储设备713,其用于存储供配置服务操作和使用的脚本、指令和其他数据;通信电路714,其用于经由有线或无线网络组件与外部网络或设备通信以进行配置服务;配置处理组件或功能715(例如电路或软件指令),其用于建立和定义供攻击测试框架中的配置服务操作的对多个目标机器(例如攻击部署计算系统)的配置设置(例如脚本);以及分发处理组件或功能716(例如电路或软件指令),其用于向一个或多个目标机器(例如攻击部署计算系统,如攻击部署计算系统740)分发供攻击测试框架中的配置服务操作的配置设置(例如脚本)。
如图所示,命令与控制计算系统720包括:处理电路721(例如CPU)和存储器722(例如易失性或非易失性存储器),其用于(例如经由指令)执行供命令与控制服务(例如图1中描绘的命令与控制服务120)使用和操作的电子操作;数据存储设备723,其用于存储供命令与控制服务操作和使用的可执行文件、指令和其他数据;通信电路724,其用于经由有线或无线网络组件与外部网络或设备通信以进行命令与控制服务;脚本处理组件或功能725(例如电路或软件指令),其用于建立和定义供攻击测试框架中的命令与控制服务操作的对多个目标机器(例如攻击部署计算系统)的控制和命令参数(例如操作脚本);以及(例如经由专门的硬件或软件指令提供的)用户接口726,其用于输出或便利供命令与控制服务控制和操作的交互式命令行或图形用户接口。
命令与控制计算系统730还被描绘为包括:用于命令与控制服务的处理组件750(例如电路或软件指令),其包括:有效载荷处理732,其用于生成或选择命令指令或有效载荷(例如如上文针对图2-图6所描述的,生成用于将机器人过程启动到位于目标服务基础结构内的目标计算设备的命令指令);场景处理734,其用于定义或部署定义的场景(例如如上文针对图2-图6所描述的,在机器人过程之间启动自动攻击动作的场景);自动化处理736,其用于以自动方式启动攻击动作(例如如上文针对图2-体6所描述的,经由对机器人过程的控制);以及工具箱处理738,其用于选择和部署有效载荷和攻击操作(例如,如上文针对图2-图6所描述的,在机器人过程中分发和控制用于攻击动作的二进制文件和软件)。
如图所示,攻击部署计算系统740包括:处理电路741(例如CPU)和存储器742(例如易失性或非易失性存储器),其用于(例如经由指令)执行供攻击部署计算系统(例如图1中描绘的攻击部署机器142A、142B、142C)使用和操作的电子操作;数据存储设备743,其用于存储供攻击部署计算系统操作和使用的可执行文件、指令和其他数据;通信电路744,其用于经由有线或无线网络组件与外部网络或设备通信以进行命令与控制服务;脚本处理组件或功能745(例如电路或软件指令),其用于实现用于识别和操作供攻击部署框架中的机器人过程操作的攻击部署操作的(例如来自操作脚本的)控制和命令参数;以及记录处理组件或功能746(例如电路或软件指令),其用于监测和记录自动攻击动作的结果。
攻击部署计算系统740还被描绘为包括用于攻击部署服务的处理组件750(例如电路或软件指令),其包括:有效载荷处理752,其用于执行和操作有效载荷(例如如上文针对图2-图6所描述的,如图所示的远程访问工具箱有效载荷);攻击场景处理756,其用于实现自动攻击动作(例如如上文针对图2-图6所描述的,实现从命令与控制服务提供的控制指令);以及机器人主机处理754,其用于执行、操作和终止机器人过程操作(例如如上文针对图2-图6所描述的,如在机器人过程的有效载荷中提供的,并且由命令与控制服务控制的)。
如上所述,当前描述的电子操作的实施例可以以机器或设备(例如装置)、方法(例如过程)或者计算机或机器可读介质(例如制品或装置)的形式提供。例如,实施例可以被实现为存储在机器可读存储介质上的指令,其可以由处理器读取和执行以执行本文描述的操作。机器可读介质可以包括用于存储具有机器(例如计算机)可读的形式的信息的任何非暂时性机机构。机器可读介质可以包括存储一个或多个指令的单个介质或多个介质(例如集中式或分布式数据库,和/或相关联的高速缓存和服务器)。
机器可读介质可以包括能够存储、编码或携带用于由机器执行的指令,并且使得机器执行本公开内容中的方法中的任意一种或多种方法,或者能够存储、编码或携带由这些指令使用或者与这些指令相关联的数据结构的任何有形介质。机器可读介质应当被理解为包括但不限于固态存储器、光学和磁性介质以及其他形式的存储设备。机器可读介质的具体示例包括非易失性存储器,通过举例的方式,所述非易失性存储器包括但不限于:半导体存储器设备(例如电可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM))和闪存器设备;磁盘(例如内部硬盘和可移动盘);磁-光盘;以及光盘。还可以使用传输介质通过通信网络(例如经由使用多种的传输协议中的任意一种传输协议的网络接口设备)来发送或接收指令。
虽然本示例涉及各种形式的云服务和基础结构服务网络,但将理解的是:各个服务、系统和设备可以经由各种类型的通信网络通信地耦合。通信网络的示例包括:局域网(LAN)、广域网(WAN)、互联网、移动电话网、普通老式电话(POTS)网和无线数据网(例如Wi-Fi、2G/3G和4G LTE/LTE-A,或其他个域网、局域网或广域网)。
用于便利和执行本文描述的电子操作的实施例可以用硬件、固件和软件的一者或组合实现。本说明书中描述的功能单元或能力可能已经被称为或标记为组件、处理功能或模块,以便更具体地强调它们的实施独立性。这些组件可以由任何数量的软件或硬件形式体现。例如,组件或模块可以实现为包括定制电路或现货供应的半导体器件(例如逻辑芯片、晶体管或其他分立组件)的硬件电路。组件或模块还可以在诸如现场可编程门阵列、可编程阵列逻辑、可编程逻辑器件等等的可编程硬件器件中实现。组件或模块还可以在软件中实现,以供各种类型的处理器执行。例如,可执行代码的所标识的组件或模块可以包括计算机指令的一个或多个物理或逻辑块,其可以例如被组织成对象、程序或功能。所标识的组件或模块的可执行文件不需要物理上共置,而是可以包括存储在不同位置的分散指令,当逻辑上结合在一起时,其包括该组件或模块并实现该组件或模块的所声称的目的。
的确,可执行代码的组件或模块可以是单个指令、或者许多指令,并且甚至可以分布在若干个不同的代码段上、分布在不同的程序之间、以及跨越若干个存储器设备或处理系统。具体而言,所描述的过程的一些方面(例如命令与控制服务)可以发生在与其中部署了代码的处理系统(例如在测试计算环境中)中不同的处理系统上(例如在云托管的数据中心中的计算机中)。类似地,操作数据可以包括在各个组件或模块之内,并且可以以任何适当的形式来体现,以及组织在任何合适类型的数据结构中。操作数据可以作为单个数据集收集,或者可以分布在包括不同存储设备的不同位置上。
在上文的具体实施方式中,可以将各个特征组合在一起以便精简本公开内容。然而,权利要求可以不阐述本文中公开的每个特征,这是因为实施例可以以所述特征的子集为特征。此外,与特定示例中公开的那些特征相比,实施例可以包括较少的特征。因此,在权利要求自身作为单独实施例的前提下,在此将所附权利要求并入具体实施方式。

Claims (15)

1.一种计算设备,包括:
处理器;以及
存储器设备,所述存储器设备包括体现在其上的指令,其中,所述指令当由所述处理器执行时将所述处理器配置为执行以下电子操作:
将用于机器人过程的命令指令和有效载荷部署到位于目标基础结构内的目标计算设备,其中,所述命令指令是基于标准选择的以利用所述机器人过程中的自动攻击动作来测试所述目标基础结构中的安全特征,并且其中,所述机器人过程是在所述目标计算设备上执行的,并且是使用所述命令指令和所述有效载荷来开始的;
与所述目标计算设备通信以控制所述目标基础结构内的自动攻击动作,其中,所述自动攻击动作是在所述机器人过程内执行的;以及
从所述目标计算设备获得在所述机器人过程内执行的所述自动攻击动作的结果。
2.根据权利要求1所述的计算设备,其中,所述指令将所述处理器配置为执行以下另外的电子操作:
将通信配置部署到所述目标计算设备,其中,所述通信配置用于传送网络位置以使所述目标计算设备能够获得所述命令指令和所述有效载荷。
3.根据权利要求2所述的计算设备,其中,所述通信配置是在可由所述目标计算设备执行的脚本中提供的,其中,对所述脚本的执行使所述目标计算设备从所述网络位置取回所述命令指令和所述有效载荷。
4.根据权利要求1所述的计算设备,其中,部署到所述目标计算设备的所述命令指令定义所述机器人过程的寿命、所述机器人过程的标识符以及用于与所述计算设备安全通信的信息,并且其中,所述自动攻击动作被指定为由所述目标计算设备基于所述机器人过程的所述标识符来执行。
5.根据权利要求1所述的计算设备,其中,所述指令将所述处理器配置为执行以下另外的电子操作:
记录来自所述目标计算设备的在所述机器人过程内执行的所述自动攻击动作的所述结果。
6.根据权利要求1所述的计算设备,其中,所述目标计算设备是所述目标基础结构中的多个服务器中的服务器,其中,相应命令指令和有效载荷被部署到所述多个服务器,其中,在所述多个服务器之间开始相应机器人过程,并且其中,所述相应机器人过程分别用于执行另外的自动攻击动作。
7.根据权利要求1所述的计算设备,其中,所述自动攻击动作被包括在场景的自动攻击动作集中,并且其中,所述场景是由所述计算设备以循环、自动的方式发起的。
8.根据权利要求1所述的计算设备,其中,所述自动攻击动作是利用从工具箱库中选择的远程访问工具箱来执行的。
9.根据权利要求1所述的计算设备,其中,所述指令将所述处理器配置为执行以下另外的电子操作:
向所述目标计算设备提供用于在所述目标计算设备上开始第二机器人过程的命令,其中,所述第二机器人过程是在所述目标计算设备上执行的,并且是使用所述有效载荷来开始的,并且其中,从所述第二机器人过程获得的信息用于利用所述机器人过程执行另外的自动攻击操作。
10.根据权利要求9所述的计算设备,其中,所述机器人过程的标识符和所述第二机器人过程的标识符与定义的场景相关联,其中,所述机器人过程和所述第二机器人过程用于协调所述定义的场景的自动攻击动作。
11.一种包括利用计算设备的处理器和存储器执行的多个电子操作的方法,所述多个电子操作包括:
将用于机器人过程的命令指令和有效载荷部署到位于目标基础结构内的目标计算设备,其中,所述命令指令是基于标准选择的以利用所述机器人过程中的自动攻击动作来测试所述目标基础结构中的安全特征,并且其中,所述机器人过程是在所述目标计算设备上执行的,并且是使用所述命令指令和所述有效载荷来开始的;
与所述目标计算设备通信以控制所述目标基础结构内的自动攻击动作,其中,所述自动攻击动作是在所述机器人过程内执行的;以及
从所述目标计算设备获得在所述机器人过程内执行的所述自动攻击动作的结果。
12.根据权利要求11所述的方法,其中,部署到所述目标计算设备的所述命令指令定义所述机器人过程的寿命、所述机器人过程的标识符以及用于与所述计算设备安全通信的信息,并且其中,所述自动攻击动作被指定为由所述目标计算设备基于所述机器人过程的所述标识符来执行。
13.根据权利要求11所述的方法,其中,所述自动攻击动作被包括在场景的自动攻击动作集中,并且其中,所述场景是由所述计算设备以循环、自动的方式发起的。
14.根据权利要求11所述的方法,其中,所述自动攻击动作是利用从工具箱库中选择的远程访问工具箱来执行的。
15.根据权利要求11所述的方法,其中,所述电子操作还包括:
向所述目标计算设备提供用于在所述目标计算设备上开始第二机器人过程的命令,其中,所述第二机器人过程是在所述目标计算设备上执行的,并且是使用所述有效载荷来开始的,并且其中,从所述第二机器人过程获得的信息用于利用所述机器人过程来执行另外的自动攻击操作;
其中,所述机器人过程的标识符和所述第二机器人过程的标识符与定义的场景相关联,其中,所述机器人过程和所述第二机器人过程用于协调所述定义的场景的自动攻击动作。
CN201880013073.0A 2017-02-21 2018-02-14 通过自动攻击测试来验证安全监测 Pending CN110313004A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/438,435 2017-02-21
US15/438,435 US10614222B2 (en) 2017-02-21 2017-02-21 Validation of security monitoring through automated attack testing
PCT/US2018/018084 WO2018156394A1 (en) 2017-02-21 2018-02-14 Validation of security monitoring through automated attack testing

Publications (1)

Publication Number Publication Date
CN110313004A true CN110313004A (zh) 2019-10-08

Family

ID=61283381

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201880013073.0A Pending CN110313004A (zh) 2017-02-21 2018-02-14 通过自动攻击测试来验证安全监测

Country Status (4)

Country Link
US (1) US10614222B2 (zh)
EP (1) EP3566165A1 (zh)
CN (1) CN110313004A (zh)
WO (1) WO2018156394A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112291275A (zh) * 2020-12-25 2021-01-29 远江盛邦(北京)网络安全科技股份有限公司 Cve漏洞渗透利用的命令交互实现方法

Families Citing this family (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11425169B2 (en) 2016-03-11 2022-08-23 Netskope, Inc. Small-footprint endpoint data loss prevention (DLP)
US10581802B2 (en) 2017-03-16 2020-03-03 Keysight Technologies Singapore (Sales) Pte. Ltd. Methods, systems, and computer readable media for advertising network security capabilities
US10862916B2 (en) * 2017-04-03 2020-12-08 Netskope, Inc. Simulation and visualization of malware spread in a cloud-based collaboration environment
WO2019018033A2 (en) * 2017-04-14 2019-01-24 The Trustees Of Columbia University In The City Of New York METHODS, SYSTEMS AND MEDIA FOR TESTING INTERNAL THREAT DETECTION SYSTEMS
US10893068B1 (en) * 2017-06-30 2021-01-12 Fireeye, Inc. Ransomware file modification prevention technique
US10447721B2 (en) 2017-09-13 2019-10-15 Xm Cyber Ltd. Systems and methods for using multiple lateral movement strategies in penetration testing
US10713365B2 (en) * 2017-09-28 2020-07-14 Oracle International Corporation Testing cloud application integrations, data, and protocols
WO2019097382A1 (en) 2017-11-15 2019-05-23 Xm Cyber Ltd. Selectively choosing between actual-attack and simulation/evaluation for validating a vulnerability of a network node during execution of a penetration testing campaign
US11019089B1 (en) * 2018-02-27 2021-05-25 Amazon Technologies, Inc. Performing security assessments based on user credentials
US10440044B1 (en) 2018-04-08 2019-10-08 Xm Cyber Ltd. Identifying communicating network nodes in the same local network
US11159553B2 (en) * 2018-04-13 2021-10-26 Webroot Inc. Determining exploit prevention using machine learning
AU2019273972B2 (en) * 2018-05-21 2022-05-19 Nippon Telegraph And Telephone Corporation Determination method, determination device and determination program
US10382473B1 (en) 2018-09-12 2019-08-13 Xm Cyber Ltd. Systems and methods for determining optimal remediation recommendations in penetration testing
US11070632B2 (en) * 2018-10-17 2021-07-20 Servicenow, Inc. Identifying computing devices in a managed network that are involved in blockchain-based mining
US10469521B1 (en) 2018-11-04 2019-11-05 Xm Cyber Ltd. Using information about exportable data in penetration testing
US10574687B1 (en) 2018-12-13 2020-02-25 Xm Cyber Ltd. Systems and methods for dynamic removal of agents from nodes of penetration testing systems
WO2020161532A1 (en) * 2019-02-06 2020-08-13 Xm Cyber Ltd. Taking privilege escalation into account in penetration testing campaigns
US11283827B2 (en) 2019-02-28 2022-03-22 Xm Cyber Ltd. Lateral movement strategy during penetration testing of a networked system
US11201896B1 (en) * 2019-05-07 2021-12-14 Rapid7, Inc. Vulnerability validation using lightweight offensive payloads
US11206281B2 (en) 2019-05-08 2021-12-21 Xm Cyber Ltd. Validating the use of user credentials in a penetration testing campaign
EP3755023A1 (de) * 2019-06-17 2020-12-23 Siemens Aktiengesellschaft Verfahren zur konfiguration einer funkverbindung
US10637883B1 (en) 2019-07-04 2020-04-28 Xm Cyber Ltd. Systems and methods for determining optimal remediation recommendations in penetration testing
US10880326B1 (en) 2019-08-01 2020-12-29 Xm Cyber Ltd. Systems and methods for determining an opportunity for node poisoning in a penetration testing campaign, based on actual network traffic
US11533329B2 (en) 2019-09-27 2022-12-20 Keysight Technologies, Inc. Methods, systems and computer readable media for threat simulation and threat mitigation recommendations
US11005878B1 (en) 2019-11-07 2021-05-11 Xm Cyber Ltd. Cooperation between reconnaissance agents in penetration testing campaigns
US11856022B2 (en) 2020-01-27 2023-12-26 Netskope, Inc. Metadata-based detection and prevention of phishing attacks
US11575700B2 (en) 2020-01-27 2023-02-07 Xm Cyber Ltd. Systems and methods for displaying an attack vector available to an attacker of a networked system
US11582256B2 (en) 2020-04-06 2023-02-14 Xm Cyber Ltd. Determining multiple ways for compromising a network node in a penetration testing campaign
JP7366860B2 (ja) * 2020-08-17 2023-10-23 株式会社日立製作所 攻撃シナリオシミュレーション装置、攻撃シナリオ生成システム、および攻撃シナリオ生成方法
US11843627B2 (en) * 2021-07-29 2023-12-12 Farshid Mahdavipour Automated pen test as a code for cloud
US20230336554A1 (en) * 2022-04-13 2023-10-19 Wiz, Inc. Techniques for analyzing external exposure in cloud environments
CN116366492A (zh) * 2023-03-01 2023-06-30 腾讯科技(深圳)有限公司 防御验证方法、装置、设备及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101699815A (zh) * 2009-10-30 2010-04-28 华南师范大学 一种网络攻击自动执行/展现的系统及方法
CN102468985A (zh) * 2010-11-01 2012-05-23 北京神州绿盟信息安全科技股份有限公司 针对网络安全设备进行渗透测试的方法和系统
US20160044057A1 (en) * 2014-08-05 2016-02-11 AttackIQ, Inc. Cyber Security Posture Validation Platform
WO2016172151A1 (en) * 2015-04-20 2016-10-27 SafeBreach Ltd. System and method for securing a computer system against malicious actions by utilizing virtualized elements
US20170013008A1 (en) * 2015-07-10 2017-01-12 vThreat, Inc. System and method for simulating network security threats and assessing network security

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9384345B2 (en) * 2005-05-03 2016-07-05 Mcafee, Inc. Providing alternative web content based on website reputation assessment
US8387122B2 (en) * 2008-05-16 2013-02-26 University Of Washington Access control by testing for shared knowledge
US20140046645A1 (en) * 2009-05-04 2014-02-13 Camber Defense Security And Systems Solutions, Inc. Systems and methods for network monitoring and analysis of a simulated network
US8925088B1 (en) * 2009-08-03 2014-12-30 Symantec Corporation Method and apparatus for automatically excluding false positives from detection as malware
US8412945B2 (en) * 2011-08-09 2013-04-02 CloudPassage, Inc. Systems and methods for implementing security in a cloud computing environment
US8214904B1 (en) * 2011-12-21 2012-07-03 Kaspersky Lab Zao System and method for detecting computer security threats based on verdicts of computer users
US8677487B2 (en) * 2011-10-18 2014-03-18 Mcafee, Inc. System and method for detecting a malicious command and control channel
US8997224B1 (en) 2013-03-14 2015-03-31 Hrl Laboratories, Llc Explosive network attack and mitigation strategies
US9258314B1 (en) * 2013-03-15 2016-02-09 Google Inc. Detection of anomalous instances through dynamic feature selection analysis
CN103401843B (zh) 2013-07-11 2016-08-17 广州中长康达信息技术有限公司 云安全模拟检测方法及系统
US9357397B2 (en) 2014-07-23 2016-05-31 Qualcomm Incorporated Methods and systems for detecting malware and attacks that target behavioral security mechanisms of a mobile device
US9438625B1 (en) * 2014-09-09 2016-09-06 Shape Security, Inc. Mitigating scripted attacks using dynamic polymorphism
WO2016081520A1 (en) * 2014-11-18 2016-05-26 Vectra Networks, Inc. Method and system for detecting threats using metadata vectors
US9710653B2 (en) 2015-04-20 2017-07-18 SafeBreach Ltd. System and method for verifying malicious actions by utilizing virtualized elements
US10104120B2 (en) * 2017-01-12 2018-10-16 Acalvio Technologies, Inc. Command and control cyber vaccine
US9781160B1 (en) * 2017-05-31 2017-10-03 KnowBe4, Inc. Systems and methods for discovering suspect bot IP addresses and using validated bot IP address to ignore actions in a simulated phishing environment

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101699815A (zh) * 2009-10-30 2010-04-28 华南师范大学 一种网络攻击自动执行/展现的系统及方法
CN102468985A (zh) * 2010-11-01 2012-05-23 北京神州绿盟信息安全科技股份有限公司 针对网络安全设备进行渗透测试的方法和系统
US20160044057A1 (en) * 2014-08-05 2016-02-11 AttackIQ, Inc. Cyber Security Posture Validation Platform
WO2016172151A1 (en) * 2015-04-20 2016-10-27 SafeBreach Ltd. System and method for securing a computer system against malicious actions by utilizing virtualized elements
US20170013008A1 (en) * 2015-07-10 2017-01-12 vThreat, Inc. System and method for simulating network security threats and assessing network security

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112291275A (zh) * 2020-12-25 2021-01-29 远江盛邦(北京)网络安全科技股份有限公司 Cve漏洞渗透利用的命令交互实现方法

Also Published As

Publication number Publication date
EP3566165A1 (en) 2019-11-13
WO2018156394A1 (en) 2018-08-30
US20180239902A1 (en) 2018-08-23
US10614222B2 (en) 2020-04-07

Similar Documents

Publication Publication Date Title
CN110313004A (zh) 通过自动攻击测试来验证安全监测
US11627160B2 (en) Intelligent-interaction honeypot for IoT devices
US10218735B2 (en) Network attack simulation systems and methods
Sachidananda et al. Let the cat out of the bag: A holistic approach towards security analysis of the internet of things
US9262635B2 (en) Detection efficacy of virtual machine-based analysis with application specific events
CN106557701B (zh) 基于虚拟机的内核漏洞检测方法及装置
CA2768193C (en) System and method for extending automated penetration testing to develop an intelligent and cost efficient security strategy
CN111611591B (zh) 一种固件漏洞的检测方法、装置、存储介质及电子设备
US20180020024A1 (en) Methods and Systems for Using Self-learning Techniques to Protect a Web Application
US20210037040A1 (en) Intelligent security automation and continuous verification and response platform
CN103117993B (zh) 用于提供过程控制系统的防火墙的方法、装置及制品
Sha et al. IIoT-SIDefender: Detecting and defense against the sensitive information leakage in industry IoT
JP6449437B2 (ja) 脆弱性ネットワークスキャナの制御装置および制御方法
US20170282362A1 (en) Command and control of a user-provided robot by a contact center
US10482251B1 (en) Using integrity reports to detect network instrusion
JP2019527877A (ja) Plcの仮想的なパッチおよびセキュリティコンテキストの自動配信
Zakaria et al. A review on artificial intelligence techniques for developing intelligent honeypot
Xiao et al. VulHunter: A Discovery for unknown Bugs based on Analysis for known patches in Industry Internet of Things
CN107103237A (zh) 一种恶意文件的检测方法及装置
US10685115B1 (en) Method and system for implementing cloud native application threat detection
Awad et al. Volatile Memory Extraction-Based Approach for Level 0‐1 CPS Forensics
US11394630B2 (en) System and method for non-invasive networked device inspection based on passively-captured device traffic
IL258345B2 (en) A rapid framework for ensuring cyber protection, inspired by biological systems
US11297081B2 (en) Methods and systems for eliminating and reducing attack surfaces through evaluating reconfigurations
CN116318783B (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