工业控制系统渗透测试浅析

来源: 时间:2018-04-18 浏览次数:973

渗透测试过程除了需遵循相关原则外,还需采取必要的策略,并综合考虑工业控制系统的特殊设计、功能、应用系统、协议以及使用的设备等,充分利用设计或功能方面的缺陷或漏洞进行切入。所有渗透测试的结论应基于合法、真实有效的成功结果(如:在不影响系统的前提下获得关键系统访问权限)。

侦查

工控渗透测试环节的第一步,也是最重要的一环,直接影响后续的渗透测试的策略制定。工控渗透测试的侦查阶段与传统IT渗透测试相同,如在互联网上搜索企业的所有相关信息,分析与测试目标相关的IP地址、BBS、电子邮件、网页快照等。

外部测试

外部测试指的是通过互联网对面向互联网的网络环境进行测试。应尽量避免直接对工业控制系统进行渗透,选择面向互联网的临近网络,如管理信息网,然后通过管理信息网进入生产控制网。根据大多数工业安全标准,尤其是ISA-99/ IEC 62443,不仅要求生产网需与其它网络隔离,还规定了数据流向不能从高级别管理区域(levels 4 and 5)流向低级别生产区域(levels 0 to 3)。


尽管ISA-99/IEC62443等对数据流向进行了规定,但不遵守安全分区和数据流向规则的网络大量存在,多网卡以及允许全网ICMP通讯的情况也非常普遍,外部渗透测试方法依旧可行。

其它可选渗透测试方法

除了上面提到的互联网和相邻连接网络渗透测试方法,其它可考虑的渗透点包括物理安全脆弱性和社会工程学。社会工程学利用了任何安全程序中最薄弱的环节之一:人的因素。技术性社会工程学方法(如钓鱼网站)结合专业的工具可实现最有效的渗透测试,工业控制系统需综合终端防护、入侵检测及加强人员安全意识培训等来防范社会工程学攻击。

测试模拟的真实工业控制网络

在实验室或者测试环境搭建模拟真实生产控制系统的平台,采用相同的设备类型、型号和版本,并尽可能采用真实系统的备份镜像进行测试,采取各项渗透测试手段,尽最大可能发现模拟环境的问题,而无需太关心安全问题。

测试工控设备

取得控制设备操作权限或破坏控制设备是黑客攻击的重要目的。由于前期未进行安全设计,大部分基于IP的工业控制协议都缺乏加密认证机制,很容易被修改、劫持、破坏,甚至造成设备被直接控制。需对工控设备进行安全性和健壮性测试,挖掘其未知安全漏洞。

测试工控服务器和工作站

工控服务器和工作站大部分是Windows系统,且很大一部分为XP等老旧系统。用户由于担心系统兼容性问题,通常不升级补丁,系统长期运行后会积累大量的安全漏洞,也为渗透测试提供了丰富的研究素材。