从智能家居设备到工业控制系统再到电子政务,人们越来越依赖信息技术系统,同时对这些系统安全性的重视程度也在不断提高。但近年来,人们保障网络安全往往聚焦在改善相关技术,而忽视或至少没有充分关注到网络安全中“人为”的因素。其中有多种因素,但最主要的原因是人们认为信息技术是一个技术领域,那么信息安全(以及隐含的网络安全)也会是一个技术问题。事实上,任何尝试剖析网络安全问题的尝试,如果忽视了人类作为用户、开发人员、管理员和系统维护者是信息技术的核心,那么系统势必会产生严重的缺陷。本篇文章对社会工程的概念内涵、著名社会工程攻击事件、社会工程攻击和防御策略进行深入分析。

一、社会工程的定义

“社会工程”主要在信息安全和政治科学的话语体系下使用在信息安全中,社会工程描述了一种现象,即人们受到影响而采取特定行动,这可能(而且往往)损害他们自己的利益。在政治学领域,该词的含义与信息安全相似,但涉及范围更广,将影响范围扩大到“群众”。

目前,社会工程最主流的定义是Harl于1997年Access All Areas III会议上提出,让别人按照你的预期和计划行动的艺术和科学。克里斯托弗·海德纳吉(Christopher Hadnagy)在《社会工程:安全体系中的人性漏洞》英文版的第一页中提出“社会工程是操纵一个人采取可能符合或不符合其目标最佳利益行动的行为”。SANS网络安全研究所将社会工程定义为“用于描述攻击信息系统的非技术手段的委婉说法,如谎言、欺骗、贿赂、勒索和威胁”。这些定义中完全没有提及计算机甚至其他计算设备。事实上,如果分析社会工程的策略,可以发现它们完全不依赖计算机信息系统。但另一方面,如果专门将信息技术系统排除在社会工程之外则会错过关键要素,比如网络钓鱼攻击。正如Evans在《信息技术社会工程:社会工程的学术定义和研究——分析人类防火墙》中所提,“社会工程总是心理的,有时是技术的”。因此,本文将更多地关注在科学技术背景下研究社会工程的结构化方法,将社会工程定义为利用对方心理弱点,综合利用技术手段诱骗对方来获得自身利益。

二、社会工程简史

为了证明社会工程带来真正的威胁来自不道德使用技术而非技术本身,本节将研究社会工程史上的一些重要里程碑事件。这一部分将包括社会工程在计算机技术出现之前的重要用途和计算机技术出现之后的“现代”事件。

(一)信息化时代以前的社会工程实践

1. 特洛伊木马

特洛伊木马故事是人类历史上最早记录的社会工程事件之一。这个故事来源维吉尔的一首史诗《埃涅阿斯纪》,描述了希腊人围攻特洛伊城最后阶段的事件。希腊人在城门口待了十年后,建造了一匹大木马,并将其作为“礼物”留在特洛伊城,同时扬长而去。在故事中,部分希腊士兵躲在马里,等到特洛伊人将装置带进城里后,从内部打开了大门,使返回的希腊军队迅速取得决定性胜利。当下,特洛伊木马成为一种恶意计算机程序的代名词,它通过将自己伪装成合法应用程序,欺骗用户允许其运行,从而绕过计算机的防御,窃取被控计算机中的密码和重要文件。

尽管特洛伊木马的故事可能具有神话性质,但它在几个方面值得注意——在最激烈的时刻,受害者在慌乱中可能会顺从攻击者做出错误决策,但只要冷静而理性地审视情况,便会发现这种行为是极其愚蠢的。

2. 埃菲尔铁塔出售案

1952年,维克多·卢斯蒂格(Victor Lustig)围绕埃菲尔铁塔成功实施了一场惊天骗局。维克多乔装成法国政府工作人员,伪造政府公文邀请多位废品收购商谈判“出售”埃菲尔铁塔,托辞法国政府因为铁塔维护费用高昂,不想再继续维护,故而出售。几位收购商在维克多精心设计的骗局影响以及一夜暴富的诱惑下纷纷向维克多这位对此事具有决定权的“政府要员”行贿。其中贿赂金额最高的一位收购商为这个不存在的收购计划支付了超过5000美元。

3. 荷兰银行盗窃案

2007年,荷兰银行发生重大盗窃案,总共12万克拉,价值2800万美元的钻石被偷走。警方称嫌犯使用了一张偷来的阿根廷护照,冒用卡洛斯这个名字,花一年时间取得银行员工信任和自由进出保险库的电子卡片,并最后成功盗窃钻石。在这场盗窃案中,嫌犯只运用了社会工程理念,没有任何其他技术工具。引用嫌犯同事的话,他没有使用暴力,而是将自己的个人魅力作为武器,获得银行员工的信任以及钻石位置等关键信息。

(二)信息化时代下的社会工程实践

1. 凯文·米特尼克的黑客攻击

