弥合鸿沟:一种生成内部威胁数据的实用方法
摘要:恶意内部活动的威胁仍然是公共和私营部门最令人关切的问题。尽管人们对推进预测和阻止这些威胁的最新技术非常感兴趣,但难以获得用于研究、开发和测试的适当数据仍然是一个重大障碍。我们概述了如何使用合成数据在一个研究项目中取得进展,同时讨论了合成内部威胁数据的好处和局限性,在此背景下的现实意义,以及未来的研究方向。
2013 IEEE Security and Privacy Workshops
CCF A
恶意内部人员是指滥用其对组织网络、系统和/或数据的授权访问的组织现任或前任员工或值得信任的合作伙伴。内部威胁,这些受信任的内部人员实施的恶意行为包括但不限于窃取知识产权或国家安全信息、欺诈和破坏。许多政府、学术和行业团体寻求发现和开发解决方案,以检测和防范这些内部威胁。
这些程序的一个重大障碍是缺乏数据来分析。为了有用,这些数据必须包含被监控环境中人类行为的详细描述。毕竟,内部威胁是人类而不是机器的行为,检测技术将不可避免地结合社会科学的方法。但这样的数据集很难获得。这个领域的研究人员有两个选择,他们可以使用或收集真实的用户数据,或者他们可以使用合成数据。因为恶意的内部人员首先是内部人员,为了收集真实的数据,一些组织必须直接监控和记录自己员工的行为和行为。出于保密和隐私考虑,收集和使用这些数据用于研究目的存在障碍。因此,有时使用合成数据是更好的选择。
有了这里使用的这种成熟的合成数据生成框架,用户可以灵活地控制并快速、经济地生成具有所需特征、大小和质量(相对于可测量特征)的数据集。因为它们不是真实的,所以数据集是完全完整的,不需要去识别,也没有隐私限制或限制。因为它们是生成的,理论上,没有时间长度或代表的个人数量的限制。这样的数据可以被公布,从而允许其他研究人员重复实验和比较算法。而且,由于数据集中的真正阳性数据都已标记,因此合成数据可以实现开发、质量保证和性能测试,而这对于实际数据来说可能是困难的,甚至是不可能的。
由于使用真实的、甚至是去识别的企业数据会引发各种法律、伦理和业务问题,美国国防部高级研究计划局(DARPA)的多尺度异常检测(ADAMS)项目转向了代理数据集和合成数据。我们的任务是生成数据来模拟来自基于主机的传感器的聚合日志集合,这些传感器分布在大型企业或政府组织的所有计算机工作站中,时间跨度为500天。尽管广泛使用合成数据来测试分类系统[13],但生成能达到人类高度真实感的合成数据是一个困难得多的问题[5]。
在执行这项工作的过程中,我们做出了务实的选择,以实现足够的保真度,并学习了有关该领域合成数据的好处和局限性的重要经验。本文的目的是简单概述我们的一般方法,突出一些关于合成数据使用和误用的挑战和教训,特别是关于合成数据中的现实主义的作用和意义,并提及未来研究的机会。
大多数生成网络安全测试数据的系统都关注网络流量。其中包括网络流量生成设备(如BreakingPoint)和软件解决方案(如Swing[17]或Harpoon[15])。BreakingPoint提供了针对各种类型流量的预加载概要文件,而Swing和Harpoon的设计是通过示例来学习流量概要文件。这三个系统都直接输出网络流量来模拟大量的机器。Lincoln Labs LARIAT[18]和Skaion的TGS使用的另一种方法是编程驱动虚拟机上的应用程序,以更自然地生成流量。这种方法对于我们的问题领域来说更有趣,因为类似于这些系统的东西可以驱动机器生成其他基于主机的传感器数据。事实上,我们在DARPA ADAMS的后期工作中看到了这一点,Skaion的ConsoleUser与TGS相关,用于从基于主机的传感器中生成活动日志。与这些系统不同,用于本文讨论的工作的生成器在内部模拟传感器,并直接输出活动日志。
无论最终数据是由生成器直接输出的,还是作为活动的副作用生成的,LARIAT、TGS和ConsoleUser都遵循一种方法,该方法为被模拟的每个代理调用单个模型。这个模型可以是一系列的步骤,也可以是一个做出决策的概率模型。在网络领域,已经有了基于实际网络的模型和配置。但是内部威胁领域本身与更高级别的用户活动有关,在这种情况下,基于主机的活动,而且这样的模型并不容易获得。我们的工作要求我们为这些维度选择合理的维度和参数,以便生成可信的背景数据。
虽然生成能够正确模拟真实网络属性的大型图的方法确实存在([8][1]),但它们还没有与一个基于底层代理的系统集成,例如这里所使用的系统,以生成所需的宏观级图属性和所需的微观级代理操作。
作为合成数据的另一种选择,从实际用户研究中收集的一些数据集是可用的。然而,这些并不适合支持正在为ADAMS开发的检测技术的广度。Schonlau数据集包含50个用户的命令行历史记录,虽然对于研究使用该特性的算法很有用,但它缺少用于内部威胁检测的重要数据类型,包括社会结构、文件访问、内容和情绪[14]。Ben Salem和Stolfo的RUU数据集包含来自18个用户的进程、注册表和文件访问数据,以及来自假面者[2]的相同数据类型。尽管我们确实使用了这些数据,而且它包含的数据类型比Schonlau数据更多,但它仍然缺少几个非常重要的维度。由于进行这样的研究很困难,这两个数据集也是基于相对较小的用户群体。以前的工作还涉及合成数据的结构和使用,以及现实主义的措施。Wright讨论了合成数据在网络安全实验中的优点,这些数据是可控和可重复的[18]。Berk检查了比较真实网络流量和LARIAT产生的流量的指标,并得出结论,模拟流量有很大的缺点[3]。选择适合我们的领域的度量,我们发现我们的合成数据,虽然有用,但也显示出这些实质性的缺点。
合成数据只会在一些有限的维度中是真实的,这些维度是作为需求而提出的、设计的和测试的。它在任何其他方面都不可能碰巧是现实的。现实主义的这些维度通常由被测系统(SUT)定义。通过SUT,我们指的是任何使用数据作为输入的过程、过程或系统。因此,从电子表格到内部威胁检测系统,任何使用数据的东西都将有助于现实主义标准和判断它所发现的数据的现实主义水平。在缺乏这样一个明确的背景下,作为接受标准的现实主义就无法衡量,而实现更大现实主义的努力就会变得没有止境和没有重点。虽然合成测试数据的消费者通常希望在开始在大量的维度现实主义,SUT的需求通常被限制在一个更窄的集合。
为了说明现实的各种可能定义,请考虑人口普查合成答复数据的一个假设例子。比如说人口普查局把表格寄给人们;人们填好后再送回去。然后对表单进行数据捕获,并以各种方式处理捕获的数据。如果这些数据是用来测试手写识别和数据采集的,那么要认为这些数据是真实的,那么这些数据可能只需要在表格上正确的位置出现。如果唯一的标准是捕获的数据与要捕获的数据匹配,那么语言内容可能是无意义的,而数据仍然足够真实。
如果SUT要集成数据类型验证规则,那么数据不仅需要位于正确的位置,还需要在语义上具有意义,至少要具有正确的数据类型。等等。数据捕获系统集成的业务逻辑越多,需要考虑的数据就越复杂,才能被认为是足够真实的可用数据。一旦捕获了过去的数据,可能会以各种方式处理数据,每种方式都有自己的附加筛选器和业务逻辑。单独有效的数据片段可能与其他数据片段不一致。如果合成数据要通过系统深入到需要测试的每一个方面,所有这些层的一致性必须是天生的。
在我们的Census例子中,我们看到如果你想测试整个系统,你必须创建非常丰富和真实的数据。但如果你只关注过程中的某些特定部分(例如,只关注手写识别),那么丰富和现实主义对你来说就没有价值了。
为内部威胁研究提供数据是一个不同寻常的挑战,原因有很多。一个主要原因是,与网络数据生成或手写识别等更纯粹的技术领域相比,威胁领域高度依赖于人类行为的特征。为了为识别这些威胁的技术开发和测试提供一个足够丰富的测试平台,数据需要尝试模拟人类行为的微观和宏观效应。此外,如果消费者不仅将数据用于工程,而且用于研究,没有SUT来决定什么构成足够的现实。在这个用例中,虽然可能不现实,但是希望将数据用于探索而不是简单的确认。更具体地说,当可以定义和测量异常时,合成数据可以用来确认系统检测到特定类型的异常。但是,如果没有一个更加复杂的自然世界模型,它就不能用来确认给定的异常或异常集合与恶意的内部行为有关。在最好的情况下,它可以用来确认SUT能够检测出与恶意和正常用户行为的数据生产者模型一致的威胁。通过与上面的Census示例进行类比,可以清楚地生成数据来测试SUT是否能够准确地识别手写的字母和数字。但很难或不可能生成数据,以充分证明或反驳SUT的能力,以了解人口普查员的心理状态,基于他们的写作。
验证性假设:SUT检测用户谁排名前0.1%的可移动USB驱动器使用频率。
探索性假设:可移动USB驱动器使用频率排名前0.1%的用户更有可能是恶意内部人士。
虽然我们可能希望能够指出真实的数据,并说就像那样,一个人必须清楚地为现实主义明确和具体的要求。在这种情况下,有几个不同的数据消费者,每个人都有不同的度量标准和现实需求。此外,数据的探索性使用之间存在张力,其中SUT的知识可能进一步使任何探索性结果无效,和数据的验证性使用,其中SUT的知识是绝对必要的,以提供有用的测试数据。我们通过征求检测团队关于他们希望看到的真实性维度的反馈,或者关于在合成数据集中发现的不现实的工件,来解决这种紧张关系。因为生成器是参数化的和可扩展的,所以我们能够迭代地评估、扩展和调优它的行为。
在模拟人类代理时,就像我们在这里做的那样,必须在直接生成可观察变量和通过建模潜在变量隐式生成这些观察变量之间做出选择。严格限制我们自己在我们的环境中观察到的变量是最简单的方法,也是最容易证明和测量真实数据的方法。例如,我们可能试图匹配平均实际用户每天将文件复制到可移动驱动器的平均次数。用潜在变量驱动我们这样的系统意味着要模拟动机模拟用户的属性、亲和性和其他隐藏状态。从潜在模型生成数据需要生成器设计者断言一种超越简单的观察计数的人类行为理论,而这些理论的可证明性受到人类主体研究的可用性的限制。我们通过结合基于可观察行为的模型,基于人类行为研究的模型,以及基于我们自己未经验证但似乎可信的人类行为理论的模型,走了一条中间道路。通过在这些单独的简单模型之间创造因果效应,我们能够创造一个既一致又看似复杂的虚拟世界。下面的图1给出了这些相互依赖关系的示例。这样做,我们的目标是为开发和测试目的提供具有足够真实感和复杂性的合成数据,以合理地接近真实数据。
我们的实现反映了这些实际的约束和权衡,同时生成合成的社会网络拓扑和工件,其中包含各种类型的连接个人和实体的集合。它使用了人口社会结构图模型、内容生成主题模型、指示行为和偏好的心理计量模型、工作场所行为模型等不符合这些类型的模型。下面是我们实现中一些最重要的组件的描述。
关系图模型。一个组织中真实世界关系网络的图形表示。这个图是由各种类型化/命名的互连图构建而成的,这些互连图表示由组织结构、组织(部门)内的子集、支持关系和来自人口统计元素的亲和力引起的关系。在生成器的早期版本中,图被限制于这些亲缘关系(友谊图),并且由于其简单性,我们能够为社会图[1]匹配几个已知的幂律。但是,通过将所有这些其他元素添加到关系模型的构建中,我们失去了隐含地归纳幂律性质的能力。
资产图模型。一种非人力资产的模型,如计算机、可移动媒体、文件和打印机,与组织中的不同个人相关联。
行为模型。根据员工的关系、兴趣、亲缘关系和心理状况来决定员工如何使用资产的模型。
通信模型。一种通过各种电子通信构件表示组织关系当前状态的概率表达式。
主题模型。用户对数据消费(如网页浏览)和数据生产(如电子邮件通信)的兴趣。在生成器的早期版本中内容是由一堆单词组成的。选择单词组合的算法受到了Latent Dirichlet Allocation (LDA)[4]的启发,我们假设这是数据的目标分析方法之一。由于我们将每个合成的网页或电子邮件视为关于某个或多个主题的词汇集合,所以我们需要一个与已命名主题相关的词汇的标签源。我们选择了维基百科的一组文章作为来源。将每一篇文章视为一个主题,我们执行TF。IDF[7]分析来确定每个主题的术语重要性的近似权重。对于每个生成的文档,我们首先选择主题的组合和所需的文档长度。然后我们为每个主题随机选择单词集合,给予TF最高的词汇更大的权重。以色列国防军的分数。随着项目的进行,提供语法上连贯的文本变得越来越重要,所以我们部分地放弃了选择单个单词的方法,而采用了选择完整句子的方法,这与期望的主题组合成正比。需要注意的是,这些生成文本的方法只能用于测试主题分析算法。其他方法,如情绪分析,则需要不同的策略。
心理模型。每个用户在一开始就被赋予了一组静态的人格特征和一个动态的工作满意度变量。我们根据[10]和[6]选择了这些人格变量及其影响。
诱饵模型。一组诱饵文件,基于本·塞勒姆和斯托尔福的伪装探测工作[2]
威胁场景。生成的每个数据集包含少量内部威胁事件或场景。这些设想是在与反情报专家协商后制定的。每个场景都被实例化为合成数据,其形式和范围与为数据集中所有用户生成的普通后台数据相同。有关这些场景之一的高级描述,请参见示例2。
变量相互依存。因果关系建立在各种可观察的和潜在的变量之间,创造了一个复杂的,自然的系统的外观。例如,工作满意度影响守时,图表关系和沟通影响话题亲和力,与下岗员工的关系影响工作满意度。图1中显示了一个简化的示例。在每个组件的每一个决策点是可控的,允许每个组件的调优(例如,为了建立基准利率的存在特性或实体)的行为和建立触发器,和注射的特定模式或出现的特性或实体的行为。当数据产生时,系统收集关于可观察状态和潜在状态的信息。数据和元数据都被自动捕获用于地面真相分析。
我们制作的数据集被一个参与DARPA ADAMS项目的大型研究人员社区共享,以开发内部威胁检测技术。他们对我们数据的分析证实了我们的信念,简单的社会网络拓扑模型,加上抽象的用户活动模型,可以成功地帮助这些技术的发展,至少在集成测试和验证性假设测试的点上。但他们的经验也表明,对这些合成数据的探索性使用并不富有成效,这可能会在未来激发更有效的合成数据的创建。下面是一些最重要的成功、失败和经验教训。
我们确认了合成数据可以很好地充当存根。它非常适合确认定义良好的SUT函数如预期那样工作.
我们确认了数据的高价值,完全不涉及真实数据的机密性和隐私问题。合成数据为有意义的实验结果提供了基础,它可以被研究人员自由地用于演示。研究可以在任何地方进行,甚至可以由那些没有资格访问真实数据的人进行。在使用这些数据时,不存在可能侵犯隐私的风险。也不需要去识别数据,也不需要担心数据无法被识别,因为数据不是或从来都不是真实的。
合成数据对内部威胁研究界的另一个重要好处是,它可以实现广泛的合作,并提高创新的速度。合成数据为所有研究人员提供了一个共同的基础,允许他们共享一组共同的威胁场景。因为有了合成数据,地面的真相可以被完全了解,研究人员可以很容易地探索数据转换和测试算法。增强的协作能够设计通用的表示和接口,从而促进和支持组内和研究领域之间的算法集成。
研究表明,现实世界的社交网络图显示出相似的属性,即使这些图看起来代表的是非常不同的关系(例如,博客文章、竞选捐款和电影的用户评分)。对理解这些图形感兴趣的学者们已经开始编译现实世界的图形趋向于遵循[1],[9]的规律。虽然研究团体发现我们生成的数据展示了许多现实主义的重要特征,但在我们早期的数据集中,他们也发现从我们的数据集中提取的时变社会网络缺乏许多在现实社会网络中发现的预期规律。虽然真实世界的网络法则在真实世界的领域中似乎惊人地一致,但用来推导这些法则的工作并没有研究我们所模拟的网络类型(例如,办公室环境中的朋友的社交网络)。因此,我们模拟的网络可能不应该遵循其他网络的规律。然而,这些规律在许多不同网络中的反复出现,令人信服地表明,如果我们的社交网络也遵循这些规律,它将更加现实。
这个缺点也说明了合成数据用于内部威胁研究的另一个重要好处:可控的社会网络拓扑结构。通过合成数据,社会网络拓扑既可以被控制,又可以被完全了解。经过进一步的调整,我们后来的数据集能够显示出3个社交图幂法则,这是人们在真实社交图中可以看到的(图2)。正如在第4节中所提到的,我们只有在孤立的友谊图中才能获得这一结果。在这个友谊网络中,我们显式地选择了能够产生预期属性的节点度。但是观察到的沟通图是由友谊图和公司组织图组成的,反映了公司报告结构和项目分配。施加这些额外的约束创建了一个复合图,模糊了友谊图的幂律属性。
在图拓扑很重要的地方,该领域的未来工作应该考虑从显示所需属性的未标记图开始解决这个问题,例如由Kronecker图生成器[8]生成的图。语义(如友谊和项目分配)将根据拓扑分配,而不是试图基于代理级效应生成宏观级拓扑。虽然这种方法有其自身的困难,但根据我们在这里的经验,它是一个值得探索的途径。
我们希望提供电子邮件、文件和网页内容,这些内容在某种程度上对开发主题和情感分析算法的研究人员有价值。实现这一目标比最初预期的还要困难。为了测试更简单的分析算法,我们的基于ldap的词袋和后来的句子袋,这种方法可能已经足够了。但是,被测试的系统希望执行更复杂的分析,并将受益于更现实的内容。众所周知的方法,如建立在上下文无关语法[16]和n-gram模型[12]上的方法,虽然存在,但这些方法可能还不够现实,语言生成系统通常局限于特定的问题领域。我们认为,如果要生成真正真实的内部威胁数据,改进的广义人工文本生成将是未来研究的一个重要领域。
虽然故意引入了一些不一致的地方,但这里生成的合成数据比程序最终针对的真实数据更加一致和清晰。我们关于在何处有意引入不一致的设计选择,并不奇怪,与实际数据中不一致的实际来源不匹配。然而,我们并不后悔我们的选择在数据中插入故意的不一致性,因为这可以让数据使用者为他们在实际数据中可能遇到的问题做好准备。合成数据可能是不现实的,因为它呈现的状态在现实生活中是不可能的,但它也可能是不现实的,因为它没有考虑到收集数据的传感器不可避免的缺陷。
因为我们没有获得类似的真实的、识别的数据,我们对参数值的选择很大程度上是临时的,而不是从这样的真实数据中获得的。(一个值得注意的例外是围绕文件诱饵的行为,这是基于发布的用户研究[2]的统计数据。)因此,检测研究团队无法使用这些数据来证实善意和恶意用户行为的理论。相反,这些数据为整个探测系统的运行提供了一个合理的开发和演示平台。为了改善这一明显的有效性缺陷,未来针对内部威胁的合成数据集应该努力包括这两方面:1。基于模型和参数的普通背景数据,来源于真实数据;威胁活动基于真实内部威胁活动的技术日志。这个目标不容易实现。(2)的来源很少或不存在,但(1)结合高可信度的综合威胁活动仍然可以为证明内部威胁检测的某些理论提供价值。
数据的获取仍然是推进内部威胁研究的一个重大障碍。手动创建的数据集不能提供测试复杂系统所需要的覆盖率和一致性,并且会带来很高的代价和错误率。生产数据集不能在不损害个人身份、专有或甚至机密信息的情况下传播。它们是静态的,通常供应有限,因此很难获得具有已知特征的多个数据集。去标识的数据隐藏了一些元素,这使得它在测试时效率较低,同时又不能完全消除隐私/机密性风险。随机合成数据生成器会生成荒谬的数据集,对于我们在这里考虑的复杂系统类型来说毫无用处。完全合成的数据不能取代真实的数据,但是,随着其他的好处,它可以大大降低进入需要这种数据的研究的障碍,并提供必要的实验控制类型,以帮助建立这种研究的坚实的科学基础。但是,合成数据的用户必须记住它的局限性。尽管数据可以变得非常复杂,正如我们在这里所展示的,但它只会在那些明确定义和测量真实感的维度上是真实的。除非现实主义的这些维度与自然界的严格模型相匹配,否则研究人员使用合成数据来证明人类行为理论的能力将是有限的。我们看到了许多未来研究的领域,其中一些我们已经在追求。
威胁场景的高效生成。由于威胁场景是单独编写的,并且生成器为每个场景手工扩展,因此相对地产生了少量真正不同的威胁。在正在进行的工作中,我们试图自动生成威胁,以提供更多数量和种类的测试用例,以及实现一个API,将这些自动编写的场景合并到生成器中。
更好的现实主义模型。继续研究计算机系统上代表正常用户行为的模型,以及从真实用户收集基线参数,以在合成数据生成器中驱动和调整这些模型。通过改进无害背景行为的质量,可以更有效地隐藏威胁信号。拥有更多这种正式的现实主义模型也会带来现实主义的度量,我们相信可度量性是合成数据进展和实验有效性的关键。
建模更多终端用户应用程序。通过注入应用程序及其构件来增强合成数据。允许恶意行为利用新应用程序的存在。
改进了社交图生成。进一步曝光和调整社交图生成器,以实现微观和宏观层面的真实感,并探索其他社交图生成器(如[8])的集成,以扩展功能。
改善内容创建。进一步改进自然语言生成,特别是将情感表达作为内容的一部分。