一种电力监控系统业务本质保护方法、装置及系统与流程

文档序号:19495614发布日期:2019-12-24 14:54阅读:212来源:国知局
一种电力监控系统业务本质保护方法、装置及系统与流程

本发明属于电力系统自动化网络安全技术领域,具体涉及一种电力监控系统业务本质保护方法、装置及系统。



背景技术:

新一代电力监控系统采用“云大物移智”先进技术,构建数据管理、通信管理和分布式计算、大数据挖掘分析、人工智能引擎等公共组件,为监控系统、模型数据中心和分析决策中心等应用提供统一规范的基础服务、数据服务和人机交互服务,打造可靠安全高效的系统运行环境,以及标准开放的多业务、多场景开发生态。

在新一代电力监控系统里面采用了大量新技术,新技术、新业务引入的安全风险,具有难以预测、难以防范、隐蔽性强等特点。当前,以“大云物移智”为代表的新一轮信息科技革命加速推动社会和产业变革,电力信息系统网络结构复杂化、边界模糊化、数据集中化,网络安全风险趋向多样化,电力行业网络安全面临新挑战。我们以往经过十多年努力构建的基础安全、结构安全、本体安全,甚至安全免疫,都属于业务执行环境的安全问题,而在电力监控系统里面,业务本身才是最核心的资产。综上所述,人们研究这个课题,是在探索解决业务本质安全问题的道路。

由于目前的调控系统大量引入了新技术,网络结构发生了一定变化,软件基本颗粒层面面临的安全风险和威胁可能被进一步放大,具体体现在如下几个方面:

进程安全方面:软件编码调用不安全函数;进程空间隔离性不强,被注入恶意代码;软件漏洞导致的软件行为偏离设计与实现,如缓冲区溢出攻击;软件设计实现的疏漏,导致软件的行为即使在符合执行分支和序列,仍然存在违规访问。

存储安全方面:业务软件在文件系统中存储的重要文件机密性和完整性可能被破坏,数据存储的访问接口面临新的风险,需进行标准化的安全防护,实现数据脱离本机后不可解密。

通信安全:业务通信缺乏认证和安全机制,通信的机密性和完整性可能受到破坏;传输可能带入病毒木马,可能对电力监控系统产生较大破坏,但业务层面尚无有效技术手段。

服务安全:注册时缺少合法性检查;服务组件启动时缺少可信验证;服务权限控制不完善,可能导致敏感信息泄露;服务行为审计部完善,事后难以追溯;

人机交互安全:本地身份认证未能与业务高度融合,口令复杂难记,同时滋生弱口令土壤。

目前的电力监控系统按照“安全分区、网络专用、横向隔离、纵向认证”的安全防护总体策略全面建立了电力监控安全防护体系,覆盖了五级电网调度机构、各类变电站和发电厂,在安全管理、防护技术、应急备用的角度形成了多维栅格状动态安全防护体系,取得了良好的防护效果。然而构建的基础安全、结构安全、本体安全,甚至安全免疫,都属于业务执行环境的安全问题,而在电力监控系统里面,业务本身才是最为核心的资产。在业务本身的安全防护方面,尚未有相关的技术方法。因此,亟需提供一种能够全方位保护业务系统的方法以满足电力监控系统的安全需求。



技术实现要素:

本发明的目的在于克服现有技术中的不足,提供一种电力监控系统业务本质保护方法、装置及系统,能够从多个方面保障业务系统的运行安全。

为解决现有技术问题,本发明公开了一种电力监控系统业务本质保护方法,包括如下内容:

通过编译阶段的安全检查确保代码安全、进程无病毒感染、进程空间强隔离和程序执行流符合预定轨迹保护业务软件进程安全;

通过设备指纹生成密钥的数据加密接口,确保存在本机的敏感数据的存储安全,

通过双向认证,以及通信处理函数不可落地执行代码的方式保证通信安全;

