前言Preface黑客大曝光—工业力量毫无疑问,本书沿袭了《黑客大曝光》系列书籍的一贯风格。无论称之为渗透测试(penetration testing或pentesting)、道德入侵(ethical hacking)还是红队测试(red team testing),本书主要从攻击的角度研究网络安全问题。而且,在本书中,我们主要研究工业控制系统(Industrial Control Systems,ICS)的网络安全(不管读者喜不喜欢,主题已经剧透出来了),根据情况也可以称之为in-security。
监控和数据采集系统(Supervisory Control and Data Acquisition,SCADA)、工业控制系统(ICS)以及运营技术(Operations Technology,OT)都是最近在提到工业系统时常用的“万能”术语。如果真想深究营销术语,还可以将工业物联网(Industrial Internet of Things,IIoT)添加进去。不过,先将这些热门词汇抛在一边,除了很多其他的行业术语,例如:过程控制域(Process Control Domain,PCD)、过程控制网络(Process Control Network,PCN)、过程控制系统(Process Control System,PCS)、集散控制系统(Distributed Control System,DCS)等,还有监控和数据采集系统(SCADA)以及工业控制系统(ICS)也都旨在描述工业系统特定但又互不相同的方面。但是,这两个术语经常被错误地互换使用。有鉴于此,为了简单起见,本书中我们使用“工控系统”(ICS)来指代工业系统的所有方面,即便我们知道这个术语未必在每种场合下都是正确的。
渗透测试……确定要在工业控制系统中进行吗从传统角度来讲,当从“红队”或者说从攻击角度来讨论工控系统网络安全时,通常会遭到持怀疑态度并且忧心忡忡的工业资产所有者和运营人员的强烈排斥。从“蓝队”或者说从单纯的防御角度已经出版了若干本内容翔实的工控系统安全图书,然而在我遇到的来自不同工业部门的人员中,还是有人认为那些详细介绍“工控系统入侵”(ICS hacking)技术的图书压根儿就不该出版。这一“理论依据”主要是源自于这样一支思想流派:他们认为类似的信息(甚至包括向部分人士披露有关工控系统的漏洞)都应该妥善保管起来,只有特定的专业团队还有信息共享和分析中心(Information Sharing and Analysis Centers,ISAC)才能够获取这些信息。这一方法也被看作是一种阻止黑客获取敏感信息的努力。因为很多人担心这类信息会帮助黑客们制订工控系统攻击方案或者“入侵攻略”。而细究起来,这种“策略”其实是“不公开即安全”(security through obscurity)的另一种形式,IT社区早在20年前也是这样的心态。这也正是整个行业中工控系统安全的领军人物经常说“工控系统的安全落后于其他行业十多年”的原因之一。
但是,真相是黑客们已经知道了这些信息,或者最起码知道如何获取这类信息,不论业界已经尽了多大努力来隐藏它们。不管用户喜不喜欢,通过主流的隔离措施与不公开的方法已经难以实现对工业系统的保护。正所谓木已成舟,已成定局。既然攻击者已经知道了工控系统和SCADA系统的存在,并且了解了它们的重要性,而且坦率地讲,攻击者也清楚它们到底有多脆弱,那么自然会对开展攻击燃起狂热的兴趣。事实上,与资产所有者以及运营人员在学习入侵技术以及如何实施入侵方面所付出的时间相比,黑客们往往花费了更多时间来学习工控系统,以及如何入侵这些系统。支撑这一发现的证据可以从世界各地众多“黑客”大会的会议日程中清晰地看到,例如著名的Black Hat和DefCon,而这只是其中的两个会议。事实上,大多数安全会议现在都会开辟出特色鲜明的“工控系统小镇”,让与会者可以体验一把工控系统设备的入侵。无论读者是否相信,工控系统入侵正在迅速成为主流话题。实际情况是,限制该类信息的获取不仅难以阻止黑客们获取信息,反而阻碍了真正需要这类信息的人们获取信息(工业资产所有者以及运营人员),更不要说工业社区中已经共享了大量关于安全事件和漏洞的信息。然而,关于工控系统漏洞利用以及入侵技术的重要信息往往会被忽视。
为什么了解攻击技术这么重要?简言之就是,如果能够像攻击者一样思考,并且了解其做法,那么就有更多的机会阻挡攻击者的入侵。想想看,以读者最喜欢的运动为例(无论是团队的还是个人的),是否有人在不了解对手攻击方式的情况下就踏上赛场?当然了,肯定会有这种情况,但是在这种情况下,通常是场有利于对手的一边倒的比赛。在对对手的攻击策略与攻击方法一无所知的情况下,实施针对攻击的有效防御是相当困难的一件事。在工控系统网络安全领域中也是这样。对攻击、漏洞利用和恶意代码感染的方法与技术细节越了解,有的放矢地开展防御就越准确、越高效,性价比也越高。考虑一下,下面哪种方法听起来更加高效、性价比更高?1)以“层次防御”以及网络安全标准合规性的名义,尽可能多地尝试采用一揽子“最佳实践”。
2)对于经过验证得出的的确存在漏洞的地方,根据其潜在影响的严重程度进行优先级排序,针对最有可能面临的威胁部署相应的对抗措施。
如果回答是“1”,那么恭喜啦,因为你肯定拥有巨额的网络安全预算还有大量合格的工作人员!但是即便如此