2009年4月15日星期三

黑客能通过互联网控制电力系统吗

最近总是被美国人问到的另外一个话题,是源自《华尔街日报》的一篇报道,说中国的网络间谍已经侵入美国电网,给美国基础设施造成安全隐患。以下是摘录来的新闻:

《华尔街日报》援引美国现任和前任国家安全官员透露的消息称,来自中国和俄罗斯的网络间谍侵入美国电网后,留下了可能用来破坏电力系统的软件程序。官员们说,这些网络间谍据信是在执行勘查美国电力系统及其控制系统的任务,入侵者尚未试图破坏电网或其他关键性基础设施,不过他们可能会在危机或战争期间试图加以破坏。

报道称,一名前美国国土安全部官员说,间谍活动看起来遍及美国各地,并非针对某个特定公司或地区,但针对电力系统的入侵活动越来越多。还有安全官员称,很多网络入侵活动并不是负责基础设施的公司发现的,而是被美国情报部门发现的,情报官员担心网络攻击者会通过互联网控制电力设施、核电站或金融网络。

一时间,美国从大学教授到社区义工都在议论纷纷,同时中国方面的有关新闻发言人也再次出面否认。这件事情可能吗?尽管不像所谓中国入侵103国家建立间谍网络那件事一样我们可以找到他们的“依据”来看看,但是凭借对这个领域的一些了解,对这件事我只能感慨:美国指责无中生有,中国反驳空洞无力。

电网安全,属于SCADA安全的范畴。SCADA(supervisory control and data acquisition)系统通常涉及到重要的基础设施,因此其安全问题一直备受重视。

但是以前SCADA系统的信息网络安全问题似乎并不突出,为什么这几年越来越热了呢?2008年我在一个国际会议上听一个美国人介绍说,因为早期SCADA系统使用专门的计算机、专门的信号和通信协议、专门的处理软件等,也就是说,那里面运行的东西和我们所使用的计算机系统完全是两个概念。但是现在情况不同了,SCADA系统也使用和我们一样的计算机、一样的操作系统、一样的通信协议等等,于是,不但系统以外的人更加容易了解SCADA系统,而且外界的恶意程序、外界发现的漏洞等,都可能成为SCADA系统的问题。更有甚者,因为信息技术应用的需要,决策和销售部门可能要求生产部门采集的数据能够直接传送到他们的会议室或者软件系统进行分析,这会导致生产系统的网络和外部网络(甚至互联网)产生连接,从而给攻击者带来通过外部渗透进入SCADA系统的可能。这,无疑将是极其严重的威胁。

那位报告人当时还预言:5年以后,SCADA系统安全问题将真正展现出来。现在看来这个预言太保守了,刚过了一年,已经有人能入侵和远程控制电网了?

另外一个有意思的事情是,2007年我在飞机上看了一部电影“Live Free or Die Hard”,中文译名大概叫做“虎胆龙威之虚拟危机”,是美国的科幻片。那部电影“科幻”了未来虚拟世界的恐怖活动能够给我们造成什么危害。巧的是,电影中的反面主角—一个对美国信息系统非常了解、因为被政府解雇从而心生不满的前安全官—在其攻击计划中却是包含这样的情景:恐怖份子控制了美国电网,然后开始一个州一个州地断电。不过在一贯超前必须超前的科幻电影里,对美国相关系统了如指掌的恐怖分子,竟然无法远程做这件事而必须亲自跑到控制中心的机房里去!一贯对美国科幻片比较有好感的我,现在不知道该说什么了:按照现在新闻说的,你那也太落后了!还科幻呢!

虽然不了解电网内部,但我还是知道至少在国内,电力的生产系统和调度系统是完全和外部网络隔离的。如同上面所说,如果现在大家都用商务计算机甚至都用IP网络的话,这种隔离并不能对病毒等恶意程序免疫,但是在隔离状态下实现外部入侵和控制?先推翻基础物理知识再说。中国尚且如此,不相信美国会更弱。(废话一句:有一种可能导致内网被入侵,那就是内部员工违规将内部系统与互联网连接导致隔离失效。解决这个问题涉及到“合规性”/compliance的领域,在这方面中国似乎问题不少,2007年底以后更多的人开始意识到这不是简单的技术问题,才开始学习西方的“compliance”。)

