大数据技术支持下的软件安全漏洞自动挖掘方法研究

2022-11-16 02:15叶丽英
电子技术与软件工程 2022年16期
关键词:安全漏洞攻击行为漏洞

叶丽英

(国家税务总局日照市税务局 山东省日照市 276800)

随着信息化技术的发展,人们越来越重视系统安全问题。而智能终端或个人PC 端的信息安全与其依附的系统安全机制与安全漏洞存在直接联系。根据相关研究,系统中应用软件是安全漏洞多发的区域,尤其是Web 应用系统,出现信息安全漏洞是最多的。据CNCET 统计,我国新收录安全漏洞数量在以每年25%速度增长。基础应用软件与通用应用软件存在高位风险,下文便对软件安全漏洞利用情况进行分析。

1 软件安全漏洞利用情况

1.1 利用过程

不法分子在对软件安全漏洞进行利用时,多数会通过以下流程:

(1)先构建测试环境,通常包括硬件测试环境与软件测试环境,并预先准备好扫描、渗透工具。

(2)进行探测攻击。此阶段主要是对软件中的用户相关信息进行收集,比如IP 地址、端口、域名以及软件版本等,其中还包括编写测试计划与对新漏洞的跟踪。

(3)攻击阶段。漏洞利用的主要目标均能在此阶段完成,此时不法分子会对目标终端发起攻击,攻击内容包括漏洞识别,获取授权访问以及敏感信息,提高权限或者直接获取本地管理员权限等。

(4)后攻击阶段。此阶段的主要目的是消除攻击痕迹,以及为下一次攻击做出准备,植入木马或创建后门,生成渗透报告等。

1.2 利用分类

软件安全漏洞的种类较为复杂,按照不同形式进行分类有着不同的结果,若按其威胁类型可分为下述七类:

(1)认证类。此部分指的是认证机制存在漏洞,身份、服务、应用标识缺失,难以发挥应有的作用。使得用户在登录ID 时被破解,为不法分子提供方便,或者登录机制缺失,用户可直接进行访问服务。

(2)授权类。此部分指的是应用获取了系统所允许之外的权限。不法分子可通过此权限获取用户的非授权内容。

(3)加密类。此部分指的是加密难度较低,内容易于破解。为不法分子劫持数据包提供便捷。

(4)信息泄露类。此部分指的是用户个人隐私信息泄露,或者系统敏感信息泄露,域名地址泄露等,这会降低不法分子信息搜集难度。

(5)输入验证类。此部分指的是应用软件验证机制存在缺陷,使得用户输入验证时错误,进而绕过软件的验证机制。此漏洞会导致文件上传漏洞,不法分子可利用该漏洞进行XSS 攻击与SQL 注入。

(6)Session 管理。此部分指的是应用软件未对用户的会话控制进行安全设置,比如会话控制的时效期限,标示位等。

(7)服务器配置类。此部分指的是应用软件系统的错误配置,主要包括软件使用了默认文件或者未设置检索保护等。

总的来说,安全漏洞其本身并不会给应用软件与用户产生威胁,只有在特定条件下才能威胁到用户的信息安全。当不法分子将精力集中在攻击活动中时,通常会比软件安全维护人员更快地发现漏洞,进而激发起攻击。此类攻击行为通常会依附于安全漏洞上,从此角度看,安全漏洞与不法分子的攻击行为有着直接联系。因此,了解不法分子的漏洞利用流程对后续的安全漏洞挖掘是极为必要的。

2 常见攻击方法

攻击行为指的是不法分子获取应用软件中的资源或对其运行系统进行破坏的恶意行为。网络中的漏洞攻击行为种类较多,如果按照攻击方法进行分类,大体可分为远程、内部。远程攻击指的是利用互联网或其他类型的网络,对任意一台终端发起攻击活动,比如常见的DoS 攻击与邮件炸弹等。内部攻击指的是在本地系统中的攻击,比如溢出攻击以及缓冲区攻击等。在上述两种攻击类型中,远程攻击由于具有隐秘性以及经济性,受到众多不法分子的青睐,其对应用软件的安全威胁越来越严重,因此,此种攻击行为具有较强的研究意义。常见攻击方法具体如下。

2.1 扫描攻击