通过可信授权验证的方式保证服务安全;

通过融合操作系统与业务应用用户的统一身份认证和授权管理保护业务软件人机交互安全。

进一步地,

所述通过编译阶段的安全检查确保代码安全的方法为:利用linux系统的环境变量ld_preload将业务系统调用的不安全函数b的入口地址动态修改为c,然后在对c进行入参安全检查后完成不安全函数b的调用。

进一步地,

所述确保进程无病毒感染的方法为:

业务系统客户端加载sdk组件到内存空间,利用国密算法对本地程序执行自我度量;

业务系统客户端将度量值发送到业务系统服务端进行校验;

业务系统服务端返回度量结果;

业务系统客户端的sdk组件根据返回结果决定是否让本地程序终止或继续执行。

进一步地,

所述确保进程空间强隔离的方法为:主动调用ptrace命令对当前进程进行调试。。

进一步地,

所述确保程序执行流符合预定轨迹的方法为:

在程序启动阶段利用checksec工具对elf可执行文件进行控制流编译选项的检查,分别执行checksec-aslr、checksec-relro、checksec-fority、checksec–canary和checksec-nx。

进一步地,

所述通过双向认证,以及通信处理函数不可落地执行代码的方式保证通信安全的方法为:

利用国密vpn对远程代理双方通信进行双向认证,

在通信处理函数中,对于需要落地的文件,先转换成e文件格式存储,然后通过chmod644file的方式保证落地文件无执行权限。

进一步地,

所述通过可信授权验证的方式保证服务安全的方法为:

在服务注册时,采用数字证书技术对其进行合法性验证,防止非法服务注册;

在服务启动时,采用可信技术对服务进行可信验证,确保服务真实可信;

使用安全标签限制业务可以调用的服务范围,并限制业务在同一时间段内对服务的调用数量;

业务系统对服务的接入请求和接入后的操作轨迹进行记录。

进一步地,

所述通过融合操作系统与业务应用用户的统一身份认证和授权管理的方法为:

步骤1、根据用户输入的指纹触发操作系统pam模块,将随机数提交给身份识别服务进程;

步骤2、身份识别服务进程利用指纹ukey对随机数进行签名,并返回用户名和签名值给操作系统pam模块,操作系统pam模块验签通过后实现操作系统的登陆;

步骤3、当操作系统登陆成功后,业务应用启动并将随机数提交给身份识别服务进程;

步骤4、身份识别服务进程利用指纹ukey对随机数进行签名,并返回用户名和签名值给业务应用程序,业务应用程序验签通过后实现了业务应用程序的登陆。

本发明还提供了一种电力监控系统业务本质保护系统,包括:

保护业务软件进程安全模块,用于通过编译阶段的安全检查确保代码安全、进程无病毒感染、进程空间强隔离和程序执行流符合预定轨迹;

保护业务软件敏感数据存储安全模块,用于通过基于设备指纹为生成密钥的数据加密接口,确保存在本机的敏感数据的存储安全;

保护业务软件通信安全模块,用于通过双向认证,以及通信处理函数不可落地执行代码的方式保证通信安全;

保护业务软件服务安全模块,用于通过可信授权验证的方式保证服务安全;及

保护业务软件人机交互安全模块,用于通过融合操作系统与业务应用用户的统一身份认证和授权管理。

本发明还公开了一种电力监控系统业务本质保护装置,包括:

存储器:用于存储指令;

处理器:用于根据所述指令进行操作以执行上述方法的步骤。

本发明具有的有益效果:通过对进程、存储、通信、服务和人机交互这五个本质方面共同提供安全保护,实现电力监控系统业务本质的安全保护。

附图说明

图1为本发明业务本质安全的结构图;

图2为本发明中软件自我度量示意图;

图3为本发明中软件服务安全示意图;

图4为本发明中软件人机交互安全示意图;

图5为本发明中融合操作系统与业务应用用户的统一身份认证和授权管理的示意图。

