百道网
 您现在的位置:图书 > 网络游戏安全揭密
网络游戏安全揭密


网络游戏安全揭密

作  者:(美)霍格伦德,(美)麦克格劳 著,姚晓光 等译

译  者:姚晓光

出 版 社:机械工业出版社

丛 书:游戏开发技术系列丛书

出版时间:2009年02月

定  价:45.00

I S B N :9787111255222

所属分类: 专业科技  >  计算机/网络  >  信息安全  专业科技  >  计算机/网络  >  软件应用与开发    

标  签:消遣游戏  娱乐  电脑游戏  家庭与计算机  计算机与互联网  

[查看微博评论]

分享到:

TOP内容简介

本书主要介绍了游戏被入侵的机理、防范手段及找到软件漏洞的方法。本书以《魔兽世界》等MMO.RPG游戏为典型案例进行分析,非常清楚完整地展示了入侵代码,从简单的宏指令到复杂的系统后门入侵方法,都毫不保留地进行了展示。本书中的网络游戏就像是软件安全方面一个相当有趣的实验品。
  本书适合软件开发、游戏开发人员等阅读。

TOP作者简介

Greg Hoglund 软件安全领域的领军人物,一位依靠自学成才的天才黑客。他成立了一系列的从事计算机安全方面的公司,其中包括著名的Cenzic和BugScan,目前正打理他自己创立的第三家公司——HBGary,专门致力于如何在黑客正在入侵和破解的时候迅速地捕捉到黑客信息,主要的服务对象是美国国防部。

Gary McGraw 全球公认的软件安全权威,Cigital公司的CTO,董事会成员,掌管Fortify软件公司的技术顾问团,同时担任Raven White公司的高级顾问。Gary在网络安全方面著有多本著作,其中的6本长居畅销书排行榜前列。

译者简介:

姚晓光 npc6.com创始人,现任腾讯公司游戏项目总监。曾任盛大网络盛锦游戏公司常务副总经理,游戏首席制作人:监制中国第一款回合MMORPG《幻灵游侠》;监制中国第一款真3D商业网游《神迹》;带领研发《QQ飞车》创50万人同时在线,编译《网络游戏开发》等书被选为游戏研发教材。

TOP目录

关于本书的评论
译者序
序言
前言
作译者简介
第1章 为什么选择游戏这个主题
 1.1 全世界的网络游戏
 1.2 在MMORPG中作弊的诱惑
  1.2.1 作弊代码
  1.2.2 犯罪型作弊
  1.2.3 将虚拟转换为货币从入侵到道具
 1.3 游戏也是软件
  1.3.1 基本游戏结构
  1.3.2 游戏客户端
  1.3.3 客户端状态
  1.3.4 和其他软件类似的功能
 1.4 入侵游戏
  1.4.1 谁在入侵网络游戏
  1.4.2 为什么入侵游戏
  1.4.3 如何入侵游戏
  1.4.4 到底有多少起游戏入侵事件
 1.5 最大的课题:软件的缺陷
第2章 游戏黑客的基本方式
 2.1 网络对抗盗版 
 2.2 另一方面
 2.3 作弊的诀窍与技巧
  2.3.1 制作外挂机器人:自动进行游戏
  2.3.2 利用玩家界面:键盘、点击以及色区
  2.3.3 使用代理软件:截取数据包
  2.3.4 操作内存:改写数据
  2.3.5 利用调试器:断点
  2.3.6 预测未来:可预知的和随机的如何在在线扑克中作弊
 2.4 机器人大阅兵
  2.4.1 自动战斗宏
  2.4.2 自动瞄准机器人
  2.4.3 扑克机器人
 2.5 潜伏(数据虹吸)
  2.5.1 网络统计
  2.5.2 扑克统计
  2.5.3 拍卖操作
 2.6 正式开工
 2.7 对策
  2.7.1 间谍软件
  2.7.2 典狱官(the’Warden,暴雪的反检测机制):防范过度的反作弊措施
  2.7.3 总督
  2.7.4 你的立场在哪里
  2.7.5 作弊
第3章 金钱
 3.1 游戏公司如何赚钱
 3.2 虚拟世界:游戏经济学与经济
  3.2.1 和真实经济体的联系
  3.2.2 中间人
  3.2.3 为了赚钱玩游戏
  3.2.4 Thottbot
 3.3 犯罪行为
