PG电子股份有限公司-PG电子·官方网站-深空深海电子加固技术引领者

前沿动态

News Center

当前位置: 首页 > 前沿动态

PG电子科技发展有限公司系统加固方法、装置、电子设备及计算机可读存储介质

更新时间:2025-10-03点击次数:

  

PG电子科技发展有限公司系统加固方法、装置、电子设备及计算机可读存储介质(图1)

  (71)申请人湖南麒麟信安科技股份有限公司地址410000湖南省长沙市高新开发区麒云路20号麒麟科技园1栋4楼

  (74)专利代理机构北京超凡宏宇专利代理事务所(特殊普通合伙)11463专利代理师贾耀斌

  本申请实施例提供了一种系统加固方法、装置、电子设备及计算机可读存储介质,属于操作系统技术,该方法包括,根据加固请求生成加固任务,当线程池中待执行线程队列的线程执行完成或线程池的线程数小于最大线程数时,根据加固任务在待执行线程队列中创建加固线程,判断加固任务是否取消,若加固任务未取消,则通过加固线程获取加固任务的加固项,对加固项执行加固操作,得到加固结果。这样,基于加固请求生成加固任务,以线程池维护多个线程,根据加固任务在待执行线程队列中创建加固线程,若加固任务没有取消,则执行加固操作,提高加固效率,提供高效率、可扩展、易定制并具有权威性的安全加固方案。

  当线程池中待执行线程队列的线程执行完成或所述线程池的线程数小于最大线程数时,根据所述加固任务在所述待执行线程队列中创建加固线程,

  若所述加固任务未取消,则通过所述加固线程获取所述加固任务的加固项,对所述加固项执行加固操作,得到加固结果。

  当所述待执行线程队列的线程执行完成或所述线程池的线程数小于最大线程数时,根据所述扫描任务在所述待执行线程队列中创建扫描线程,

  若所述扫描任务未取消,则通过所述扫描线程判断多个系统配置项是否符合加固标准,以得到扫描结果,

  若所述扫描结果中存在不符合所述加固标准的目标系统配置项,则对所述目标系统配置项执行加固操作。

  3.根据权利要求1所述的方法,其特征在于,所述对所述加固项执行加固操作,包括,

  确定所述加固项的类别,根据所述加固项的类别确定加固模板,将所述加固项导入所述加固模板中,得到待加固数据,

  4.根据权利要求3所述的方法,其特征在于,所述通过加固接口对所述待加固数据进行加固操作,包括,

  通过所述加固接口采用base64编码方式对所述待加固数据进行加密,得到第一base64加密数据,

  获取所述待加固数据的第一md5值,通过RSA编码对所述第一md5值进行加密,得到第一RSA加密字符串,

  将第一base64加密数据及第一RSA加密字符串合并,得到最终加密文件。

  将所述最终加密文件进行拆分,分别得到第二base64加密数据及第二RSA加密字符串,

  采用base64解码方式对所述第二base64加密数据进行解码,得到待检数据,

  若所述第二md5值及所述第三md5值相等,则将所述待检数据和/或所述待检字符串确定为解密数据。

  将所述加固结果及所述扫描结果存储至缓冲区,显示所述加固结果和/或所述扫描结果。

  创建模块,用于当线程池中待执行线程队列的线程执行完成或所述线程池的线程数小于最大线程数时,根据所述加固任务在所述待执行线程队列中创建加固线程,

  执行模块,用于若所述加固任务未取消,则通过所述加固线程获取所述加固任务的加固项,对所述加固项执行加固操作,得到加固结果。

  9.一种电子设备,其特征在于,包括存储器以及处理器,所述存储器存储有计算机程序,所述计算机程序在所述处理器运行时执行权利要求1至7中任一项所述的系统加固方法。

  10.一种计算机可读存储介质,其特征在于,其存储有计算机程序,所述计算机程序在处理器上运行时执行权利要求1至7中任一项所述的系统加固方法。

  [0001]本申请涉及操作系统技术领域,尤其涉及一种系统加固方法、装置、电子设备及计算机可读PG电子科技发展有限公司存储介质。

  [0002]目前,为防范操作系统被恶意攻击或信息泄漏,大部分业务数据在入网前都需要进行安全加固,并对其安全性进行检测。在不同场景下,业务需求也不尽相同,加固方案也随业务扩展而加入新的需求,对加固方案的可扩展性和加固效率也会有更高的要求,亟需提供一种兼顾可扩展性及加固效率的系统加固方案。

  [0003]为了解决上述技术问题,本申请实施例提供了一种系统加固方法、装置、电子设备及计算机可读存储介质。

  [0004]第一方面,本申请实施例提供了一种系统加固方法,所述方法包括,

  [0006]当线程池中待执行线程队列的线程执行完成或所述线程池的线程数小于最大线程数时,根据所述加固任务在所述待执行线程队列中创建加固线]判断所述加固任务是否取消,

  [0008]若所述加固任务未取消,则通过所述加固线程获取所述加固任务的加固项,对所述加固项执行加固操作,得到加固结果。

  [0011]当所述待执行线程队列的线程执行完成或所述线程池的线程数小于最大线程数时,根据所述扫描任务在所述待执行线程队列中创建扫描线]判断所述扫描任务是否取消,

  [0013]若所述扫描任务未取消,则通过所述扫描线程判断多个系统配置项是否符合加固标准,以得到扫描结果,

  [0014]若所述扫描结果中存在不符合所述加固标准的目标系统配置项,则对所述目标系统配置项执行加固操作。

  [0016] 确定所述加固项的类别,根据所述加固项的类别确定加固模板,将所述加固项导入所述加固模板中,得到待加固数据,

  [0018] 在一实施方式中,所述通过加固接口对所述待加固数据进行加固操作,包括,

  [0019] 通过所述加固接口采用base64编码方式对所述待加固数据进行加密,得到第一base64加密数据,

  [0020] 获取所述待加固数据的第一md5值,通过RSA编码对所述第一md5值进行加密,得到第一RSA加密字符串,

  [0021] 将第一base64加密数据及第一RSA加密字符串合并,得到最终加密文件。

  [0023] 将所述最终加密文件进行拆分,分别得到第二base64加密数据及第二RSA加密字符串,

  [0024] 采用base64解码方式对所述第二base64加密数据进行解码,得到待检数据,

  [0025] 采用RSA解码方式对所述第二RSA加密字符串进行解码,得到待检字符串,

  [0026] 分别计算所述待检数据及所述待检字符串的第二md5值及第三md5值,

  [0027] 若所述第二md5值及所述第三md5值相等,则将所述待检数据和/或所述待检字符串确定为解密数据。

  [0029] 将所述加固结果及所述扫描结果存储至缓冲区,显示所述加固结果和/或所述扫描结果。

  [0033] 第二方面,本申请实施例提供了一种系统加固装置,所述装置包括,

  [0035] 创建模块,用于当线程池中待执行线程队列的线程执行完成或所述线程池的线程数小于最大线程数时,根据所述加固任务在所述待执行线程队列中创建加固线] 判断模块,用于判断所述加固任务是否取消,

  [0037] 执行模块,用于若所述加固任务未取消,则通过所述加固线程获取所述加固任务的加固项,对所述加固项执行加固操作,得到加固结果。

  [0038] 第三方面,本申请实施例提供了一种电子设备,包括存储器以及处理器,所述存储器用于存储计算机程序,所述计算机程序在所述处理器运行时执行第一方面提供的系统加固方法。

  [0039] 第四方面,本申请实施例提供了一种计算机可读存储介质,其存储有计算机程序,所述计算机程序在处理器上运行时执行第一方面提供的系统加固方法。

  [0040] 上述本申请提供的系统加固方法、装置、电子设备及计算机可读存储介质,根据加固请求生成加固任务,当线程池中待执行线程队列的线程执行完成或所述线程池的线程数小于最大线程数时,根据所述加固任务在所述待执行线程队列中创建加固线程,判断所述加固任务是否取消,若所述加固任务未取消,则通过所述加固线程获取所述加固任务的加固项,对所述加固项执行加固操作,得到加固结果。这样,基于加固请求生成加固任务,以线程池维护多个线程,当线程池中待执行线程队列的线程执行完成或所述线程池的线程数小于最大线程数时,根据所述加固任务在所述待执行线程队列中创建加固线程,若加固任务没有取消,则多线程并发进行加固操作,提高加固效率,提供高效率、可扩展、易定制并具有权威性的安全加固方案。

  [0041] 为了更清楚地说明本申请的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对本申请保护范围的限定。在各个附图中,类似的构成部分采用类似的编号。

  [0045] 下面将结合本申请实施例中附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。

  [0046] 通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。

  [0047] 在下文中,可在本申请的各种实施例中使用的术语“包括”、“具有”及其同源词仅意在表示特定特征、数字、步骤、操作、元件、组件或前述项的组合,并且不应被理解为首先排除一个或更多个其它特征、数字、步骤、操作、元件、组件或前述项的组合的存在或增加一个或更多个特征、数字、步骤、操作、元件、组件或前述项的组合的可能性。

  [0048] 此外,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。

  [0049] 除非另有限定,否则在这里使用的所有术语(包括技术术语和科学术语)具有与本申请的各种实施例所属领域普通技术人员通常理解的含义相同的含义。所述术语(诸如在一般使用的词典中限定的术语)将被解释为具有与在相关技术领域中的语境含义相同的含义并且将不被解释为具有理想化的含义或过于正式的含义,除非在本申请的各种实施例中被清楚地限定。

  [0051] 本申请实施例提供了一种系统加固方法。该方法本发明兼顾多线程的中央处理器效率与调度开销,对中央处理器的资源充分利用,同时也能防止过分调度。该系统加固方法可以应用于操作系统的安全加固。

  [0052] 参见图1,系统加固方法包括步骤S101‑S104,下面对各步骤进行说明。

  [0054] 在本实施例中,加固请求可以有用户输入,加固请求可以为对审计、配置、接入、网络四个类别的数据进行加固的请求。

  [0055] 步骤S102,当线程池中待执行线程队列的线程执行完成或所述线程池的线程数小于最大线程数时,根据所述加固任务在所述待执行线程队列中创建加固线] 在本实施例中,线程池包括多个线程,未执行线页

  并发读取待执行线程中的多个线程实现并发出来多个线,判断所述加固任务是否取消。

  [0058] 在本实施例中,由于生成加固任务后,需要等中央处理器调度资源,创建加固线程后,才能进入加固任务的处理过程,若期间用户取消了加固任务,则无需进行后续加固操作。若用于没有取消加固任务,则需要进行后续的加固操作。

  [0059] 步骤S104,若所述加固任务未取消,则通过所述加固线程获取所述加固任务的加固项,对所述加固项执行加固操作,得到加固结果。

  [0060] 在本实施例中,加固项为需要进行加固的各类数据,例如为审计、配置、接入、网络四个类别的数据。

  [0061] 在本实施例中,在线程处理数据的过程中,将记录加固结果,并将加固结果存储至缓冲区,并将加固结果提示给用户。

  [0062] 在一实施方式中,步骤S104中的所述对所述加固项执行加固操作,包括,

  [0063] 确定所述加固项的类别,根据所述加固项的类别确定加固模板,将所述加固项导入所述加固模板中,得到待加固数据,

  [0065] 在本实施例中,加固模板包括审计、配置、接入、网络四个类别的加固模板,若加固项为审计类数据,则确定为审计加固模板。若加固项为配置类数据,则确定为配置加固模板。若加固项为接入类数据,则确定为接入加固模板。若加固项为网络类数据,则确定为网络加固模板。举例来说,网络类数据为IP地址、路由信息等,接入类数据可以为各类软件接口数据、硬件接口数据等,配置类数据可以为操作系统配置数据等。审计类数据为审计服务数据、日志数据等。

  [0066] 需要说明的是,不同厂商定制的操作系统对安全性有不同的需求,因此要保证加固方案能够适应不同场景,加固接口可扩展性,将加固项模块化,并对加固需求进行分类,分别为审计、配置、接入、网络四个分类中加固项设置对应的加固模板,实现可持续扩展,使加固方案可以适用不同操作系统的需求。当需要添加新的加固项时,先判断该加固项属于哪一类加固项,再通过加固接口添加加固项到对应加固模板中,并实现对应的加固操作。

  [0067] 在一实施方式中,所述通过加固接口对所述待加固数据进行加固操作,包括,

  [0068] 通过所述加固接口采用base64编码方式对所述待加固数据进行加密,得到第一base64加密数据,

  [0069] 获取所述待加固数据的第一md5值,通过RSA编码对所述第一md5值进行加密,得到第一RSA加密字符串,

  [0070] 将第一base64加密数据及第一RSA加密字符串合并,得到最终加密文件。

  [0071] 在本实施例中,为保证加固的权威性、加固方案及加固结果不可篡改,使用base64编码方式与RSA编码方式对待加固数据进行加密。加固方案和加固结果被修改,可能会导致操作系统被恶意攻击,无法达到加固的初衷。可以采用非对称加密算法进行加密,密匙不对外提供,因此用户无法查看加固方案的内容,也无法随意修改加固方案,保证了加固方案与加固结果的安全性与可靠性。

  [0073] 将所述最终加密文件进行拆分,分别得到第二base64加密数据及第二RSA加密字

  [0074] 采用base64解码方式对所述第二base64加密数据进行解码,得到待检数据,

  [0075] 采用RSA解码方式对所述第二RSA加密字符串进行解码,得到待检字符串,

  [0076] 分别计算所述待检数据及所述待检字符串的第二md5值及第三md5值,

  [0077] 若所述第二md5值及所述第三md5值相等,则将所述待检数据和/或所述待检字符串确定为解密数据。

  [0078] 这样,通过上述解密过程,可以获取对应的解密数据,方便后续的数据处理流程。

  [0081] 当所述待执行线程队列的线程执行完成或所述线程池的线程数小于最大线程数时,根据所述扫描任务在所述待执行线程队列中创建扫描线] 判断所述扫描任务是否取消,

  [0083] 若所述扫描任务未取消,则通过所述扫描线程判断多个系统配置项是否符合加固标准,以得到扫描结果,

  [0084] 若所述扫描结果中存在不符合所述加固标准的目标系统配置项,则对所述目标系统配置项执行加固操作。

  [0085] 在本实施例中,若操作系统启动后,用户输入扫描请求,则可以根据用户输入的扫描请求生成扫描任务,由于生成扫描任务后,需要等中央处理器调度资源,创建扫描线程后,才能进入扫描任务的处理过程,若期间用户取消了扫描任务,则无需进行后续扫描操作。若用于没有取消扫描任务,则需要进行后续的扫描操作。

  [0086] 在本实施例中,系统配置项为需要进行扫描的各类系统数据,例如为审计、配置、接入、网络四个类别的数据。

  [0087] 在本实施例中,在线程处理数据的过程中,将记录扫描结果,并将扫描结果存储至缓冲区,并将扫描结果提示给用户。

  [0089] 将所述加固结果及所述扫描结果存储至缓冲区,显示所述加固结果和/或所述扫描结果。

  [0090] 这样,方便更新任务进度,便于用户了解扫描请求及加固请求的处理进度。

  [0094] 这样,在加固任务或扫描任务取消时,不执行加固线程或扫描线程,减少不必要的资源损耗,可以提高中央处理器的资源利用效率,生成所述加固任务的取消记录或扫描任务的取消记录,便于后续的更新任务进度。

  [0095] 本实施例提供的系统加固方法,根据加固请求生成加固任务,当线程池中待执行线程队列的线程执行完成或所述线程池的线程数小于最大线程数时,根据所述加固任务在所述待执行线程队列中创建加固线程,判断所述加固任务是否取消,若所述加固任务未取消,则通过所述加固线程获取所述加固任务的加固项,对所述加固项执行加固操作,得到加固结果。这样,基于加固请求生成加固任务,以线程池维护多个线页

  程队列的线程执行完成或所述线程池的线程数小于最大线程数时,根据所述加固任务在所述待执行线程队列中创建加固线程,若加固任务没有取消,则多线程并发进行加固操作,提高加固效率,提供高效率、可扩展、易定制并具有权威性的安全加固方案。

  [0100] 创建模块202,用于当线程池中待执行线程队列的线程执行完成或所述线程池的线程数小于最大线程数时,根据所述加固任务在所述待执行线程队列中创建加固线,用于判断所述加固任务是否取消,

  [0102] 执行模块204,用于若所述加固任务未取消,则通过所述加固线程获取所述加固任务的加固项,对所述加固项执行加固操作,得到加固结果。

  [0103] 在一实施方式中,生成模块201 ,还用于当接收到扫描请求,根据所述扫描请求生成扫描任务,

  [0104] 创建模块202,还用于当所述待执行线程队列的线程执行完成或所述线程池的线程数小于最大线程数时,根据所述扫描任务在所述待执行线程队列中创建扫描线,还用于判断所述扫描任务是否取消,

  [0106] 执行模块204,还用于若所述扫描任务未取消,则通过所述扫描线程判断多个系统配置项是否符合加固标准,以得到扫描结果,

  [0107] 若所述扫描结果中存在不符合所述加固标准的目标系统配置项,则对所述目标系统配置项执行加固操作。

  [0108] 在一实施方式中,执行模块204,还用于确定所述加固项的类别,根据所述加固项的类别确定加固模板,将所述加固项导入所述加固模板中,得到待加固数据,

  [01 10] 在一实施方式中,执行模块204,还用于通过所述加固接口采用base64编码方式对所述待加固数据进行加密,得到第一base64加密数据,

  [01 1 1] 获取所述待加固数据的第一md5值,通过RSA编码对所述第一md5值进行加密,得到第一RSA加密字符串,

  [01 12] 将第一base64加密数据及第一RSA加密字符串合并,得到最终加密文件。

  [01 14] 解码模块,用于将所述最终加密文件进行拆分,分别得到第二base64加密数据及第二RSA加密字符串,

  [01 15] 采用base64解码方式对所述第二base64加密数据进行解码,得到待检数据,

  [01 16] 采用RSA解码方式对所述第二RSA加密字符串进行解码,得到待检字符串,

  [01 17] 分别计算所述待检数据及所述待检字符串的第二md5值及第三md5值,

  [01 18] 若所述第二md5值及所述第三md5值相等,则将所述待检数据和/或所述待检字符串确定为解密数据。

  [0120] 存储模块,用于将所述加固结果及所述扫描结果存储至缓冲区,显示所述加固结

  [0121] 在一实施方式中,生成模块201 ,还用于若所述加固任务取消,则生成所述加固任务的取消记录,

  [0123] 本实施例提供的系统加固装置200可以实现实施例1所提供的系统加固方法,为避免重复,在此不再赘述。

  [0124] 本实施例提供的系统加固装置,根据加固请求生成加固任务,当线程池中待执行线程队列的线程执行完成或所述线程池的线程数小于最大线程数时,根据所述加固任务在所述待执行线程队列中创建加固线程,判断所述加固任务是否取消,若所述加固任务未取消,则通过所述加固线程获取所述加固任务的加固项,对所述加固项执行加固操作,得到加固结果。这样,基于加固请求生成加固任务,以线程池维护多个线程,当线程池中待执行线程队列的线程执行完成或所述线程池的线程数小于最大线程数时,根据所述加固任务在所述待执行线程队列中创建加固线程,若加固任务没有取消,则多线程并发进行加固操作,提高加固效率,提供高效率、可扩展、易定制并具有权威性的安全加固方案。