具体实施方式

下面结合附图对本发明作进一步描述。以下实施例仅用于更加清楚地说明本发明的技术方案,而不能以此来限制本发明的保护范围。

如图1所示,本发明提供了一种电力监控系统业务本质保护方法,从业务本质的五个方面进行安全保护,从而实现电力监控系统业务本质的安全保护,其具体包括如下内容:

一、保护业务软件进程安全

通过编译阶段的安全检查确保代码安全、进程无病毒感染、进程空间强隔离和程序执行流符合预定轨迹。

1、为了确保编码阶段不引入不安全函数,本方法利用linux系统的环境变量ld_preload将业务系统调用的不安全函数b的入口地址动态修改为c,然后在对c进行入参安全检查后完成不安全函数b的调用,从而实现对不安全函数的安全检查。作为一个典型的实施例,在c开发过程中,使用strncpy替换strcpy,web开发中使用过滤器函数替换存在sql注入风险的函数。

2、如图2所示,为了确保进程无病毒感染,本方法包括如下步骤:

s21、业务系统客户端加载sdk组件到内存空间,利用国密算法对本地程序执行自我度量。

s22、业务系统客户端将度量值发送到业务系统服务端进行校验。

s23、业务系统服务端返回度量结果。

s24、业务系统客户端的sdk组件根据返回结果决定是否让本地程序终止或继续执行。

步骤s21中,度量公式为:vaule=sm2签名(md5(可执行文件内容),sm2私钥)。步骤s22中,验签公式为:sm2验签(vaule,sm2公钥)==md5值?yes:no。其中,sm2表示国密非对称加密算法,sm2的私钥由c业务系统客户端基于现有的openssl命令随机生成,并将对应的sm2公钥共享给s业务系统服务端。sm2私钥为:openssl-informpem-insm2_private_key.pem-outformpem–nocrypt。sm2公钥为:opensslsm2-insm2_private_key.pem-pubout-outsm2_public_key.pem。通过上述步骤实现进程的自我免疫保证进程启动无病毒感染。

3、由于内存空间注入是主要的恶意代码风险,操作系统为避免进程a将数据写入进程b的情况发生,使用了虚拟地址空间技术,进程a的虚拟地址和进程b的虚拟地址不同,已经实现进程间的基本隔离,但调试模式是一个进程进入另一个进程空间的主要手段,即进程a运行后,进程b可以通过ptrace(a)(ptrace为linux系统中的调试系统调用)实现注入恶意代码到b的目的。因此,进程自身应该具备反调试的手段,防止内存空间被注入恶意代码。为了确保进程空间强隔离,本方法在当前进程运行后,主动调用ptrace命令对当前进程进行调试,保证当前进程内存空间不会被恶意代码注入。在linux系统中,一个进程只能被一个进程ptrace调试,这样其它进程就无法再调用ptrace对当前进程进行调试,防止被其它进程调试的可能。

4、控制流劫持是一种危害性极大的攻击方式,攻击者能够通过它来获取目标机器的控制权,甚至进行提权操作,对目标机器进行全面控制。为了确保程序执行流符合预定轨迹的方法为:

在程序启动阶段利用checksec工具对elf可执行文件进行控制流编译选项的检查,确保程序按照预定轨迹执行。分别执行checksec-aslr、checksec-relro、checksec-fority、checksec–canary和checksec–nx。checksec–aslr检查的作用是启动地址随机化,增加攻击的难度;checksec–relro检查的作用是保护跳转表不被篡改;checksec–fority检查的作用是阻断格式化字符串;checksec–canary检查的作用是阻止缓冲区溢出;checksec–nx检查的作用是防止数据被当作代码执行确保程序按照预定轨迹执行。

二、保护业务软件敏感数据存储安全