第4章 进入律师视野
 4.1 合法
 4.2 公平使用和著作权法
 4.3 数字信息千年著作权法
 4.4 最终用户许可协议
  4.4.1 索尼BMG的EULA:大量的rootkit
  4.4.2 暴雪的EULA:你的内存都属于我们的监视范围
  4.4.3 Gator的EULA:从不受欢迎的访客
  4.4.4 微软FrontPage2002的ELILA:友好点,因为你别无选择
  4.4.5 带有EULA的病毒:病毒软件合法化  
  4.4.6 苹果电脑的EULA:无穷与超越
  4.4.7 EUIA大阅兵
  4.4.8 禁止破解
  4.4.9 禁止游戏入侵
  4.4.10 财产权
 4.5 使用条款
  4.5.1 禁令
  4.5.2 被起诉不等于违法
 4.6 盗窃软件与游戏入侵
第5章 被程序bug包围
第6章 入侵游戏客户端
第7章 “外挂”软件技术点
第8章 软件逆向工程
第9章 高级黑客技术
第10章 安全是游戏成功的基础

TOP书摘

入侵网络游戏
——在大规模分布式系统中作弊
1.为什么选择游戏这个主题?
电脑游戏的世界很庞大。全世界有数以千万计的用户在玩电脑游戏。微软公司的报告显示,玩游戏是操作系统平台上第三种最常见的行为,仅次于浏览网页和阅读电子邮件。在2005年,游戏市场的年增长率超过10%,全世界游戏市场规模超过60亿美元。每一个人都喜欢玩游戏。

在1952年,当A.S.“道格拉斯”为英国的“爱达赛克”(EDSAC,是英文Electronic Delay Storage Automatic Calculator的简称,第一台存储程序的“诺依曼机器”)制作了连珠游戏时,第一款电脑游戏诞生了。今天,电脑上有各种类型的游戏,从单机游戏(例如《小精灵》)到大型多人在线游戏WOW《魔兽世界》,以及介于这两种游戏类型之间的其它游戏(比如在线扑克以及DOOM《毁灭战士》这样的游戏)。2006年,全世界有1千万以上的玩家在玩大型多人在线游戏(MMO),并且这个数字以每两年翻一倍的速度增长。IDG的分析家估计,美国有290万人在玩大型多人在线游戏。