从上文描述的安全漏洞利用情况可以发现,不法分子在正式开始攻击前需要进行探测攻击,以此种形式获取用户的IP 地址或者软件信息等,此阶段通常会通过扫描攻击完成。首先,不法分子会利用扫描攻击对目标漏洞以及终端信息进行扫描,根据扫描结果采取有针对性攻击,比如端口扫描攻击,此种方法指的是不法分子使用一个IP 地址可快速向对方一个IP 地址下的多个端口发送数据包,对其可用服务进行扫描,若任意一个端口出现响应,便会获得目标终端的服务。再以地址扫描攻击为例,此种攻击方法与端口扫描攻击相似,不法分子会使用一个IP 地址向不同终端发送Ping 或ICMP,若任意一台主机做出相应行为,便可获取该主机下的IP 地址。若按照协议对扫描攻击进行分类可分为三大类,分别为TCP、UDP、ICMP。当前网络中较为主流的扫描工具有SuperScaner 以及NESSUS、NMAP、流光等。

2.2 拒绝服务攻击

此种方法是当前极为常见的攻击行为,从其名称便可看出此种攻击行为是剥夺对方终端的正常服务能力,其本质是利用终端存在的网络协议漏洞,对终端的网络资源进行消耗,使其服务能力瘫痪,不能为用户提供网络连接。在攻击方法的角度此类攻击可分为两种,一是在短时间内发送数量较多的数据攻击包,进而造成Dos 攻击,二是发送少量数据包产生DoS 攻击。第一种是当前较为常见的方法,主要有Ping Flood、SYN Flood 等。其中SYN 是利用TCP 协议,在短时间内向目标终端发送数量较多的SYN 数据包,请求与终端进行网络连接,当终端收到请求后,便会响应恢复ACK 数据包,但不法分子并不会向终端回应应答包,如此一来,便不能完成TCP 的握手协议,此时目标终端内便会存在大量半开连接,进而出现等待超时,造成连接队列饱和。而Ping攻击则是利用Ping数据包对目标终端的网络资源进行消耗,与SYN 相比,虽然其作用形式与本质不同,但存在共同点,即在短时间内向目标终端发送数量较多的数据包。第二种攻击类型则不许发送数据包,而是利用协议栈使的目标终端出现过程错误,常用攻击方法有TearDrop,不法分子会向目标终端发送包含重叠偏移的数据包,并利用UDP 包重组过程中出现的重叠偏移现象使得封包出现重叠,此时目标终端会尝试重新组合,进而使得系统崩溃。

3 基于大数据技术的软件安全漏洞自动挖掘方案设计

传统的漏洞挖掘技术盲目性较强,难以获取应用软件中的测试接口,再加上当前网络中的数据量较大,自动挖掘、检测动作效率较低,若想提高其检测效率,则必须要增加数量或者容量足够的检测设备,这便降低了网络部署的成本。基于此背景,提出基于大数据技术的软件安全漏洞自动挖掘方案。

3.1 自动挖掘整体方案

为提高软件安全漏洞的挖掘效率,实现高效率自动挖掘,提出一种新的自动挖掘方案。其基于大数据技术,由三个模块构成,分别为特征提取,安全分析平台以及安全设备处理(如图1)。具体如下。

图1:基于大数据技术的软件安全漏洞自动挖掘整体方案

3.1.1 特征提取

方案中的该部分指的是对不法分子的攻击行为特征进行提取,是数据预处理的关键阶段。此模块会从信息流量、网络协议等多方面对攻击活动进行分析,并提取其特征描述该攻击行为,此过程会利用机器学习来消除冗余,进而为安全分析平台的简化与整理提供依据。通过对攻击行为的特征提取获取少量数据,以此进一步增加机器学习效率与分类效率,降低存储与内存[1]。

3.1.2 安全分析平台

该模块是利用Spark 流式处理平台,并利用决策树算法对信息流量进行分析,并有针对性建立异常行为,再利用机器学习算法对数据进行分类,以此区分出不同的攻击行为。该平台架构主要有三部分:

(1)采集层,该层面负责对网络中的数据进行整理、抽样,进而降低安全分析平台需要处理的信息量。可通过嗅探以及Flume 实现。嗅探模块会利用各个端口对数据包进行抓取,将其中存在的无用信息过滤掉,留下特征信息,比如数据统计信息与包头信息。而Flume 则负责将各类数据以定制的形式发送给对方,对所收集的数据进行简单的预处理,再传输至Kafka 或HDFS 等。

(2)整理层。此部分由Kafka 构成,该系统在接收到采集层所获取的数据后,便会以Topic 为最小单位对其进行整理,以便于后续计算层的调用。该层面的另外作用是作为计算层的存储区域。此举是为防止大量数据超量传入计算层,远超出其自身处理能力造成计算层崩溃。Kafka 模块则只有在计算层具有一定计算能力时才会将数据发送至处理层。

