网络安全中的威胁情报共享与标准化:STIX、TAXII、CybOX等协议解析

基本介绍

情报信息是现代网络安全中重要的一种资源,由于网络空间里的黑客有了更强大的工具军火库和资源,攻击行为更多的是有组织犯罪和政府背景行为,攻击变得越来越复杂且态势感知技术也因此被应用于网络空间安全领域来对抗这种复杂的攻击。为了实现对威胁的全面感知、分析和响应,态势感知技术需要掌握所有出现的威胁信息,但一种单独的网络安全设备无法检测到所有类型的攻击,一家单独的组织也无法发现所有的安全威胁,因此在设备间和组织间交换安全威胁相关的情报成为搭建态势感知系统的重要基础,由于不同设备和组织各自有不同的数据格式和数据组织形式,为了加强安全设备的配合,以及促进不同组织间的协同响应,需要开发标准化的机器可识别的网络空间威胁情报数据交换方法

共享标准

目前国际上已有多种关于威胁情报的共享交换标准,当前比较常见的做法是用STIX作情报描述,用TAXII传输数据,用CybOX作为威胁情报词汇

STIX

https://stix.mitre.org/
STIX(Structured Threat Information eXpression,结构化威胁信息表达式)是由MITRE联合DHS(美国国土安全部)发布的用来交换威胁情报的一种语言和序列化格式,STIX规范可以通过对象和描述关系清晰地表示威胁情报中的多方面特征,包括威胁因素、威胁活动、威胁属性等,STIX信息可以直观地展示给分析师或者以JSON形式存储以便快速地进行机器读取

STIX的适用场景包括以下四种:

  • 威胁分析:包括威胁的判断、分析、调查、保留记录等
  • 威胁情报分享:用标准化的框架进行威胁情报描述与共享
  • 威胁特征分类:通过人工方式或自动化工具将威胁特征进行分类
  • 威胁及安全事件应急处理: 安全事件的防范、侦测、处理、总结等,对以后的安全事件处置能够有很好的借鉴作用

STIX有两个版本:STIX 1.0基于XML定义,STIX 2.0基于JSON定义,STIX 1.0定义了下图所示的8种对象,STIX 2.0定义了12种域对象(将1.0版本中的TTP与Exploit Target拆分为Attack Pattern, Malware, Tool, Vulnerability,删去了Incident,新增了Report, Identity, Intrusion Set)和2种关系对象(Relationship, Sighting)

图片[1]-网络安全中的威胁情报共享与标准化:STIX、TAXII、CybOX等协议解析-山海云端论坛
TAXII

https://taxii.mitre.org/

TAXII(Trusted Automated eXchange of Indicator Information,情报信息的可信自动化交换)是用来基于HTTPS交换威胁情报信息的一个应用层协议,TAXII是为支持使用STIX描述的威胁情报交换而专门设计的,但是也可以用来共享其他格式的数据,需要注意的是STIX和TAXII是两个相互独立的标准,STIX的结构和序列化不依赖于任何特定的传输机制,而TAXII也可用于传输非STIX数据,不同的组织机构之间可以通过定义与通用共享模型相对应的API来共享威胁情报,TAXII定义了一个服务信息交换集合和一个TAXII客户端服务器需求集,以及如下两种主要服务来支持多种通用共享模型

  • 汇聚服务(Collections):由TAXII服务器作为情报中心汇聚威胁情报,TAXII客户端和服务器以请求-响应模型交换信息,多个客户端可以向同一服务器请求威胁情报信息
  • 通道服务(Channels):由TAXII服务器作为通道,TAXII客户端之间以发布-订阅模型交换信息,通道服务允许一个情报源将数据推送给多个情报用户同时每个情报用户可接收到多个情报源发送的数据

汇聚服务和通道服务可以用不同的方式进行组织,比如:可以将两种服务组合在一起来支持某一可信组的需求,通过这两种服务TAXII可支持所有广泛使用的威胁情报共享模型,包括辐射型(hub-and-spoke)、 点对点(peer-to-peer),订阅型(source-subscriber)

图片[2]-网络安全中的威胁情报共享与标准化:STIX、TAXII、CybOX等协议解析-山海云端论坛
CyboX

