一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

行为基线库的构造方法、安全检查方法、装置及介质与流程

2022-02-22 18:56:28 来源:中国专利 TAG:


1.本公开涉及网络安全技术领域,尤其涉及一种行为基线库的构造方法、一种安全检查方法、一种行为基线库的构造装置、一种安全检查装置以及一种计算机可读存储介质。


背景技术:

2.随着云原生技术的广泛使用,应用系统安全已经成为信息安全领域的重要方面,根据调查统计,信息安全攻击有75%都发生在应用层面而非网络层面上,而这方面的防护却相当薄弱。特别是当前云原生技术快速发展、各类应用容器化部署、应用敏捷开发和快速上线的特点,导致了应用可能会出现更多的漏洞与安全问题,进而被攻击者利用后而发起攻击行为。同时,传统的应用系统安全防护主要集中在应用运行时防护,例如web应用安全网关(web application firewall,简称waf)、web漏洞扫描器等。如何更有效的对应用系统进行防护,已经成为应用系统安全防护亟需解决的重要方面,只有有效的保证应用系统的安全,才能进一步保证操作系统以及整个云环境的安全。
3.目前,对于应用系统的安全防护手段除了采用waf和web漏洞扫描器外,安全从业人员已经开始研究更多的应用保护技术,包括应用行为监测、应用行为白名单、应用堡垒锁以及应用运行时保护技术等,其中应用行为白名单的构建需要依赖于应用行为监测,由于需要对系统功能和安全风险进行监测和分析,在应用系统上线运行后需要监测很长的时间来构建应用的行为白名单,然后通过行为白名单来对应用进行安全防护。因此通过应用系统上线运行后对应用的行为进行监测来构造行为白名单的方法在面对攻击时也存在一定的延时滞后性,当真正的攻击发生时会存在对部分攻击无法抵御的情况。


技术实现要素:

