威努特---工业病毒的超级进化—PLC-Blaster,一种能够在PLC独立存活的蠕虫病毒.pdfVIP

威努特---工业病毒的超级进化—PLC-Blaster,一种能够在PLC独立存活的蠕虫病毒.pdf

  1. 1、本文档共11页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 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):用于持久化本地内存的功能

北京威努特技术有限公司

除了用户自定义的POU,西门子提供的一些功能也可用。本文采用系统的POUTCON

和TDISCON。采用这些POUPLC能够初始化和销毁TCP连接用于控制系统,采用

TRCV和TSEND在这些连接上发送数据。

0x04计算机蠕虫

计算机蠕虫病毒起始于1988年,所有蠕虫病毒攻击可被总结为以下几个阶

段:探测可能的目标;传播到目标;在目标上执行恶意功能。在PLC上蠕虫也必

须支持这些功能,本文将展示各个组件的执行。

0x05实现一个基于S71200的蠕虫

5.1架构

基于PLC的蠕虫同其它蠕虫一样都有些限制条件,在开发PLC过程中这些限制条

件必须满足,尤其是最大周期限制必须保持。蠕虫必须在每隔几微秒中断其执行,

其执行可能会在下一个周期继续,当前的状态存储在一个全局的变量中。在每个

周期开始时

文档评论(0)

187****8198 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档