新闻动态

News information

《工业信息安全》杂志刊登:六方云技术研究成果

<<返回

2022年06月20日 11:41

近日,国家权威期刊《工业信息安全》第4期发布,六方云前沿技术研究《未知威胁的定义与检测方法综述》入选,文章对近年来未知威胁检测方法相关的研究和文献进行了系统地梳理,充分展示了六方云最新的技术研究与实践成果。


以下是文章原文:


未知威胁的定义与检测方法综述

摘要:当前网络信息安全威胁形势严峻,未知攻击越来越多,严重威胁网络空间的健康发展,未知威胁检测成为网络信息安全行业迫切需要解决的难题。基于此,本文对近年来未知威胁检测方法相关的研究和文献进行了系统地梳理和综述。首先整理行业内关于未知威胁的描述或定义,并基于作者的理解,从网络安全防御方的角度,提出未知威胁的定义,即“对于防御方来说,任何一个威胁的核心属性不为防御方所知的威胁都称之为未知威胁,相对网络信息安全行业来说的未知威胁包括但不限于APT、AET、0/N Day漏洞利用、未知漏洞”;其次简述了检测发现未知威胁检测的方式、内容,并对各未知威胁检测技术的优缺点进行了对比,重点阐述了人工智能技术在未知漏洞挖掘和未知漏洞利用行为检测方面可能发挥的作用;最后对未知威胁检测面临的挑战和发展方向进行了探讨。


关键词:未知威胁;已知的未知;未知的未知;APT;AET;0/N Day;漏洞挖掘;人工智能


引言

随着5G技术、物联网、人工智能、区块链、大数据技术等新一代信息技术的发展,以及传统行业的数字化转型,全球数字经济蓬勃发展,新基建成为我国经济增长的新引擎,助力我国产业发展新秩序。但与此同时,互联网、物联网丰富生态下软件复杂度越来越高,软件自身的未知漏洞不可避免,且形态复杂多样。当前全球新冠疫情形势下,国家级军事化网络攻击频次不断增加,攻击复杂性持续上升,网络安全威胁形势严峻。根据埃森哲公司发布的报告,2021年上半年全球网络入侵活动量同比增长了125%,攻击次数已达到3.047亿,同比增长达151%,远超2020年全年攻击总数。


随着全球网络安全形势的深刻变化,隐藏在复杂软件中的未知漏洞犹如悬在头上的一把利剑,成为网络信息系统的巨大威胁,随时都可能被攻击者发现并恶意利用,而当今主流的安全防御机制仍采用传统的防火墙、入侵检测和防病毒软件来构建核心检测能力,其依靠已知攻击特征码进行模式匹配来检测已知的网络攻击,缺乏对利用未知漏洞进行攻击行为的检测,给我国信息基础设施和信息系统造成巨大威胁,严重影响我国网络空间的健康发展,因此,为防范未知威胁,迫切需要建立未知威胁检测安全机制,明确未知威胁检测方法与关键技术。


01.

未知威胁定义


目前行业内还没有对未知威胁给出统一的定义,Donald Rumsfeld基于纳西姆·尼古拉斯·塔勒布(Nassim Nicholas Taleb)在所著《黑天鹅—如何应对不可预知的未来》一书中提出的“known unknowns”分类方法[1],如图1所示,将安全威胁分为三类:已知的已知威胁(what you know you know)、已知的未知威(whatyou know you don’tknow)、未知的未知威胁(what you don’t know you don’t know)。

1.jpg

图1:“known unknowns”分类方法


Learning tree international组织在此基础上将安全威胁按照三个象限做了进一步细致的分类,如图2所示:

2.jpg

2:安全威胁按照“known unknowns”方法分类


(1)已知的已知威胁,通常指已知可能被利用的漏洞,包括DoS攻击、僵木蠕、后门、POS入侵等;


(2)已知的未知威胁,通常包括安全专家常提到的两类威胁:一类是只有一小部分私人团体(包括政府、IT行业领袖和网络罪犯本身)才知道的漏洞或漏洞利用方法。这些少数特权群体有可能防范此类攻击,但大多数组织是在被攻击或发生损失后才知道这些威胁;一类是虽然无法100%准确地预测,但是确定会造成威胁的攻击者或防御者的行为,这也是网络安全对抗中决定胜负的关键因素;


(3)未知的未知威胁,指那些无法预测的、超出认知范围的、甚至还未出现的安全威胁。

在信息安全等级保护工作中,根据信息系统的机密性(Confidentiality)、完整性(Integrity)、可用性(Availability)来划分信息系统的安全等级,三个性质简称 CIA。