(3)计算层。该层面主要负责对数据信息进行计算。机器学习与分类训练便在此层面进行。为实现流式处理,便要利用Spark 中的子项目,streaming 平台。在对漏洞进行检测时,要先运行机器学习,再选取合适的算法,输入已知事件组对其进行训练,构建预测模型,进而实现利用该安全分析平台对漏洞进行高效自动挖掘。在众多分类算法中,本文选择使用决策树算法也就是CART,其简单易懂,数据处理效率较高。

3.1.3 安全设备处理

该模块的职责是对具有安全威胁的信息与不存在威胁的信息进行分别路由,如果该数据存在端口扫描特征,此模块会将该数据传输至防火墙,将安全数据传输至IPS 系统,安全设备会按照既定的安全策略对相应的数据进行拒绝、丢弃或者转发。此模块由两部分构成,即安全资源池与路由策略。随着云计算技术与大数据技术的不断发展,虚拟化网络安全设备数量急剧增多,从其作用方面来看,可将虚拟安全设备与物理安全设备统称为资源池。为实现个性化调用,应当以实际情况为准对安全设备方案进行设计,具体设计方法在3.4中[2]。

3.2 特征提取实现策略

为区分安全流量与利用流量,需要对终端数据信息进行分类。通常分类过程由两步骤构成。一是对已知类别的数据构建分类模型,再根据各个数据的属性对类别情况进行分析,明确分类规则,如此,该模型便叫特征模型,数据数值也可以叫做特征值。那么如何提取数据中的特征值,并建立向量模型用于区分流量是关键。二是利用模型对流量进行分类。使用所创建的模型对未知流量进行分类,将不同流量类型分配到不同类别中。可以使用分类模型作为测试集,检测其准确率。此集合中的对象要遵循随机选取原则。本文便利用决策树算法实现,具体方法在3.3。

当不法分子进行扫描攻击时,会存在共性。当不法分子在对某子网进行扫描时,短时间内必然会对多个主机进行扫描,若子网中存在无现实意义的主机也会被扫描到。当不法分子对特定终端进行扫描时,必然会在短时间内扫描数量较多的端口,若存在关闭端口也会被扫描到。上述扫描过程的IP 源地址可能相同也可能因篡改而不同。但共性便是在短时间内智能终端内会出现数量较多的异常包,比如SYN 与FIN 等。同理,在DoS 攻击中也会存在较为明显的共性,比如REJ 与SYN 数据包在短时间内大量出现,或者错误信息量较大。所以,在此模块中可将上述共性进行提取,对攻击特征进行描述。具体特征描述方法如下[3]:

(1)网络协议特征。当前网络中通用的是TCP/IP,由于其特性,在现实生活中得到了极为宽泛的使用。但其在设计时,更为侧重网络中的互联互通特性,选择性忽视了安全问题,这便使得该协议自身存在部分安全漏洞。若想要对网络协议特征进行分析,可从TCP、UDP、ICMP 数据包入手进行分析。比如DNS Flood 攻击,其是通过向服务器短时间内发送查询请求来消耗服务器资源,通常会使用UDP 的53端口进行,若想对此攻击特征进行提取,可从该端口入手,若发现UDP 数据包的目标端口为53,便可大概率确定是此种攻击行为,可将此作为其攻击特征。再比如WinNuke 攻击,通常会利用137‐139、113 或53 端口进行攻击,且其数据包形式为TCP,处于紧急状态。所以此种攻击特征便可以目标端口与竞技状态为准进行判断。Land 攻击特征则是其所发送的数据包地址与服务器地址相同,当对同一台智能终端进行扫描时,不法分子会向目标终端当前的多个端口发送请求,当终端回应后,便会泄露服务类型,所以此种攻击行为可将其特征描述为众多端口在短时间内同时接收到连接请求,并包括不常用端口。

(2)负载内容特征。除数据包头形式攻击外,还存在数据包负载攻击。因此可通过对负载内容进行分析提取攻击特征。当数据包进行攻击时,其内部通常会有固定的字符串,可将该字符串作为提取攻击特征的依据。比如ASP源代码泄露攻击,只要数据包内存在http://www.*******.com/***.as::$DAT 的地址,其****.asp 便会显示,所以可将此作为其攻击特征。