著名黑客凯文·米特尼克(Kevin Mitnick)在《欺骗的艺术》中提及了社会工程学的概念,认为社会工程是通过社会、制度或技术等途径,利用人的心理弱点(例如本能反应、好奇心、信任、贪婪等)以及制度规则上的漏洞,在攻击者与被攻击者之间建立信任关系,获得有价值的信息,最终可以通过未经用户授权的路径访问某些敏感数据。

米特尼克的黑客生涯始于13岁,当时他通过社会工程手段和计算机技术侵入了洛杉矶公交系统,使他能够免费乘坐公交。他16岁时破解了美国太平洋电信公司的密码,修改了上万美国家庭的电话号码,17岁时侵入了诺基亚、摩托罗拉、富士通等公司计算机,盗取企业重要资料,给这些公司带来的损失高达4亿美元。当时人们甚至认为米特尼克可以通过一个口哨来发动核战争。

2. Target公司大规模信息泄露

2013年12月19日,Target公司宣布发生大规模数据泄露,影响了其客户约4000万张信用卡和借记卡的正常使用。据记者布莱恩·克雷布斯(Brian Krebs)报道称,可疑的攻击手段是针对目标供应商Fazio Mechanical的电子邮件网络钓鱼,Fazio部分证实了这一信息,并宣布他们是“复杂网络攻击行动的受害者”。据估计,受影响的客户数量后来增加到7000万,成为当时历史上最大的数据泄露事件之一。

三、社会工程攻击框架

经过几十年的发展,社会工程已经形成了相对成熟的攻击框架,本部分将基于文献资料介绍社会工程攻击相关的常见工具、策略、方法以及基本框架。

(一)社会工程攻击基本要素

在2014年Mouton、Malan、Leenen和Venter发表的《社会工程攻击框架》文章中提出了目前最完整的社会工程攻击模型之一。社会工程攻击主要需要有6大要素。

1. 社会工程攻击主体:即“社会工程师”,可以是个人,也可以是一群人。

2. 攻击目标:可以是个人,也可以是组织。

3. 攻击基本原则:可以是以下任何一项。(1)友谊或喜欢,如果攻击者与受害者建立了某种正向亲密关系,受害者会更愿意顺从攻击者。(2)承诺或一致性,人们倾向于履行承诺,并按照自己的立场行事。(3)稀缺性偏好,一种心理倾向是将稀缺的“资源”看得更高,而不考虑其实际价值。(4)互惠互利,非正式地“回报”,在潜意识层面上,人们倾向于顺从那些对他们很好的人。(5)社会验证,利用社会压力,人们倾向于以他们认为社会可接受的方式行事,并避免社会不可接受的行为。(6)权威,受害者更难拒绝那些对他们有权威的人提出的请求。

4. 技术手段:可以是网络钓鱼、假借托词、诱饵。

5. 攻击介质:可以是电子邮件、面对面、电话、短讯服务、纸质邮件、存储介质、网页、宣传手册。

6. 攻击目标:可以是经济利益、未经授权的访问或服务中断等等。

(二)社会工程攻击分类

按照社会攻击本身可以按照攻击通路分为直接攻击间接攻击(例如USB闪存驱动器),直接攻击进一步细分为双向通信(例如使用电话或面对面通信)和单向通信(例如纸质邮件或短信)。

(三)社会工程攻击框架

社会工程的攻击框架,由六个阶段组成,这些阶段本身需要不止一个步骤。扩展框架在不止一个层面上也是周期性的——它可能涉及重复一些步骤和阶段,而不完成整个周期。

第一阶段确定对象:在此阶段,攻击者定义并确定其攻击对象。

第二阶段信息收集:该阶段由3个具体步骤组成,这些步骤本质上是周期性的,即它们可能在该阶段内重复多次。具体包括,确定潜在信息来源、收集信息、评估收集的信息,最后攻击者可根据需要进入下一阶段或者重新收集信息。

第三阶段准备框架:在此阶段,攻击者评估收集到信息的充分性,并准备攻击工具。

第四阶段发展关系:这是攻击者确保受害者倾向的阶段。具体包括两个步骤,一是建立沟通;二是通过沟通建立积极关系,例如攻击者必须使自己受到受害者的喜爱。

第五阶段利用关系:这一阶段的目标是攻击者的实际实施。第一步是启动受害者,使其达到攻击者所需要的情绪,也即精神状态。第二步是诱导,从受害者那里提取概述信息或获得“帮助”,这一步是攻击是否成功的一项测试,例如受害者如果向攻击者提供了账号密码则标志着攻击成功。

第六阶段目标达成:该阶段是攻击周期的最后阶段,这一步设计操纵受害者达到所需要的情绪状态。在这种情况下,需要让受害者被侵袭的意识降低,如果受害者在攻击结束后倍感压力,他们会对事件进行更长时间、更强烈的反思,压力事件会导致强烈的记忆。同时,在这一步攻击者还需要确定目标是否达成,或者是否需要重新启动循环才能进一步接近目标。

四、社会工程的基本攻击手段

虽然无法详述所有策略手段,但本文已列举一些主流的社会工程方法。历史上,许多社会工程师利用这些策略手段取得了成功。

