欺骗的艺术

有一次,我与汉瑞(Henry)和他父亲坐在一家餐馆。谈话中,汉瑞责怪他父亲把信用卡号像电话号码一样随便泄露给别人。

“当然,买东西时必须使用信用卡号,”汉瑞说。“但是把你的卡号告诉一家商店,并让他们记录下来,那是非常不明智的。”
“我只在音像工作室这么做过,”康克林(Conklin)先生说,“但我每个月都会查看我的维萨卡记录,如果他们多收费用,我会知道的。”
“当然,”汉瑞说。“但他们一旦知道了你的卡号,别人就很容易弄到了。”
“你是指不怀好意的店员么?”
“不,我是指任何人,不仅仅是店员。”
“你在信口开河,”康克林先生说。
“我可以现在就打电话,让他们告诉我你的维萨卡号,”汉瑞立刻大声回应道。
“不,这不可能,”他父亲说。
“我可以在五分钟之内搞定这件事,就在你的面前,连桌子我都不会离开。”

康克林先生看起来有些紧张,他自己感觉到了这种紧张,但并不想让别人知道。“你根本就不知道你在说什么,”他急促地说,并掏出钱包拿出50美元甩到桌子上,“如果你能做到你说的话,这是你的了。”

“我不想要你的钱,爸爸。”汉瑞拿出手机,询问他父亲是哪一个音像店分店,然后打电话给查号台找到分店的电话号码以及谢尔曼橡树园(Sherman Oaks)分店的电话号码。接着,他打电话给谢尔曼?奥克分店,几乎用了跟上一个故事完全一样的方法,很快得到了经理的名字和分店的店号(译者注:如上文中提到的863分店)。然后,他打电话给登记着他父亲账户的分店,利用刚刚得到的名字和分店店号来假扮分店经理。接着使用相同的手法:“你们的计算机没出问题吧?我们这儿的计算机时好时坏。”听到了她的回答后他接着说,“嗯,是这样,我这儿有一位你们的客户想租一部片子,可我们的计算机现在坏掉了,我需要你帮忙查一下客户的账号以确定他就是你们店的客户。”

汉瑞给出他父亲的名字,使用了一个稍有不同的方法,他请求对方把账户信息读出来:地址、电话,开户日期,然后说:“嗨,是这样,我这儿有一大堆等着的客户,他的信用卡和有效期是多少?”汉瑞一支手在耳边拿着手机,另一支手在餐巾纸上写。打完电话,他把餐巾纸推到瞪着眼睛、张着嘴巴的父亲面前,可怜的父亲看上去完全震惊了,似乎他的信任系统已被完全颠覆。

过程分析

当某个不认识的人询问你某事时,想想自己是什么态度。如果一个衣衫褴褛的陌生人来到你门前,很可能你不会让他进去。如果是一位衣着得体、皮鞋明亮、发型完美,举止优雅并面带微笑的陌生人,你可能就会放松警觉。也许他就是现实生活中的占森(译者注:电影《十三号星期五》中的杀人狂)呢?但你仍然愿意相信他,只要他看起来正当,手里也没有握着餐刀。

米特尼克信箱

人们习惯的认为自己在任何特定的事务中不大可能走进骗局,否则至少也得有理由相信这是个骗局。大多数情况下,我们权衡风险,然后假定别人没有恶意。这就是有教养人的一般行为,至少那些没有被操纵、利用或被骗过一大笔钱的有教养的人这样认为。在儿时,我们的父母告诫我们不要相信陌生人,也许在当今的工作环境下,我们所有的人都就应谨记这个陈旧的规则。

工作中,人们总是会有各种各样的请求。你有这个人的电子邮件地址么?最新的客户名单在哪儿?谁是这个项目本部分的分包商?请发给我最新的计划更新。我需要新版本的源代码。有时,做出这些请求的人你并不直接认识,或是公司其他部门的人,或是他们自己说是其他部门的人。但如果他们提供的信息是正确的,并且看来熟悉公司内情(“玛丽安说……”、“这里是K16服务器”、“……新产计划第26次修订版”),我们便把信任圈扩大他们身上,轻率的满足了他们的请求。

