许多人都倡导所谓的“发散性的思维”。发散性的思维,是指其具备丰富的联想和想象,思维跨度大、跳跃性大、信息处理量大、穿透力强、活跃、持久,能够将一般人不容易联系在一起的事物合理地联系在一起。的确,发散性的思维是一切创造力的重要泉源,也是黑客必须具备的品质。
然而,当我们经过一番发散性的思维,再回到问题面前来的时候,就必须由极度的发散转为极度的收敛,如同火力再猛的导弹必须精准地击中目标才算是完成任务,否则火力再强大、功能再花哨也没有意义。也就是说,必须精准地就这个问题的本身,给予它所需要的解答,必须完全符合问题所设置的条件,而不能在无关的事情上浪费精力。
在黑客切入计算机系统缺口的时候,这种缺口的宽度是极小的(而且越小越好),而切入、操作并退出的时间是极短的(而且越短越好)。黑客在此之前所做的大量的思考性工作,或许要花上比较长的时间,而且思维是发散的。但是,一旦进入切入计算机系统缺口的实施阶段,动作就必须非常迅捷、干净、彻底、并且幅度极小,所谓“厚积而薄发”。在进入系统之后,任何繁复、冗余、画蛇添足的工作,都会留下黑客个人特征的痕迹,从而容易导致他最终被暴露。
比如在我用2B铅笔把答题卡上那条“斑马”涂成“黑马”的事件中,我动了许多脑筋来思考,但是在下手实践的时候,动作是极快的。如果我那时,慢慢吞吞地、又涂又擦又描的、还左顾右盼、或磨磨蹭蹭或孤芳自赏、喜形于色的话,那么,就容易引起监考老师的疑惑,那么,我的白日梦,很可能还没有被验证(这是我的目的),就胎死腹中了。
黑客也是如此,其实我们面对生活中的许多事情,皆应该如此。在高考的竞赛场上,尤其应该如此。从复习、模拟测试到最终在高考考场上的应试发挥,都应该特别注意“审题”,以及根据审题所得到的基础性结论进行精准、充分、命中得分点的解答。
回到你的例子上。从你的回答所提供的信息看来,你的思维是具备发散性品质的,但是,在思维的收敛和专注度上,还需要有针对性的强制性操练。 ——这或许就是,你总觉得英语的阅读理解试题,对于你来说简单得就跟“玩”一样,但经常“玩不对”的原因之一吧。
这种把问题“答偏”的现象,我给他起名叫“偏差”。在作文题应试时,这种“偏差”就是所谓的“跑题”;在我们日常生活中与人交流时,这种“偏差”,就是所谓的“所答非所问”。
在计算机系统中,这种“偏差”是十分常见的。
比如说,程序员(编写、制作计算机软件的工作人员)在接到一个项目任务之后,动了很多脑筋,然后到落笔(敲键盘)编写的阶段,就很可能都分不清(或记不清)哪些是需要的,哪些是不需要的,哪些是符合要求的,哪些是不符合要求的了。尤其是当他们的上级催促得比较紧的时候,程序员脑袋外面是一层臭汗,脑袋里面是一团浆糊,把所有能想到的东西,都一股脑儿地写进程序代码里,反正大差不差地,赶快交了差了事。这就是我们经常使用的软件,为什么会有那么多“补丁”(用以修正和弥补之前造成的“偏差”的),而且补丁越来越多,最后自然是补丁落补丁。
那么,这些偏差在没有得到修正与弥补之前,就成为了计算机系统的安全性方面的漏洞。黑客一旦掌握了切入漏洞的方法,就可以进入该计算机系统的内部了。
上面提到了“偏差”的一些例子,以及这些“偏差”产生的原因。我们要注意的是,在不同场合和处境中,“偏差”的产生原因,是大相径庭,甚至千差万别的。
我们仔细回顾一下,你在前6个问题的回答上,都符合了要求,为什么到了第7个问题,就发生偏差了呢?
或许,是因为答题疲劳。疲劳是产生偏差的主要原因之一。
或许(以下均是假设,并非定论),是“毒品”这个话题,属于比较“敏感”的问题,尤其在你的回答里面,涉及到了关于你的家庭条件、生活背景方面的东西。也就是说,你在思考这个问题的时候,心态上发生了微妙的变化。这种变化让你的思维进一步发散,但没有及时收敛,在最后的回答上,没有命中目标,脱离了问题所要求的范围,所谓“焦点脱失” ——这个过程,我称之为“抖动”。
在日常生活中,当我们向他人提及一些问题的时候,如果触及到对方难以坦然应对的事情(比如问及隐私,质问有可能以谎言来回答的问题),就会发生这种“抖动”,具体表现为:慌张、回答延迟、说模棱两可或前后矛盾的话、出汗、咂嘴、舔唇、神态或面色改变、眼神改变、肢体语言异常(如手不知道怎么摆了、踱步、姿势不自然)、迟钝(有可能发生了内在的矛盾性焦虑)等等……
黑客必须密切关注他的目标的“抖动”情况。在计算机系统中,“抖动”也是很常见的。比如说,如果程序员(人方面)的编程进度(快慢、节奏)发生了异常,那么就暗示了程序员可能遇到了一些棘手或难以解决的问题;如果计算机(机器方面)对输入的信息应答迟缓甚至停滞,则暗示了程序内部很可能遇到了问题。
在刑事案件的调查中,警察或检察官对犯罪嫌疑人的审讯,就是以发掘后者的“抖动”为重要突破口的。
在财务稽核中,账目款项的“抖动”,可能揭示出非法的资本流动(如非法的拆借、抽逃)。
在地球科学中,地磁指数的“抖动”,能够(间接地)反映出地壳的活动状况,尤其是指数如果呈高阶导数级的下滑,就预示着可能有重大地震会发生(奇怪的是,在某些特大地震前夕,有人居然对它视而不见)。
对于一些生物,比如青蛙,感知猎物的“抖动”是它们捕食维生所赖之道。
对大气“抖动”的观测,让我们知道,我们在炎炎夏日里可以盼来一阵降温的豪雨,或是可以逃避一场夺命的洪水。
如果你在医院做超声波检查的时候,发现医生的表情、握着探头的手发生了“抖动”,那么预示着你的内脏可能有一些不妙的事情。
如果你在家里,发现卫生间墙壁上的一块瓷砖发生了“抖动”,那么有可能是埋在墙里面的水管漏水了。
如果CCTV的《新闻联播》发生“抖动”—— 播音员在节目一开始就告诉大家:“今天的新闻联播需要NNN分钟”,那么,(……)
而在黑客领域,黑客也是通过对计算机使用者(包括开发者、程序员、终端用户)以及计算机软件系统的“抖动”的细致和耐心的观察,找到切入系统的线索。
总结一下,上面的关键点:
(1)黑客学习者不仅要培养发散性思维,也要培养注意力集中的思维品质。在下手实践时,要努力做到专注、收敛、集中、干净利落、不拖泥带水。
(2)许多因素,都会造成目标(人或机器)处理事务时发生“偏差”。
(3)反过来说,发生“偏差”的原因,有可能是因为目标发生了“抖动”。
(4)“抖动”是黑客必须关心的,切入计算机系统的重要线索。
接下来,根据你的计算机等相关专业知识和技能的背景,谈谈你在这方面的学习计划。
在初级阶段,有几个必需的要点:
(1)熟悉并掌握有关计算机系统基本结构的知识。
(2)熟悉并掌握一门关乎计算机底层(内在的东西)的编程语言。
对于第(1)点,你已经去维基了相关知识,比如UNIX、GNU、Linux,这很好。必须要有主动自发的自学热情。自学是黑客必需的基本素养。
对于第(2)点,C语言是不可或缺的。
但是学习C语言并非易事。市场上的教材五花八门、良莠不齐。选书是有方法的:不妨仔细地阅览一下豆瓣、China-Pub、亚马逊等等网站上的评价(留意作者、编者、译者、甚至是作序者、版次、刷数、出版社、系列图书的出品机构)。现在向你推荐一本:《C程序设计语言(第2版新版)》
这本书的作者之一是C语言之父,世界顶级大黑客,但他已辞世,本书绝唱耳。
最后,为你布置作业(不交作业就没有第二课),如下:
请你谈谈,对上面我所讲到的“发散性思维”、“收敛”、“偏差”、“抖动”这四个概念的理解或看法。
恭祝平安!