(一)收集开源情报

开源情报表示从公开来源收集的信息。这些信息对攻击者来说有很多好处,其中最主要的是可能保持匿名和无法追踪。因此,这样收集信息实际上没有被发现的风险。开源情报的典型来源是社交网络、搜索引擎以及政府组织公开可用信息。

(二)假借托词

假借托词指的是创造一个背景,让攻击者有一个听起来合理的理由向受害者请求敏感信息或帮助。社会工程中一般借口的经典例子包括参与调查、“研究项目”等等。在这种情况下,受害者更倾向于泄露有价值的信息。另一个例子是,攻击者声称为警察工作,穿着制服,在现场“关注”或“解决”一些问题。由于潜意识里不想影响他人的工作,受害者通常准备在没有进一步验证的情况下允许攻击者进行一些操作,因为制服隐含着“权威”。

(三)网络钓鱼

网络钓鱼一般以电子邮件为载体。网络钓鱼是社会工程的主要攻击手段,根据Verizon 2016年的数据泄露调查报告,在约100000次数据泄露中,约10%的数据泄露是由网络钓鱼引起的。网络钓鱼有两种特定的变体,一是矛式网络钓鱼,矛式网络钓鱼攻击在技术原理上与普通网络钓鱼相似,不同之处在于矛式网络钓鱼涉及选择对象并根据特定受害者定制信息,例如,在“发件人”字段中使用员工的实际姓名,遵循与公司内部沟通类似的结构和语气等。二是软目标,这种类型的网络钓鱼攻击介于标准网络钓鱼和矛式网络钓鱼之间。电子邮件的目标不是某个个人或组织,而是某种职业。这使得攻击者能够利用人工智能等技术手段发送数百万条消息,同时仍比完全通用的网络钓鱼消息具有更高的成功率。

(四)释放诱饵

攻击者放置“诱饵”让受害者主动采取行动,典型的例子是将一个或多个包含恶意可执行文件的USB闪存驱动器留在受害者可能注意到它们的位置。然后,出于好奇或贪婪,受害者可能会上钩,无意中帮助攻击者的有效载荷越过攻击者自己无法跨越的信任或安全边界。

(五)调动助人倾向

这是指受害者基于提供帮助的自然倾向会帮助攻击者绕开安全屏障。例如,攻击者向受害者寻求帮助“你可以打开门禁吗,我把门禁卡放在楼上了”,受害者基于助人倾向会为攻击者提供便利。

(六)恐吓软件

恐吓软件也被认为是恶意软件的一种形式,它是一种利用恐惧来操纵人们共享机密信息或下载恶意软件的软件。恐吓软件通常采取虚假执法通知的形式,指控用户犯罪,或发布虚假的技术支持消息,警告用户其设备上存在恶意软件。

五、社会工程的基本防御手段

社会工程攻击很难预防,因为它们依赖于人类心理而不是技术途径。同时,其攻击效率也很高,在大型组织中,只需一名员工被攻破就会破坏整个网络的完整性和安全性。专家建议采取一些步骤来降低社会工程诈骗的风险和成功率。

一是进行安全意识培训。许多人不知道如何识别社会工程攻击。在人们频繁用个人信息换取商品和服务的时代,他们没有意识到交出看似平凡的信息,如电话号码或出生日期,可能会让黑客破坏账户。安全意识培训与数据安全策略相结合,可以帮助人们了解如何保护其敏感数据,以及如何检测和响应正在进行的社会工程攻击。

二是制定访问控制策略。安全的访问控制策略和技术,包括多因素身份验证、自适应身份验证和零信任安全方法,可以限制网络犯罪分子对网络上敏感信息和资产的访问,即使他们获得了用户的登录凭据。

三是发展网络安全技术。垃圾邮件过滤器和安全电子邮件网关可以从一开始就防止某些网络钓鱼攻击到达人们的信箱。防火墙和防病毒软件可以减轻获得网络访问权限的攻击者造成的任何损害程度。使用最新补丁保持操作系统更新还可以关闭攻击者能够通过社会工程利用的一些漏洞。高级检测和响应解决方案,包括端点检测和响应(Endpoint Detection and Response,EDR)和扩展检测和响应(Extended Detection and Response,XDR),可以帮助安全团队快速检测和消除通过社会工程策略感染网络的安全威胁。

(本文内容系“元战略”公众号原创编译,转载时请务必标明来源及作者)

参考来源:VMware公司

参考题目:Social Engineering

参考链接:

https://www.sto.nato.int/publications/STO%20Educational%20Notes/STO-EN-IST-143/EN-IST-143-08.pdf

免责声明:文章内容系作者个人观点,如有任何异议,欢迎联系我们!图片来源于网络,如有侵权请联系删除。

编译 | 元战略智库高级研究员

编辑 | 寂谷

审校 | 流景

声明:本文来自元战略,版权归作者所有。文章内容仅代表作者独立观点,不代表安全内参立场,转载目的在于传递更多信息。如有侵权,请联系 anquanneican@163.com。