当然,我们也许会有些困惑的问自己:“为什么这个达拉斯(Dallas)分厂的人想知道新的产品计划?”或是“说出服务器的名称会有害处么?”等等这类问题,如果答案看上去合情合理,对方的言行也比较可靠,我们便会放松警惕,恢复相信同事的习惯,并满足(有理由的)对方的请求。

绝不要认为攻击者只会把目标锁定到使用计算机的人身上,收发室的人也可能是目标。“能帮个忙么?把这个放到公司内部的邮袋。”收发室的人可不知道它是一张带有特殊程序的针对首席执行官秘书的软盘。这样,攻击者本人就拥有了首席执行官的邮件拷贝。不会吧?这事情真得会在企业中发生么?答案是,绝对可能。

一美分的手机

许多人都在寻找好的机会,不达目的不罢休。社会工程师不然,他们找到办法使机会变得更好。比如,某公司进行一项诱人的市场优惠活动,社会工程师就会想办法扩大他的利益。

不久以前,一家全国性的无线通讯公司发起了一个大规模的促销活动,只要你登记接受一种资费方式,便可以得到一部全新的手机,只收一美分。对于一个精明的消费者来说,在登记一种资费方式之前,有好多问题要问清楚。通讯服务是模拟还是数字的,或是两者结合?每个月的免费通话时间是多少?是否包含漫游费…… 等等,等等,尤其重要的是资费合同时限――你承诺的资费方式是多长时间,几个月还是几年?

想像一个这样的情景,一位费城(Philadelphia)的社会工程师被通讯公司提供的一款十分便宜的手机所打动,但他讨厌与其捆绑的资费方式。没什么大不了的,他也许使用下面的方法来解决此事……

第一个电话:泰德(Ted)

他首先打给位于西吉拉德(West Girard)的一家电器连锁店。

“电子商城,我是泰德。”
“嗨,泰德,我叫亚当。是这样,我在前几天晚上,跟你们的一个男销售员谈到一个手机,我说一旦决定了就给他打电话。可我忘了他的名字,你们值夜班的人是谁?”
“不只一位,是威廉么?”
“不知道,也许是吧。他长什么样?”
“高个子,瘦瘦的。”
“我想是他吧,他姓什么来着?”
“哈德利。哈-德-利(H–A–D–L–E-- Y.)”
“是的,是他。他什么时候上班?”
“我不知道他这星期的排班,但上夜班的人5点到。”
“好的,那我试试晚上找他。谢谢,泰德。”

第二个电话:凯蒂(Katie)

第二个电话打给位于北广街(North Broad Street)的连锁店。

“嗨,电器商城。我是凯蒂,需要帮忙么?”
“凯蒂,嗨!我是威廉?哈德利,西吉拉德店的。今天过得怎么样?”
“有点儿忙,什么事?”
“我有一位顾客想购买那个一美分的手机,你知道这个手机的资费捆绑吧?”
“是的,上星期我售出了一些。”
“你那儿还有这种资费捆绑的手机么?”
“还有一堆呢。”
“很好。我刚售出了一个这种手机的资费,顾客通过了信用记录(译者注:美国通讯公司会查询手机用户过去的使用记录,以确定用户是否具备享受某一资费方式的资格),我们也签了资费合同。我查了一下该死的存货记录,却没有这种手机了。这让我很难做,你能帮个忙么?我让他到你们店去买一美分的手机,你卖给他后开张发票。他买到手机后会给我打电话,然后我再告诉他怎么用。”
“好的,当然可以。让他来吧。”
“太好了,他叫泰德,泰德?岩西(Ted Yancy)。”

一个自称泰德?岩西的人来到北广街连锁店,凯蒂开了一张发票,把一美分的手机卖给他,完全依照她的“同事”交待给她的事情,从而彻底地掉入骗局。付钱时,这个顾客的钱包里一枚硬币也没有,于是他到收款台的零钱碟中拿了一枚,交给她完成登记。他甚至一分钱都没有花就得到了那部手机。
过程分析