(3)流量特征。此特征描述方法主要是针对攻击行为,比如Dos 攻击会对终端网络流量产生较为明显的压力。因此,可以将某个时间段内机俄网络流量作为此种攻击特征。比如SYN 特征便是5s 内的SYN 错误连接占比超过某个阈值。或者RST 攻击特征为5s 内终端连接RST 数据包占比等[4]。

根据上述不同特征去提取攻击行为可有效对攻击特征进行描述,但其全面性仍然较差,还需要与具体行为、系统资源利用率、时延信息进行关联,以便于精准定位。具体参数如下:

(1)UDP 数据包参数,源IP 地址、目标IP,与端口号,数据流量。

(2)TCP 数据包参数,源IP 地址、目标IP,与端口号,标志位,数据流量。其中标志位可分为五种,同步状态、确认状态、复位状态、终止状态以及紧急状态。

根据上述分析,可将数据包涉及的任意一种事件进行预处理,将特征向量化,为计算层的分析提供便利条件。假设该网络事件为A,那么UDP 特征向量便为x={x1,x2,x3,x4,x5}其中x1,X2 与x3,x5 区间为{0,1},若其目标地址与数据包源地址相同,其x1 便为1。x3 则是当终端地址不存在时,为1,反之为0。X4 区间为1‐5,表示A事件所收到的数据包总量。具体取值如公式(1):

当智能终端访问端口为53 时,取值为1,反之为0。

3.3 决策树算法

特征提取算法是该自动挖掘系统的核心,决策树算法则是计算层中的关键算法。简单来说,此算法是从无次序以及无规则的数据中,推理出其形式分类方法,该决策树结构如图2。采用递归方式,按照不同特征值将节点分至各个不同的分支。图中Li 代表类别名,N0 代表整体节点,从此处开始分支,Nj 则表示属性值测试,其中condij 则表示属性值的判别式,其中每个属性值均代表Nj 的合取,由此可见,所有类别均能被节点Li 分析。其中j 与i 的取值为1,2……。

图2:决策树结构

为得到此决策树,应当在其中输入三组参数,分别为数据集、属性选择值以及属性列表。具体计算流程可分为四个方面[5]:

(1)构造节点N。

(2)若数据集中多数数据均相同(设定为C 类),其节点会从N 节点标记为C,并返回至N 中。

(3)若属性列表内不存在数据,便表示并没有可作为分类的属性值,此时会将N 作为节点,标记为类标,不再进行分类,返回N。

(4)调用选择方法,从属性列表中选择合适的分类准则,作为最佳选择值,此属性值根据子节点类别尽可能独立,实现每个子节点均属一类。

3.4 安全路由方案

为保障上述数据传输,安全路由设计方案如下:

(1)安全资源池。此部分指的是在网络中存在的安全设备集合,其中包括物理形态与虚拟形态,两者均能为用户提供IDS、防火墙等服务。

(2)数据传输设备。此部分指的是交换机本身,也是决策树中的所有节点。其均要遵守同一种协议,比如OpenFlow 协议,在此协议下与控制器进行通信,或将数据传输至目标终端中[6]。

(3)服务调度中心。此部分是整个漏洞自动挖掘方案中的硬件核心,由子网、全局控制器组成,能够实现全局拓扑获取,并下发至相应设备。为获取所有形态的拓扑,可在每个子网中配置FloodOpenDaylight 控制器,并利用链路识别协议,获取传输设备的拓扑信息,并将其连接至端口、IP与带宽,最终汇总至全局控制器中,进而使其获取全局拓扑,以便于计算层对最短路径进行计算。

4 结论

综上所述,为提高当前应用软件的安全程度与安全漏洞检测效率,本文基于大数据技术中的Spark技术,从特征提取、决策树算法、安全路由三个角度对漏洞自动挖掘系统进行了分析,该系统通过对攻击特征的提取可实现数据流的精简,大幅度提高了安全漏洞的挖掘效率。

猜你喜欢
安全漏洞攻击行为漏洞
漏洞
住院精神病人暴力攻击行为原因分析及护理干预
基于人工蜂群算法的无线网络攻击行为的辨识研究
安全漏洞太大亚马逊、沃尔玛和Target紧急下架这种玩具
基于安全漏洞扫描的校园网告警系统的开发与设计
三明:“两票制”堵住加价漏洞
高铁急救应补齐三漏洞
安全漏洞Shellshock简介
NSFOCUS 2010年2月之十大安全漏洞
关于运动攻击行为的理论及研究