在SCADA系统安全领域,美国一直走在我们的前面,怎么中国这个学生突然法力暴涨超过老师?或者是不是美国控制了我们的SCADA系统,然后反过来担心我们也有机会这么做?事实上,因为有些SCADA系统非常庞大复杂,在中国至少一些SCADA系统是从国外进口的,不但如此,一些情况下还由外方(估计少不了美国)直接进行远程维护的!真正谁更应该担心呢?如果美国人总是认为中国对他们有敌意的话,你认为他们会不会利用自己的优势条件,哪怕是先“做好准备”?

以后好莱坞应该请一些美国政府官员和前官员,去帮他们编科幻片。

2009年4月12日星期日

驳所谓“中国网络间谍网”事件

显然,“中国威胁论”依然是很多西方人津津乐道的话题,因此也是不少西方记者和一些政客们用来牟利的好话题。中国,这个被西方欺负了百多年一度沦为半殖民地的国家,这个埋头搞自己的建设刚刚让其国民达到温饱的国家,这个人均GDP进不了前100位的发展中国家,怎么就成为让西方人恐慌的“威胁”呢?(光看这些报道的话,中国人自己恐怕都不认识中国了:难道中国就是那个整天对全世界指手划脚、在全世界到处扔炸弹、军舰想往哪开就往哪开的国家?)

近期的一个炒作“中国威胁论”的例子,是所谓的“中国网络间谍网”事件:西方报道铺天盖地大肆渲染“中国通过网络部署间谍网入侵了103个国家”。媒体和记者们又找到了兴奋点,拼命制造各种能吸引眼球的表述,什么“窥探的龙”、什么“中国正在进行网络战”、什么“中国网络间谍升级”等等。

和以往的炒作不同的是,这次似乎是有“真凭实据”的:依据来自一个据称进行了10个月研究之后形成的研究报告。恰好这是我的专业方向啊,抱着学习的心态,我找来这份长达53页的报告仔细阅读,期待着看到一直传说但却未曾见识过的神乎其神世界翘楚的中国网络黑客和网络技术。结果呢,差点笑掉大牙,转而佩服这些分析者和报道者的“能耐”了。“好东西要分享”一贯是我的原则,所以我写下此文和大家共享。

这个报告出自加拿大多伦多大学MUNK国际研究中心和一个名为“SecDev”的组织,发表于2009年3月29日,题目是“追踪‘鬼魂网’-一个计算机间谍网络的调查”。(国内的同行们,首先要学学人家这文笔,题目就这么吸引人,而且一写就是53页----到后来才发现其实就屁大点事,这么写的话,我们每年发现的网络攻击可以写出几百本上千本53页!自叹弗如,自叹弗如啊!)这个调查源于受雇达赖,追查其私人电脑以及流亡藏人组织的计算机系统受攻击的问题。(和美国人交流的时候,他们经常强调研究的“独立性”,例如他们认为从政府拿了钱的组织,其研究就不能避免对政府的偏向性。但是面对这样背景的调查报告,怎么没人质疑这一点了?他们不知道其雇主和中国政府不合?)