人们会很自然地相信熟悉公司内部的业务流程和专业用语,并声称自己是公司同事的人。这个故事中的社会工程师就是利用了这一点,通过了解促销活动的细节,扮做公司的职员,并要求另一个分店人员的帮助。这种事情在各零售店之间以及一个公司的各部门之间经常发生,这是因为人们没有机会接触,天天与从未见过面的同事打交道。

入侵FBI

人们通常不住地去想他们的公司会在网站上提供什么资料。我在洛杉矶一个电台做每周一次的脱口秀节目,节目制作者在网上做了一次搜索,发现了一份访问国家犯罪信息中心(NCIC)的操作说明拷贝。不久他发现,真正的NCIC操作说明原件就在网上,这是一份相当敏感的文档,它记录着从FBI的国家犯罪记录数据库中提取信息的所有操作说明。对于执法部门,这份说明就是一本从国家数据库中提取犯罪记录和罪犯信息的格式和代码的操作手册。国家的所有执法部门都可以依据他们所属的权限从同一个数据库中查询有助于办案的信息,手册里包含了数据库中用来标明各种信息的代码,从各种各样的纹身到各式各样的轮船外壳,再到失窃纸币和债券的面额。

任何人接触到这本手册的人都可以在上面找出从国家数据库中查找信息的命令和语法规则,然后依据手册上的步骤指导,再加一点胆量,人人都可以从数据库中提取信息,而且手册还提供使用数据库系统的服务支持电话。也许你的公司也有这样的包含着产品代码或是查询敏感信息的代码手册。

FBI几乎肯定不知道如此敏感的资料暴露在网上,我想如果他们知道此事一定会很恼火的。一份拷贝是由俄勒冈州政府部门放到网上的,另一份是由得克萨斯州的执法机构传到网上。为什么?这都是因为,也许某人觉得这些信息可能没什么价值,放到网上也不会有什么害处。也许有人为了内部人员使用上的方便,而它放到内网上,却从未想到会被在网上使用搜索引擎(如Google)的人找到,包括仅仅是好奇的人、还有想当警察的人、黑客,以及有组织的犯罪团伙。

接入系统

利用这样的信息来欺骗有政府或企业背景的人,使用的准则是相同的:由于社会工程师知道如何访问特定的数据库或应用程序,或是知道公司的服务器名称等类似的事情,他因此具备可信性,这种可信导致信任。一旦社会工程师拥有了这样的代码,获得所需信息就十分简单。在这个例子中,他首先给当地的州警察局电讯室打电话,针对手册上的一个代码,提出问题。比如,犯罪代码。他可能这样说,“我在NCIC做犯罪记录查询时,碰到‘系统发生问题’的错误提示。你做记录查询时碰到过这种情况么?能帮我试一下么?”或者他会说正在查询WPF(警方用语,被通辑人的档案)。电话另一端,电讯室的工作人员就会意识到对方熟悉查询 NCIC数据库的操作程序和命令,除了受过训练的人,谁会知道这些操作程序呢?

工作人员确定她的系统运行正常后,谈话可能像这样进行:

“我可以帮点儿忙。你要查什么?”
“我要查瑞尔顿?马丁的犯罪记录,出生日期66年10月18日。”
“索什(SOSH,执行部门的人有时把社会保险号简称为索什)是多少?”
“700-14-7435。”
找到名单后,她可能这样说:“他的犯罪记录代码是2602。”

现在,攻击者只需到NCIC的网站上查一下这个号码的含义了――这个人有一桩诈骗的犯罪记录。

过程分析

一个出色的社会工程师一刻也不会停止思考闯入NCIC数据库的办法,往当地警察局打上一个电话,花言巧语一番让对方认为自己是内部人员,这就足以能够得到他所需的信息。下一次,他只需使用相同的借口往另一个警察局打电话就是了。为什么获得信息如此容易?
专业术语

索什:执法部门对社会保险号的简称。

你可能觉得奇怪,往州、县警察局,或是高速公路巡警处打电话不危险么?攻击者岂不是冒着很大的风险?

