1.2 了解社会工程学

凯文·米特尼克(Kevin Mitnick)出版的《欺骗的艺术》(The Art of Deception)堪称社会工程学图书中的经典。书中详细地描述了许多运用社会工程学入侵网络的方法,这些方法并不需要太多的技术基础,但可怕的是,一旦懂得如何利用人的弱点如轻信、健忘、胆小、贪便宜等,就可以轻易地潜入防护最严密的网络系统。他曾经在很小的时候就能够把这一天赋发挥到极致。他能像变魔术一样,不知不觉地进入包括美国国防部、IBM等几乎不可能潜入的网络系统,并获取管理员特权。

1.2.1 什么是社会工程学

社会工程学是一种与普通的欺骗和诈骗不同层次的手法,它是通过搜集针对对方实际情况的大量信息,进行心理战术的一种手法。社会工程学尤其复杂,即使自认为最警惕、最小心的人,一样会被高明的社会工程学手段损害利益。

社会工程学陷阱就是通常以交谈、欺骗、假冒或口语等方式,从合法用户那里套取用户系统的秘密。从人性及心理的角度来说,社会工程学往往是一种利用人性弱点、贪婪等的心理表现进行攻击的方法,令人防不胜防。

总体来说,社会工程学并不单纯是一种控制意志的途径,学习与运用这门学问一点也不容易,其中蕴含着各式各样的灵活的构思与变化着的因素。无论任何时候,在需要套取到所需要的信息之前,社会工程学的实施者都必须掌握大量的相关基础知识、花时间去收集资料、进行必要的沟通等。

熟练的社会工程学精通者都是擅长进行信息收集的身体力行者,很多表面上看起来一点用都没有的信息都会被这些人利用起来进行渗透。例如,一个电话号码、一个人的名字,或者工作的ID号码,都可能会被社会工程学精通者所利用。任何细微的信息都可能会被社会工程学精通者当成“补给资料”来运用,使其得到其他的信息。

社会工程学定位在计算机信息安全工作链路的一个最脆弱的环节上。我们经常讲,最安全的计算机就是拔去了插头(网络接口)。而社会工程学精通者就会去说服使用者,如服务器管理人员,把一台非正常工作状态下的、容易受到攻击的有漏洞的机器连上网络并启动提供日常的服务,如图1-2-1所示。

图1-2-1 渗透拓扑结构示意图

由于安全产品的技术越来越完善,使用这些技术的人,就成为整个环节上最为脆弱的部分。而社会工程学精通者通过信息搜索与社交方式直接索取密码,使得入侵渗透更加容易。因此可以说,网络管理人员的素质高低,极大地制约了整个网络的安全程度,这让利用社会工程学攻击的黑客有了可乘之机。

1.2.2 常见社会工程学手段

现代的网络纷繁复杂,病毒、木马、垃圾邮件接踵而至,给网络安全带来了很大的冲击。同时,利用社会工程学的攻击手段日趋成熟,其技术含量也越来越高。社会工程学攻击在实施之前必须掌握心理学、人际关系、行为学等知识与技能,以便收集和掌握实施入侵行为所需要的资料和信息。下面揭露几种常见的社会工程学手段。

1.环境渗透

对特定的环境进行渗透,是社会工程学为了获得所需的情报或敏感信息经常采用的手段之一。社会工程学攻击者通过观察目标对电子邮件的响应速度、重视程度及可能提供的相关资料,如一个人的姓名、生日、ID电话号码、管理员的IP地址、邮箱等,通过这些收集信息来判断目标的网络构架或系统密码的大致内容,从而获取情报。

2.说服

说服是对信息安全危害较大的一种社会工程学攻击方法,它要求目标内部人员与攻击者达成某种一致,为攻击提供各种便利条件。如果目标内部人员已经心存不满甚至有了报复的念头,那么配和就很容易达成,他甚至会成为攻击者的助手,帮助攻击者获得意想不到的情报或数据。

3.恭维