按说这是一份偏技术的报告,不过里面夹杂引用了大量历史上的各种“报道”,来说明网络安全威胁的严重性。本来,让读者先认识到问题的严重性倒无可厚非,但是这个报告从一开始就把矛头对向中国,说“中国官方一贯认为网络空间是战略资源,有助于弥补中国和其他国家(尤其是美国)的军事不平衡”、“中国的网络战学说很成熟,投入大量资源”等等。给我强烈的感觉是,还没开始拿出证据,就先制造强烈的氛围,让读者已经认为中国就是“罪人”了。
而且,那些众多的标注了来源的所谓的历史事件的报道,可信度有多少呢?什么俄罗斯-格鲁吉亚冲突、加沙冲突、等等,其中的网络安全事件都没有真正的定论。我本人倒是亲身经历过那些报道的真实性:曾经有一个英国的杂志(好像叫Registry),发表了一篇文章说CNCERT只有一个人而且不说英文云云。当时我们已经都是FIRST正式成员并且已经共同发起成立APCERT了,所以很多国外的朋友看到报道纷纷告诉我这个极度荒谬的报道。后来联系到作者,说是在一个酒会上好像听到有人这么说过。怎么样,佩服西方记着的职业素养吧!(这些故事要都可以拿来引用的话,为什么不提“美国当年把伊拉克互联网从整个互联网中隔离”、“美国在伊拉克使用的打印机中设置后门使其特定情况下自毁”这些故事?)
不过这个报告中所说的一件事情我还真的知道:报告提到“2001年4月中美撞机事件之后,中国黑客持续攻击美国计算机网络”。这个例子在报告中是用来支撑“在中国,官方把个人黑客和他们的网络行为当作能够用于国家力量的便利工具”这个观点的。这件事情我们是做了全程跟踪和调查的:当时中国因此被攻击的网站和美国被攻击的网站数量相当,而且中国被攻击的网站中多数为政府网站,美国被攻击的则是商务网站。报告对美国黑客攻击中国而且更多是政府网站的事实怎么看不见呢?更不要说当时中国官方刚发现苗头就在媒体上呼吁网民不要实施网络攻击,这件事美国人就更看不见了。

我们回到这个报告的技术部分来看看吧。

所谓中国间谍网络入侵103国家,所依据的调查结果是:发现一种名为Gh0st RAT的恶意程序,构造了一个僵尸网络,这个僵尸网络控制了1295个计算机,这些计算机分布在103个国家和地区,而这个僵尸网络的控制服务器大部分在中国。为了让不是专门作网络安全这一行的人便于理解,这里我得对僵尸网络、控制服务器等词汇做一下简单说明。(报告的作者不知道是真不懂还是什么,并没有提僵尸网络,而只是说‘木马’。而且也不知道他们是从来没见过这类已经流行多年的威胁还是什么,把这么小的一个僵尸网络说成天大的事一样)


这张图是我用了好几年的一张僵尸网络示意图,而且最早就是在国际会议上用的,现在加了几个中文说明框。从图上可以看出来,控制者(黑客/攻击者)通过控制和命令服务器,能够实现对大量计算机的控制。控制和命令服务器是核心,一个僵尸网络中通常有多个,分布在世界各地;大量被控制的计算机也是分布在世界各地,它们就像“僵尸”一样听从来自控制和命令服务器的指令,在用户不知情的情况下做各种事情;控制者躲在世界上的任何一个角落,直接或者间接通过控制和命令服务器指挥一切,而且从技术的角度上来说,在控制和命令服务器上看,控制者经常就和那些被控制者一样,难以区分。
通过上面这些信息,您应该很容易理解追踪真正攻击者的难度:攻击者会利用世界各地的计算机作为其控制和命令服务器,攻击者自己也会隐藏在世界任何一个角落遥控这一切。僵尸网络的规模和其隐蔽性,使其成为攻击者喜欢的方法。攻击者通常都会选择利用其他国家和地区的计算机进行各种攻击,例如针对美国银行的网络钓鱼则把伪造网站放在美国以外,这样便于逃避追踪或司法追查。

那么,僵尸网络的现状如何呢?
僵尸网络是现在各种网络攻击的“万恶之源”:拒绝服务攻击、垃圾邮件、网络钓鱼(在线身份信息窃取)、等等,凡是你能想到的,通过僵尸网络都能来做,而且比原来更隐蔽、威力更大。因此僵尸网络这些年来被当作最主要的威胁之一被加以关注。在中国,2004年底CNCERT监测到一个僵尸网络,控制的计算机超过10万个;2005年CNCERT发现中国大陆被僵尸网络控制的计算机超过250万个,发现规模超过5000个计算机的僵尸网络143个;2005年荷兰发现一个黑客建立了一个规模接近150万台计算机的僵尸网络,其中位于中国大陆的计算机29万个。