答案是“不”。由于某种原因,执法部门的人(比如军事部门),自从步入这个圈子的那一天起,就牢牢地记住对等级的尊重。社会工程师只要装扮成一名中士或中尉(比对方级别要高),对方就会被那句根深蒂固的训诫所支配――不要向职位、权力比你高的人提问。换句话来说,级别,享有特权,尤其是级别低的人不能对级别高的人提出置疑的特权。不要认为只有执法部门和军事部门才会看重级别的高低,社会工程师经常把企业中的等级特权做为他们对业务信息的攻击武器,一如本书中的故事中所做的示范。

预防措施

你的机构能采取哪些措施以降低社会工程师利用雇员相信他人的习惯来实施攻击的可能?下面提供一些建议:

保护你的客户

在当今的电子时代,许多销售公司都会把客户的信用卡信息存档。这是由于,在客户去商店或网站购物时,它省去了客户每次都要填写信用卡信息的麻烦。然而,这种习惯应该去除。如果你必须将信用卡号存档,则应采取加密或访问控制等相应的安全措施,工作人员需要培训以认清类似于本章中描述的社会工程师的诡计。只是通过电话但从未见过面的同事,可能不是她或他声称的那个人,他也许没有访问客户信息的知情权,因为,他可能根本就不在这个公司工作。

米特尼克信箱

人人都应了解社会工程师的惯用手段:尽可能的收集目标的所有信息,并利用这些信息获取信任,让对方认为自已是内部人员,然后便深入腹地。

有节制的给予信任

并不是只有那些有权访问到敏感信息的人,软件工程师、发展研究部门的人等等,需要得到防入侵的安全培训,几乎公司里的所有人员都需要安全培训以保护企业,防范商业间谍和信息窃贼。实施这项基础工作首先要在企业范围内做一项信息资产的调查,单独地审视每一项关键、敏感,或是有价值的信息资产,并提出问题,攻击者可能会使用什么样的社会工程手段来危及这些资产的安全。围绕这些问题,为有权访问信息资产的人制定出恰当的培训方案。任何没有见过面的人找你询问某些信息和资料,或是让你操作一下你的计算机时,每一个员工都应该问自己:如果我把这些信息透露给最坏的敌人,我或我的公司会因此而受到伤害么?我的确完全知道对方要求我做的计算机操作存在的潜在影响么?

我们并不想怀疑我们遇到的每一个陌生人,在怀疑中渡过人生。然而,我们越容易相信他人,我们就越容易被欺骗,从而把公司的私有信息泄露给下一个社会工程师。

内部网上有什么?

企业的内网也许有些内容会对外开放,剩下的只开放给员工。那你的公司是否确保了敏感信息不被放到不该放的地方?你的机构对内网上的敏感信息是否被放到网站公众访问区的最后一次检查是在什么时候?如果你的公司使用了代理服务器来增加企业的网络安全性,最近有没有进行检查以确保这些服务器做到正确的配置?

实际上,有人检查过你的内网安全性么?
当我们遇到头痛的事情时,如果有个经验丰富、技术高超的人来帮忙,我们一定会很感激。社会工程师了解这一点,并懂得如何利用它。他还知道如何制造一个麻烦,然后帮你解决以获得你的感激,最后利用你的感激之情来获取信息或得到你的一些小关照,这将把你的公司或是你个人置于不利的地步,而你可能永远不知道你已经遭受损失。下面是一些社会工程师“帮忙”的典型方法。
网络故障

日期/时间:2月12日星期一,15:25
地点:斯达伯德(Starboard)造船厂办公室

第一个电话:汤姆?狄雷(Tom Delay)

“簿记处,汤姆?狄雷。”
“嗨,汤姆,我是服务中心的艾迪?马丁(Eddie Martin)。我们正在检修计算机网络,你们部门有人在线时遇到问题了么?”
“嗯,据我所知没有人。”
“你这儿也没什么麻烦吧?”
“没有,还算正常。”
“好的,很好。是这样,我们正在给可能发生网络问题的人打电话,如果你的网络连接中断请立即告诉我们,这很重要。”
“听起来可不妙,你觉得它可能出问题么?”
“我们希望不会,但一旦有情况,请打电话好么?”
“这你放心。”
“是这样,如果你们的网络连接掉线,很可能是你这儿的问题……”
“那可没准儿。”
“所以我们会检修你这里的网络,我把我的手机号留给你,如果有需要你可以直接找到我。”
“太好了,请说。”
“555 867 5309。”
“555 867 5309,好了,谢谢。你叫什么来着?”
“艾迪。听着,还有一件事。我需要检测一下你的计算机连接端口,看一下你的计算机哪里贴着一个大概写着“端口号”字样的标签?”
“稍等,没有,我看不到有这样的东西。”
“好吧,这样,你再看计算机的后面,能找到网线么?”
“是的。”
“顺着线找到它的插头,看看它的插口上是否有一个标签。”
“稍等一下,再等等,我必须蹲下离近些才能看清楚。好的,上面写着6杠47(6-47)。”
“很好,那就是我们记录的端口号,只是为了确认一下。”

