本发明涉及网络技术领域,特别涉及安全检测方法与装置。
背景技术:
当今网络安全攻击的种类多样,但绝大部分真实攻击成功后都会引起一系列的文件变化。以挖矿病毒等为例,其利用任意可获取系统权限漏洞获取执行权限后,一方面拉取挖矿恶意程序进行挖矿,此时主机文件系统上已经新增了挖矿的恶意文件;另一方面,挖矿恶意程序还会尝试通过替换系统命令、修改crontab、修改启动项等方式来实现持久化,此时也会产生一系列的主机文件变化。因此,检测并及时发现主机上的异常文件变化对于识别攻击行为是一种非常重要的手段。
传统的安全检测技术大多是通过配置指定目录,例如/etc等,然后监控该目录下的所有文件变化来直接产生告警。
上述检测技术本质上认为所有文件变更都属于异常,因此只能配置监控一些关键目录,不能有效得覆盖各个目录。同时,目录下如果有log文件等日常变更的文件,会触发大量的误报。这样会导致传统的安全检测方式在覆盖率和误报率上都存在需改进的方面。
技术实现要素:
有鉴于此,本发明实施例提供安全检测方法与装置,以提高安全检测的覆盖率,降低误报率。
为实现上述目的,本发明实施例提供如下技术方案:
本申请第一方面提供一种安全检测方法,包括:
根据主机的历史文件变更记录,学习得到主机各目录的变化规律数据;其中,每一历史文件变更记录至少包括:变更文件路径;任一目录的变化规律数据至少包括:预设的各文件变化类型在所述任一目录下所对应的文件列表;
基于所述每一目录的变化规律数据和预设的选择策略,建立各目录的文件变更放行规则;其中,任一文件变更放行规则包括:目录名,以及,目录名下被放行的文件列表;所述选择策略为默认选择策略或自定义选择策略;
采集当前的文件变更记录;当前的文件变更记录至少包括:变更文件路径;
使用所述当前的文件变更记录与各文件变更放行规则进行匹配;其中,若匹配成功,表征所述当前的文件变更记录正常,若与所有文件变更放行规则均不匹配,表征所述当前的文件变更记录异常;
在不匹配时进行报警。
可选的,所述预设的各文件变化类型包括:相似变化类型,以及,n个频率变化等级类型;n为正整数;
所述被放行的文件列表包括:相似文件列表和频率变化文件列表;
其中,所述相似文件列表与所述相似变化类型相对应;
所述频率变化文件列表包括与所述n个步骤变化等级类型中至少一种类型相对应的文件列表。
可选的,所述根据主机的历史文件变更记录,学习得到主机各目录的变化规律数据包括:
获取基线周期内的历史文件变更记录;每一历史文件变更记录至少还包括变更时间;
解析每一历史文件变更记录,得到发生文件变更的目录和发生变更的文件名;
根据所述历史文件变更记录中的变更时间,计算每一发生变更的文件名在所述基线周期内的文件变更频率;
根据文件变更频率,从所述n个频率变化等级类型中,确定每一发生变更的文件名对应的频率变化等级类型;
将同一目录下频率变化等级类型相同的文件名,划分为属于同一文件列表,得到所述同一目录下,每一频率变化等级类型相对应的文件列表;
根据属于同一目录的历史文件变更记录中的变更时间,计算所述同一目录下所有发生变更的文件在所述基线周期内的文件变更频率,作为所述同一目录的目录变更频率;其中,目录变更频率高于预设阈值的目录为高频变化目录;
对高频变化目录下发生变更的文件名进行相似度匹配;
所述相似度匹配包括:
若所述高频变化目录下任意两文件名的相似度大于相似度阈值,将所述任意两文件名划分为属于同一相似文件列表。
可选的,所述基于所述每一目录的变化规律数据和预设的选择策略,建立各目录的文件变更放行规则包括:
针对任一目录,根据所述预设的选择策略选择所述任一目录加入白名单,或者,选择所述任一目录下部分或全部文件变化类型所对应的文件列表加入白名单;
根据所述白名单建立各目录的文件变更放行规则。
可选的,所述使用所述当前的文件变更记录与各文件变更放行规则进行匹配包括:
解析当前的文件变更记录,得到目标目录和目标文件名;
将目标目录依次与各文件变更放行规则中目录名相匹配;
若不匹配,则与所有文件变更放行规则均不匹配;
若匹配,判断相匹配的目录名所对应的文件变更放行规则中各文件列表是否存在数据;任一存在数据的文件列表为目标文件列表;
若否,则匹配成功;
若是,匹配目标文件名与目标文件列表中的数据是否一致;
若一致,则匹配成功;
若均不一致,则与所有文件变更放行规则均不匹配。
可选的,所述目标文件列表包括相似文件列表;
所述匹配所述目标文件名与目标文件列表中的数据是否一致包括:
匹配所述目标文件名与相似文件列表中的文件名是否相似,若相似,则一致,若不相似,则不一致。
可选的,任一发生变更的文件名在所述基线周期内的文件变更频率通过如下方式计算得到:
将所述任一发生变更的文件名在所述基线周期内的变更天数,与所述基线周期的比值作为文件变更频率;
任一目录在所述基线周期内的目录变更频率通过如下方式计算得到:
将所述任一目录下所有发生变更的文件名在所述基线周期内的变更总天数,与所述基线周期的比值作为目录变更频率。
本申请第二方面提供一种安全检测装置,包括:
基线维护单元,用于:
根据主机的历史文件变更记录,学习得到主机各目录的变化规律数据;其中,每一历史文件变更记录至少包括:变更文件路径;任一目录的变化规律数据至少包括:预设的各文件变化类型在所述任一目录下所对应的文件列表;
基于所述每一目录的变化规律数据和预设的选择策略,建立各目录的文件变更放行规则;其中,任一文件变更放行规则包括:目录名,以及,目录名下被放行的文件列表;所述选择策略为默认选择策略或自定义选择策略;
采集单元,用于:采集当前的文件变更记录;当前的文件变更记录至少包括:变更文件路径;
检测单元,用于:
使用所述当前的文件变更记录与各文件变更放行规则进行匹配;其中,若匹配成功,表征所述当前的文件变更记录正常,若与所有文件变更放行规则均不匹配,表征所述当前的文件变更记录异常;
在不匹配时进行报警。
可选的,所述预设的各文件变化类型包括:相似变化类型,以及,n个频率变化等级类型;n为正整数;
所述被放行的文件列表包括:相似文件列表和频率变化文件列表;
其中,所述相似文件列表与所述相似变化类型相对应;
所述频率变化文件列表包括与所述n个步骤变化等级类型中至少一种类型相对应的文件列表。
可选的,所述根据主机的历史文件变更记录,学习得到主机各目录的变化规律数据包括:
获取基线周期内的历史文件变更记录;每一历史文件变更记录至少还包括变更时间;
解析每一历史文件变更记录,得到发生文件变更的目录和发生变更的文件名;
根据所述历史文件变更记录中的变更时间,计算每一发生变更的文件名在所述基线周期内的文件变更频率;
根据文件变更频率,从所述n个频率变化等级类型中,确定每一发生变更的文件名对应的频率变化等级类型;
将同一目录下频率变化等级类型相同的文件名,划分为属于同一文件列表,得到所述同一目录下,每一频率变化等级类型相对应的文件列表;
根据属于同一目录的历史文件变更记录中的变更时间,计算所述同一目录下所有发生变更的文件在所述基线周期内的文件变更频率,作为所述同一目录的目录变更频率;其中,目录变更频率高于预设阈值的目录为高频变化目录;
对高频变化目录下发生变更的文件名进行相似度匹配;
所述相似度匹配包括:
若所述高频变化目录下任意两文件名的相似度大于相似度阈值,将所述任意两文件名划分为属于同一相似文件列表。
可选的,所述基于所述每一目录的变化规律数据和预设的选择策略,建立各目录的文件变更放行规则包括:
针对任一目录,根据所述预设的选择策略选择所述任一目录加入白名单,或者,选择所述任一目录下部分或全部文件变化类型所对应的文件列表加入白名单;
根据所述白名单建立各目录的文件变更放行规则。
可选的,所述使用所述当前的文件变更记录与各文件变更放行规则进行匹配包括:
解析当前的文件变更记录,得到目标目录和目标文件名;
将目标目录依次与各文件变更放行规则中目录名相匹配;
若不匹配,则与所有文件变更放行规则均不匹配;
若匹配,判断相匹配的目录名所对应的文件变更放行规则中各文件列表是否存在数据;任一存在数据的文件列表为目标文件列表;
若否,则匹配成功;
若是,匹配目标文件名与目标文件列表中的数据是否一致;
若一致,则匹配成功;
若均不一致,则与所有文件变更放行规则均不匹配。
可选的,所述目标文件列表包括相似文件列表;
所述匹配所述目标文件名与目标文件列表中的数据是否一致包括:
匹配所述目标文件名与相似文件列表中的文件名是否相似,若相似,则一致,若不相似,则不一致。
可选的,任一发生变更的文件名在所述基线周期内的文件变更频率通过如下方式计算得到:
将所述任一发生变更的文件名在所述基线周期内的变更天数,与所述基线周期的比值作为文件变更频率;
任一目录在所述基线周期内的目录变更频率通过如下方式计算得到:
将所述任一目录下所有发生变更的文件名在所述基线周期内的变更总天数,与所述基线周期的比值作为目录变更频率。
本申请第三方面提供一种安全检测装置,至少包括处理器和存储器;所述处理器通过执行所述存储器中存放的程序以及调用其他设备,执行本申请第一方面任意一项所提供的安全检测方法。
可见,在本发明实施例中,可分析任意目录下的变化规则数据,得到文件变更放行规则。针对主机当前的文件变更记录,若其与相应的文件变更放行规则不匹配时,表征其异常,会进行报警。而在匹配时,表征其正常,不会报警。这样,不仅仅提高了检测范围的覆盖,同时还有效的降低了误报率。
附图说明
图1为本发明实施例提供的一种安全检测装置的结构示意图;
图2为本发明实施例提供的一种安全检测装置的应用场景示意图;
图3为本发明实施例提供的一种安全检测方法的流程示意图;
图4为本发明实施例提供的一种使用当前的文件变更记录与各文件变更放行规则进行匹配的流程示意图;
图5为本发明实施例提供的一种安全检测方法的详细介绍的流程示意图;
图6a为本发明实施例提供的一种根据该目录的目录变更频率及该目录下各文件的文件变更频率对该目录进行分类的流程示意图;
图6b为本发明实施例提供的一种显示不信任列表的应用场景示意图;
图7为本发明实施例提供的一种安全检测方法的完整流程的流程示意图;
图8为本发明实施例提供的一种安全检测装置的硬件结构示意图。
具体实施方式
本发明实施例提供了安全检测方法与装置,以提高安全检测的覆盖率,降低误报率。
请参见图1,上述安全检测装置包括:基线维护单元1、采集单元2和检测单元3。
在本发明其他实施例中,仍请参见图1,上述安全检测装置还可包括:数据库4。
其中,基线维护单元1、检测单元3和数据库4可属于大数据分析平台,采集单元2为独立的设备,专门用于采集主机原始数据。
后续将结合安全检测方法对上述各单元的作用进行进一步的介绍。
上述安全检测装置中的各模块可以软件或组件的形式部署于同一服务器(例如安全检测服务器)上,或者,上述安全检测装置所包含的各模块可分别为独立的服务器。
图2示出了上述安全检测装置的一种示例性应用场景:在各主机运行的应用场景下,采集单元2(图2中的数据采集服务器)可监控主机根目录下所有文件的变更记录,一但发现文件变更,则记录下:文件变更路径(完整路径),文件变更前的哈希值,文件变更后的哈希值(主机安装部署后即默认采集记录一次,后续只要有变化就会再次记录,所以可以得到文件变更前后的哈希值,通过比较哈希值,可确定文件是否发生变化),变更类型(新增、删除、修改等),变更时间等关键信息。
需要说明的是,如果文件移动,对应的变化是一个目录减少文件,另一个目录新增文件。文件名称的修改,对应的变化是同一目录下的删除和新增。
基线维护单元1(图2中的基线维护服务器)可根据一个基线周期内主机的历史文件变更记录,进行离线分析学习,得到各目录的变化规律数据,这些数据可反映哪些目录会经常发生变化,哪些文件会经常发生变化,哪些目录下文件的变化(例如新增)是有规律的(文件名规律性)。并基于每一目录的变化规律数据和预设的选择策略,建立各目录的文件变更放行规则。各目录的文件变更放行规则可以感知主机上哪些文件的变化是允许的,哪些文件的变化必须是文件名满足哪样的规律才是允许的,哪些目录其整个目录都是允许变化的等等。
检测单元3(图2中的检测服务器)中可包括规则引擎。
规则引擎使用上述文件变更放行规则与当前的文件变更记录进行匹配,以实时检测所有文件变化的记录,若满足上述任一文件变更放行规则则不告警,不满足则告警。
此外,采集单元2还会将采集的当前的文件变更记录存储到数据库4,成为历史文件变更记录,可用于下一次的离线分析。
下面将基于上述共性介绍,对本发明实施例做进一步详细说明。
图3示出了由上述安全检测装置所执行的安全检测方法的一种示例性流程,包括:
s1:根据主机的历史文件变更记录,学习得到主机各目录的变化规律数据。
历史文件变更记录可存储在前述的数据库4中,由前述的基线维护单元1获取,并进行学习,得到主机各目录的变化规律数据。其中,每一历史文件变更记录至少包括:变更文件路径。
此外,文件变更记录还可示例性地包括但不限于:文件变更前的哈希值,文件变更后的哈希值,变更类型(新增、删除、修改等),变更时间等。
在本发明其他实施例中,可默认的将所有主机做为一个分组,一个分组内的智能学习结果(文件变更放行规则)是共享的,即假定通过智能学习,认为主机a的/tmp下web.log文件变更为正常情况,则本分组内所有主机的/tmp目录下若发生了web.log文件变更则都认为是正常现象,都会予以放行。
此外,用户可以修改分组配置,来自定义哪些主机为一个分组。例如,可以配置相同业务属性的主机为一个分组(相同业务属性的主机,会比非相同业务属性主机更具规律一些)。
同时用户可以针对不同的分组配置不同的基线周期(例如7天、30天等等)。
相应的,根据主机的历史文件变更记录,学习得到主机各目录的变化规律数据可进一步细化为:
根据同一分组内所有主机的历史文件变更记录,学习得到该同一分组所包含的所有目录的变化规律数据。
在进行学习之前,还可对获取到的数据库中存储的历史文件变更记录进行过滤。
例如,筛选近n天(一个基线周期包含n天,默认为近30天)文件变更数据,同时可过滤文件变更类型。
默认过滤掉删除类型的变更记录,不令其进入后续分析流程。这是因为,主机上的恶意病毒、恶意进程的产生过程可通过新增、修改第一时间发现。同时删除一般也并不是网络攻击最主要的行为,因此不作为重点。
过滤条件支持用户自定义配置。也可以通过修改配置的方式,增加其他类型。
完成筛选后得到分组后的文件变更信息表如下表1所示:
表1
基于上述表1可学习得到变化规律数据。
任一目录的变化规律数据至少包括:预设的各文件变化类型在任一目录下所对应的文件列表。
其中,各文件变化类型包括:相似变化类型(以simi表示),以及,n个频率变化等级类型;n为正整数。
可将与simi对应的文件列表称为相似文件列表,可以理解的是,相似文件列表中的文件名的文件变化类型均为simi。
在一个示例中,可设计n=3,上述n个频率变化等级类型可包括:高频类型(以high表示)、中频类型(以medium表示)、低频类型(以low表示)。除simi外,low、medium、high都为普通类型。
频率变化文件列表则包括与n个步骤变化等级类型中至少一种类型相对应的文件列表。
可将与low对应的文件列表称为列表a、将与medium对应的文件列表称为列表b、将与high对应的文件列表称为列表c。
可以理解的是,列表a中的文件名的文件变化类型均为low,以此类推,不作赘述。
当然,也可设计为n=2,上述n个频率变化等级类型可包括:高频类型(以high表示)、低频类型(以low表示)。
本领域技术人员可根据需要进行灵活设计,在此不赘述。
本文后续将介绍学习得到主机各目录的变化规律数据的具体方式。
s2:基于每一目录的变化规律数据和预设的选择策略,建立各目录的文件变更放行规则。
步骤s2亦可由前述的基线维护单元1执行。
选择策略为默认选择策略或自定义选择策略,本文后续将进行更为详细的介绍。
任一文件变更放行规则示例性地包括但不限于:目录名,以及,目录名下被放行的文件列表;
文件列表中包含文件名。文件变更放行规则中的目录名和文件名,来自于对历史文件变更记录中的变更文件路径的解析,通过解析路径可得到层级目录名和文件名。
在一个示例中,上述被放行的文件列表可包括:相似文件列表和频率变化文件列表。
其中,相似文件列表与相似变化类型相对应,可理解的是,相似文件列表中的文件名的文件变化类型为simi。
频率变化文件列表则包括与n个步骤变化等级类型中至少一种类型相对应的文件列表。
以low、medium、high为例,根据选择策略,频率变化文件列表可包括上述列表a、列表b和列表c中的至少一个。
s3:采集当前文件变更记录。
可由前述的采集单元2执行步骤s3。当前的文件变更记录所包含内容与历史文件变更记录相类似,在此不作赘述。
s4:使用当前的文件变更记录与各文件变更放行规则进行匹配。
其中,若匹配成功,表征当前的文件变更记录正常;若与所有文件变更放行规则均不匹配,表征当前的文件变更记录异常,此时进入步骤s5。
请参见图4,在一个示例中,使用当前的文件变更记录与各文件变更放行规则进行匹配包括:
s41:解析当前的文件变更记录,得到目标目录和目标文件名;
对当前的文件变更记录中的变更文件路径的进行解析,得到的层级目录名和文件名可称为目标目录和目标文件名。
s42:将目标目录依次与各文件变更放行规则中目录名相匹配;若均不匹配,进入步骤s5;若匹配,进入s43。
s43:判断相匹配的目录名所对应的文件变更放行规则中各文件列表是否存在数据;若否,则匹配成功,结束,若是,进入s44;
可将任一存在数据的文件列表称为目标文件列表;
s44:匹配目标文件名与目标文件列表中的数据是否一致;若一致,则匹配成功,结束;若均不一致,则与所有文件变更放行规则均不匹配,进入s5。
其中,在目标文件列表包括相似文件列表时,可进行如下匹配:
匹配目标文件名与相似文件列表中的文件名是否相似,若相似,则一致,匹配成功,结束;若不相似,则不一致,进入后续步骤s5。
可通过计算相似度,判断相似度是否超过相似度阈值来确定是否相似。
步骤s4可由前述的检测单元3执行。
s5:在不匹配时进行报警。
可由前述的检测单元3(图2中的检测服务器)执行步骤s4和s5。
s6:将当前的文件变更记录进行存储。
具体的,可将其存储至数据库4中,成为历史文件变更记录,可用于下一次的离线分析。
可见,在本发明实施例中,可分析任意目录下的变化规则数据,得到文件变更放行规则。针对主机当前的文件变更记录,若其与相应的文件变更放行规则不匹配时,表征其异常,会进行报警。而在匹配时,表征其正常,不会报警。这样,不仅仅提高了检测范围的覆盖,同时还有效的降低了误报率。
下面将对安全检测方法进行更为详细的介绍,请参见图5,其示例性得包括如下步骤:
s50:获取基线周期内同一分组内各主机的历史文件变更记录。
在获取时,可进行过滤,具体请参见前述步骤s1的介绍,在此不作赘述。
完成筛选后得到分组后的文件变更信息表如上表1所示。
以后的步骤,都是对应分组内的各主机的历史文件变更记录。
s51:解析每一历史文件变更记录,得到发生文件变更的目录和发生变更的文件名。
对历史文件变更记录中的变更文件路径进行解析,可得到发生文件变的目录的目录名和发生变更的文件的文件名。
s52:根据历史文件变更记录中的变更时间,计算每一发生变更的文件名在基线周期内的文件变更频率。
文件变更频率算法如下:
文件变更频率=变更文件产生文件变更的天数/基线周期
也即将任一发生变更的文件名在基线周期内的变更天数,与基线周期的比值作为文件变更频率。
例如基线周期(30天)内,有1天产生了变化,则文件变更频率=1/30。
若一天内,同一文件发生了多次变更,也只以1天计算。
当然,用户也可以通过配置文件修改上述文件变更频率算法,来是适配其他场景。
计算后,可将历史文件变更记录和相对应的文件变更频率保存至文件变化频率临时表,关键字段如下表2所示:
表2
s53:根据文件变更频率,从n个频率变化等级类型中,确定每一发生变更的文件名对应的频率变化等级类型。
以n个频率变化等级类型包括low、medium、high为例,可根据内置的文件/目录变更的频率参数阈值从表文件变化频率临时表1中筛选类型。
频率参数阈值可以根据实际情况调整,示例性的,默认为0.5。
在一个示例中,可将高于频率参数阈值a%(a的取值可灵活配置,例如默认值为20)的文件名的频率变化等级类型定为high,将文件名和文件变更记录加入到第一高频变更文件记录表中,其关键字段如下表3所示:
表3
将低于文件变更频率阈值b%(b的取值可灵活配置,例如默认值为20)的数据加入第一低频变更文件记录表中,其关键字段如下表4所示:
表4
将其他数据加入第一中频变更文件记录表中。
s54:将同一目录下频率变化等级类型相同的文件名,划分为属于同一文件列表。
这样可得到同一目录下,每一频率变化等级类型相对应的文件列表。
针对某目录,可建立空白的第二高频变更文件记录表,第二中频变更文件记录表,第二低频变更文件记录表。可将前述的第一高频变更文件记录表中在该目录下的行记录,填入第二高频变更文件记录表中,以此类推,不作赘述。
s55:根据属于同一目录的历史文件变更记录中的变更时间,计算同一目录下所有发生变更的文件在基线周期内的文件变更频率,作为同一目录的目录变更频率。
目录变更频率计算方式与文件变更频率计算方式相类似,同时也支持通过配置快速修改计算方法。
在一个示例中,目录变更频率算法如下:
目录变更频率=目录下变更文件产生文件变更的天数/基线周期
也即将目录下所有发生变更的文件名在基线周期内的变更总天数,与基线周期的比值作为目录变更频率。
例如基线周期(30天)内,有20天目录下的文件均产生了变化,则文件变更频率=20/30。
若一天内,同一目录下多个文件发生了多次变更,也只以1天计算。
更具体的,可根据文件变化频率临时表计算目录变更频率和不重复的文件列表元素数量,保存为目录文件变更频率表,如下表5所示(指定字段dirchrate用于存储目录变更频率),其关键字段如下:
表5
s56:针对任一目录,根据该目录的目录变更频率及该目录下各文件的文件变更频率,对该目录进行分类。
在一个示例中,可定义目录类型包括如下三种:
第一类(common):表示目录整体文件变更不频繁;
例如,系统密码/etc/passwd。
第二类(regular):表示目录整体文件变更频繁,且目录下相似文件居多;
例如日志目录,tomcat日志目录等,每天都产生一个新日志文件:
2020-08-08.zip
2020-08-09.zip
2020-09-10.zip等等。
类似的目录可能会被定义为regular类。
第三类(irregular):表示目录整体文件变更频繁,且目录下无规律文件居多。
在一个示例中,请参见图6a可进行如下的分类操作:
步骤a:判断目录变更频率是否小于频率参数阈值,若是,说明目录下文件变更并不频繁,则定义为common(步骤b);若否,进入步骤c;
可将,目录变更频率高于预设阈值(即上述频率参数阈值)的目录为高频变化目录
步骤c:对高频变化目录下发生变更的文件名进行相似度匹配;
更具体的,相似度匹配包括:
若高频变化目录下任意两文件名的相似度大于相似度阈值,将任意两文件名划分为属于同一相似文件列表。
可对基线周期内该目录下所有变化的文件分析相似度。以/log目录为例,假定基线周期是30天,这30天内产生了如下文件变化:
a.log
202001.log
202002.log
202003.log
202004.log
…
通过相似度匹配,可知道20202*.log的日志(*表示任意取值)的变化是规律的,可划分为属于同一相似文件列表。在一个目录下,可有多个相似文件列表。
当然,若不存在相似文件,则相似文件列表为空。
步骤d:若存在相似文件列表,将目录的类型定义为regular,并产出相似文件列表。
步骤e:若不存在相似文件列表,将目录的类型定义为irregular。
通过上述步骤s50-s56后,可以获取到文件变化基础信息结果表如下表6:
表6
步骤s50-s56对应前述的步骤s1。
s57:针对任一目录,根据预设的选择策略建立白名单。
具体的,可根据预设的选择策略选择将该目录加入白名单(表征该目录下的所有变化都放行),或者,选择该目录下部分或全部文件变化类型所对应的文件列表加入白名单。
步骤s57可由前述的基线维护单元1执行。
基线维护单元1可提供人机交互界面,自定义选择策略。
当然,也可使用默认的选择策略。默认提供四套内置策略:
策略1:代表选择所有高频文件或代表选择高频文件列表(高频文件是指文件类型为high);
策略2:代表选择所有中频文件和高频文件,或者,代表选择中频文件列表和高频文件列表;
策略3:代表选择所有低频文件、中频文件和高频文件,或者,代表选择低中高频文件列表;
策略4:代表选择所有文件,或者代表选择所有文件列表。
在一个示例中,可基于文件变化基础信息结果表1根据默认策略1来自动生成白名单,也可以选择其他策略来生成白名单。
在另一个示例中,可结合目录类型选择相应的选择策略生成白名单。例如,regular类型选择策略4,common类型选择策略2等等。
基线维护单元1可提供人机交互界面(控制台)显示白名单,此外还可显示不信任列表(请参见图6b)。
在根据默认策略建立白名单后,也可以人工在控制台中快速调整,例如进行添加和删除。
以不信任列表为例,在不信任列表中点击添加后可以将文件名或者目录添加到不信任列表中,将白名单中的目录或者文件名删除后,其会自动移动到不信任列表中。
s58:根据白名单建立各目录的文件变更放行规则。
步骤s57和s58对应前述的步骤s2。
文件变更放行规则示例地如下表7所示:
表7
s59:规则引擎解析文件变更放行规则并匹配告警。
沿用前例,规则引擎可获取上述表7中的文件变更放行规则,匹配实时上报的所有文件变更记录。
在匹配时,可首先匹配主机uuid(标识),若不匹配,则检测结束(也可报警,本领域技术人员可灵活配置),若匹配,可进行下述操作:
将实时文件变更记录中提取的目录名与文件变更放行规则中的目录进行匹配,若不匹配,则检测结束,若匹配,可进行下述操作:
a若匹配的目录下相似文件列表、频率变化文件列表中数据都不存在,则检测结束(也可报警,本领域技术人员可灵活配置)。
b若仅频率变化文件列表数据存在,则匹配实时文件变更记录中提取的文件名与频率变化文件列表中的文件名是否一致,若一致,则检测结束;否则,报警(也即产出告警事件);
c若频率变化文件列表数据不存在,但相似文件列表存在,则匹配实时文件变更记录中提取的文件名与相同目录下的文件名是否相似,若相似,则结束,否则报警。
举例来讲,假定相似文件列表中有一个文件[test-web-server-log-20200110.log],则后续同uuid、同目录下有文件变更则和该文件计算相似度,相似度超过相似度阈值则一致。
s510:若告警事件被忽略,修改相应的文件变更放行规则。
用户可选择忽略某告警事件,这时可同步修改相应的文件变更放行规则,这样,后续不会再上报该文件的变更记录。
整体流程可参见图7。
图1示出了上述安全检测装置的一种示例性结构,包括:
基线维护单元1,用于:
根据主机的历史文件变更记录,学习得到主机各目录的变化规律数据;其中,每一历史文件变更记录至少包括:变更文件路径;任一目录的变化规律数据至少包括:预设的各文件变化类型在所述任一目录下所对应的文件列表;
基于每一目录的变化规律数据和预设的选择策略,建立各目录的文件变更放行规则;其中,任一文件变更放行规则包括:目录名,以及,目录名下被放行的文件列表;所述选择策略为默认选择策略或自定义选择策略;
采集单元2,用于:采集当前的文件变更记录;当前的文件变更记录至少包括:变更文件路径;
检测单元3,用于:
使用所述当前的文件变更记录与各文件变更放行规则进行匹配;其中,若匹配成功,表征所述当前的文件变更记录正常,若与所有文件变更放行规则均不匹配,表征所述当前的文件变更记录异常;
在不匹配时进行报警。
图8示出了上述实施例中安全检测装置的一种可能的硬件结构示意图,包括:总线、处理器1、存储器2、通信接口3、输入设备4和输出设备5。处理器1、存储器2、通信接口3、输入设备4和输出设备5通过总线相互连接。其中:
总线可包括一通路,在计算机系统各个部件之间传送信息。
处理器1可以是通用处理器,例如通用中央处理器(cpu)、网络处理器(networkprocessor,简称np)、微处理器等,也可以是特定应用集成电路(application-specificintegratedcircuit,asic),或一个或多个用于控制本发明方案程序执行的集成电路。还可以是数字信号处理器(dsp)、现成可编程门阵列(fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
存储器2中保存有执行本发明技术方案的程序或脚本,还可以保存有操作系统和其他关键业务。具体地,程序可以包括程序代码,程序代码包括计算机操作指令。脚本则通常以文本(如ascii)保存,只在被调用时进行解释或编译。
输入设备4可包括接收用户输入的数据和信息的装置,例如键盘、鼠标、摄像头、语音输入装置、触摸屏等。
输出设备5可包括允许输出信息给用户的装置,例如显示屏、扬声器等。
通信接口3可包括使用任何收发器一类的装置,以便与其他设备或通信网络通信,如以太网,无线接入网(ran),无线局域网(wlan)等。
处理器1通过执行存储器2中所存放的程序以及调用其他设备,可实现上述实施例提供的安全检测方法。
此外,图1所示的安全检测装置各单元的功能,可由前述的处理器1执行存储器2中所存放的程序以及调用其他设备实现。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及模型步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
结合本文中所公开的实施例描述的方法或模型的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(ram)、内存、只读存储器(rom)、电可编程rom、电可擦除可编程rom、寄存器、硬盘、可移动磁盘、wd-rom、或技术领域内所公知的任意其它形式的存储介质中。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。