https://cyboxproject.github.io/

CybOX(Cyber Observable eXpression,网络可观察表达式)定义了一种表征计算机可观察对象与网络动态和实体的方法,可观察对象可以是动态的事件,也可以是静态的资产,例如:HTTP会话、X509证书、文件、系统配置项等。CybOX规范提供了一套标准且支持扩展的语法来描述所有可被从计算系统和操作上观察到的内容,可用于威胁评估、日志管理、恶意软件特征描述、指标共享和事件响应等

图片[3]-网络安全中的威胁情报共享与标准化:STIX、TAXII、CybOX等协议解析-山海云端论坛
MAEC  

MAEC(Malware Attribute Enumeration and Characterization,恶意软件属性枚举与特性描述)是一种共享恶意软件结构化信息的标准化语言,MAEC的提出旨在消除恶意软件描述当前存在的模糊性和不确定性问题并降低对签名的依赖性,从而为改变恶意软件研究和响应提供基础。MAEC寻求改善有关恶意软件的人与人、人与工具、工具与工具以及工具与人之间的通信,减少研究人员对恶意软件分析工作的潜在重复并通过利用以前观察到的恶意软件实例的响应来促进对策的快速开发,下图所示的MAEC数据模型可以由点和边组成的连接图表示,其中MAEC顶层对象定义为节点,MAEC关系定义为边,关系用来描述MAEC对象之间如何关联

图片[4]-网络安全中的威胁情报共享与标准化:STIX、TAXII、CybOX等协议解析-山海云端论坛
OVAL

https://oval.mitre.org

OVAL(Open Vulnerability and Assessment Language,开放式漏洞与评估语言)是由MITRE开发的一种在漏洞分析中常被用来定义检查项、脆弱点等技术细节的描述语言。OVAL使用标准的XML格式组织内容,包含OVAL定义格式(OVAL Definition Schema),OVAL系统特性格式(OVAL System Characteristics Schema)与OVAL结果格式(OVAL Result Schema)三种格式,其中OVAL定义格式具有较为重要的作用,它提供了对系统进行安全评估的操作指南,具有较好的可机读性,可用来描述系统的配置信息、分析系统的安全状态、报告评估结果等,典型的OVAL定义格式的XML文档结构较为简单,主要是将定义(Definition)、测试(Test)、对象(Object)、状态(State)和变量(Variable)等各要素进行枚举,另外OVAL系统特性格式用于描述系统信息快照,该快照可用于和OVAL定义文件进行匹配以得出评估结果,OVAL结果格式用于描述评估结果,然而由于表达内容、应用场景的局限性,OVAL并不能满足当前各厂商对威胁情报共享的普遍需求,因此逐步被STIX取代

图片[5]-网络安全中的威胁情报共享与标准化:STIX、TAXII、CybOX等协议解析-山海云端论坛
CAPEC

https://capec.mitre.org/about/index.html

CAPEC(Common Attack Pattern Enumeration and Classification,常见攻击模式枚举与分类)致力于提供一个关于常见攻击模式的公共可用分类,从而帮助用户理解敌人如何利用应用程序中的弱点和其他支持网络的性能来进行攻击,”攻击模式”是对敌方利用网络性能的已知弱点来进行攻击的常用属性和方法的描述。攻击模式定义了敌人可能面临的挑战以及他们如何解决它,这些解决方法来源于在破坏性环境中而非建设性环境中应用的设计模式的概念并且通过对特定的现实世界的开发实例的深入分析生成,每个攻击模式捕获关于如何设计和执行攻击的特定部分的知识并指导如何减轻攻击的有效性,攻击模式帮助开发应用程序或网络管理人员更好地理解攻击的特征以及如何阻止它们成功

简易使用

这里我们对使用STIX作情报描述,用TAXII传输数据,用CybOX作为威胁情报词汇进行简单介绍:

STIX情报描述

简易示例:https://stixproject.github.io/documentation/idioms/

图片[6]-网络安全中的威胁情报共享与标准化:STIX、TAXII、CybOX等协议解析-山海云端论坛

这里我们以”CVE in an Exploit Target”为例进行演示,其数据模型如下:

https://stixproject.github.io/documentation/idioms/cve/

图片[7]-网络安全中的威胁情报共享与标准化:STIX、TAXII、CybOX等协议解析-山海云端论坛

XML格式情报描述:

<stixCommon:Exploit_Target xsi:type="et:ExploitTargetType" id="example:et-48a276f7-a8d7-bba2-3575-e8a63fcd488" timestamp="2014-02-20T09:00:00.000000Z">
    <et:Title>Javascript vulnerability in MSIE 6-11</et:Title>
    <et:Vulnerability>
        <et:CVE_ID>CVE-2013-3893</et:CVE_ID>
        <et:References>
            <stixCommon:Reference>https://technet.microsoft.com/library/security/2887505</stixCommon:Reference>
        </et:References>
    </et:Vulnerability>
</stixCommon:Exploit_Target>
TAXII传输数据

https://oasis-open.github.io/cti-documentation/resources.html#individual-specification-documents

定义STIX语言、领域对象、关系对象、网络可观察对象和元对象的概念和结构,定义模式语言,以便能够检测网络和端点上可能的恶意活动

图片[8]-网络安全中的威胁情报共享与标准化:STIX、TAXII、CybOX等协议解析-山海云端论坛

https://docs.oasis-open.org/cti/stix/v2.1/os/stix-v2.1-os.html

图片[9]-网络安全中的威胁情报共享与标准化:STIX、TAXII、CybOX等协议解析-山海云端论坛

例如:Hash值

图片[10]-网络安全中的威胁情报共享与标准化:STIX、TAXII、CybOX等协议解析-山海云端论坛
图片[11]-网络安全中的威胁情报共享与标准化:STIX、TAXII、CybOX等协议解析-山海云端论坛
图片[12]-网络安全中的威胁情报共享与标准化:STIX、TAXII、CybOX等协议解析-山海云端论坛

示例如下:

图片[13]-网络安全中的威胁情报共享与标准化:STIX、TAXII、CybOX等协议解析-山海云端论坛
CybOX威胁情报词汇

简易实例:https://cyboxproject.github.io/samples/

图片[14]-网络安全中的威胁情报共享与标准化:STIX、TAXII、CybOX等协议解析-山海云端论坛

例如:Email Pattern

<?xml version="1.0" encoding="UTF-8"?>
<cybox:Observables 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xmlns:cybox="http://docs.oasis-open.org/cti/ns/cybox/core-2" 
    xmlns:cyboxCommon="http://docs.oasis-open.org/cti/ns/cybox/common-2" 
    xmlns:AddrObj="http://docs.oasis-open.org/cti/ns/cybox/objects/address-2" 
    xmlns:URIObj="http://docs.oasis-open.org/cti/ns/cybox/objects/uri-2" 
    xmlns:FileObj="http://docs.oasis-open.org/cti/ns/cybox/objects/file-2" 
    xmlns:cyboxVocabs="http://docs.oasis-open.org/cti/ns/cybox/vocabularies-2" 
    xmlns:EmailMessageObj="http://docs.oasis-open.org/cti/ns/cybox/objects/email-message-2" 
    xmlns:example="http://example.com/" 
    xsi:schemaLocation="
    http://docs.oasis-open.org/cti/ns/cybox/core-2 ../core.xsd
    http://docs.oasis-open.org/cti/ns/cybox/objects/file-2 ../objects/File_Object.xsd
    http://docs.oasis-open.org/cti/ns/cybox/objects/email-message-2 ../objects/Email_Message_Object.xsd
    http://docs.oasis-open.org/cti/ns/cybox/vocabularies-2 ../default_vocabularies.xsd" 
    cybox_major_version="2" cybox_minor_version="1" cybox_update_version="1">
    <cybox:Observable id="example:Obervable-298376a2-cf65-4778-9894-ed9a95b5441d">
        <cybox:Object id="example:Object-f9769431-db6b-448f-b34e-72eb3c3e07d1">
            <cybox:Properties xsi:type="EmailMessageObj:EmailMessageObjectType">
                <EmailMessageObj:Header>
                    <EmailMessageObj:From category="e-mail">
                        <AddrObj:Address_Value condition="Equals" apply_condition="ANY">attacker@example.com##comma##attacker1@example.com##comma##attacker@bad.example.com</AddrObj:Address_Value>
                    </EmailMessageObj:From>
                    <EmailMessageObj:Subject condition="Equals" >New modifications to the specification</EmailMessageObj:Subject>
                </EmailMessageObj:Header>
            </cybox:Properties>
        </cybox:Object>
    </cybox:Observable>