第二个电话:技术支持

两天后,一个电话打到该厂的网络管理中心。

“嗨,我是鲍勃(Bob),我现在簿记处汤姆?狄雷的办公室。我们正在检修网线故障,请你封掉6-47的端口。”

技术支持人员回答说很快就封掉,并说可以恢复的时候再通知他们。

第三个电话:敌人的帮助

一个小时后,一位自称艾迪?马丁的人在Circuit City购物时,他的手机响了。他发现是造船厂的号码,便迅速地转到一个安静的角落接听手机。

“服务中心,艾迪。”
“哦,嗨,艾迪。有事找你,你在哪儿?”
“我么,嗯,我在机房,你是?”
“我是汤姆?狄雷。伙计,很高兴能找到你。或许你还记得前两天给我打过电话吧?我的网络连接可能像你说的那样断掉了,我有点不知道怎么办。”
“是的,刚刚好几个人都说掉线了,我们在今天晚上会处理此事,好么?”
“不!见鬼!如果断线那么长时间,就要耽误事了。能尽量帮帮我么?”
“事情很紧?”
“我有事得赶紧弄,有没有可能在半个小时之内处理好?”
“半个小时?你也太着急了。嗯,这样,我放下手里的活,看看能不能帮你解决。”
“嗨,艾迪,真是谢谢你了。”

第四个电话:搞定

45分钟后……

“汤姆?我是艾迪,去看看你的网络连接。”
不一会儿:
“噢,好了,它好了,太棒了!”
“很好,很高兴为你解决了。”
“是啊,十分感谢!”
“听着,如果你不想让它再出毛病,要安装一个软件,几分钟就可以了。”
“可现在不太合适。”
“我理解,但如果下次网络连接再出毛病,这会让我们都省心的。”
“好吧,如果只需几分钟的话。”
“你照这样做……”

艾迪指导汤姆从一个网站下载一个小程序,下完之后,艾迪叫汤姆双击它。汤姆照做,但反馈说:“不行,什么反应都没有。”
“噢,真讨厌。程序一定有什么地方出错了,算了吧,我们可以下次再试。”接着他指导汤姆删除掉程序,以使其不能恢复。

整个过程花费时间,十二分钟
攻击者的故事

每当鲍比?华莱士(Bobby Wallace)接到这样的一项任务时总觉得很可笑,他的客户总是在为什么需要这种信息的问题上闪烁其词。这件案例中,他只想到两个原因:也许他们代表某个意图收购斯达伯德造船厂的组织,因而想知道造船厂真正的财务现状,尤其是被收购方想对潜在购买者刻意隐瞒的东西。或者,他们代表投资方,认为他们的资金在使用上有些可疑,并想知道是否有些管理人员私自开设了小金库。

也许他的客户并不想让他知道真正的原因,因为如果鲍比知道了那些信息的价值,他可能会索要更多的酬金。

有许多破解企业最机密文档的方法,鲍比在制定计划前花了几天时间做选择并进行了小小的测试。他决定使用一个称为“接近”的他尤其喜欢的方法,让对方自己落入圈套,他会自动请求攻击者的帮助。

