2013年Gartner率先提出威胁情报并给予了其初始定义,随后威胁情报便在国内外迅速发展并一度成为国内外安全领域关注的热点,威胁情报因其在安全检测与防御的实践应用中的重要作用使得很多中大型企业都逐渐的建立了自己的威胁情报运营中心或者将威胁情报数据加入了年度采购预算之中,威胁情报备受重视
安全情报从情报类型上可以划分为如下几个方面:
威胁情报是一种基于证据的知识,包括情境、机制、指标、影响和操作建议等方面,威胁情报描述了已发现或将来会出现的威胁或危险,并可以用于通知主体针对相关威胁或危险采取的某种响应,广义上的威胁情报内容比较宽泛,包括但不限于狭义的漏洞情报、安全事件情报以及基础信息知识情报等方面内容,在当前的网络安全行业内大多数情况下所说的威胁情报主要指的是狭义的威胁情报,主要是攻击者相关的信息、动机、目标、攻击技战术、IOC(失陷标识: Indicators of Compromise)等
威胁情报旨在为面临威胁的资产主体(通常为资产所属企业或机构)提供全面的、准确的、与其相关的、并且能够执行和决策的知识和信息,威胁情报按照使用场景可以分为以下几类:
威胁情报根据数据本身可以分为HASH值、IP地址、域名、网络或主机特征、TTPs(Tactics、Techniques & Procedures):
上图中左侧是能够利用的情报,右侧是这些情报给攻击者造成的困难程度,威胁情报中价值最低的是Hash值、IP地址和域名,其次是网络/主机特征、攻击工具特征,对攻击者影响最大的是TTPs(战术、技术和行为模式)类型的威胁情报:
威胁情报生命周期是一个循环的过程,其主要包含以下阶段:
企业威胁情报的主要用途有以下几个方面:
威胁情报数据的来源主要有以下几个渠道:
从安全公司购买威胁情报的情形可以大致分为以下两类:
除了寻找安全公司购买威胁情报数据之外,我们还可以从各种不同的开源威胁情报平台或网站收集各种开源的威胁情服将这些开源的威胁情报数据加入到自己的产品中,例如:
IOC Feeds
https://threatfeeds.io/ http://botscout.com/last.htm http://www.blocklist.de/lists https://sblam.com/blacklist.txt http://vxvault.net/URL_List.php https://dataplane.org/sshclient.txt https://dataplane.org/sshpwauth.txt https://urlhaus.abuse.ch/downloads/csv http://www.spamhaus.org/drop/drop.txt https://www.spamhaus.org/drop/edrop.txt http://www.ciarmy.com/list/ci-badguys.txt http://www.blocklist.de/lists/apache.txt http://lists.blocklist.de/lists/all.txt http://report.rutgers.edu/DROP/attackers https://multiproxy.org/txt_all/proxy.txt http://cinsscore.com/list/ci-badguys.txt http://botscout.com/last_caught_cache.htm http://blocklist.greensnow.co/greensnow.txt https://isc.sans.edu/feeds/daily_sources http://data.phishtank.com/data/online-valid.csv https://secure.dshield.org/ipsascii.html?limit=1000 https://www.dshield.org/ipsascii.html?limit=10000 https://www.projecthoneypot.org/list_of_ips.php?by=2d https://www.stopforumspam.com/downloads/toxic_ip_cidr.txt https://myip.ms/files/blacklist/htaccess/latest_blacklist.txt https://danger.rulez.sk/projects/bruteforceblocker/blist.php https://onionoo.torproject.org/details?type=relay&running=true http://www.stopforumspam.com/downloads/listed_ip_1_all.zip http://rules.emergingthreats.net/fwrules/emerging-PF-CC.rules http://rules.emergingthreats.net/open/suricata/rules/botcc.rules http://rules.emergingthreats.net/blockrules/emerging-ciarmy.rules http://rules.emergingthreats.net/blockrules/emerging-compromised.rules http://rules.emergingthreats.net/open/suricata/rules/compromised-ips.txt https://www.circl.lu/doc/misp/feed-osint/ https://gitlab.com/ZeroDot1/CoinBlockerLists/blob/master/list.txt https://github.com/disconnectme/disconnect-tracking-protection https://github.com/stamparm/maltrail/blob/master/trails/static/mass_scanner.txt https://raw.githubusercontent.com/firehol/blocklist-ipsets/master/sslproxies_1d.ipset https://raw.githubusercontent.com/firehol/blocklist-ipsets/master/socks_proxy_7d.ipset https://raw.githubusercontent.com/firehol/blocklist-ipsets/master/cruzit_web_attacks.ipset https://raw.githubusercontent.com/futpib/policeman-rulesets/master/examples/simple_domains_blacklist.txt https://openphish.com/feed.txt https://www.malware-traffic-analysis.net/ https://www.webinspector.com/website-malware-scanner/
IOC Repositories
https://github.com/aptnotes/data https://github.com/eset/malware-ioc https://github.com/pan-unit42/iocs https://github.com/Neo23x0/signature-base/tree/master/iocs https://github.com/stamparm/maltrail/tree/master/trails/static/malware https://github.com/stamparm/maltrail/tree/master/trails/static/suspicious
Security Blog
下面的一些安全公司和安全研究员的博客时常也会发布一些关于威胁情报的通知,其中包含的IOC可用于安全情报
https://contagiodump.blogspot.com/ https://www.malware-traffic-analysis.net/ https://www.trellix.com/en-us/about/newsroom/stories.html http://www.harmj0y.net/blog/ ......
Security Tools
当然一些工具类的官网也是非常值得关注的,例如:
http://w3af.org/ https://hashcat.net/ https://wiki.wireshark.org/ https://portswigger.net/ https://www.netsparker.com/ https://www.metasploit.com/ https://blog.cobaltstrike.com/ https://github.com/gentilkiwi/mimikatz ......
安全厂商也会建立他们自己的威胁情报平台,其中部分为用户提供免费的自建服务,也有一部分付费服务,非安全公司的安全运维人员可以通过威胁平台查询威胁情报数据来判断当前企业是否存在安全风险或者安全隐患,例如:在威胁情报平台发现XXX中间件存在反序列化漏洞的威胁情报后快速确定XXX中间件的影响范围和利用条件,之后反查当前企业是否有使用XXX中间件并确认是否在影响范围列表,如果在影响范围列表则根据威胁情报中的相关安全建议进行风险处置规避安全风险,同时威胁情报平台在安全人员做应急响应时也可以提供多方面的帮助,例如:可疑木马文件检测、可疑外连IP地址检测等
国内的威胁情报平台
https://x.threatbook.com/
https://redqueen.tj-un.com/IntelHome.html
https://ti.nsfocus.com/
https://ti.dbappsecurity.com.cn/
国外威胁情报平台
https://exchange.xforce.ibmcloud.com/
https://www.virustotal.com/gui/home/upload
https://isc.sans.edu/
OSINT相关检索平台和框架
https://start.me/p/rxRbpo/cti
https://map.malfrats.industries/
安全漏洞情报
威胁情报工作者在获得漏洞情报后需要通过对漏洞各个方面的信息(包括漏洞成因、严重程度、影响范围、是否在野利用、漏洞修复方案等)进行分析,确保相关人员可在第一时间对企业内部受影响资产组织应急响应及修复工作,以下是几个较为常见且更新较为及时的漏洞情报获取网站
CNVD:主要监测国内厂商发布的漏洞,由于CNVD对国外厂商的漏洞更新较慢,一般采用其他的方式来对国外漏洞进行监测
https://www.cnvd.org.cn/
IBM:更新近期CVE漏洞,更新较快
https://exchange.xforce.ibmcloud.com/activity/list?filter=Vulnerabilities
Openwall:CVE漏洞邮件集合,更新速度较快
https://www.openwall.com/lists/oss-security/
POC/EXP情报
Exploit-DB:公布漏洞POC
https://www.exploit-db.com/
病毒情报(IOC情报)
天际友盟:每天都会更新近期各类威胁指示器
https://redqueen.tj-un.com/IntelHome.html
数据泄露情报
https://0.zone/Intelligence
安全公司大多数都有专门的安全团队进行运营,而安全运营的核心在于安全数据,安全公司获取数据的途径主要有以下几个方面:
在线沙箱平台:
https://s.threatbook.cn/
https://app.any.run/ 超级好用
https://analyze.intezer.com/ 超级好用+2
情报信息是现代网络安全中重要的一种资源,由于网络空间里的黑客有了更强大的工具军火库和资源,攻击行为更多的是有组织犯罪和政府背景行为,攻击变得越来越复杂且态势感知技术也因此被应用于网络空间安全领域来对抗这种复杂的攻击。为了实现对威胁的全面感知、分析和响应,态势感知技术需要掌握所有出现的威胁信息,但一种单独的网络安全设备无法检测到所有类型的攻击,一家单独的组织也无法发现所有的安全威胁,因此在设备间和组织间交换安全威胁相关的情报成为搭建态势感知系统的重要基础,由于不同设备和组织各自有不同的数据格式和数据组织形式,为了加强安全设备的配合,以及促进不同组织间的协同响应,需要开发标准化的机器可识别的网络空间威胁情报数据交换方法
目前国际上已有多种关于威胁情报的共享交换标准,当前比较常见的做法是用STIX作情报描述,用TAXII传输数据,用CybOX作为威胁情报词汇
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)
https://taxii.mitre.org/
TAXII(Trusted Automated eXchange of Indicator Information,情报信息的可信自动化交换)是用来基于HTTPS交换威胁情报信息的一个应用层协议,TAXII是为支持使用STIX描述的威胁情报交换而专门设计的,但是也可以用来共享其他格式的数据,需要注意的是STIX和TAXII是两个相互独立的标准,STIX的结构和序列化不依赖于任何特定的传输机制,而TAXII也可用于传输非STIX数据,不同的组织机构之间可以通过定义与通用共享模型相对应的API来共享威胁情报,TAXII定义了一个服务信息交换集合和一个TAXII客户端服务器需求集,以及如下两种主要服务来支持多种通用共享模型
MAEC(Malware Attribute Enumeration and Characterization,恶意软件属性枚举与特性描述)是一种共享恶意软件结构化信息的标准化语言,MAEC的提出旨在消除恶意软件描述当前存在的模糊性和不确定性问题并降低对签名的依赖性,从而为改变恶意软件研究和响应提供基础。MAEC寻求改善有关恶意软件的人与人、人与工具、工具与工具以及工具与人之间的通信,减少研究人员对恶意软件分析工作的潜在重复并通过利用以前观察到的恶意软件实例的响应来促进对策的快速开发,下图所示的MAEC数据模型可以由点和边组成的连接图表示,其中MAEC顶层对象定义为节点,MAEC关系定义为边,关系用来描述MAEC对象之间如何关联
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取代
https://capec.mitre.org/about/index.html
CAPEC(Common Attack Pattern Enumeration and Classification,常见攻击模式枚举与分类)致力于提供一个关于常见攻击模式的公共可用分类,从而帮助用户理解敌人如何利用应用程序中的弱点和其他支持网络的性能来进行攻击,"攻击模式"是对敌方利用网络性能的已知弱点来进行攻击的常用属性和方法的描述。攻击模式定义了敌人可能面临的挑战以及他们如何解决它,这些解决方法来源于在破坏性环境中而非建设性环境中应用的设计模式的概念并且通过对特定的现实世界的开发实例的深入分析生成,每个攻击模式捕获关于如何设计和执行攻击的特定部分的知识并指导如何减轻攻击的有效性,攻击模式帮助开发应用程序或网络管理人员更好地理解攻击的特征以及如何阻止它们成功
这里我们对使用STIX作情报描述,用TAXII传输数据,用CybOX作为威胁情报词汇进行简单介绍:
简易示例:https://stixproject.github.io/documentation/idioms/
这里我们以"CVE in an Exploit Target"为例进行演示,其数据模型如下:
https://stixproject.github.io/documentation/idioms/cve/
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>
https://oasis-open.github.io/cti-documentation/resources.html#individual-specification-documents
定义STIX语言、领域对象、关系对象、网络可观察对象和元对象的概念和结构,定义模式语言,以便能够检测网络和端点上可能的恶意活动
https://docs.oasis-open.org/cti/stix/v2.1/os/stix-v2.1-os.html
例如:Hash值
示例如下:
简易实例:https://cyboxproject.github.io/samples/
例如: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">[email protected]##comma##[email protected]##comma##[email protected]</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>
STIX/TAXII采用一套逻辑严密的机制定义了网络威胁情报共享的协议、服务和信息格式,但是从攻击溯源需求的角度来看将该机制直接应用于攻击溯源尚存在以下2个方面的不足:
内部威胁情报源主要是指机构自身的安全检测防护分析系统所形成的威胁数据,包括来自基础安全检测系统和综合安全分析系统方面的数据,其中基础安全检测系统包括防火墙、入侵检测系统、漏洞扫描系统、防病毒系统、终端安全管理系统等基础安全检测单元,综合安全分析系统包括安全管理平台、安全运营中心(SOC)、安全信息与事件管理(SIEM)等综合安全检测分析单元
外部威胁情报源主要指来自外部机构的威胁情报源,主要包括互联网公开情报源、合作交换情报源和商业购买情报源3个方面,其中互联网公开情报源主要包括来自互联网的安全分析报告、安全事件情报、安全态势预警等数据,,通过网络爬虫进行采集,合作交换情报源来自建立合作关系的机构,这往往通过在互利互惠基础上实现的共享合作机制进行保障,商业购买情报源指完全通过商业付费行为得到的情报源,这往往来自专门的威胁情报供应商,例如:FireEye、Verisign等企业
从攻击溯源的角度来看相关的威胁情报主要包括恶意IP/DNS/URL等信息、安全攻击事件信息、恶意代码活动及特征信息、僵尸网络活动信息、0day/nday漏洞信息、黑客及其组织的TTP(策略技术和过程)信息等方面
轻量型威胁情报共享利用框架将威胁情报信息统一采用XML格式进行描述,方便机器处理又方便人工阅读分析,轻量型威胁情报共享利用框架将威胁情报分为6个方面,括黑白名单数据类(包括:IP类、DNS类、URL类)、安全攻击事件信息类(包括攻击时间、发起IP地址、目标IP地址、攻击类型、关键特征等),恶意代码活动及其特征信息类(包括恶意代码MD5值、类型、活动时间、回连地址、技术特征等),尸网络活动信息类(包括尸网络名称、类型、控制节点、技术特点等),漏洞信息类(包括漏洞名称、漏洞类别、利用特点等)、黑客及其组信息类(包括黑客组织、成员联系方式、个人特点等)
下面以C2命令和控制主机为例按照LWTISUF框架的表达方法,C2主机威胁指标表达的数据模型分为2个主要部分:C2主机观察到的恶意行为和对应恶意行为的解释,数据模型如下:
根据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主机威胁属性关联图
系统收到威胁情报数据后将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
http://www.covert.io/threat-intelligence/
http://www.changyuan.net.cn/index.php?m=home&c=View&a=index&aid=19
https://www.slideshare.net/JeremyLi10/discover-advanced-threats-with-threat-intelligence-jeremy-li