</cybox:Observables>

LWTISUF

框架介绍

STIX/TAXII采用一套逻辑严密的机制定义了网络威胁情报共享的协议、服务和信息格式,但是从攻击溯源需求的角度来看将该机制直接应用于攻击溯源尚存在以下2个方面的不足:

  • 对于攻击溯源的表达能力不足:STIX/TAXII的设计理念是为广泛的威胁情报共享提供支撑,对于攻击溯源的内涵和外延的表达还不够深入,不能覆盖诸如匿名网络、网络跳板、僵尸网络、暗网、网络隐蔽信道等对抗溯源的技术机制的描述,从而无法为深入的攻击溯源自动化分析能力提供支持
  • 威胁情报表达格式交换机制过于复杂,不利于快速普及应用,同时也会增加威胁情报的分析处理负载,面对海量威胁情报更会显著增加处理成本

为此定制化的轻量型威胁情报共享利用框架LWTISUF(lightweight threat intelligence sharing and using framework)应运而生,它可以专门用于对网络攻击行为的溯源,同时尽量保持与STIX/TAXII机制的兼容性,该架可以很方便地集成到当前主流的安全检测防护系统和产品中,例如:入侵检测系统、防火墙系统、终端安全管理系统统等,从而实现攻击情报的共享、交换和利用,为攻击溯源提供协同化处理机制

图片[15]-网络安全中的威胁情报共享与标准化:STIX、TAXII、CybOX等协议解析-山海云端论坛

内部威胁情报源主要是指机构自身的安全检测防护分析系统所形成的威胁数据,包括来自基础安全检测系统和综合安全分析系统方面的数据,其中基础安全检测系统包括防火墙、入侵检测系统、漏洞扫描系统、防病毒系统、终端安全管理系统等基础安全检测单元,综合安全分析系统包括安全管理平台、安全运营中心(SOC)、安全信息与事件管理(SIEM)等综合安全检测分析单元

外部威胁情报源主要指来自外部机构的威胁情报源,主要包括互联网公开情报源、合作交换情报源和商业购买情报源3个方面,其中互联网公开情报源主要包括来自互联网的安全分析报告、安全事件情报、安全态势预警等数据,,通过网络爬虫进行采集,合作交换情报源来自建立合作关系的机构,这往往通过在互利互惠基础上实现的共享合作机制进行保障,商业购买情报源指完全通过商业付费行为得到的情报源,这往往来自专门的威胁情报供应商,例如:FireEye、Verisign等企业

情报表示

从攻击溯源的角度来看相关的威胁情报主要包括恶意IP/DNS/URL等信息、安全攻击事件信息、恶意代码活动及特征信息、僵尸网络活动信息、0day/nday漏洞信息、黑客及其组织的TTP(策略技术和过程)信息等方面

轻量型威胁情报共享利用框架将威胁情报信息统一采用XML格式进行描述,方便机器处理又方便人工阅读分析,轻量型威胁情报共享利用框架将威胁情报分为6个方面,括黑白名单数据类(包括:IP类、DNS类、URL类)、安全攻击事件信息类(包括攻击时间、发起IP地址、目标IP地址、攻击类型、关键特征等),恶意代码活动及其特征信息类(包括恶意代码MD5值、类型、活动时间、回连地址、技术特征等),尸网络活动信息类(包括尸网络名称、类型、控制节点、技术特点等),漏洞信息类(包括漏洞名称、漏洞类别、利用特点等)、黑客及其组信息类(包括黑客组织、成员联系方式、个人特点等)

下面以C2命令和控制主机为例按照LWTISUF框架的表达方法,C2主机威胁指标表达的数据模型分为2个主要部分:C2主机观察到的恶意行为和对应恶意行为的解释,数据模型如下:

图片[16]-网络安全中的威胁情报共享与标准化:STIX、TAXII、CybOX等协议解析-山海云端论坛

根据C2主机的数据模型,按照LWTISUF架以XML的形式对该威胁指标进行表达的格式如下所:

<lwtisuf:Indicators>
    <lwtisuf:Indicator xsi:type="indicator:IndicatorType" 
                       id="example: Indicator33fe3b22-0201-47c-85d0-97c02164528d" 
                       timestamp="2014-05-08T09:00:00.000000Z">
        <indicator:Title>IP Address for known C2 channel</indicator:Title>
        <indicator:Type xsi: type="stixVocabs:IndicatorTypeVocab-l. 1">IP Watchlist</indicator:Type>
        <indicator:Observable id="example: Observable-1c798262-a4cd-434d-a958884d6980c459">
            </indicator:Observable><indicator:Indicated_TTP>
        <Common:TTP idref="example:TTPbc66360d-a7d1-4d8cadla-ea3a13d62da9"/>
        </indicator:Indicated_TTP>
        </lwtisuf:Indicator></lwtisuf:Indicators>
<lwtisuf:TTPs>
  <lwtisuf:TTP xsi: type="ttp: TTPType" id="exam-ple:TTP-bc66360d-a7d1-4d8c-adla-ea3a13d62da9" timestamp="2014-05-08T09:00:00.000000Z">
      <ttp:Title>C2 Behavior</ttp:Title>
   </lwtisuf:TTP>
</lwtisuf:TTPs>

C2主机威胁指标通过轻量型威胁情报共享利用框架来表达不仅可以保证良好的人、机可读性,更能够充分满足数据交换和共享的需求,还能够直观地查看到各个威胁属性之间的关联情况,下图所示的是一种可视化表示的C2主机威胁属性关联图

图片[17]-网络安全中的威胁情报共享与标准化:STIX、TAXII、CybOX等协议解析-山海云端论坛
情报交换

系统收到威胁情报数据后将XML文档消息转换为系统可识别的对象,然后存于数据库中供其分析和使用,并在此基础上协调各个组件之间的运作,威胁情报交换过程中的转换处理工作流程如下:

  • 将XML格式的威胁情报数据发送给转换模块
  • 转换模块解析XML文档根据威胁情报的数据模型生成相应的对象
  • 根据威胁情报数据库格式的定义,转换模块从数据对象中提取特定属性,组织成各个威胁情报数据域
情报利用

利用威胁情报实现的攻击溯源主要包括控制主机溯源和攻击者溯源两个方面,所形成的攻击溯源信息可以作为新产生的威胁情报为内部安全防护体系提供支撑,也可以用于跟外部机构之间的威胁情报交换

  • 控制主机溯源分析主要是寻找和定位发起攻击事件的主控机器,主要是利用威胁情报数据进行关联分析以实现对采用隐匿技术机制的攻击行为进行溯源分析,例如:僵尸网络、网络跳板、匿名网络、网络隐蔽信道等
  • 攻击者溯源旨在寻找实施攻击的幕后黑客及其组织,主要通过结合威胁情报和攻击事件信息进行基于大数据的挖掘分析,包括攻击代码分析、攻击模式分析、社会网络分析、代码模式分析、键盘模式分析、工作习惯分析等方面,通过基于大数据的共享利用分析可以实现对攻击者的刻画、对攻击行为的关联分析,从而为揭示攻击过程提供有效值的信息

文末小结

面向攻击溯源的威胁情报共享利用技术可为攻击溯源提供一定的技术基础,但其在实际应用中的效果严重依赖于所获得威胁情报的数量和质量,只有配套建立面向攻击溯源的威胁情报共享机制才能确保获得用于攻击溯源的威胁情报信息,否则威胁情报共享技术也将成为空中楼阁

参考链接

https://oval.mitre.org/about/

https://cyboxproject.github.io/

http://capec.mitre.org/about/index.html

https://www.doc88.com/p-0032541830926.html

http://maecproject.github.io/documentation/overview

https://oasis-open.github.io/cti-documentation/stix/intro

https://oasis-open.github.io/cti-documentation/taxii/intro

© 版权声明
THE END
喜欢就支持一下吧
点赞8 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容