这些僵尸网络的控制和命令服务器都在哪里呢?
2007年CNCERT发现位于中国大陆以外的僵尸网络控制和指令服务器10399个,其中位于美国、中国台湾、韩国、加拿大、日本、巴西、德国等地的数目分别超过3300、1300、700、500、300等。

不知道看到以上这些数据,那份报告的撰写者以及西方的媒体们,该则么修订他们的报告和报道呢?继续设法证明“中国威胁论”可能还是目标,但是却需要更多的脑力和创造力了吧。CNCERT的这些报告都是公开的,在国际场合也都介绍过;CNCERT在亚太经合组织(APEC)还历时一年多牵头完成了题为“僵尸网络应对的技术和策略指南”的项目。可曾听说CNCERT或者其他人根据这些公开数据,来编造“某某国发动网络战争”、“某某国入侵几百个国家的计算机”之类的噱头文章?荷兰那个僵尸网络,西方记者该怎么写?恐怕没几个连通互联网的国家能从那150万个地址中幸免吧,为什么没人写过“荷兰间谍网络控制全世界”之类的文章?)
没有,是因为我们无法根据控制和指令服务器在哪里,就说这是那个国家干的;我们无法根据一个网络上的攻击来自某个国家,就说攻击者来自这个国家,因为攻击者在网络上多次“跳转”已经是很容易的事情了。

回头再来看看这个报告的可笑之处吧:
  • 报告说,这个僵尸网络有4个控制服务器,6个指令服务器。其中3个控制服务器位于中国(海南、广东、四川);5个指令服务器位于中国(海南、广东、四川、江苏)。另外提到,70%的控制服务器位于中国,不过也发现位于美国、瑞典、韩国和中国台湾的服务器。——头一次看见这样的说法,70%的控制服务器?攻击者建立多个控制服务器,是为了增强僵尸网络的可靠性和可扩展性,70%在这里有什么意义?被控制的计算机经常会被动态地指向某个控制服务器。按照那些“控制服务器在中国所以是中国的攻击”思维的话,有关报道是不是要改一下题目,成为:“中美等国家的间谍网络渗透103个国家”?
  • 报告说,发现有一个存放供被控制计算机下载恶意程序的服务器(指令服务器),是一个位于中国海南省的政府服务器。——中国政府真是聪明的要紧,不但把控制服务器建在自己国内,还利用自己国内的政府网站!我被搞糊涂了,潜台词不是要说“中国威胁论”吗,怎么看着像“中国黑客笨”呢?中国政府网站每年有多少被黑,各种报告多得很。
  • 报告说,这些控制或指令服务器所使用的域名,其中有两个查询其注册者时显示是中国人。——根据报告提供的数据,我也查了其他6个,结果有的没结果,有的明显是乱注册的,还有注册所在城市为印度新德里的。而且,业内人都知道这种查询(whois)的准确性很低,伪造也很容易,难道他们不知道?
  • 报告也提到有一个控制服务器的IP追踪到了韩国,属于一个电视台,但是当时使用的动态域名属于中国的动态域名服务。——凡是沾上中国的边,就要往上算。“中国制造”遍地都是,惨了!
  • 报告分析那些被控制的计算机。这1295个地址,去掉重复的以后,对986个地址进行了定位。结果就更可笑了:这些计算机中,中国台湾最多148个,越南第二130个,美国第三113个,中国大陆自己排第四92个,加上排第五的中国香港的65个,大陆加香港占157个,排第一!报告自己的脚注却说前四名是台湾、美国、越南、印度,这样自相矛盾,恐怕是为了呼应通篇“选择的入侵对象都是和中国关系敏感的国家和组织”这样的暗示吧。——谁能解释一下,中国组织的间谍网络,为什么要花那么大力气对自己下手?
  • 报告说,30%(查他后面的数据发现是26.7%)的被控制计算机可以被认为是具有“高价值”的目标。——如果按照这个做法核查一下那些其他的僵尸网络,绝对数字一定比这个“间谍网络”高很多,就算按比例算,估计也有相当的。而且,另外70%干嘛呢?所谓“有目标攻击”,还真是笨哪!
  • 报告还列出了一些被攻击的网站域名,结果里面还有中国驻美国大使馆(embassy)!——无语了都!
  • 报告还给出一个“证据”:中招的重要目标,多数是各个国家外交领域的计算机。——不过作者忘了自己在前面介绍的时候说,攻击者通过伪造的垃圾电子邮件,欺骗计算机用户打开附件从而植入恶意程序。给出了垃圾邮件也是英文的。我自己收到的垃圾邮件也多数是英文的。请问有多少英语不是母语的国家,其除了外交领域人员之外的其他政府雇员都谙熟英文的?他们会打开看都看不懂的英文垃圾邮件,进而被感染的概率有多大?
  • 报告提到,这个“间谍网络”使用的恶意程序,是在网上有公开源代码的。——由此可知,中国确实强,搞个间谍网络,还不说使点高级或者隐蔽的东西,整个开放源代码!考虑国际标准呢?!
  • ......