4.本公开提供了一种行为基线库的构造方法、安全检查方法、行为基线库的构造装置、安全检查装置及计算机可读存储介质,以至少解决目前通过应用系统上线运行后对应用的行为进行监测所构造的行为白名单来进行安全检测,所产生的在面对攻击时存在延时滞后性,可能存在攻击发生时对部分攻击无法抵御的技术问题。
5.为实现上述目的,本公开提供一种行为基线库的构造方法,包括:
6.在应用测试阶段对应用系统进行测试,得到测试结果;
7.基于所述测试结果分析应用系统当前的正常行为和攻击行为,得到第一行为分析结果;以及,基于所述行为分析结果构造行为基线库。
8.在一种实施方式中,在应用测试阶段对应用系统进行测试,包括:
9.利用交互式应用程序安全测试iast在测试阶段对应用系统进行测试。
10.在一种实施方式中,所述测试结果包括第一测试结果和第二测试结果,所述在应用测试阶段对应用系统进行测试,包括:
11.在测试阶段对应用系统进行功能测试,得到第一测试结果;以及,在测试阶段对应用系统进行安全漏洞测试,得到第二测试结果。
12.在一种实施方式中,在测试阶段对应用系统进行功能测试,得到第一测试结果,包括:
13.获取应用系统的请求数据包,所述请求数据包包括应用功能的请求统一资源定位符、请求头信息、请求参数信息、待访问的文件路径、待执行的代码文件及待调用的代码函数;以及,
14.基于所述请求数据包对相应的应用功能进行测试,得到第一测试结果,所述第一测试结果携带所述请求数据包的各项信息。
15.在一种实施方式中,在测试阶段对应用系统进行安全漏洞测试,得到第二测试结果,包括:
16.在测试阶段对应用系统进行代码扫描,得到产生安全漏洞的代码的定位信息及其风险函数;以及,
17.基于所述代码的定位信息及其风险函数生成第二测试结果。
18.在一种实施方式中,在基于所述行为分析结果构造行为基线库之后,还包括:
19.在应用运行阶段获取应用系统的运行数据;
20.基于所述运行数据分析应用系统当前的正常行为和攻击行为,得到第二行为分析结果;以及,
21.基于所述第二行为分析结果更新所述行为基线库。
22.为实现上述目的,本公开还提供一种安全检查方法,包括:
23.在应用运行阶段基于所述的行为基线库的构造方法所构造的行为基线库对应用系统进行安全检查。
24.为实现上述目的,本公开还提供一种行为基线库的构造装置,包括存储器和处理器,所述存储器中存储有计算机程序,当所述处理器运行所述存储器存储的计算机程序时,所述处理器执行所述的行为基线库的构造方法。
25.为实现上述目的,本公开还提供一种安全检查装置,包括存储器和处理器,所述存储器中存储有计算机程序,当所述处理器运行所述存储器存储的计算机程序时,所述处理器执行所述的安全检查方法。
26.为实现上述目的,本公开还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时,所述处理器执行所述的行为基线库的构造方法,或者所述的安全检查方法。
27.根据本公开提供的行为基线库的构造方法,通过在应用测试阶段对应用系统进行测试,得到测试结果,然后基于所述测试结果分析应用系统当前的正常行为和攻击行为,得到第一行为分析结果,并基于所述行为分析结果构造行为基线库,在应用测试阶段结合应用测试过程分析应用的正常行为和攻击行为并构造行为基线库,推动了行为基线库构造的左移,节省了应用系统上线运行后行为监测和应用行为基线的学习时间,从而在发生攻击行为时有效降低行为分析的延时滞后性,保障攻击行为的有效防御,提高系统的安全性。
28.本公开的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本公开而了解。本公开的目的和其他优点可通过在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。
附图说明
29.附图用来提供对本公开技术方案的进一步理解,并且构成说明书的一部分,与本公开的实施例一起用于解释本公开的技术方案,并不构成对本公开技术方案的限制。
30.图1为本公开实施例提供的一种行为基线库的构造方法的流程示意图;
31.图2为本公开实施例提供的另一种行为基线库的构造方法的流程示意图;
32.图3为本公开实施例提供的一种安全检查方法的流程示意图;
33.图4为本公开实施例提供的一种行为基线库的构造装置的结构示意图;
34.图5为本公开实施例提供的一种安全检查装置的结构示意图。
具体实施方式
35.为使本公开实施例的目的、技术方案和优点更加清楚,以下结合附图对本公开的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本公开,并不用于限制本公开。
36.需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序;并且,在不冲突的情况下,本公开中的实施例及实施例中的特征可以相互任意组合。
37.在后续的描述中,使用用于表示元件的诸如“模块”、“部件”或“单元”的后缀仅为了有利于本公开的说明,其本身没有特定的意义。因此,“模块”、“部件”或“单元”可以混合地使用。
38.请参照图1,图1为本公开实施例提供的一种行为基线库的构造方法的流程示意图,所述方法包括步骤s101-s103。
39.在步骤s101中,在应用测试阶段对应用系统进行测试,得到测试结果;
40.相关技术中,在应用测试阶段主要针对应用的使用及性能进行测试,而不会针对应用的行为及安全性进行测试,并在测试阶段就开始进行行为基线库的构建,通常是在应用系统运行之后根据应用的行为进行监测并构造行为白名单或者基线库来进行安全检测,其所构造的行为白名单依赖于各类机器学习算法的效率和系统上线运行后使用的频率,往往行为学习的时间需要很长时间,相应的白名单的构造也需要很长时间才能形成,因此其在面对攻击时也存在一定的延时滞后性,当真正的攻击发生时会存在对部分攻击无法抵御的情况。
41.相较于相关技术,本实施例在测试阶段对应用系统进行测试,其测试过程包括对应用的安全性及行为进行监测,并在测试阶段即开始构造行为基线库,推动行为基线库构造的左移,节省应用系统上线运行后行为监测和应用行为基线的学习时间,在发生攻击行为时降低行为分析的延时滞后性,保障攻击行为的有效防御,提高系统的安全性。
42.在一种实施方式中,为实现测试阶段应用系统的全面检测,利用iast能够实现代码级别的安全漏洞检测,全方位扫描测试阶段应用系统的安全漏洞等信息,其中,步骤s101具体为:
43.利用交互式应用程序安全测试iast在测试阶段对应用系统进行测试。
44.iast(interactive application security testing,交互式应用程序安全测试)技术,通过代理、vpn或者在服务端部署agent程序等,收集、监控web应用程序运行时函数执
行、数据传输,并与扫描器端进行实时交互,高效、准确的识别安全缺陷及漏洞,同时可准确确定漏洞所在的代码文件、行数、函数及参数。
45.本实施例基于iast技术,充分利用测试阶段进行的测试行为来构造行为基线库,在测试阶段利用iast技术进行的各类功能测试和安全漏洞测试覆盖全面,非常有利于应用系统各类应用行为基线库的构造,一方面,通过此方法能有利的推进行为基线库构造的左移,节省应用系统上线后行为监测和应用行为白名单构造的学习时间;另外,iast技术中所采用的污点跟踪和hook函数等方法,能够跟踪攻击行为的代码传播路径和攻击行为需要使用的风险函数,能够深入到代码级别构造应用的行为基线库,可提供更全面的信息。
46.进一步地,本实施例通过对应用系统进行功能测试和安全漏洞测试,分别获取应用功能正常使用与非正常使用的第一测试结果和包含漏洞信息的第二测试结果,所述步骤s101,具体为:
47.在测试阶段对应用系统进行功能测试,得到第一测试结果;以及,在测试阶段对应用系统进行安全漏洞测试,得到第二测试结果。
48.可以理解的是,上述针对功能测试和安全漏洞测试均可以采用iast技术测试获得。
49.为了快速定位应用功能的正常行为和非正常行为,本实施例在对应用功能进行测试时,深入到代码函数级别,同时便于后期在根据行为基线库进行安全检查时从代码级别对应用行为所进行的函数调用进行限制,其中,在测试阶段对应用系统进行功能测试,得到第一测试结果,包括以下步骤:
50.获取应用系统的请求数据包,所述请求数据包包括应用功能的请求统一资源定位符、请求头信息、请求参数信息、待访问的文件路径、待执行的代码文件及待调用的代码函数;以及,
51.基于所述请求数据包对相应的应用功能进行测试,得到第一测试结果,所述第一测试结果携带所述请求数据包的各项信息。
52.相关技术中,利用应用运行后进行行为监测构造应用行为白名单大部分通常集中在限制应用所访问的请求头、请求地址、请求参数等,通常没有考虑应用执行的代码文件及调用代码函数等,不能从代码级别对应用行为所进行的函数调用进行限制,本实施例可以利用iast技术从代码级别对行为进行分析,可以实现对应用功能的行为快速定位,同时便于后续从代码级别对应用行为所进行的函数调用进行限制。
53.相应地,本实施例在测试阶段对应用系统的安全漏洞测试同样深入到代码级别,在测试阶段对应用系统进行安全漏洞测试,得到第二测试结果,具体为:
54.在测试阶段对应用系统进行代码扫描,得到产生安全漏洞的代码的定位信息及其风险函数;以及,
55.基于所述代码的定位信息及其风险函数生成第二测试结果。
56.具体地,可以利用iast技术利用污点跟踪和hook函数的方法,跟踪安全漏洞的代码传播路径和需要使用的风险函数,能够深入到代码级别构造应用的行为基线库,提供更全面的信息。
57.在一些实施方式中,在进行安全漏洞测试发现安全漏洞之后,还对漏洞进行验证,验证漏洞时包含攻击载荷,以验证漏洞的攻击行为。
58.在步骤s102中,基于所述测试结果分析应用系统当前的正常行为和攻击行为,得到第一行为分析结果。
59.具体地,在应用测试阶段进行各项功能测试、安全漏洞测试以及验证漏洞的测试结果会传递至行为分析模块,行为分析模块根据测试结果中的系统请求数据包的信息,包括请求url、请求头、请求参数、访问的文件路径、执行的代码文件、调用的代码函数等,统计系统功能正常运行的行为和检测漏洞以及验证漏洞发起的攻击行为,并分别将其归类为正常行为和攻击行为。
60.在步骤s103中,基于所述行为分析结果构造行为基线库。
61.本实施例中,利用行为分析模块的归类结果构造行为基线库,行为基线库可以分为正常行为库和攻击行为库,基线库中记录系统各项请求的请求头、请求网址、请求参数、访问文件路径、代码文件、代码函数等信息,以便应用系统运行后利用行为基线库进行安全检查。
62.为进一步理解上述内容,本实施例以任意文件写入行为和命令注入类行为为例:
63.(一)任意文件写入行为
64.1、在iast测试阶段利用某系统的文件上传功能,通过上传文件对系统进行测试,上传的文件包括jpg文件、png文件、gif文件、php文件等,上传文件的大小为几十kb到几兆不等;
65.2、发现系统能够接受上述文件,且对文件的大小限制过大,文件可接受类型过多,上传文件所在的路径/upload,其采用的函数类型为java.io.fileoutputstream.《init》对文件进行写入,该函数使用之前未采用任何过滤机制;
66.3、根据上述行为构造行为基线,正常行为为上传jpg文件、png文件、gif文件等图片文件,上传文件的路径只存储在/upload,无需访问其他文件路径,攻击行为为上传php、asp等可执行文件,存在访问除/upload往外其他路径的行为;
67.4、构造完成上述行为基线库后,在应用运行阶段可以依托行为基线库,允许正常行为,禁止攻击行为,即只允许上传jpg文件、png文件、gif文件等图片文件,只允许这些文件调用函数java.io.fileoutputstream.《init》写入,上传文件的路径只存储在/upload;禁止上传php、asp等可执行文件,禁止这些文件调用数java.io.fileoutputstream.《init》写入,严格限制访问其他文件路径。
68.(二)命令注入类行为
69.1、在iast测试阶段利用某系统的ping ip功能进行测试,输入正常的命令如“127.0.0.1”和攻击命令如“127.0.0.1&&pwd”、“127.0.0.1||pwd”、“127.0.0.1&pwd”、“127.0.0.1|pwd”等;
70.2、发现上述的正常命令和攻击命令均可以正常执行,且应用调用了执行系统命令的java.lang.runtime.exec()方法,该方法之前未采用任何过滤和预处理机制;
71.3、根据上述行为构造行为基线,正常行为为输入正常的ip地址,无任何其他参数,攻击行为为上传ip地址并携带其他参数或命令等信息;
72.4、构造完成上述行为基线库后,在应用运行阶段可以基于上述行为基线库,允许正常行为,禁止攻击行为,即只允许接受正常的ip地址,并调用java.lang.runtime.exec()方法;禁止输入ip地址中携带其他参数和命令的指令,同时禁止调用
java.lang.runtime.exec()方法。
73.需要说明的是,本实施例在测试阶段就构造的行为基线库,同样可以在测试阶段即开始投入使用,并不限定于在应用运行阶段才进行安全检查。
74.请参照图2,图2为本公开实施例提供的另一种行为基线库的构造方法的流程示意图,在上一实施例的基础上,本实施例通过在应用运行阶段不断更新行为基线库,使得构造的行为基线库能够适应应用运行的各阶段,保障应用系统的安全,具体地,在基于所述行为分析结果构造行为基线库(步骤s103)之后,还包括步骤s201-s203。
75.在步骤s201中,在应用运行阶段获取应用系统的运行数据;
76.在步骤s202中,基于所述运行数据分析应用系统当前的正常行为和攻击行为,得到第二行为分析结果。
77.在步骤s203中,基于所述第二行为分析结果更新所述行为基线库。
78.在一些实施方式中,利用本实施例构造的行为基线库快速检测出已经在行为基线库中所记录的正常行为和攻击行为,同时针对当前运行数据分析出新产生的正常行为和攻击行为,得到第二分析结果。
79.具体地,在应用的运行阶段对应用进行安全防护,依托之前构造的行为基线库,对于基线库中统计的正常行为设置为允许,对于基线库中设置的攻击行为设置为拦截,以更好的保护应用安全,同时在应用的运行阶段进一步统计应用系统在线运行过程中的各类行为以完善行为基线库。
80.在一种实施方式中,可以利用应用运行时自我保护(runtime application self-protection,简称rasp)技术在应用运行阶段基于运行数据分析当前的正常行为和攻击行为,具体地,在应用运行阶段利用rasp技术进行系统的安全防御功能,同时会记录系统的正常访问行为和异常访问行为,即,当前的正常行为和异常行为,相关的信息会传递至该行为分析模块,行为分析模块根据请求数据包的信息,包括请求url、请求头、请求参数、访问的文件路径、执行的代码文件、调用的代码函数等,统计系统功能功能正常运行的行为和发起的攻击行为,分别将其归类为正常行为和攻击行为,以进一步更新行为基线库的内容。
81.本实施例中,在利用iast所进行的测试来构造应用行为基线库,然后利用rasp技术结合行为基线库对应用系统进行安全防护,并且在系统运行阶段继续完善应用行为基线库,保障行为基线库的完整程度,从而提高应用系统的安全性。
82.基于相同的技术构思,本公开实施例相应还提供一种安全检查方法,如图3所示,所述方法包括步骤s301。
83.在步骤s301中,在应用运行阶段基于所述的行为基线库的构造方法所构造的行为基线库对应用系统进行安全检查。
84.基于相同的技术构思,本公开实施例相应还提供一种行为基线库的构造装置,如图4所示,所述行为基线库的构造装置包括存储器41和处理器42,所述存储器41中存储有计算机程序,当所述处理器42运行所述存储器41存储的计算机程序时,所述处理器42执行所述的行为基线库的构造方法。
85.基于相同的技术构思,本公开实施例相应还提供一种安全检查装置,如图5所示,所述安全检查装置包括存储器51和处理器52,所述存储器51中存储有计算机程序,当所述处理器52运行所述存储器51存储的计算机程序时,所述处理器52执行所述的安全检查方
法。
86.基于相同的技术构思,本公开实施例相应还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时,所述处理器执行所述的行为基线库的构造方法,或者所述的安全检查方法。
87.本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统、装置中的功能模块/单元可以被实施为软件、固件、硬件及其适当的组合。在硬件实施方式中,在以上描述中提及的功能模块/单元之间的划分不一定对应于物理组件的划分;例如,一个物理组件可以具有多个功能,或者一个功能或步骤可以由若干物理组件合作执行。某些物理组件或所有物理组件可以被实施为由处理器,如中央处理器、数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于ram、rom、eeprom、闪存或其他存储器技术、cd-rom、数字多功能盘(dvd)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。
88.最后应说明的是:以上各实施例仅用以说明本公开的技术方案,而非对其限制;尽管参照前述各实施例对本公开进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本公开各实施例技术方案的范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献