第4章

小说:入侵的艺术(the art of intrusion中文版)作者:[美]凯文·米特尼克字数:3515更新时间 : 2017-07-31 13:59:59

最新网址:www.llskw.org
我们 决定不再重复他们的错误。”认为攻击一个以计算机运行为基础的游戏系统应该要容 易一些。“因为计算机运行的数据是完全确定的”--输出的结果 必须以输入为基础,或换句老一代软件程序员的话来说:“进去的 是正确的数据,出来的就是正确的数据。”(最初人们用怀疑的眼 光看待计算机运行,造了一个俗语“进去的是垃圾,出来的也是 垃圾”.)这一切正中他们的下怀。Alex年轻时,曾是个音乐家,参加 过流行乐队,梦想成为一名摇滚明星。但那个梦想落空了,转而开 始学习数学。他有数学天赋,虽然对自己的学业从不关心(大学时 辍学了),但他的所学已经为他当黑客打下坚实的基础。他决定先 做些调查,因此去了华盛顿特区,在专利局的阅览室呆了一段时间, “我猜准有些人会笨得将所有视频扑克游戏机的程序代码放在专 利局。”显然,他猜对了。“那个年代将目标代码转储在专利局, 让专利局办事员保管是维护个人发明创造成果的正常途径,因此代 码里肯定有对成果十分详尽的描述。但这个成果的使用界面不会十 分友好。我将成果的目标代码拍成缩微胶片,并对书页上我所感兴 趣的所有用十六进制描述的程序段进行了扫描。然而这些内容却必 须反汇编成方便解读的程序段。”分析代码的过程中,这些家伙发现了其中的一些秘密,这激起 了他们的极大兴趣。他们认为唯一能取得实质性进展的办法就是去 弄一台与他们所要攻击的型号一致的机器,那样的话就可以仔细研究那些代码了。
    
    作为一个团队,这些家伙简直是绝配。Mike是一个极其优秀 的程序员。而且在硬件设计方面比其他三个人更厉害。Macro也是 一个了不起的程序员,他是东欧移民,看上去像一个十几岁的小伙 子。但他有点冒失,将任何事情都看作小菜一碟。Alex在编程方 面是个能手,同时对他们需要的加密技术也很了解。Larry不是太 擅长编程,而且因为一次摩托车事故导致他的行动不怎么方便,但 他是一个十分能干的组织者,他组织所有工作走上了日程轨道。队 里的每一个成员在每个阶段都集中精力完成自己的任务。
    
    初步的研究完成之后,Alex差不多把购买老虎机这个事情给 忘了。但Marco -直对这项计划念念不忘。他一直要求坚持做下 去:“这也没什么大不了,有十三个州允许个人购买这种机器。” 后来他成功说服其他人试一试。“我们想了一下,觉得没有什么关 系,就大伙一起凑一笔钱,准备再到维城跑一趟,并买一台这样 的机器。”于是他们再次聚首维城。这次来花的是自己的钱,而且心中也另有打算。
    
    说道:“要想买老虎机的话,你得首先向他们出示身份 证,以核实自己所在的州是否允许个人合法拥有老虎机,而且还要 出示驾驶证,以检查所发放的州是否也允许此举。其实他们问的问 题真的不多。”他们当中有人与一位内华达居民有着亲密的关系。 “他似乎是某个家伙的女朋友的叔叔或其他什么亲戚,而且他就住 在维城。”他们推荐Mike与这位先生去谈,因为“他的言行举止具有推 销员的风度。而且长得也很体面。对这种产品,人们通常会认为我 们购买这种产品是为了非法聚众赌博。这就像买枪支一样,非常容 易走火,” Alex解释道。许多这种机器都是在非正常渠道--黑 市进行交易的。交易的地点通常有社交俱乐部等。更另我们大吃一 惊的是:“我们可以买到与赌场一模一样的产品花1500美元买下了一台机器,是日本产的。”然后我们 两个就将这些该死的东西放车的后座上,然后我载着它回家,仿佛 是载着一个婴儿。“黑客技术日趋成熟、Alex和Macro将机器搬到房子二楼的空卧室里。这种 刺激的经历让Alex久久不能忘怀,并将它视为生活中最令人兴奋 的一件事情。
    
    我们打开机箱,取出ROM(只读存储器),并想知道它用的是 什么处理器。我决定将这个日本产的机器改装成为非品牌产品。我 猜想那些工程师现在也许工作压力更大了,他们过去有些懒惰和马 虎。事实证明了我们的猜测。这台老虎机用了一片6 809,与苹果 二型或Atari用的一样的6 502芯片。这是一个8位芯片,有64K 的存储空间。我是一个汇编程序员,因此对这一切都十分熟悉。
    
    选中的是一台已经在市面上出现了 10年之久的机器。当赌场想要购买新型机器时,要经过拉斯维加斯博彩委员会的同意。 同意之前,委员会必须对机器的程序进行仔细研究,保证游戏机对 所有的玩家都是公平的。让一个新款机器设计通过审核将是一个冗 长的过程,因此赌场机器的使用年限通常比预期的要长。对黑客人 员来说,旧机器就意味着过时的技术,这样,他们攻击赌场系统就 不会很复杂,反而会相当容易。
    
    他们从芯片上下载的计算机代码是二进制的机器代码形式。0 和1的字符串是计算机指令系统的最基本表示形式。为了将这些代 码转换成方便阅读的形式,首先他们得做一项逆向工程(r^erse engineering)--程序员用来了解机器是如何设计的过程,也就是说 他们得将机器语言转换成他们容易操作和解读的形式,以便理解。 Alex需要一个反汇编程序(disassembler)来转换这些代码。他们 为了解决这个问题,把目光瞄准了软件--这种行为无异于去图书 馆找书,仿照书里所描述的方法去造炸弹。这些家伙开发了自己的 编译器,Alex描述他们的工作”不是轻而易举的,但有趣而且相 对较为简单。“当视频扑克游戏机的代码通过新的反汇编软件反汇编之后,这 三个程序员就坐下来开始仔细地审读这些相对容易理解的汇编程 序。通常,对于那些娴熟的程序员而言,在程序里找到他们所需要 的程序段是比较容易的。因为编程的时候,通常要标明所旮的”路 标“--注释、标记等,这些都会将特定的程序段解释清楚,这些 有点像书的篇章结构,有章题、节题,章节里面又有小标题。
    
    通常来讲,当人们编写的程序被编译成所需的机器代码后,这 些”路标“都被忽略了。因为计算机或微处理器根本不需要这些注 释。所以通过逆向工程所反汇编回来的那些程序根本不包含任何注 释。为了与前文的比喻”路标“保持一致,这些反汇编过来的代码 就像一张光秃秃的地图,而上面没有地名,没有高速公路和街道的 标志他们在屏幕上仔细查看代码,搜寻所有的蛛丝马迹,希望能得 到这些最基本的答案:”这些是以什么逻辑编排的?扑克牌是怎么洗牌的?那张被替换的牌是如何抽出来的? “这些问题的共同之处 让他们将目光锁定到了随机数的生成器上。Alex猜到程序员编写 这些机器代码时也许会因偷懒而走捷径,因此他们设计的随机数产 生的程序应该有后门可寻。这个猜测后来有被证明是对的,他们找 到了后门。
    
    重写代码在讲述自己的杰作时颇为得意:”我们是程序员,对自 己的东西了如指掌,我们明白代码中的数字如何对应机器中的扑克 牌,然后我们就重写了一段C语言代码,与该型号机器完成同样 的事情“,他说道。他们是使用C语言编写的程序。
    
    我们的兴趣被强烈地激发起来,我们夜以继日地赶工。我敢说 在两三个礼拜的时间里,我们就找到并掌握了代码运行的机理。
    
    你看到它,从而做出一些推测,再写出一些新的代码,将它写 到只读存储器(计算机芯片)中去,再将它放入到机器中,然后等着 看会发生什么事情。我们可以做一些诸如编写程序的试验,这些程 序能在计算机屏幕上的扑克牌背面显示十六进制数字。所以我们基 本上得到一些如何处理扑克牌的设计规则。
    
    我们使用了试错法和自上而下分析相结合的办法,这样就很容 易理顺程序所表示的意义。所以我们也就彻底搞清楚了机器内部的 数字是如何与屏幕上的扑克牌关联在一起的。
    
    我们希望程序里的随机数的产生能够简单一些。在20世纪90 年代初,情况的确如此。我稍微研究了 一下,发现这些程序基于 Donald Kunth早在60年代所提出的一种方法。这些家伙没有一点 自己的创新,他们仅仅是将别人现有的成果套上Monte carlo方法, 然后就填入了自己的代码。
    
    我们猜得对极了,他们就是用这种算法来发牌的,这就是所谓 的”线性反馈移位寄存器“,这是产生随机数的一种比较好的算法。
    
    但他们随即发现这个随机数生成算法有个致命的漏洞,这样使 得他们的工作更加简单了。Mike解释说这是一个相对简单的32位 随机数字生成器,所以攻击其他系统程序的计算复杂度也在可接受 的范围之内了。

  请记住本书首发域名:www.llskw.org。来奇网电子书手机版阅读网址:m.llskw.org

相关推荐: 快穿:钓系美人把偏执大佬撩哭了!听懂毛绒绒心声后,我被官方盯上了女帝跨界求购,我的保险太香了八零养崽,火辣后妈被硬汉宠成心肝你们这是什么群呀从庆余年开始倒反天罡大爱诸天从黄药师开始我,SSS级异能者,被女总裁当成服务生!八零:误撩病娇疯批,白月光她不干了大学生就业指南:身为摆渡人我又莽又怂

如果您是相关电子书的版权方或作者,请发邮件,我们会尽快处理您的反馈。

来奇网电子书版权所有-