高明的黑客精通心理学、人际关系学、行为学等社会工程学方面的知识与技能,善于利用人类的本能反应、好奇心、盲目信任、贪婪等人性弱点设置陷阱,实施欺骗,控制他人意志为己服务。他们通常十分友善,很讲究说话的艺术,知道如何借助机会均等去迎合人,投其所好,使多数人友善地做出回应,乐意与他们继续合作。

4.引诱

通常黑客早已设好圈套,利用人们疏于防范的心理引诱用户。例如,网上冲浪经常碰到中奖、免费赠送等内容的邮件或网页,诱惑用户进入该页面运行下载程序,或要求填写账户和口令以便“验证”身份。

5.伪装

目前流行的网络钓鱼事件及更早以前的求职信病毒、圣诞节贺卡,都是利用电子邮件和伪造的Web站点来进行诈骗活动的。

6.恐吓

社会工程学精通者常常利用人们对安全、漏洞、病毒、木马、黑客等内容的敏感性,以权威机构的身份出现,散布安全警告、系统风险之类的信息,使用危言耸听的伎俩恐吓欺骗计算机用户,并声称如果不按照他们的要求去做,会造成非常严重的危害或损失。

7.反向社会工程学

反向社会工程学是指攻击者通过技术或者非技术的手段给网络或者计算机应用制造“问题”,使其公司员工深信,诱使工作人员或网络管理人员透露或者泄露攻击者需要获取的信息。

1.2.3 如何利用社会工程学攻击

不可否认,社会工程学与生活的相关事物存在共通性,如社交、商业、交易等都能看到社会工程学部分的影子,然而人们无法感觉。即使计算机与Internet相隔,配备高级入侵监测系统以及专家人物进行维护。但不可忽视的是:每个人,都有弱点!而社会工程学精通者不但善用人们的这种弱点为他们服务,更危险的是这种稍闪即逝的入侵难以察觉。

下面揭露黑客是如何利用社会工程学进行攻击的。

1.善用你身边的信息

黑客尽量利用现有所知道的信息,此类信息是指规章、制度、方法、约定。规章是指一个行业的规章或内部约定。例如,服务行业通常有这样和那样的内部约定,他们要尽量了解各行各业之间的此类信息,这类信息将能够帮助他们实施入侵。

2.了解业内术语

假设他们要冒充银行业务员,就必须要知道一些压缩贷款、反担保、关联企业……一些术语,否则当他们试图拨通一个分行经理的电话,经理就会警觉,进而发现他们的攻击行为,由此可见术语的重要性。假设他们的目标是一个做数据恢复的企业,他们可以去买一本关于数据恢复的书,熟悉一些术语的概念。

3.学习侦探的伪装

在他们获取目标部分信息之后,必须通过对话得到更加敏感的信息。他们不可能直接让对方发现,所以他们首先需要完成身份的伪装。假设他们的目标是某电器分行的销售部,那么最好伪装成另一分行的销售人员,而且知晓那个公司内部的销售术语,或再带一份分行销售报告书,这样对方一定不会怀疑他们不是内部人员的。

4.利用人性的弱点

可以说,此部分是社会工程学重要的部分,攻击者利用人们的信任和同情心使你上当。那么,他们怎样去发现这类弱点呢?很简单,他们只要精心构造一个问题,冒称是你的同事,设计一个帮助你解决问题的方式,那么,你就会信任他们了,他们会更轻松地获得想要的信息,而且更不容易被发现。

5.组织信息,构造陷阱

假设他们通过目标的同事掌握了信息,如目标的真实姓名、联系方式、作休时间等。这还不够,高明的社会工程学精通者会把前前后后的信息进行组织、归类、筛选,以构造精心准备的陷阱,这样可使目标自行掉入陷阱。

例如,一个黑客,他盗取了这个论坛的库(数据库),也许他的目标就是你,将其论坛加密的密码进行破解,那么你的密码就已经泄露了,这并不重要!通常社会工程学精通者拿到一个密码之后会先测试一下你的邮箱密码是不是通用的,如果被确认为是通用的,那么就会盗取你的更多信息。

6.反查技术

反查技术即反侦查技术。在黑客攻击中,最重要的一部分不是成功侵入主机,而是清除痕迹,不让管理者发现被侵入及数据被伪造。同理,社会工程学也有这样的概念。