累了,打住吧。其实编报告的人自己也有点心虚,在结论的部分给自己留了退路,说什么也不能就此就下什么什么结论、也有其他的什么什么可能之类的。不过已经不重要了,记者们早走了,文章都发了,热点赚足了。

这就是“中国计算机间谍网络入侵103个国家”事件!

在这里顺便给自己做个广告:还有哪个记者或者杂志对这类题材感兴趣的,可以和我联系。通过这次学习我已经学到了不少高人的报告技巧,而我掌握的数据比他们多很多,可以做到指哪打哪、指谁打谁!不过我还远达不到人家的水平,因为自己还有个良心在那里碍事。

2009年3月5日星期四

刑法285条修订的意义

2009年2月28日,十一届全国人大常委会第七次会议通过了《中华人民共和国刑法修正案(七)》。这次修订,对打击网络犯罪,改善网络环境安全,无疑具有积极的意义。

这件事情首先让我想起有段时间我在到处“鼓吹”的一个观点。

2007年6月我在马德里参加国家级应急响应组织的一个研讨会时做过一场报告,题目是“国家级应急响应组织在应对僵尸网络问题中所能做的贡献”。报告中的一部分谈到“需要让政府理解”的问题,这其中又有一部分提出:改善网络安全状况,实际上有三个不同层面的工作。
. 第一层面是“提高抗打击能力”,就是提高自身的安全防护能力,使得面对各种安全威胁的时候,具有更强的应对能力。这个工作当然是靠用户自身努力来提高的。
. 第二层面是“降低打击能力”,就是限制“坏人”的破坏力,让攻击者无法轻易获得巨大的攻击能力优势,从而降低对防护能力造成的挑战。(对了,这就是为什么我们需要关注僵尸网络的原因!)
. 第三层面是“提高攻击成本”,就是提高坏人做坏事的代价,让他们不敢肆无忌惮地进行各种攻击。

很多人现在还限于通过第一层面保障安全,但是这样做现在已经完全不是攻击者的对手了。依靠反病毒系统,来一个病毒杀一个病毒?总会有漏网的时候,即便是你第二天修复了,前一天可能已经有人偷走了你的商业机密。防火墙、入侵检测、安全审计等等安全产品,也都处于一样的被动状态。数千万信用卡信息被从网上偷走,都是发生在这些安全设备就位的情况下。而象拒绝服务攻击、域名劫持等等,用户基本上完全无能为力,就是待宰羔羊。(不怕火!---哦,看什么火、多大火......)

