极限编程-第41部分
按键盘上方向键 ← 或 → 可快速上下翻页,按键盘上的 Enter 键可回到本书目录页,按键盘上方向键 ↑ 可回到本页顶部!
————未阅读完?加入书签已便下次继续阅读!
所以some和龙舞等人知道有人准备攻击《人世间》的服务器,甚至知道是些什么人,为了什么目地,但是没有用,在犯罪事实没有成立之前,先把罪犯关起来那叫非法拘禁,换句话说,只有当有人被杀死后,才可能有罪犯被枪毙,这就是正义一方的悲哀。
《人世间》的安全小组成员也正处于这种尴尬之中,他们中的很多人本身就是网络上的知名骇客,也许换个时间地点,他们就是攻击者的一部分,但是在这一次的事件里,他们就是防守方,而且只能被动防守,根本不知道对方会在哪一刻发起攻击。必竟大家都需要工作生活,所以当攻击真正来临的时刻,包括龙舞在内的相当一部分人根本无法上线。
第八十七章 八百里分麾下炙(二)
老电影里有这么一句话:“叫做悄悄的进村,打枪的不要。”这句话一度成为学校里互相取笑的语言,但是很显然,这句话适用于所有需要偷偷摸摸做的事。
所以与大多数文学作品中描述的不同,这一次攻击并不是轰轰烈烈的,除了参战双方以外,并没有太多的观众,甚至可以说根本没有观众,因为任何一次攻击,发起者都不可能事先通知对方,以堂堂之兵对煌煌之阵的事,我们老祖宗几千年前就不干了,西方人开化晚一、点,也就能追到中世纪,到三个火枪手的时代,面对面的决斗就已经很少见了,等到那个用水深做笔名的大作家的时代,就已经演变成了一种很时髦的游戏了。所以像很久以前那次被媒体热炒的五一黑客大战,最后除了变成一个大笑话,就什么都不是。
攻击虽然是在今天才突然出现,但是只前的嗅探工作,早就已经开始了,《人世间》安全组的巫师们本身就是优秀的网络安全从业人员,当然敏锐的从这些看似毫无联系的接触中发现了问题,不然也不可能有半个月前的那次安全会议。这么长的时间过去了,Some等人也没有闲着,至少已经从自己的渠道了解到了对手是什么人。
随着网络商业的蓬勃发展,网络安全的主要战场早已从初始阶段的国家机构网站,转移到了商业机构,必竟这个战场利益更加丰厚,危险性相比起来也要低得多,必竟你在白宫的页面上挂上自己的头像看起虽然拉风,却根本不能当饭吃,运气好的话倒是能尝尝著名的窝头是什么味道。军方搜刮黑客那只是传说中的事,这么胆大的家伙,首先一条政审就过不去。所以说来说去,还是商业战场上比较有钱途。比较有名的案例就是中国大陆版网游《传奇》源码泄密与windows源码泄密这两件事情,虽然从后来的种种迹象,很多人认为windows的源码泄漏是一场炒作,用basce不是不能写系统级代码,可至少世面上流行的编译器效率不怎么样。但是当年一夜之间遍布网络的《传奇》私服给运营公司代来的伤害,似乎从一个侧面证明了这次泄密门的真实性。从那个时候开始,窃取当红网游的代码就成为了一些黑客组织的谋生手段。
TheCrack就是这样的一个松散的组织,这个组织的成员来源于世界各地,也并不固定,相互间通过网络联系,这一点与其说与《人世间》巫师们的工作方式很相似,不如说这是所有通过互联网络相互联系的officer们的主要工作方式。有风声说这一次有人出50万美元购买《人世间》这款世界第一网游的关键代码。
干过逆向工程的人都知道,对于一个程序来说,作了关键性代码之外,组成一个程序更多的是界面控制以及容错处理,这些东西用起来必不可少,但是在程序员的眼中却是可有可无的——没有自己也能加上去。而对于一款网游的服务端来说,体积最大的部分是相关数据库支持,而数据库结构也是可以从程序段中分析出来的。事实上,几乎所有的程序员都知道不能在程序中使用明文存储用户ID和密码,但是真正严格做到的连一半都不到,更不要说使用加密后的数据库连接字符串了,所以大多数时候,对数据库操作的SQL字符串在程序中都是明文的,更别说存储过程在加密方面的先天劣势了,TheCrack的工作其实很简单,就是拿到客户需要的关键代码,然后通过自己的修改、补充,让这份代码能够可以运行。当然只是可以运行,就算目标的网络安全做得像个漏勺,想下载什么就下载什么,也未必能够把整个服务端都下载下来,网游的服务端必竟不是客户端那么简单,晦涩一点的程序安装的时候甚至需要经过专门培训的专业人员来进行。所以theCrack有专门的人来做这种修补工作,而逆向工程也从来都是属于计算机安全范畴之内。
不过逆向程序员们必竟不是正统的程序员,他们的工作只是让程序可以运行,至于安全性和稳定性就不在他们的考虑之内了,反正不论想要拿到这些东西的买家出于什么目地,这些东西都是见不得光的,做私服虽然比较爽,钱途却未必看好。
拥有强大安全力量的《人世间》巫师们既然知道了对手是谁,很多东西自然就知道了,每个行业内部都有自己既定的操作规程,官面上的叫法是行业规范,其实就是业内人士总结摸索出来的规律,有些是不这样作不行,有些则是不这样做就需要多费力气,提高了成本。别以为行业规范的目的之一是提高进入门槛,就会有人人为的在行业规范里设置障碍,那是技术垄断的活,行业规范的目地是保证生产质量、降低成本,如果有人为的障碍,那么业内人自己就会绕过去,一个没人遵守的行业规范还是行业规范吗?
所以《人世间》的巫师们很早就猜到了将要面对的攻击方式,并做好了相应的准备,这就像你知道了即将参与运算的两个加数都是一,那么运算和就一定是二,运算者自己算错了固然会出人意料,但是既然运算者自己都错了,那还需要警惕什么?Y自己瞄着球门把边裁揍了,那属于天灾,防也防不住,再说也无从防起。
对于一个资深黑客来说,所有的攻击都只是手段,怎样运用才是关键,一招鲜吃遍天的人可能战绩辉煌,但是永远别想吃饱饭,因为单一手法对于大多数固定目标无效,黑客知道的东西,网管们大多也知道,有专业网管在的地方,固定的漏洞都很难存在。而对于随机的目标、、、、、、那只能寄希望于碰巧得到有价值的东西了。
所以巫师们面对随时可能袭来的攻击,也没有什么太好的办法,只能通过一些常规的东西来判断,比如龙舞等人判断攻击可能来自周五或者周六、周日的深夜,这个属于社会工程学的范畴。双方都是专业干这个的,网络攻击中的常用社会工程学应用大多用不上,你总不能指望冒充mm就能从专业网管口中套出帐号来,或者指望网管们登陆挂好了木马的网站。其实网管们也是人,这些都并非不可期待,但是除了人家直接告诉你帐号密码之外,再高级的远程获取都需要开门,放在计算机上就是开放端口,指望一个专业网管的计算机上没有监视端口的防火墙,那还不如指望银行运钞车里没有押运员来得靠谱。所以从社会工程学(就是很多安全论坛的帖子中提到的社工、、、、、、我怎么感觉是在写黑客教程?还是菜鸟不愿意看,高手不屑看的那种?)角度来说,就只有一些以常量存在的方法可以用了,比如攻击时间。
周未是个好时候,因为这个时候,网管团队大多开始放假,特别是《人世间》这种以兼职为主的网管团队,因为很多人需要处理私人问题,所以能够值守的通常只有排定的值班人员,而且因为休班人员很多不在家里或者单位,所以这时的技术支持力量也是最难以集中的。至于为什么会集中在深夜,这个就比较容易理解了(不能理解的同学们请询问身边的朋友)。
所以龙舞和some商量好,这一段时间的周未都安排一定量的巫师在线下待命。但是谁也没想到,theCrack的人会不按套路打,居然在星期三的傍晚就发起了攻击。
盲拳能打死老师傅,《人世间》的巫师们也被对手这么不专业的攻击打蒙了,等到值班的爬爬从异常的流量警告中发现端倪的时候,只来得及发出一次召集令,就陷入了苦战中。
第八十八章 八百里分麾下炙(三)
古龙小说里的高手们常常对视半天,然后一方自动认输,输也输得光棍,上官金虹那样的不信邪就只能转职成肥料,这种打法虽然读起来气势十足,但是如果放在眼球经济下就不行了,所以周星星同学和对穿肠互相抛个kiss之后,还得换上白衣,拿把银样腊枪头耍两套,要不没票房,必竟星爷也得吃饭。不过古老前辈的写法倒也没有多大的错误,所谓行家一伸手,就知有没有,TheCrack的人刚刚将手伸向《人世间》的服务器,就被爬爬发现了,双方都比较意外,爬爬当然是没想到对方会在周三晚上加班,TheCrack的人则是没有想到对手的反应速度会有这么快。第一次交手,爬爬守住了阵地,但是胜得很有些狼狈。从网络安全的角度上看来,网管与黑客之间的地位是完全不平等的,相对于网管手中掌握的资源来说,再高明的黑客也只有行动的隐蔽性能自豪一下,所以当爬爬迅速发现异常入侵的时候,TheCrack的人原则上就应该主动撤退了。但是很显然,黑客们从刚刚的失败中敏锐的发现了自己的对手人数不足,手法好像也不是那么完美,于是他们立刻启动了备用方案。
相对于TheCrack完备的方案来说,他们显然忽视了一个事实,爬爬这个人根本不是正统网管出身,他是正经黑客出身,而且正是媒体推荐的纯正野路子出身——这家伙在大学里学的是自动化控制。
爬爬只所以兼了份网管的差,而不是继续黑客这份很有前途的工作,主要原因是他打算和女朋友结婚了,前面说过黑客这个活养活自己不难,养活全家就有点靠不住了,毕竟任何有责任感的男人都不能让老婆跟着自己饥一顿饱一顿的过日子,所以爬爬洗白也是迫不得已,曾经有人奇怪怎么犯事的黑客年纪都不大,然后有人回答说年纪大的黑客不好抓,其实总在河边站,就没有不湿鞋的,年纪大的黑客不是不好抓,而是都转行抓年纪不大的黑客去了。
有了这种技术背景,爬爬当网管或者马马虎虎,但是要说对网络攻击手段的熟悉,就不是一般网管能比得了的了,于是TheCrack的人很快就郁闷的发现,他们做的很多工作刚刚开始就已经可以结束了。
其实网络攻击说起来很神秘,手段却并不丰富,想要有效的达到入侵的目的,有两个条件是必须满足的,一个是有效的数据交换,另一个则是一个合适的shell。
别以为只有增删改才是数据交换,我们在网络流量中占用的每一个字节都是数据交换,各种网络协议保证了我们能看到应该看到的东西,不让我们看到不应该看到的东西,所以很多教程开篇第一句话,就是让它的读者关闭浏览器中“显示友好错误提示”并且打开“脚本调试”。对于一个黑客来说,仅仅阅读大家都能看到的东西是不够的,事实上,他们对于伴随着这些公开数据在网络中传播的控制字节更感兴趣。
能够与目标机器进行有效的数据交换,才能保证各种指令传达到目标机器,并且返回黑客希望看到或者不希望看到的消息,任何单向的数据传送都只能使攻击失败。
所以即使在TheCrack的几位主力一起上阵的时候,爬爬也没感到有多吃力,他还有工夫和qq上的一个mm幽雅的道别,就算他已经有女朋友了,也并不妨碍和别人在qq上口花花一下。
《人世间》安全组的工作是卓有成效的,整个服务器做得滴水不漏,很多东西根本不用爬爬操心,事实上,《人世间》的web服务器使用镜像数据,而且是在线恢复,完全不能成为攻击数据服务器的途径,而数据服务器上帐户的密码策略是三次后静默,所以TheCrack嗅探到的用户列表根本毫无用处,他们甚至连read权限都得不到,更别说#字符和了。不到半个小时,TheCrack已经有人开始打退堂鼓了,即使仍在坚持的人,也只能把目光集中在游戏程序的开放端口上。
与远程登录相伴的另一种攻击手段就是数据注入,有效的注入手段能够获得目标主机的服务库字段和联系方式,也就为攻击者发送伪装数据包上传或者下载数据提供了条件。有这么重要的作用,TheCrack的人当然早就已经对《人世间》的客户端进了研究,其中还很有几位资深用户,以他们现在手里掌握的资料,写个《人世间》的外挂是完全不成问题的。
从技术角度上来说,一款网络游戏永远不可能杜绝外挂,因为运营商既然放出了客户端,就没办法防止用户调试,但是同样的道理,永远也不可能出现一款无法被运营商发现的外挂,因为外挂发送的数据包必须与主机的数据包格式一致,只要运营方的程序员稍稍耍点花头,这种不通过合法客户端发出的数据包就无所遁形。但是熟悉数据包格式没用,还是得找到服务端处理数据时的疏忽,《人世间》使用纯粹的自定义协议,所有数据包都由服务端程序自行处理,sql注入是不用想了,比较可能的内存泄漏现在也没找着,或者说正在查找中。
其实对大多数黑客来说,写外挂是个很好的谋生手段,问题是这世上总有痴心人,并不是每个人都注重现实的,不然开源社区也没有那么多人了。TheCrack的人大多是比较理想主义的人,所以这时才会支持发动攻击。
如果这种纯技术上的攻击方式一直持续下去,爬爬可能会熬个通宵,但绝不会发召集令,说网上没有攻不破的服务器的人,他们一定没把网管算进去,一个配置完全的服务器,再加上一个经验丰富的网管,基本上就是无敌的存在了,比如爬爬现在就颇有一夫当关的气势。
一般说来,坚持理想的人都比较年轻,比如许乐,猥琐大叔比他能干多了,也没见老家伙自己跳出来主持正义就是一个反证。年轻的人又一般比较冲动,TheCrach的人都比较年轻——前面说过,年纪大的都改行不干这个