首先,鲍比花39.95美元在便利店买了一部手机,然后打电话给那个他选做目标的人,冒充公司服务中心的人哄骗对方在网络连接出问题时给他打电话。为了使事情看上去不那么明显,他故意等了两天才给网络管理中心(NOC)打电话。他声称在为汤姆(他的目标)检修网络问题,并要求NOC把网络连接禁止掉,鲍比知道这是整个计划中最棘手的部分。在许多企业,服务中心与NOC有着紧密的工作关系,实际上他知道服务中心通常就是IT部门的一个分部。但NOC接电话的人懒得问那个解决网络问题的服务中心人的名字,并同意禁止掉对方要求的网络端口。这一切搞定之后,汤姆就被完全的从企业内网上隔离了,不能从服务器上检索文件,也不能与同事交换文件、下载邮件,或甚至不能把数据传到打印机。在当今的世界,这如同居住在一个洞穴中。

正如鲍比所预想的,他的手机很快就响了。当然,他尽量使自己听上去十分愿意帮助这个不幸的同事,然后给NOC接电话把网络连接恢复。最后,他打给汤姆再次控制了他,这一次由于帮他解决了问题,令对方心存感激,于是汤姆同意下载一个软件到他的计算机上。当然,他同意下载的软件并不是鲍比所说的那样,是为了防止网络连接的再次中断,它实际上是一个特洛伊木马,一个用来对付汤姆的计算机的应用程序(特洛伊是一种原始的把敌人带到对方内部的欺骗方法)。汤姆回复说双击程序后没有任何反应,这是故意让他看不到发生任何事情的,实际上这个小巧的应用程序正在安装一个允许渗透者悄悄访问汤姆计算机的秘密软件。利用这个软件,鲍比可以完全的控制汤姆的计算机,这称为远程命令行解释器。当鲍比访问汤姆的计算机时,他可以查找他感兴趣的财务文件并拷贝下来,然后,在方便时检查它们是否包含他的客户寻求的信息。

专业术语

特洛伊木马:一种包含恶意或会造成危害的代码,用来损坏受害者的计算机或文件,或是从受害者的计算机和网络上获取信息。某些特洛伊木马会隐藏在操作系统中暗中监视击键或操作,或者通过网络连接来执行一些入侵命令,而这一切是在受害者意识不到的情况下进行的。这还不是全部,入侵者还可以在任何时候回到这台计算机上搜索电子邮件和私人备忘录,并对可能揭示出敏感信息的词进行文本查找。

在哄骗目标安装了特洛伊木马程序的当晚,鲍比就把手机扔到了垃圾桶里。当然,在扔之前他首先小心的删除了通话记录并拔出了电池。这是他最后要做的事情,让人再也拨不通这个电话号码。

过程分析

攻击者设计一个圈套来使对方认为自己的计算机存在问题,实际上,根本没有。或者,问题还未发生,但攻击者知道它会的,因为他将使之发生,然后他再假扮解决问题的人。这次攻击中的程序安装对于攻击者来说更是奖赏,他事先埋下了伏笔,当目标发现问题时,会自动打电话恳求帮助。攻击者只需坐在那儿等电话响就是了,可以把这次攻击看做是一次反向的社会工程学――攻击者迅速获得了信任,从而使目标主动打电话给他。如果你打电话给某个你认为是服务中心的人,你会要求对方证明自己的身份吗?这就是攻击者想制造的效果。

专业术语

远程命令行解释器:接受文本命令来执行某种功能或运行程序的非图形操作界面。通过利用漏洞或在目标计算机上安装木马,攻击者可以获得对命令行解释器的远程访问权。

反向社会工程学:攻击者设计的一种情形,受骗者碰到问题时会联系攻击者求助。另一种反向社会工程学是对付攻击者的,被攻击目标发现了对方是攻击者后,利用心理影响尽可能的从攻击者身上套出信息以保护企业的信息资产。

米特尼克信箱

如果某个陌生人帮了你的忙,然后要你帮他,不要不经过慎重考虑就回报他的帮助,要看对方要你做的是什么。在类似上面的这个骗局中,社会工程师找了一个计算机知识很少的人。他知道的越多,就越可能产生怀疑,或越能断定是被骗了。计算机白痴――对计算机操作和知识了解很少的人,则很容易遵从你的指示。他太容易掉入“只需下一个小程序”这样的陷井了,因为他对一个软件程序可能造成的损害一无所知。而且,他很可能不知道他冒着风险放到网络上的信息的价值。

能不能提供个打包好的?

去搜索英文原版看得好