GeorgeSharkov[2]应用“known unknowns”分类方法对网络安全韧性领域网络韧性是系统或数据遭到攻击时,仍然保持业务运行的能力进行了分类,如图3所示。


3.jpg

3:网络安全韧性领域按照“known unknowns”方法分类示意图


George Sharkov将破坏CIA的威胁归为“已知的已知”,属于信息安全范畴;将不属于破坏CIA的复杂威胁如APT归为“已知的未知”,属于网络安全范畴;将那些未知的、不可预测的、不确定的、不可预期的威胁归为“未知的未知”,属于网络韧性范畴。


综上所示,“已知的未知威胁”和“未知的未知威胁”都属于未知威胁。从网络安全的角度来看,未知威胁的“未知”是相对防御方来说的,因此严格意义上定义未知威胁,首先防御方分为多个层次,包括个人、组织、行业、国家。其次对威胁的属性进行分类,威胁的核心属性主要包括采用的工具、技术手段、来源、入口、目标、行为、意图、利用的漏洞、破坏程度、传播能力等;威胁的扩展属性包括传播能力、自动化程度、需要的时间、针对的操作系统平台、防御难度等。任何一个威胁的核心属性不为防御方所知道的威胁都应该属于未知威胁。


因此,本文从网络安全防御方的角度,提出未知威胁的定义,即“对于防御方来说,任何一个威胁的核心属性不为防御方所知的威胁都称之为未知威胁”,相对网络信息安全行业来说的未知威胁包括但不限于APT、AET、0/N Day漏洞、未知漏洞。


1、APT

APT(Advanced Persistent Threat),即高级持续威胁攻击,是一种定向攻击,指某组织针对某个特定目标实施的更高级的、更隐蔽的攻击。此类攻击通常需要在发动攻击前对攻击对象的业务流程和目标系统进行精确的信息收集。其攻击手段和技术多种多样,攻击意图达成通常需要如图4所示的情报收集阶段、攻击阶段、控制阶段和内部扩散阶段四个阶段。


4.jpg

4:APT攻击流程示意图


APT的“未知”体现在其利用的漏洞是未知的,且利用漏洞的行为手段或从未出现过,或只有少数行业专家所知晓。


2、AET

AET(Advanced Evasion Technique,高级逃逸技术)是一种混合使用多种逃逸技术以形成一种新攻击手段的网络攻击,安全措施往往难以检测发现。比如今天频繁发生的变种病毒、恶意加密流量都属于利用逃逸技术来躲避被检测到的未知威胁。


AET 的“未知”体现在利用漏洞的行为手段为绝大多数安全检测系统所不能够发现,即能够成功躲避大多数安全检测系统。


3、0/N Day漏洞

0 Day漏洞(zero-day),是已经被发现(有可能未被公开),而官方还没有相关补丁的漏洞。0 Day漏洞是只有攻击者所掌握,且可以被有效地加以利用的漏洞,其发起的攻击往往具有很大的突发性与破坏性。0 Day漏洞是木马、病毒、间谍软件入侵系统的最有效途径。0Day是指从发现漏洞到对其进行首次攻击之间的天数。0Day漏洞公开且补丁刚刚发布的一段时间内,并非所有用户都能及时修复,这种刚公布但还 未发布修补补丁的漏洞即N Day漏洞。


0/N Day漏洞的“未知”体现在可能被利用的漏洞是掌握在极少数人手中。


4、未知漏洞

未知漏洞(Unknown Vulnerability)是指相对网络信息安全行业来说,还未被发现的,隐藏在系统中的潜在的漏洞。未知漏洞的特征是当前虽然未被发现,但漏洞在客观上已经存在了,未知漏洞带给网络信息安全的威胁是隐蔽的,如果某天被黑客等攻击者有意或无意的发现并利用,就会对网络信息安全构成巨大的威胁。


未知漏洞的“未知”体现在漏洞是未知的,无法预测,无从防范。而对未知漏洞的利用行为是指当前虽然知道存在某个漏洞,但还未出现能够成功利用此漏洞的行为手段,属于已知的未知威胁。


02.

未知威胁检测方法

未知威胁犹如网络安全领域的黑天鹅,具有黑天鹅的三大特性:

(1)意外性。在过去没有任何能够确定它发生的可能性的证据;

(2)会产生极端影响;

(3)事后可预测性,虽然它具有意外性,但人的本性促使我们在事后为其发生寻找理由,倾向认为其是可解释和可预测的。


未知威胁检测虽然不可预测未来的威胁是什么以及什么时候会给自己造成冲击,但我们可以时刻保持警惕,一旦发现立即采取缓解措施以最大限度地降低造成的损失。因此,检测未知威胁成为我们防范未知威胁的重要手段。


