引言
当前社会随着经济的发展,工控系统更加广泛的被接入互联网。全球每年会发生几百起针对 ICS 系统的攻击事件,虽然数量远低于互联网,但每一次事件都会使生产受到巨大 影响,经济遭受重大损失。2010 年“震网”(stuxnet) 病毒的爆发,让全球再一次明白,工业控制系统已成为黑客的主要目标,随后“毒区”(duqu)和 “火焰”(flame)病毒又相继出现,与“震网”共 同形成“网络战”攻击群。2014 年,功能更为强大 的 Havex 以不同工业领域为目标进行攻击,至 2016 年已发展到 88 个变种。2015 年底发生的乌克兰大面积停电事件又一次为工控安全拉响警报。因此,需有效加强工控系统的安全防护,保护工业生产环境的正常有序进行。
为此,本文对安全防御思路进行了简要介绍,并提出了一些自己的看法。由于时间及精力的关系,文章内容可能不尽人意,希望大家多多包涵。
现有的安全防御方案&技术
1、IDS
IDS是一类采用规则匹配、流量监控以及状态监测等技术,监控入侵行为的技术。通过IDS,可以较为合理的发现入侵行为,从而为系统管理员提供安全防护依据。依据IDS,后续又发展出了IPS,而IPS与IDS的区别主要是在主路上对相关行为进行监测,在监测到不合法行为后,直接进行阻断。
而入侵检测的关键是两点:
提取攻击特征,基于什么进行分析
攻击模式匹配,基于什么进行检测
比如我们可基于网络流进行分析攻击特征,并对其进行匹配
1.CodeRed病毒分析
CodeRed的Flow特征是destination port=80,、packets=3、size=144bytes。虽然在Internet上,符合上述特性的正常行为是存在的(如使用ICQ),但是一般正常使用的主机不会在连续几段时间内发出大量的这些报文。
因此监测CodeRed 可采用的方法是:取几个不同时间段,例如每段时间5分钟,如果每个时间段内符合特征的Flow大于上限值,则可以判断为Code Red。
2.Nimda病毒分析
感染了Nimda病毒的主机会向外部地址(往往是TCP 80端口)发起大量连接,Nimda的Flow特征是每个Flow代表一次连接destination port=80的行为,如果普通的客户机在一段时间内(例如5分钟)Flow数量过大,那么很有可能遭受病毒感染或者有其他针对HTTP的攻击行为。
因此监测Nimda可采用的策略是:取几个不同时间段,每段时间5分钟,如果每个时间段内符合特征的Flow超过上限值,则可以判断为Nimda病毒或其他攻击行为。另外,如果Apache Http Server感染了Slapper Worm的话,也会产生大量的Http报文。
2、 防火墙
防火墙技术主要采用规则匹配的方式对经过它的访问请求或响应进行监测,在日常中也有大量的使用,从个人PC到公网服务器都会使用防火墙进行防御。这也是最成熟使用最多的方案。由于使用过多,所以本文不对其进行详细介绍。只举一个简单的例子。
在工控环境中,我们可以配置具体的合法访问端口,比如可以通过iptables设置只接受某IP对某端口的访问。设置效果如下图
3、蜜罐
蜜罐是防御方为了改变网络攻防博弈不对称局面而引入的一种主动防御技术,通过部署没有业务用途的 安全资源,诱骗攻击者对其进行非法使用,从而对攻击行为进行捕获和分析,了解攻击工具与方法,推测攻击意图和动机.蜜罐技术赢得了安全社区的持续关注,得到了长足发展与广泛应用,并已成为互联网安全威胁监测与分析的一 种主要技术手段.。
而关于蜜罐与工控系统的结合在之前的文章中已有详细介绍。通过采用工控蜜罐可以做到如下两点:
吸引攻击,从而保护真实设备或系统
捕获数据,从而为之后的分析及攻击研究提供数据基础
如下图是工控蜜罐的一个简单示例,其中eth0为公网接口,eth1为蜜罐接口,eth2为管理接口,honeyd一端为低交互蜜罐。通过这种方式,可以有效吸引攻击者攻击,并利用不同的交互服务与攻击者进行交互。利用他们之间的交互信息,对攻击者进行研究分析。
在攻击者进入部署的蜜罐后,可以访问到不同类型的蜜罐服务,管理员可利用管理接口对蜜罐服务的调用策略进行配置,从而响应攻击者。
可以采纳的思路
当前的防御方案基本都采用静态防御技术,通过被动的部署防御方案,保护真实设备或系统。为解决这一问题,我们可采用主被动结合的方式进行安全防护。主要分为两种思路:
思路一:首先,采用蜜罐作为主动防御技术进行安全防护,吸引攻击者攻击。通过设置蜜罐这种假目标,可以使得攻击者无法区分出真实系统与诱饵。(在二战期间盟军也设置大量的虚假目标,诱骗德军进行攻击,从而保护真实的目标)其次,在虚假目标失效的时候,可采用IDS/IPS等技术对攻击进行检测、阻断。通过这种方式可以提高攻击者的攻击成本,从而提高系统的安全防护水平。
思路二:首先,也是采用蜜罐进行安全防护,不过在这主要是利用蜜罐动态的分析攻击者行为,提取攻击偏好,其次,利用分析出的结果,生成防御规则,将拦截规则下发到访问阻断中,在触发到对应的规则后,即可进行攻击阻断。这种方式也是之后需要研究的方向之一,因为在平常的规则中,主要以静态规则为主,但攻击者的攻击行为是时刻变化的。当行为模式发生较大变化的时候,静态规则可能就无法很好的做到安全防护。所以,动态防御规则的生成与下发就显得至关重要。
总结
本文首先对安全防护的主要技术进行了分析,并提出了两种主要的安全防护思路。从文中也可以看出,安全防护是无法做到完全的防护,我们能做的就是提高攻击者的攻击成本,从而使得攻击者的攻击收益大于攻击成本。通过这样,可以有效降低攻击。因为我们毕竟无法做到真正的安全防护,只要有软件或者有硬件的地方就会有漏洞。比如当你做好软件层面的防护后,针对侧信道攻击依然是无法防护。
来源:freebuf.com 2020-07-28 13:30:58 by: 等待未来66大顺
请登录后发表评论
注册