- 1、本文档共11页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
百川东到海,何时复西归?少壮不努力,老大徒伤悲。——汉乐府
工业病毒的超级进化(一)——PLC-Blaster,
一种能够在PLC独立存活的蠕虫病毒
摘要:工业生产过程由可编程逻辑控制器(PLC)控制。目前销售的许多PLC
都配有以太网端口,其可以通过IP进行通信。我们将基于西门子SIMATIC
S7-1200演示一个蠕虫病毒。该蠕虫不需要通过任何额外的PC来进行扩散,其
只在PLC上运行和存活。该蠕虫会扫描网络中的新攻击目标(PLCs),然后攻击
这些目标并自我复制到这些目标上。在目标PLC上运行的原始主程序并不会被修
改。一旦目标被后蠕虫感染后会再次开始扫描。我们将分析蠕虫对目标的影响以
及可能的防护技术。
★
0x01前言
IT系统是现代工业生产过程中的关键组件。没有现代通信网络,这些过程
将是不可能实现的。不幸的是,在工业系统采用现代IT系统和通信网络会使用
户暴露在久负盛名的IT攻击世界中。IT黑客攻击可能以几种方式破坏工业系
统。它们可引起系统故障和高额的经济损失,同时还可能对工人的身心健康造成
负面影响。这些攻击的效果已被震网(Stuxnet)蠕虫证明[1]。西门子可编程逻
辑控制器被修改后破坏了伊朗浓缩裂变材料过程。蠕虫病毒利用微软Windows
操作系统的漏洞在铀浓缩电脑上进行传播。PLC的软件以这样的方式被修改最终
破坏了浓缩过程离心机。该蠕虫需要一台PC传播并通过PC攻击PLC。本文将展
示仅通过PLC本身来传播的蠕虫,不需要任何PC。蠕虫可能通过被控制的PLC
植入工厂,然后,该蠕虫通过复制自身感染其他PLC并执行。本文是基于西门子
公司的SIMATICS7-1200v3,蠕虫病毒采用结构化文本(ST)编写,ST是用于开
发PLC软件的一种语言。
0x02相关研究
2015年在美国的BlackHat2015KLICK等人曾展示过运行在PLC的恶意软件
[2],他们使用PLC的通信特性执行了一个代理。我们采用与其相同的通信协议
北京威努特技术有限公司
百川东到海,何时复西归?少壮不努力,老大徒伤悲。——汉乐府
来传播蠕虫程序,使用此协议蠕虫病毒能够从某个PLC直接传播到另一个PLC,
此蠕虫程序不需要其他系统来支撑,我们基于SIMATICS7-1200协议来开展我们
的工作,而前者采用SIMATICS7-300来实现。此新的协议与前者并不相同,本
文会描述此新的协议。
0x03PLC架构
PLC采用一个简单的架构,它们基于一个CPU和用于支持数字输入输出的模块。
CPU用于执行操作系统和用户程序,此外CPU用于负责与附属外部设备的通讯以
及管理进程映像。
进程映像存储输入和输出设备的状态,用户程序在进程映像上执行,而不是通过
物理的输入输出设备,用户程序按周期执行。CPU会在周期开始及结束时刷新进
程映像,周期的最大限制是周期时间,周期时间违规后PLC将停止用户程序并抛
出异常。
用户程序通过程序组织单元(POU)结构化,这些单元包含指令来控制PLC以及
工业过程。SIMATICS7-1200包含以下POU:
➤组织块(OB):进入用户程序的主入口
➤数据块(DB):全局内存
➤功能(FC):功能
➤功能块(FB):用于持久化本地内存的功能
文档评论(0)