对于防御方来说,防御方或者无法预见到自己会有什么还未被公布的漏洞;或者知道自己有未修补的已被公布的漏洞,但不知道攻击者会采用什么方式利用此漏洞。因此防御方要想发现未知威胁,一方面需要能够检测出已知和未知漏洞,另一方面需要在攻击还未成功之前就已经检测到正在进行的攻击行为。基于此,本节对未知威胁检测方法进行了综述。


1、未知威胁检测方式

未知威胁检测方式分为离线检测和在线检测。


离线检测方式用于离线检测未知的漏洞,例如代码审计、离线漏洞扫描、离线渗透测试等。


在线检测方式包括在线检测未知漏洞和在线检测未知的漏洞利用行为。无论是未知漏洞还是未知漏洞利用行为都不具有先验知识,因此无法采用基于规则匹配的检测技术。


2、未知威胁检测内容

未知威胁检测除了检测攻击方对已知漏洞的未知利用行为外,还需要检测在行业还未发现或公布漏洞之前,被攻击方主动地、提前地挖掘到自己系统隐藏的未知漏洞。未知威胁检测内容总体上可以分为未知漏洞挖掘与未知漏洞利用行为检测。


① 未知漏洞挖掘

未知漏洞挖掘是指对未知漏洞进行探索,通过综合应用各种技术和工具,尽可能地找出软件中的潜在漏洞。目前漏洞挖掘方法包括手工测试(manual testing)、模糊测试(Fuzzing)、比较与二进制比较(Diff and BinDiff)、静态分析(static analysis)、动态分析(runtime analysis)等。


(1)手工测试

手工测试是手工向目标程序发送特殊的、有效和无效的数据,然后观察目标程序对各种输入数据的反应,从而根据目标程序的反应来发现漏洞。手工测试方法高度依赖于测试者对目标特性的了解程度。


(2)模糊测试

模糊测试是基于黑盒测试的思想,向目标程序注入大量有效的、完全随机的或精心构造的数据,然后观察目标程序是否出现异常,从而发现目标程序中可能存在的安全漏洞。模糊测试方法可以用于检测各种安全漏洞,包括但不限于竞争条件漏洞、溢出漏洞、应用漏洞等。


(3)静态分析

静态分析是对目标程序的源代码或二进制反汇编后的结果进行静态扫描分析,通过词法、语法、语义分析程序中潜在的安全问题,从而发现安全漏洞。静态分析方法的优点是能够比较全面地覆盖目标程序,减少漏报,但由于重点在分析代码的“特征”,因此需要不断扩充特征库,造成检测的误报率较高。


(4)动态分析

动态分析是在调试器中运行目标程序,设置端点动态跟踪目标程序的代码流和数据流,观察执行过程中程序的运行状态、内存使用状况以及寄存器值等以发现潜在问题,寻找漏洞。常见动态分析方法有:输入追踪测试法、堆栈比较法、故障注入分析法。


② 未知的漏洞利用行为检测

未知漏洞利用行为检测主要有漏洞离线分析和未知漏洞利用行为在线检测两个方向。


(1)漏洞离线分析

漏洞离线分析是指在对存在漏洞的软件运行不造成影响的条件下,对已发现漏洞的细节进行深入分析,以提供漏洞被利用的可能方式以及如何防范漏洞被利用的相关知识。


漏洞分析技术主要是二进制比较,包括二进制字节比较和二进制反汇编后的文本比较。


(2)未知漏洞利用行为在线检测

无论攻击者的工具、战术或技术进步如何,总会留下一些异常的痕迹,“异常不一定是威胁,但威胁一定有异常”。如果我们能够将“未知的未知威胁”转变为“已知的未知威胁”,通过提取系统内在的指标,并对指标持续地观测和分析,建立系统的“日常行为模式”,那么一旦有攻击入侵,会引起指标变化而被察觉,未知漏洞利用行为在线检测正是基于此原理来发现异常现象,再通过对异常的深入分析来发现未知威胁。


基于Gartner对高级威胁检测技术的五大分类(网络流量分析、应用负载分析、终端行为分析、网络信息取证分析、终端信息取证分析),未知漏洞利用行为在线检测需要提取网络流量、应用负载、终端行为等方面的监测指标,并借助虚拟执行、大数据挖掘、威胁情报比对、人工智能等技术进行行为分析,从而发现未知威胁。


3、未知威胁检测技术