为了确保业务软件敏感数据存储安全,本方法通过提供数据加密接口,确保存在于本机的敏感数据的存储安全。无论是对称加密还是非对称加密算法,密钥管理都是比较大的挑战,很容易造成密钥的泄露。区别于其他数据加密接口方法,本方法以设备指纹的方式作为加密密钥,确保了敏感数据只有在本机(即业务系统客户端设备)可以解密,保障了数据机密性。本方法的加密密钥(即设备指纹)生成算法如下:

key=md5(cpuid⊕mac地址⊕disk-id),⊕表示异或运算。

三、保护业务软件通信安全

本方法通过双向认证,以及通信处理函数不可落地执行代码的方式保证通信安全;具体包括如下内容:

1、数据连接方面:利用国密vpn对远程代理双方(即客户端和服务端)通信进行双向认证。

2、传输内容方面:在通信处理函数中,对于需要落地的文件,先转换成e文件格式存储,然后通过chmod644file的方式保证落地文件无执行权限。即使传输函数传入了恶意代码,依然没有机会执行,其中644表示文件属主有读写权限,而其他用户只有读权限,杜绝了任何的执行权限。

四、保护业务软件服务安全

在电力监控系统中,系统本身通常由一个个的服务模块组成,如图3所示,通过可信授权验证的方式保证服务安全,其包括如下几个方面;

1、在服务注册时,采用数字证书技术对其进行合法性验证,防止非法服务注册;

2、在服务启动时,采用可信技术对服务进行可信验证,确保服务真实可信;

3、使用安全标签限制业务可以调用的服务范围,并限制业务在同一时间段内对服务的调用数量;

4、业务系统对服务的接入请求和接入后的操作轨迹进行记录。

五、保护业务软件人机交互安全

如图4和5所示,通过融合操作系统与业务应用用户的统一身份认证和授权管理,其包括如下过程:

步骤1、用户输入指纹,触发操作系统(即客户端业务系统)pam模块(pluggableauthenticationmoduleforlinux可插入式授权管理模块),将随机数提交给身份识别服务进程;

步骤2、身份识别服务进程利用指纹ukey对随机数进行签名,并返回用户名和签名值给操作系统pam模块,操作系统pam模块验签通过后实现操作系统的登陆;

步骤3、当操作系统登陆成功后,业务应用启动并将随机数提交给身份识别服务进程;

步骤4、身份识别服务进程利用指纹ukey对随机数进行签名,并返回用户名和签名值给业务应用程序,业务应用程序验签通过后实现了业务应用程序的登陆。

在这个过程中,本方法的核心是由身份识别服务进程统一维护指纹ukey的打开状态,从而实现了一键登陆操作系统及业务系统的功能,否则重新签名时硬件上需要重新刷入指纹。

本发明还提供了一种电力监控系统业务本质保护系统,包括:

保护业务软件进程安全模块,用于通过编译阶段的安全检查确保代码安全、进程无病毒感染、进程空间强隔离和程序执行流符合预定轨迹;

保护业务软件敏感数据存储安全模块,用于通过基于设备指纹为生成密钥的数据加密接口,确保存在本机的敏感数据的存储安全;

保护业务软件通信安全模块,用于通过双向认证,以及通信处理函数不可落地执行代码的方式保证通信安全;

保护业务软件服务安全模块,用于通过可信授权验证的方式保证服务安全;及

保护业务软件人机交互安全模块,用于通过融合操作系统与业务应用用户的统一身份认证和授权管理。

本发明还公开了一种电力监控系统业务本质保护装置,包括:

存储器:用于存储指令;

处理器:用于根据所述指令进行操作以执行上述方法的步骤。

本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

最后应当说明的是:以上实施例仅用以说明本发明的技术方案而非对其限制,尽管参照上述实施例对本发明进行了详细的说明,所属领域的普通技术人员应当理解:依然可以对本发明的具体实施方式进行修改或者等同替换,而未脱离本发明精神和范围的任何修改或者等同替换,其均应涵盖在本发明的权利要求保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1