最流行的大型多人在线游戏莫过于角色扮演游戏(RPG)。RPG十分符合“龙与地下城”的规则。现在,全世界有超出200款大型多人在线角色扮演游戏(MMORPG)。在这些游戏里,玩家养成居在虚拟世界里的角色,完成各种任务,和其他玩家成为敌人或朋友。计算机里的数据也拥有真实的价值,在eBay快速搜索“魔兽世界 金币”(网址:http//search.ebay.com/world-of-warcraft-gold),结果可以证实这一点。同时,这也证明了虚拟游戏中的金钱和真实的货币事实上已经在互相流通了!

在线扑克游戏牵涉的金钱甚至比MMO中的更多。每天都有上万人在很多流行的扑克网站中互相对战,玩美式扑克之类的游戏。扑克游戏网站通过收取手续费或是收取赌注抽水比例来盈利。(玩家自己也可以通过击败对手赚钱。一些专业玩家以此为生)。一些比较受欢迎的在线扑克网站的年度利润高达数十亿美元。2005年至少有两家这类公司上市。

所有的电脑游戏都有一个就像“阿基里斯腱”这样的弱点——它们都是计算机软件。通过一些修改配置和参数,以及其它攻击计算机软件的方法,恶意的玩家因而能够作弊。当黑客只是修改你家书房电脑里俄罗斯方块的最高成绩文件时,这似乎没什么影响。但是当这种行为变成在网络扑克等游戏中骗你入圈套来赢钱,或是把你珍贵的游戏道具通过eBay卖给别的玩家来赚钱,或是把虚拟货币卖给第三方交易中心,这件事情就严重了。

每天都有很多人侵入网络游戏。某些是以此为生的罪犯,其他则是普通玩家的恶作剧。另外还有部分玩家是因为太忙,虽然想玩,但没有办法投入很多时间去玩,不得不采用作弊的方式。为了改变网络游戏岌岌可危的安全局势,游戏开发人员和游戏公司必须在软件安全方面做得更好。提高网络游戏安全性的第一步,就是掌握入侵时实际发生的情况。那么游戏是如何被入侵的呢?

这就是本书所要说的——入侵网络游戏。我们会非常明确地,毫无保留地向你展示作弊的代码,从简单的游戏中的宏指令到复杂的系统后门入侵方法。
我们认为,网络游戏就像是软件安全方面一个相当有趣的实验品。软件渗透在现代生活中,已经远远超越出娱乐的范围。但即使只是娱乐,游戏世界中的大量金钱让游戏安全危如累卵(注一)。从某种意义上来说,游戏世界中的安全问题已经走在其它网络应用前面了。
1.1全世界的网络游戏
目前电脑游戏全球最流行的游戏是《魔兽世界》,熟悉的人都称之为WoW。WoW由暴雪娱乐制作发行的。WoW是一款MMORPG,共有超过8百万的不同国家用户。WoW客户端分为英语、韩语、德语、法语、中文,最近还出了西班牙文版本。
在游戏服务器的各个分区,任何时候都有500,000以上玩家同时在线。他们的角色居住在一个叫做艾泽拉斯的虚幻世界。

如图1.1所示,,到调查截止为止WoW的用户达到全球MMO用户总量的一半。

从安全的角度来看,WoW的两样东西特别有趣。第一个就是,游戏是在中央服务器组上运行的,玩家用自己的电脑通过网络来联接。现在每一个MMORPG都采用这种结构了。这种网络结构几乎是不言而喻地存在着固有的安全隐患。第二个是,WoW的经济体系十分庞大,有很多方法可以把游戏虚拟财产转出游戏换取真实货币。举例来说,一直到最近为止,你都可以在eBay上出售你的角色或是一些虚拟道具(见第三章)。这让WoW相比其他不那么普及的MMORPG而言更有意思,也是我们重点说明它的原因。

很多玩家对待MMORPG的态度很严肃。在2005年6月,一名中国上海的玩家由于一把虚拟宝刀“屠龙刀”而谋杀另一玩家。根据MSNBC报导“邱诚伟,41岁,在得知朱某将属于自己的网游《传奇》装备屠龙刀擅自出售之后,将其刺杀。”邱某现被判死缓。甚至还听说在中国有玩家因为玩盛大公司运营的《传奇》而认识结婚,也是因为玩传奇纠纷导致离婚,离婚协议书上分割的财产竟然是游戏里面的装备。

专业玩家和游戏打钱公司也出现了,他们寻找游戏漏洞,制作入侵工具,编写宏指令,然后建立起一种称为“农场”(farm)的电脑工作室,来创造虚拟财富,然后转移出去或是出售给别的玩家。通过在游戏中获取虚拟货币和虚拟道具,财富被创造出来。农场提供装好游戏的电脑,由组织者带领雇来的人有组织地打钱,再由交易中心把这些虚拟货币和道具出售给其他玩家。在极端的情况下,这会构成有组织的犯罪行为。

图1.1 2006年6月各MMO的市场占有率。(出自Woodcock,Bruce Sterling。“MMOG成长分析 21.0版”http:\\www.mmogchart.com;已获使用许可。)

有时,玩家会发现游戏中的一些漏洞,然后入侵游戏。这些漏洞可能很有用,加拿大的一个玩家曾经在《星球大战:星系》(一款在美国流行的MMORPG)中通过复制游戏货币赚取了700,000美金。然后他用这些钱买了栋大房子,为了炫耀自己的财源,他的门铃也使用《星球大战》的主题曲。

黑客们对提前进入虚拟世界未开放区域也很有兴趣,这些区域在正式开放前是禁止玩家进入的。入侵软件就是用来强行进入这些区域。
就像是军备竞争一样,游戏的管理者也在监视着作弊行为,有时还会将个别玩家封号。
网络游戏正在飞速成长着。正如前面提到过,MMO的用户每两年翻一番,但是更令人震撼的是美国的在线扑克类游戏的成长速度,到2006年底其收入应该超过10亿美金(第三章有详细说明)。随着更多用户选择玩游戏,更多的钱牵涉其中,入侵、欺诈、网络钓鱼等行为的动机会随之增强,入侵游戏软件的行为数量也会同时增长。

虚拟世界中已经存在着犯罪,并且种种犯罪将越来越常见。
1.2在MMORPG中作弊的诱惑
如果有机会,很多人会作弊,尤其是他们认为自己不会被抓的时候。网络上可以匿名,这就让作弊更有吸引力。有了快速赚钱的能力,你也同时有了触犯法律的可能。钱在所有作弊动机里可能排第一位。(第三章所有内容都是有关钱和网络游戏。)

但是,并不是所有的作弊行为都是为了赚钱。那些只是单纯想玩游戏的玩家也有作弊的理由。在MMORPG中,想要拥有一个真正高级别的角色,让游戏玩得更有意思,就必须花上好几个月的时间认真练级。举例来说,在游戏《星战前夜EVE Online》中,要练习一个技能需要花上6个月的真实时间。快速升级是作弊的另一个诱因(尤其对生活忙碌的人而言)。这一诱因又触发了对稀有道具或是用来购买这些道具的游戏货币的需求。

作弊代码
作弊有几种模式。有时,作弊可能只是简单地把你的角色转移到怪物的出生点,这样它们每次刷新时就可以立刻杀到。在不那么极端的情况下,你可能会用你的角色反复制作道具或者食物,这也是作弊。当这些行为是通过程序自动执行的时候,这种作弊行为也变得更加复杂。
有时,作弊与否很难界定。有的人认为,编写简单的宏指令来执行重复性的动作也带有一点作弊的性质。一连串动作的宏指令,从寻找敌人到瞄准再到开火,在网上到处可见(在http://www.cheatcc.com/和http://cheatcodes.com上可以看到两个例子)。
更强大的宏指令基本可以让你在做其他事情的同时玩游戏,就像我们在第二章会说明的宏指令那样。大部分玩家认为用这些程序算是作弊。很明显,很多核心型玩家痛恨作弊行为。
在第二章我们会说明很多基本的作弊技巧。更高级的技巧见稍后的章节。

犯罪型作弊
在本章的前面,我们提到过专业打钱打装备卖给其他玩家的“农场”。代练角色的服务也很常见。虽然这些行为从表面看都不像是作弊,但是滥用这类服务对游戏本身的玩法也是一种伤害(详见第四章)。尽管并没有什么针对这类行为的法律,有些人还是会认为这类行为属于犯罪。最糟的情况就是游戏公司和此类服务的提供者(最常被起诉的罪名是破坏游戏和游戏中的经济)之间发生法律纠纷。使用这些服务的玩家通常不会被起诉,只是简单地被封帐号。
当作弊是为了赚取大量金钱时,这种作弊就很接近真正的犯罪行为了。就在寻找漏洞、利用漏洞、然后把作弊的方法出售之间,巨大的地下经济诞生了。有传言说,当一款新网游发行的第一年,一些人利用漏洞(秘密复制道具)可以在一个周末赚到几千美元,小团队甚至可以赚到七位数。在线纸牌的赌博游戏的玩家经常会用数据库追踪其他玩家的打牌水平,包括赢了几次,输了几次。然后他们利用这些信息寻找比战绩较弱的玩家对战,这样他们就能稳操胜券了。Cigital公司的安全研究员破解了一款在线扑克游戏的洗牌运算规则,可以预先知道发牌的顺序,进而可以预知所有玩家的输赢(见第二章)。

将虚拟转换为货币:从入侵到道具

要把MMO中的虚拟物品转变为现实的金钱是很容易的。我们在第三章中会说到,一些合法的贸易公司例如IGE对道具的来源采取熟视无睹的态度。这就意味着,只要获得道具,然后把它卖给中间人,就可以轻松通过MMO赚钱。
玩家也可以跳过中间人,直接彼此交易。很多传统的玩家都用eBay做交易,直到2007年eBay停止了一切虚拟道具的交易。玩家可以在拍卖网站拍卖游戏道具,先通过PayPal帐户收钱,然后在游戏里把道具交给买家的角色。当然,买家要谨慎。
利用软件漏洞入侵游戏,在游戏的地下经济中,这比游戏货币和虚拟道具更有价值。这种攻击行为可以编写成宏指令,然后卖给打钱农场或是其他想用宏来赚钱的人。用入侵游戏漏洞的方式赚钱简直就像自己印钱一样快捷。
1.3游戏也是软件
MMO是游戏,游戏也是软件,所有的软件都会有漏洞。正如本书所言,技术上的漏洞和设计上的缺陷都会被黑客利用来入侵游戏(见本书第五章)。攻击者的所有常见工具和技术都能用在MMO游戏上。我们在本书中记录的很多方法都是极其古老的,但是它们都有一个共同点,就是把MMO游戏当成一种软件程序。

基本游戏结构
大部分MMO的基本结构都一样。它们通过一个中心数据服务器(有时是多个)让玩家通过网络实时交互。玩家在自己的电脑上运行的软件叫做客户端。客户端软件有时需要购买,有时免费赠送。

图1-2是基本游戏结构图。
要让客户端能够和中心服务器正常通讯,大部分MMO都是一个请求-回馈的模型。

游戏客户端
游戏客户端是运行在玩家电脑上的软件程序。客户端接收到玩家的游戏输入,然后通过网络传输给服务器。客户端软件通常会显示出一个虚拟世界,包括场景,其他玩家、信息等等。

图1-3展示的是WoW的截图。这就是典型的客户端画面。

客户端状态
游戏中发生着各种事情,尤其是当成千上万的玩家实时发生互动的时候。游戏有一个中央服务引擎,接收所有玩家输入,并且随着时间更新游戏世界。就像所有电脑程序都有一个状态一样,游戏也有一个状态。系统的状态被定义为一个当前所有内存、所有二级存储、所有寄存器、以及系统其他组成部分的集合。
问题是,当前的网络不够快,无法让所有的游戏状态都存放在服务器端,并且同步迅速发送到所有客户端。为了解决这个问题,也为了让游戏更顺畅地运行,游戏设计师往往允许客户端保存和管理某些“不重要”的状态。

虽然让客户端来保存状态理由很充分,但是任何客户端上的状态都会带来严重的安全风险。如我们第二章所言,客户端状态是被攻击的首要目标之一。

另一个严重的安全问题跟时间有关。对分布式系统的一种高级攻击方式是利用状态的临界时间点。当一个系统是以与服务器通讯作为基础的时候,“竞态”(临界状态)条件和其他利用时间点的攻击都很有效。最常见的一种攻击WoW的方式就是利用服务器例行重启时产生的“竞态”条件。

和其他软件类似的功能

很多软件包含有客户端和服务器的持续的复杂交互。其中最重要的例子是国债之类的金融机构进行的在线拍卖,以及平常在eBay上进行的普通拍卖。在过去的几年里,分布式实时应用经受了苛刻的安全分析,并且为了降低风险而进行了扎实的重新设计。拍卖系统的构架师所学到的一些教训同样适用于MMO。
1.4入侵游戏
现在我们已经清楚入侵网络游戏的动机。虽然游戏可以带来大量金钱,游戏的传播也很广泛,游戏软件的设计却从未真正全面考虑过安全问题。不过幸运的是,一些游戏开发者已经注意到了这个问题,并且在设计自己的游戏时开始考虑安全问题。下面是“红客角”网站宗师级的游戏开发者Matt Pritchard提出的关于游戏的开发与安全方面的9条定律。

谁在入侵网络游戏?

入侵游戏的历史几乎和游戏本身存在的时间一样久远。随着20世纪90年代网络开始普及的同时,网络游戏首次出现了,与此同时,游戏黑客也崭露头角。第一批游戏程序员中有许多都是来自像麻省理工学院学生这样的电脑黑客,他们对游戏是怎样运行的很感兴趣。事实上,这些黑客创建了用来作弊的系统。
在维基百科网站中记载了在游戏《反恐精英》(Counter-Strike)中作弊的历史经典案例。这篇文章记录了一个自称Vasily的俄罗斯黑客(Vasily是著名的hook.dll程序的作者)和一个使用“XQZ”工具(并制作了“XQZII”的木马系列软件)的瑞典大学生。这两个人是第一批游戏入侵者的代表。

红客角 (破解与反破解交流沙龙)

宗师级游戏开发者Matt Pritchard写过一篇名为《如何反击黑客:深度挖掘网络入侵并与之对抗》的文章,在游戏网站gamasutra可以看到。在文章里,他提出9条关于网络入侵的定律,供游戏开发者参考。

TOP 其它信息

装  帧:平装

页  数:219

版  次:1版

开  本:16开

正文语种:中文

加载页面用时:90.361