检测技术路线当前主要分为两大类:规则匹配和行为分析。规则匹配是当前检测已知威胁的主要技术路线,其核心思想是借助安全专家人工分析或机器大数据分析形成威胁检测静态或动态的规则。而行为分析是检测未知威胁的主要技术路线,其核心思想是借助安全专家人工分析或机器智能分析形成威胁静态或动态的行为特征。


未知威胁检测技术包括虚拟执行技术、大数据挖掘技术、威胁情报比对技术,以及人工智能技术等。


① 虚拟执行技术

虚拟执行技术主要是基于安全规则进行未知威胁检测,其工作原理为:首先,安全专家持续跟踪和分析某个实体的行为,根据行为提取行为规则库;其次,安全系统将流量或日志与提取的行为规则库进行比对;最后,根据比对结果达到检测入侵威胁的目的。代表技术方向为沙箱、蜜罐、安全访问服务边缘(SASE)。


虚拟执行技术的优势是可以发现一些隐蔽性高、变化比较快的高级威胁、异常行为等;是劣势也比较明显,包括(1)能够模拟、还原的威胁较少;2威胁检测无法做到实时;3严重依赖安全专家、行为规则;4本质上仍然依赖安全专家的先验知识,无法防范未知威胁。


② 大数据挖掘技术

大数据挖掘技术主要是基于安全规则进行未知威胁检测,其工作原理为:首先,基于大量的非结构化数据如安全事件日志,采用数据挖掘算法提取规则;其次,安全系统将流量或日志与提取的规则进行比对;最后,根据比对结果达到检测入侵威胁的目的。代表技术方向为因果分析、关联分析。


大数据挖掘技术的优势是可以从大量的安全告警事件中找到关联信息,从而可以挖掘到高级入侵威胁,而劣势则是:

(1)检测规则需要依赖安全专家做甄别和筛选;

(2)检测规则与数据的质量和数量有较大的关系;

(3)检测规则的质量和更新速度与威胁挖掘的效果有直接关系;

(4)对安全系统的存储空间、计算能力都有较高要求;

(5)本质上仍然依赖安全专家的先验知识,无法防范未知威胁。


③ 威胁情报比对技术

威胁情报比对是基于安全规则进行未知威胁检测,其工作原理为:首先,借助全球共享资源积累或交换到已知威胁情报库;其次,安全系统将流量或日志与威胁情报库进行特征比对;最后,根据比对结果达到检测入侵威胁的目的。代表技术方向为威胁情报。


威胁情报比对的优势是可以借助全球共享资源积累或交换到比较全的威胁情报,威胁检测相对全面和准确,但是也存在劣势,包括:

(1)由于威胁情报共享或交换也有时间窗口,所以威胁检测的及时性不够,误报率较高;

(2)本质上仍然依赖安全专家的先验知识,无法防范未知威胁;

(3)威胁情报库一般较大,且变化比较频繁,对安全系统的处理能力要求高。


④ 人工智能技术

人工智能技术主要是基于行为分析进行未知威胁检测,其工作原理为:首先,借助人工智能算法,建立入侵威胁的特征模型;其次,安全系统将流量或日志与特征模型进行模式匹配,特征模型基于算法实时进行分析、判断与自动调整;最后,根据模型判断结果达到检测入侵威胁的目的。代表技术方向为机器学习、知识图谱、神经计算、模糊计算、进化计算等。


人工智能技术的优势是:

(1)可以有效检测未知威胁;

(2)可以有效检测变种威胁;

(3)采用无监督学习,威胁检测漏报率要比其他技术路线的低很多;

(4)威胁检测可以做到实时;

(5)具有一定的自主学习和决策能力;

(6)学习时间越长,能力越强。

而其劣势则是:

(1)需要有学习时间或者对训练样本要求较高;

(2)安全专家干预不可避免;

(3)对开发安全系统的工程师能力要求高,需要同时掌握人工智能和网络安全知识,其威胁检测效果与安全模型有直接关系。


人工智能技术应用在未知漏洞挖掘

当前大量的机器学习技术被尝试用于未知漏洞挖掘,如通过机器学习对代码的词法、语法、控制流和数据流等静态特征进行分析和学习,从而发现代码漏洞,借助机器学习的动态分析对静态分析的检测结果进行校正,或综合分析静态特征和动态特征,从而解决静态分析的高漏报率与动态分析的低代码覆盖率等问题。


机器学习应用到未知漏洞挖掘的主要流程为:

(1)收集大量用于训练的软件程序相关数据以及用于评估的目标程序相关数据,分别应用于训练阶段和检测阶段;


(2)训练阶段,首先通过随机欠采样、随机过采样等方法对训练数据集进行平衡预处理,并将软件程序相关数据转换成向量表示形式;其次,将得到的表征向量输入到预先设计的机器学习模型中进行训练;最后,构建并优化损失函数,不断调整模型的参数;