通过建立类似应急响应体系之类的合作网络,可以一定程度上实现第二层面的目标。通过与ISP、域名注册商、产品供应商、应急/事件响应组等的合作,可以采取技术手段提高伪造IP的攻击难度、压制僵尸网络的规模、切断一些攻击源、在拒绝服务攻击形成巨大压力之前就进行遏制、等等。第二层面的努力能够使我们面对攻击者的破坏能力的时候,不至于显得过于被动。(谁来帮我阻止火越来越大!)

但是就算第二层面能够完全实现,网络安全也面临越来越大的挑战。一个重要原因就是,由于利益/风险比越来越高,导致攻击者越来越多,能力越来越强,攻击越来越猖狂。于是我们总是处于被动地疲于应付的状态。因此,改变这一现状的长远方法,就是打击网络犯罪,也就是第三层面的工作:让攻击者在做各种攻击的时候,心存顾忌;让他们知道,这种网络犯罪行为,是可能被抓到,并且会付出代价的。显然,第三层面的工作,主要需要政府部门发挥作用。(谁来帮我抓住放火者!)

刑法的这次修订,其重要意义就是有助于加强第三层面的工作。当然,一次法律修订还远远不能解决问题,因为还有很多很多具体问题需要解决,比如:

. 技术能力和配套法律问题。有了这个法律,执法部门可能依然抓不到攻击者,因为受到现在技术手段的限制,以及配套法律不健全导致的追踪、取证困难;
. 法律执行标准。原来的285条是“行为罪”,只要你侵入的是“国家事务、国防建设、尖端科学技术”这类系统的,就构成触犯,这个还是比较好认定的。修订以后,除了扩大侵入范围并且包含‘其他手段’之外,增加了“情节严重”的判断。在实际操作中,在这一点上经常出现纠缠不清的情况,因此恐怕需要在实施细则上还要多下些功夫。另外,除了认定标准制定以外,是否达到特定标准的认定,恐怕也是不容易的;
. 法律执行程序。法律执行原来遇到的诸如属地化限制等问题,依然存在;要求用户举证,对绝大多数用户依然是难以做到的。这些因素,依然会制约对网络犯罪的打击能力。
. 执法队伍。打击网络犯罪,对执法人员提出更高的要求。

尽管还存在很多问题和困难,但是这次修订,毕竟是个好的开始。

加强自身能力建设,让你不再虚弱;加强可信任的合作网络建设,让你不再孤军奋战;现在“坏人坏事”也有法可依了,让你不再徒呼奈何。----我们还有很多事可以做,我们也还有希望(最近学校这边有网络安全专家说,‘我们已经输掉这场战争了’,但是我们还不到放弃的时候吧?)。


#######################
附刑法相关条款(蓝色部分是这次新增加的):

第二百八十五条 违反国家规定,侵入国家事务、国防建设、尖端科学技术领域的计算机信息系统的,处三年以下有期徒刑或者拘役。

“违反国家规定,侵入前款规定以外的计算机信息系统或者采用其他技术手段,获取该计算机信息系统中存储、处理或者传输的数据,或者对该计算机信息系统实施非法控制,情节严重的,处三年以下有期徒刑或者拘役,并处或者单处罚金;情节特别严重的,处三年以上七年以下有期徒刑,并处罚金。”

“提供专门用于侵入、非法控制计算机信息系统的程序、工具,或者明知他人实施侵入、非法控制计算机信息系统的违法犯罪行为而为其提供程序、工具,情节严重的,依照前款的规定处罚。”

第二百八十六条 违反国家规定,对计算机信息系统功能进行删除、修改、增加、干扰,造成计算机信息系统不能正常运行,后果严重的,处五年以下有期徒刑或者拘役;后果特别严重的,处五年以上有期徒刑。
违反国家规定,对计算机信息系统中存储、处理或者传输的数据和应用程序进行删除、修改、增加的操作,后果严重的,依照前款的规定处罚。
故意制作、传播计算机病毒等破坏性程序,影响计算机系统正常运行,后果严重的,依照第一款的规定处罚。

第二百八十七条 利用计算机实施金融诈骗、盗窃、贪污、挪用公款、窃取国家秘密或者其他犯罪的,依照本法有关规定定罪处罚。