一种通过PLC获取上位机权限的方法和装置与流程

文档序号:30794364发布日期:2022-07-16 11:56阅读:442来源:国知局
一种通过PLC获取上位机权限的方法和装置与流程
一种通过plc获取上位机权限的方法和装置
技术领域
1.本发明属于工业控制技术领域,特别涉及一种通过plc获取上位机权限的方法和装置。


背景技术:

2.随着网络与信息技术的发展,工业生产对ics(工业控制系统,industrial control system)的要求也在不断提高,使得传统的ics已经不能够满足工业生产的要求。ics开始使用tcp/ip技术、开放的工业通讯协议、通用的操作系统等,并通过各种方式与互联网络连接,使其原有的封闭环境逐渐被打破,从封闭系统逐渐变为开放系统,这就使得工业过程和信息系统的连接更加紧密,进而造成原本物理隔离的ics会随时遭到来自互联网络的病毒攻击,对工业设备、生产活动以及人员健康造成破坏。因此, ics信息安全防护工作十分重要。
3.目前主要是由网络安全管理员对ics进行信息安全防护,例如有的通过在防火墙上设置策略或规则,来防止入侵者的攻击;有的会定期更新上位机的补丁。然而,这些操作都由网络安全管理员一方执行,在实际应用中,存在无监督,使得信息安全防护不及时、有效性差。


技术实现要素:

4.为了至少解决现有技术中存在的问题,本发明一方面提供了一种通过plc获取上位机权限的方法,所述plc和所述上位机属于工业控制系统,所述方法包括:使所述plc在所述工业控制系统的内网中对目标进行自动扫描识别;若识别出目标为所述工业控制系统中的上位机,则使所述plc根据预先植入所述plc中的漏洞攻击指令对所述上位机进行漏洞攻击;若所述上位机响应所述攻击,使所述上位机向第三方发送远程控制请求和报警信息,若所述上位机未响应所述攻击,不使所述上位机向第三方发送远程控制请求和报警信息;其中,所述远程控制请求用于表征所述第三方获取到所述上位机的权限。在如上所述的方法中,可选地,所述使所述plc在所述工业控制系统的内网中对目标进行自动扫描识别,具体包括:在plc中预先植入扫描探测指令;所述扫描探测指令使所述plc通过利用所述plc中的tcon功能块以及tdiscon功能块在所述工业控制系统的内网中对目标进行自动扫描识别。
5.在如上所述的方法中,可选地,所述远程控制请求为用户使用界面。
6.在如上所述的方法中,可选地,所述方法还包括:统计所述报警信息的数量,每个所述报警信息对应一个所述上位机;根据所述报警信息的数量以及所述工业控制系统中所有上位机的数量,生成安全
防护报告,所述安全防护报告用于使对与所述报警信息对应的上位机进行安全防护。
7.另一方面,提供了一种通过plc获取上位机权限的装置,所述plc和所述上位机属于工业控制系统,所述装置包括:扫描识别模块,用于使所述plc在所述工业控制系统的内网中对目标进行自动扫描识别;攻击模块,用于若识别出目标为所述工业控制系统中的上位机,则使所述plc根据预先植入所述plc中的漏洞攻击指令对所述上位机进行漏洞攻击;远程控制模块,用于若所述上位机响应所述攻击,使所述上位机向第三方发送远程控制请求和报警信息,若所述上位机未响应所述攻击,不使所述上位机向第三方发送远程控制请求和报警信息,其中,所述远程控制请求用于表征所述第三方获取到所述上位机的权限。
8.在如上所述的装置中,可选地,所述扫描识别模块,具体用于:在plc中预先植入扫描探测指令;所述扫描探测指令使所述plc通过利用所述plc中的tcon功能块以及tdiscon功能块在所述工业控制系统的内网中对目标进行自动扫描识别。
9.在如上所述的装置中,可选地,所述远程控制请求为用户使用界面。
10.在如上所述的装置中,可选地,所述装置还包括:统计模块,用于统计所述报警信息的数量,每个所述报警信息对应一个所述上位机;生成模块,用于根据所述报警信息的数量以及所述工业控制系统中所有上位机的数量,生成安全防护报告,所述安全防护报告用于使对与所述报警信息对应的上位机进行安全防护。
11.本发明实施例提供的技术方案带来的有益效果是:通过使plc在工业控制系统的内网中对目标进行自动扫描识别;若识别出目标为工业控制系统中的上位机,则使plc根据预先植入plc中的漏洞攻击指令对上位机进行漏洞攻击;若上位机响应攻击,使上位机向第三方发送远程控制请求和报警信息,若上位机未响应攻击,不使上位机向第三方发送远程控制请求和报警信息,从而能够在plc侧检测针对上位机权限的安全防护策略,且检测具有及时性,验证了信息安全防护策略是否有效,使得信息安全防护检测工作更加有效,同时对网络安全管理员的工作进行了监督和验证。
附图说明
12.图1为本发明一实施例提供的一种通过plc获取上位机权限的方法的流程示意图。
13.图2为本发明另一实施例提供的一种通过plc获取上位机权限的方法的流程示意图。
14.图3为本发明另一实施例中提供的一种建立及断开tcp连接的功能块的结构示意图。
15.图4为本发明另一实施例中提供的一种使用tcon功能块尝试建立连接的代码示意图。
16.图5为本发明另一实施例中提供的一种使用tdiscon功能块进行连接的断开并更
改ip的代码示意图。
17.图6为本发明另一实施例中提供的一种发送及接收数据功能块的结构示意图。
18.图7为本发明一实施例提供的一种通过plc获取上位机权限的装置的结构示意图。
具体实施方式
19.下面将参考附图并结合实施例来详细说明本发明。
20.通常工业控制系统具有上位机和plc(可编程逻辑控制器,programmable logic controller)。plc用于控制设备,该设备位于作业现场或生产现场,一般会部署多个。plc在运行过程中,会与其他plc以及上位机通过工业控制系统的内网(局域网)进行交互。上位机可以通过工业控制系统的外网(互联网)与其他管理设备或系统交互,其数量也可以为多个。随着制造业与互联网的融合发展,对工业控制系统的安全提出了更高的要求,为了满足安全性能,通常会对上位机的访问权限进行安全配置。然而由于计算机技术的迅猛发展以及信息化与工业化的深度融合,安全配置策略通常只能在某一时期使得上位机满足安全防护要求,且其通常由网络安全管理员单方负责,为了更好地提高工业控制系统的安全性能,本发明一实施例提供了一种通过plc获取上位机权限的方法,参见图1,本实施例提供的方法流程具体如下:步骤101,使plc在工业控制系统的内网中对目标进行自动扫描识别。
21.执行该步骤的目的是使plc自动扫描识别工业控制系统内网中的目标,从而发现上位机,其中,该目标与内网连接。上位机可以为工程师站、操作员站等。
22.步骤102,若识别出目标为工业控制系统中的上位机,则使plc根据预先植入plc中的漏洞攻击指令对上位机进行漏洞攻击。
23.漏洞攻击指令用于使plc对识别结果为上位机的目标进行漏洞攻击,即针对目前已知的多个计算机操作系统(例如windows)漏洞,分别设置攻击程序,从而形成漏洞攻击指令。当识别出某目标是上位机后,则调用漏洞攻击指令对该上位机进行漏洞攻击。由于计算机操作系统一般是存在漏洞的,随着时间的推移,会发现之前没发现的漏洞,因此使得本方法的安全防护具有实时性。
24.步骤103,若上位机响应攻击,使上位机向第三方发送远程控制请求和报警信息,则第三方获取到上位机的权限和收到报警信息,否则,不使上位机向第三方发送远程控制请求和报警信息。
25.若漏洞利用成功,则上位机响应攻击,向第三方发送远程控制请求和报警信息,此时第三方获取到上位机的权限和接收到报警信息。若漏洞未利用成功,则上位机对攻击不进行响应,不向第三方发送远程控制请求和报警信息,此时,第三方未获取到上位机的权限和未接收到报警信息。远程控制请求用于表征第三方获取到上位机的权限。报警信息用于表征上位机的计算机系统有漏洞,从而使第三方向网络安全管理员发出警示信息。
26.本发明实施例通过使plc在工业控制系统的内网中对目标进行自动扫描识别;若识别出目标为工业控制系统中的上位机,则使plc根据预先植入plc中的漏洞攻击指令对上位机进行漏洞攻击;若上位机响应攻击,使上位机向第三方发送远程控制请求和报警信息,若上位机未响应攻击,不使上位机向第三方发送远程控制请求和报警信息;其中,远程控制请求用于表征第三方获取到上位机的权限,从而实现了在plc侧检测针对上位机权限的安
全防护策略,且检测具有及时性,验证了信息安全防护策略是否有效,使得信息安全防护检测工作更加有效,同时对网络安全管理员的工作进行了监督和验证。
27.本发明另一实施例提供了一种通过plc获取上位机权限的方法,结合上述该一实施例的内容,参见图2,本实施例提供的方法流程具体如下:步骤201,将扫描探测指令和漏洞攻击指令植入工业控制系统的某个plc中。
28.预先设置扫描探测指令和漏洞攻击指令,例如根据目前已知的允许远程控制的计算机漏洞,编写python脚本,利用plc通信协议,将包含与扫描探测指令对应的扫描探测模块和与漏洞攻击指令对应的漏洞攻击模块的代码,植入到工业控制系统的某个plc,并启动该plc,将plc接入内网。
29.本实施例以西门子plc为例进行说明,西门子plc利用tcon功能块以及tdiscon功能块扫描内网中的目标,并发现内网中存在的为上位机的目标。具体地,西门子组态软件step7中提供了两个fb块、tcon功能块以及tdiscon功能块,如图3所示。tcon功能块用来建立tcp连接,其中,req输入管脚通过上升沿信号触发,connect输入管脚配置tcon功能块建立连接的相关参数,例如对端ip、对端端口号、本机端口号、通信方式。tdiscon功能块用来断掉tcp连接,其中,req输入管脚通过上升沿信号触发。
30.参见图4,使用tcon功能块尝试建立连接的过程如下:首先使用tcon功能块建立连接,如果建立成功,即输出管脚done为true时,则置状态字con_state为20,然后继续下一步的漏洞攻击操作。如连续预设次数阈值,例如200次,建立连接不成功,则置状态字con_state为0。
31.参见图5,使用tdiscon功能块进行连接的断开的过程如下:如果连接未成功建立或漏洞攻击完成,即状态字con_state为0时,则使用tdiscon功能块做断开连接操作。
32.如果输出管脚error或输出管脚done为true时,将tcon功能块输入管脚connect中的对端ip末位加一,并使用该新ip再次尝试建立连接,此时是使用tdiscon功能块更改ip的过程。通过ip更改过程可以对其他上位机进行检测。
33.漏洞攻击模块主要包括三部分,攻击程序代码块、协议包数据块以及参数数据块。
34.其中,攻击程序代码块是在plc中利用目前已知的允许远程控制的计算机漏洞的攻击原理,编写发送相应攻击包数据的代码。step7组态软件中使用tsend功能块进行数据的发送,使用trcv功能块进行数据的接收,如图6所示。在tsend功能块中,req输入管脚上升沿触发,data为需要发送的数据区。在trcv功能块中,en_r上升沿触发,data为接收数据的存储区,rcvd_len为实际接收到数据的长度。
35.协议包数据块用来存放漏洞攻击过程中所需要的全部包数据。step7通过db块来存储数据,通过建立数据块来存放漏洞攻击过程中所需要的全部包数据。
36.参数数据块是通过建立db块来存放漏洞攻击过程中所需要的全部参数变量。
37.步骤202,plc根据扫描探测指令在工业控制系统的内网中对目标进行自动扫描识别。
38.plc通过利用plc中的tcon功能块以及tdiscon功能块,自动扫描内网中的工程师站、操作员站等上位机,并且尝试与上位机的445端口建立连接,如果建立连接成功,则说明目标是工程师站或操作员站。
39.步骤203,若识别出目标为工业控制系统中的上位机,则plc根据漏洞攻击指令对上位机进行漏洞攻击。
40.当发现并确认目标是上位机后,plc执行漏洞攻击指令,对该上位机发起攻击。
41.步骤204,若上位机响应攻击,使上位机向第三方发送远程控制请求和报警信息,若上位机未响应攻击,不使上位机向第三方发送远程控制请求和报警信息。
42.若上位机存在漏洞,则上位机会响应攻击,然后向预设的第三方发送远程控制请求和报警信息,即上位机的漏洞被plc利用成功,其可以用于表征网络安全管理员关于上位机权限的安全防护策略并没有对该漏洞生效,从而使得第三方能获取到上位机的权限和接收到报警信息。发送时,由于上位机从内网主动向第三方发起连接,从而可以绕过网闸、防火墙等防护设备,从而达到验证已设置的安全防护效果。在应用中,可以是向第三方反弹用户使用界面,该界面可以用于操作控制上位机,进而可以对与上位机通过内网连接的plc进行操作,例如修改组态文件,启停plc、控制现场设备等。
43.若上位机不存在漏洞,则上位机不会对该攻击进行响应,即并不会向预设的第三方发送远程控制请求和报警信息,也就是说,与漏洞攻击指令对应的漏洞已被网络安全管理员有针对性的预防,从而使得第三方不能获取到该上位机的权限和不能接收到报警信息。
44.第三方为向plc中植入扫描探测指令和漏洞攻击指令的用户,该用户与网络安全管理员同为对工业控制系统中上位机权限进行安全防护的人员,不同之处是,该用户从plc侧验证上位机权限是否进行了安全防护,网络安全管理员日常管理的主要人员,其从上位机侧对上位机权限的安全防护进行保障,通过两者的相互验证,提高对上位机权限安全防护的有效性,从而提高工业控制系统的安全性。
45.为了提高安全维护效率,本方法还包括:统计报警信息的数量,每个报警信息对应一个上位机;根据报警信息、报警信息的数量以及工业控制系统中所有上位机的数量,生成安全防护报告,报警信息包含计算机系统漏洞标识和上位机标识。
46.将生成的安全防护报告发送给网络安全管理员,网络安全管理员可以据此对相应的上位机进行安装漏洞补丁,打开防火墙,添加入站规则。
47.通过使plc在工业控制系统的内网中对目标进行自动扫描识别;若识别出目标为工业控制系统中的上位机,则使plc根据预先植入plc中的漏洞攻击指令对上位机进行漏洞攻击;若上位机响应攻击,使上位机向第三方发送远程控制请求和报警信息,若上位机未响应攻击,不使上位机向第三方发送远程控制请求和报警信息,从而实现了在plc侧检测针对上位机权限的安全防护策略,且检测具有及时性,验证了信息安全防护策略是否有效,使得信息安全防护检测工作更加有效,同时对网络安全管理员的工作进行了监督和验证。
48.参见图7,本发明一实施例提供了一种通过plc获取上位机权限的装置,该装置用于执行上述一实施例和另一实施例所提供的通过plc获取上位机权限的方法,该装置包括:扫描识别模块301、攻击模块302和远程控制模块303。
49.其中,扫描识别模块301用于使plc在工业控制系统的内网中对目标进行自动扫描识别。攻击模块302用于若识别出目标为工业控制系统中的上位机,则使plc根据预先植入plc中的漏洞攻击指令对上位机进行漏洞攻击。远程控制模块303用于若上位机响应攻击,使上位机向第三方发送远程控制请求和报警信息,若上位机未响应攻击,不使上位机向第
三方发送远程控制请求和报警信息,其中,远程控制请求用于表征第三方获取到上位机的权限。
50.可选地,扫描识别模块301具体用于:在plc中预先植入扫描探测指令;所述扫描探测指令使所述plc通过利用所述plc中的tcon功能块以及tdiscon功能块在所述工业控制系统的内网中对目标进行自动扫描识别。
51.可选地,所述远程控制请求为用户使用界面。
52.可选地,所述装置还包括:统计模块和生成模块。统计模块用于统计所述报警信息的数量,每个所述报警信息对应一个所述上位机。生成模块用于根据所述报警信息的数量以及所述工业控制系统中所有上位机的数量,生成安全防护报告,所述安全防护报告用于使对与所述报警信息对应的上位机进行安全防护。
53.需要说明的是:上述实施例提供的通过plc获取上位机权限的装置在通过plc获取上位机权限时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的通过plc获取上位机权限的装置与通过plc获取上位机权限的方法实施例属于同一构思,其具体实现过程详见方法实施例,此处不再一一赘述。
54.本发明一实施例提供了一种电子设备,其包括:存储器和处理器。处理器与存储器连接,被配置为基于存储在存储器中的指令,执行上述通过plc获取上位机权限的方法。处理器的数量可以为一个或多个,处理器可以是单核或多核。存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flash ram),存储器包括至少一个存储芯片。存储器可以是下述的计算机可读介质的示例。
55.本发明一实施例提供了一种计算机可读存储介质,其上存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、至少一段程序、代码集或指令集由处理器加载并执行以实现上述通过plc获取上位机权限的方法。计算机可读存储介质包括:永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括但不限于:相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘-只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带、磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。
56.由技术常识可知,本发明可以通过其它的不脱离其精神实质或必要特征的实施方案来实现。因此,上述公开的实施方案,就各方面而言,都只是举例说明,并不是仅有的。所有在本发明范围内或在等同于本发明的范围内的改变均被本发明包含。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1