(3)检测阶段,首先将目标代码数据集按照同样的方法进行数据表征;其次,将表征得到的向量送入到由训练阶段得到的分类器模型,得到目标代码的分类或者预测结果;最后,在测试集上计算模型算法的精确率(precision)和召回率(recall)等,从而进行模型评估和调优。


当前机器学习应用到未知漏洞挖掘的方式中,主要是基于支持向量机、随机森林和朴素贝叶斯等传统的机器学习模型进行代码表征形式的优化,少部分引入了LSTMBLSTM等在NLP领域中常用的深度学习模型。未来机器学习模型的深入研究将是人工智能技术应用在未知漏洞挖掘方面的重要方向。


人工智能技术应用在未知漏洞利用行为检测

人工智能算法建模技术在行为分析方面具有先天的优势,其在未知漏洞利用行为检测方面的应用研究已取得一定成果。Young等人[4]采用无监督集成模型来检测网络内部的未知威胁。Ahn等人[5]提出了一种基于大数据分析技术的新模型检测未知攻击方式。Wang等人[6]基于一个多源融合模型重建已知攻击的场景,并使用AOI-FIM算法来挖掘未知攻击场景的攻击模式。Patrick[7]基于机器学习算法提出了一种通用方法进行协议分析和基于负载的异常检测。J Lee[8]等人提出基于神经网络来检测威胁。Chanwoong Hwang等人[9]采用自动编码器和基于半监督学习的一维CNN来检测未知恶意代码。Zhang等人[10]基于Open-CNN模型设计了一套检测未知攻击的算法。Alzewairi等人[11]使用影子和深度ANN分类器来检测未知攻击。Gun-YoonShin等人[12]则是基于深度学习来检测未知威胁。李韵等人[13]提出结合异常检测和入侵检测来降低未知威胁检测的误报率。

03.

未知威胁检测面临的挑战

未知威胁检测方法的发展对我国信息安全至关重要。同时我们也应该看到未知威胁检测目前在未知漏洞挖掘、未知漏洞利用行为方面也面临着诸多挑战。


1、未知漏洞挖掘面临的挑战

首先,在线漏洞挖掘因具有破坏性,在实践中多采用离线漏洞挖掘方式,存在无法实时、持续地发现未知漏洞的问题。


其次,针对二进制目标的逆向分析,需要提前在二进制目标中“埋点”,但有些情况下无法埋点,导致存在检测盲区。


此外,基于机器学习的漏洞挖掘,也存在较多的挑战:

(1)用于未知漏洞挖掘的数据集不统一,不完善;

(2)应用机器学习等人工智能技术仍然难以挖掘到罕见漏洞;

(3)由Rice定理可知,判断程序是否存在漏洞是不确定的,如何提高由机器学习算法发现未知漏洞的置信度是一个挑战;

(4)基于代码特征的方法很难挖掘到逻辑漏洞;

(5)漏洞挖掘模型的泛化能力在跨项目和跨场景下不足。


2、未知漏洞利用行为面临的挑战

(1)异常行为检测存在告警误报率比较高的缺点;

(2)异常行为检测的结果需要借助威胁情报或网络安全知识图谱来甄别哪些属于未知威胁,需要依赖威胁情报或知识图谱;

(3)基于人工智能和大数据分析检测未知威胁往往需要的算力比较高,需要在安全检测效果和算力之间做权衡;

(4)异常行为检测需要先学习系统正常行为模式,在网关这种半开放的环境下训练行为基线模型比较困难;

(5)基于人工智能技术检测未知威胁,容易出现欠拟合和过拟合的情况,因此检测模型需要具备自我调节和自学习能力。


04.

结束语

本文对未知威胁及其检测方法进行了研究,对未知威胁进行了重新定义,并从未知威胁检测的方式、内容、技术,以及人工智能技术在未知威胁检测领域的应用进行了分析探讨,对各未知威胁检测技术的优缺点进行了对比,重点阐述了人工智能技术在未知漏洞挖掘和未知漏洞利用行为检测方面可能发挥的作用,最后对未知威胁检测面临的挑战和发展方向进行了探讨。


网络攻防战是道高一尺魔高一丈的较量,攻击的方法始终领先防御一步,随着国家信息化进程的发展、以及网络攻击防御技术的演变,后续未知威胁的检测方法也应与时俱进,注重自身安全并充分结合不同防御方法的优点,以应对复杂多样的未知威胁,为我国信息安全保驾护航。


来源:《工业信息安全》2022年第4期