社会工程渗透测试教程(一)(1)

简介: 社会工程渗透测试教程(一)

前言

我依然清晰地记得当我坐下来开始在social-engineer.org写框架时的情景。我在互联网上搜索我想要涵盖的主题的有用提示。然而,社会工程当时并不是一个热门话题。

我可以找到关于从驶入式快餐店获得免费食物或者追求女孩的视频……但没有关于安全的。在我写框架的同时,我努力尝试在我所做的任何安全工作中包含社会工程。大多数时候,公司会说:“为什么要尝试呢?我们知道我们会失败。”或者“像那样的事情绝不可能对我起作用!”

我甚至曾经不惜免费提供服务,只是为了证明社会工程是多么危险。现在几年过去了,人们每天都在通过电子邮件和电话询价社会工程工作。随着兴趣的增加,这些服务的提供者也在增加。

不幸的是,对于你们这本书的读者来说,提供者实在是太多了,尝试选择正确的一个肯定会让人头昏脑涨。你可能会问自己一些问题,比如“我怎么知道我正在与一个好的社会工程服务提供商合作?”“社会工程渗透测试到底是什么?”以及许多其他问题。

当有人找我写这本书的前言时,我本来是非常严肃的,对于在这些页面中加入前言我持有保留态度,直到我读了这本书并理解了这些人想传达的信息。我进行了几次电话会议,讨论了他们对话题的看法,然后我收到了他们的初稿。

当我阅读每一章时,我感觉自己找到了一群“懂的人”。他们清楚地解释了社会工程渗透测试是什么,你应该问什么问题,以及你如何充分利用你的预算将这个非常重要的方面纳入你的年度检查中。

几年后,我仍在提供社会工程服务。我曾经是为数不多的人之一,现在是众多之一,但像这样的书籍会帮助你找到那些真正了解并且是社会工程专业人士的人。

我知道你会喜欢这本书。对于那些企业人士来说,你们会特别喜欢第五章。它将帮助你理解并了解为什么为了你的安全需求要聘请一名社会工程师是很重要的。

第七章的章节关于预设开发是一个非常艰难的主题的优秀涵盖,我知道任何对社会工程热心的学生都会想要研究。

第十四章和第十五章肯定会帮助你,如果你正在寻求如何建立有效的意识计划的信息。

这些只是章节的一小部分。每一章对你都有好处。

我真诚地感谢我有机会阅读加文,安德鲁和理查德的作品。 他们乐于接受我的建议,对我的繁忙日程非常耐心,但最重要的是,他们关心安全。 他们不是在说“愚蠢的用户”,而是在说“未受教育的用户”,这是我非常重视的信息。 我的座右铭从第一天开始就是“通过教育来确保安全。” 能够找到一个像这本书的作者团队一样思考的群体真是太好了。

致以诚挚的问候,

克里斯托弗·J·哈德纳吉

首席人类黑客,Social-Engineer,Inc.

作者,安全倡导者和专业社会工程师

www.social-engineer.com

致谢

作者们想要感谢 RandomStorm 团队的支持,他们确保我们在各种令人兴奋的社会工程和其他专业服务项目中保持忙碌。特别感谢 Jim Seaman、Katie Bruce 和 Charlotte Howarth 在整个过程中提供的宝贵帮助。

关于作者

加文·沃森

高级安全工程师,CISSP,CHECK 团队负责人,CCNA

加文是一位具有 8 年以上实战道德黑客和渗透测试经验的一线 IT 安全专家,专门从事社会工程学、IT 网络安全测试和合规性评估。作为 RandomStorm 的专业服务经理,他带领着一个渗透测试团队,负责为一系列企业和公共部门客户提供多层次的安全评估项目。

加文作为社会工程专家日益声名鹊起,是白帽子行业会议的常客演讲者和研讨会主持人,同时还为专业出版物就各种安全测试主题提供专家评论。

安德鲁·梅森

首席技术官,CCIE#7144,CISSP,PCI DSS QSA

安德鲁是安全测试和监控专家 RandomStorm 的联合创始人兼技术总监,已经在网络安全行业处于前沿超过 20 年。作为连续创业者和安全思想领袖,安德鲁以其创新和实用的解决复杂安全挑战方法在业界建立了良好声誉。

网络安全专家安德鲁已经撰写了几本关于各种技术主题的领先参考书,包括一些思科网络产品的权威手册。他还定期为领先的安全出版物、在线门户和主流媒体撰写专家文章。

理查德·阿克罗伊德

高级安全工程师,CCSP,CCSE,CHECK 团队负责人

理查德是 RandomStorm 的高级安全工程师,负责为各个行业的客户提供渗透测试和社会工程评估的交付工作。在网络和 IT 安全领域拥有超过 10 年的经验,包括在一家领先的系统集成商工作,在网络架构和安全系统的设计方面发挥了重要作用,为顶级企业和公共部门机构,包括英超俱乐部和国民健康服务体系,设计了网络架构和安全系统。

除了他在渗透测试方面的知识外,理查德还是 SIEM 技术部署、防火墙、IPS 和内容过滤实施方面的专家。

关于技术编辑

吉姆·西曼

高级安全顾问,安全管理硕士,CCP,CISM,CRISC,PCI DSS QSA,A. Inst. ISSP

作为一位拥有超过 20 年军事和商业经验的领先信息安全和风险专业人士,吉姆在复杂网络环境中实际应用分层安全控制方面拥有无与伦比的知识深度,包括在国防部和皇家空军服役期间的物理安全。

吉姆是一位常见且备受追捧的专业安全活动和会议演讲者,他是安全风险管理领域备受尊敬和有影响力的行业思想领袖,将这一领域的知识运用于他频繁的咨询项目和合规审计项目,涉及领先的金融机构、政府部门和大型企业。

第一章:社会工程简介

加文·沃森,高级安全工程师,RandomStorm 有限公司

本章将向读者介绍社会工程的概念。

本章信息

• 定义社会工程

• 电影示例

• 《鞋匠》

• 黑客

• 《火柴人》

• 《坏蛋》

• 《骗子》

• 著名的社会工程师

• 凯文·米特尼克

• 弗兰克·阿巴格纳尔

• 巴迪尔兄弟

• 克里斯·哈达纳吉

• 克里斯·尼克森

• 真实世界的攻击

• RSA 公司的违规事件

• 白金汉宫的违规事件

《金融时报》 的违规事件

• 微软 Xbox 的违规事件

• 卡米翁行动

介绍

本章的唯一目的是向读者介绍社会工程的概念。有各种定义,有些模糊,有些精确,这些将被讨论以解释社会工程的真正含义。将使用日常例子展示读者所使用的各种社会工程形式,突出这些技术不一定局限于犯罪活动领域。

为了进一步了解社会工程概念,本章将讨论一些来自各种电影的优秀示例。在诗意许可的帮助下,作家们能够创造出精彩的社会工程潜在用例。尽管这些例子当然是虚构的,但实际上它们基于非常真实的技术,为犯罪思维提供了灵感,同时也提供了娱乐。

某些个人开创了社会工程技术,导致一些人声名显赫,而另一些人声名狼藉。将介绍历史和现代社会工程师的事迹,例如凯文·米特尼克和弗兰克·阿巴格纳尔。这将展示单个个体如何利用这些技术实现对看似健壮的安全措施的非凡侵犯。

本章将以关注社会工程的负面面向以及它如何被用于犯罪的方式结束。所讨论的各种攻击展示了真实情况:社会工程攻击经常被有组织的犯罪团伙使用,并且它们是一种高效的攻击手段。

定义社会工程

根据您阅读的书籍或与之交谈的人,社会工程有很多定义。牛津词典将其定义为:

将社会学原理应用于特定社会问题的…

尽管部分相关,但实际上远未能准确描述“真实世界”社会工程的本质。

另一个可能的社会工程定义可能是:

故意利用精心制作的沟通技巧操纵行为的艺术。

这个定义将社会工程简化为利用沟通的各种可能表现形式,以利用人为因素为目标的绝对基础。因此,在互动中总是存在社会工程的能力和潜力。其中最基本的例子就是说谎的行为。虽然个体进行不道德行为的历史根源超出了本书的范围,但重要的是要注意,社会工程与沟通本身一样古老。

SANS 研究所的定义^(1)提供了另一种解释,更接近实质:

社会工程是利用人类行为来突破安全的‘艺术’,而参与者(或受害者)甚至没有意识到自己被操纵。

这个定义的重要部分是概念应用的背景。你可以将社会工程定义为用于获取信息或操纵行为的技术,但在信息安全的背景下,这并不能完全说明问题,而信息安全正是本书的重点。在保护企业敏感信息方面,社会工程变得如下:

挖掘敏感信息和/或操纵个人执行可能导致安全漏洞的行动的艺术。

你可以争辩说挖掘敏感信息本身就是一种安全漏洞,但在这个定义中所指的是网络或物理安全的漏洞,或者两者兼有。这个定义和企业信息安全的背景是本书中所有信息的基础。

考虑到前一个定义中使用“艺术”一词,社会工程是否被视为一种艺术形式?本书的作者认为答案必定是肯定的。社会工程并非一门确切的科学,通常涉及非常有创造性的思维应用。本书旨在提供非常逻辑和结构化的模型,以帮助进行社会工程评估,然而,这并不意味着社会工程可以完全简化为绝对的“如果 A 组行动则 B。”本书中提出的模型有助于通过准确和彻底的评估为客户提供价值。然而,一旦这些模型被遵循,社会工程师可以在情景中应用各种创造性的转折,前提是他们不会与首次使用的模型的建议相矛盾。

各种社会工程技术旨在利用人类本性的弱点,而不是计算机系统的弱点。术语“人类黑客”和“黑客湿件”已经在一些晦涩的安全文章和一些“赛博朋克”启发的小说中用来描述社会工程方法。典型的社会工程师可能使用多种心理技巧来操纵他们的目标,这些技巧可以从利用情绪状态到巧妙的句子结构和人格分析。使用的技术差异很大,因此社会工程可以被认为是一套多样化的操纵技术集合。然而,它不仅仅局限于心理诡计。社会工程师可能使用道具和伪装,甚至可能采取极端手段,创造涉及许多不同阶段的整个情景来实现他们的目标。这些技术也可以应用于其他平台,如电话或电子邮件,而不仅仅是面对面的相遇。

可以说,参与社会工程技术的个人中最好的例子之一是成功的销售人员。普通销售人员有一个简单的目标:向客户销售他们的服务或产品。为了做到这一点,销售人员不会简单地问客户是否愿意购买,而是利用一切可能的技巧来影响客户的决定。一个非常简单的例子是使用开放式问题而不是封闭式问题。封闭式问题可以用简单的“是”或“否”回答,而开放式问题需要一个更长的、通常不那么绝对的答案。例如,销售人员可能会说:

“那么你想买多少?”而不是“你想买吗?”,或者“我怎么帮助你?” 而不是 “我可以帮助你吗?”

甚至有各种销售模型和方法论专注于克服客户异议以成功完成销售。然而,成功的社会工程师和成功的销售人员之间的相似之处远远超出了标准销售流程。

最优秀的销售员会研究他们的潜在客户,也许只是为了找到一些共同之处来谈论。在会议结束时提及你最新的高尔夫壮举可能会赢得对高尔夫运动有浓厚兴趣的客户的青睐。一些销售人员甚至可能进一步对客户进行分析,阅读与主题相关的任何可用信息,以提供更好的“销售话术”。这种最初的侦察在社会工程攻击的目标公司和员工研究的最初阶段得到了体现。社会工程师将尽可能收集更多信息,以增加实施成功攻击的机会。因此,销售员和社会工程师都会充分利用了解他们的目标。

此外,社会工程师可能会尝试冒充个人以从他们的目标那里获取敏感信息。类似地,成功的销售人员也可能尝试冒充以获取销售流程的立足点。例如,冒充员工仅仅是为了获取到某个部门或特定员工的直接电话号码,或者引诱有关竞争销售公司的信息。社会工程师将联系目标公司以获取类似的信息,以帮助进一步的攻击。唯一的区别在于销售员希望销售,而社会工程师希望获得对敏感信息的访问权或获得可以用于其他方式攻击公司的信息。

因此可以说,销售员是最好的社会工程师,他们天生自信,积极乐观,并且具有有效影响技巧的经验。他们的唯一目的是向你销售一个概念或一个想法。然而,当这个概念从购买某物变成放弃你的密码时,你最好警惕起来,买家小心!

在日常生活中有大量的个人使用社会工程技术,不仅仅是聪明的销售人员。实际上,你可能自己也经常使用这些技术,也许是说服朋友做某事或者从同事那里获取一些信息。事实上,众多机构、部门、组织或团体都以这些技术作为其标准的“行业技术”之一。例如:

• 执法机构,为了从所谓的犯罪嫌疑人那里获取信息

• 私人侦探,以引诱信息

• 律师,质疑证人时

• 欺诈者和骗子,在欺骗他们的目标时

• 即使是孩子,在试图操纵他们的父母时

• 组织犯罪分子袭击企业时。

电影中的例子

诗意的许可使作家们能够创造一些最有趣且常常荒谬的社会工程情景。虽然我们在电影中看到的大部分创造性的诡计都有些牵强,但它们几乎总是基于非常真实的技术。事实上,电影通常可以展示出,如果社会工程师足够大胆并且有可用的资源去尝试,可能会发生什么。

运动鞋

1992 年由菲尔·奥尔登·罗宾逊执导的电影《鞋匠》中充满了社会工程技术的绝佳示例。主角马丁·毕晓普经营着一家以“老虎队”风格为特色的公司,专门破解安全系统,旨在帮助客户更好地抵御类似攻击。该团队被政府官员接近,并被迫从著名数学家冈特·亚内克博士那里取回一个神秘的“黑匣子”设备。据信该盒子是为前苏联政府建造的,美国担心这可能涉及国家安全问题。马丁和他的团队取回了这个盒子,发现它能够破解任何美国的加密方案。马丁将盒子交给了政府官员,但很快意识到他们实际上是冒名顶替者,然后他的团队不得不执行迄今为止最困难的任务,将盒子夺回并交到安全之手。

马丁被“政府官员”接近并被要求执行检索黑匣子设备的任务的场景是多种社会工程技术的绝佳示例。这两名政府官员是冒名顶替者,实际上是为一个犯罪组织工作。马丁被欺骗并被吸引到他们的阴谋中,原因有很多。首先,这两名官员展示了可信的政府官员外表:他们拥有看似正确的证件,说话像政府官员,甚至提供了马丁认为只有政府才会有的信息。所有这些都再次证实了他们的可信度,所以对于马丁来说,这两个人看起来、听起来和行动起来都像他们试图冒充的人。他们都对马丁施加压力,并让他专注于一个最后通牒:帮助他们,否则他作为一个计算机黑客的真实身份将被用来对付他。这样一来,他们成功地操纵马丁同意帮助他们,始终让他的注意力集中在他的处境上,不给怀疑他们真实身份的空间。尽管马丁已经无数次进行了类似的冒名顶替,但他完全上当受骗。这一场景的社会工程元素是冒名顶替、措辞选择和微妙地引导受害者关注正确的要素。

为了实现他的目标,马丁需要闯入最初存放黑匣子的建筑物,通过接待处获得进入权限。同样,这是通过使用多种社会工程技术来实现的。团队中的一名成员走到接待处声称他们有一个要送进去的包裹。接待员拒绝让他们进入,而团队成员继续努力说服接待员做出例外,声称他们可能会失去工作。这已经是试图在目标身上激发内疚感,以试图让他们顺从。与此同时,马丁走到柜台问他的妻子是否送了一个蛋糕,提到建筑物的二楼。这样做的目的是在接待员分心时种下可信度的种子。接待员然后回到与送货司机争论。马丁离开后带着蛋糕和气球回来,请求接待员释放锁定机制,因为他没有空手拿取他的卡(他没有卡)。在接待员被送货司机和随之而来的争吵分心时,马丁大声对接待员喊道:“按下该死的按钮吧!”当然,接待员立即这样做以逃离日益紧张的局面。两名团队成员分别扮演不同的个体,并演绎出一个旨在混淆、迷惑和压力接待员的情景,操纵他为马丁打开门。这种情况或情景完全是可信的,导致安全被突破而无人知晓。接待员并没有被迫做出他们知道会导致突破的事情,他们造成了突破,但可能永远不会意识到他们这样做了。从接待员的角度来看,马丁在任何其他情况下都会有权限。这种创造一个可信情况,加入冒充和情感操纵元素的做法是社会工程的一个绝佳示范。

电影中,团队随后进行了对特定员工的进一步侦察,以找到可以利用来操纵他的东西。他们发现目标毫无趣味可言,甚至不得不偷他的垃圾,试图找到任何有用的东西。这是一个经典的垃圾搜寻的例子,这个主题将在第十一章中重新讨论。然而,这种明显绝望的方法带来了丰硕的成果,团队发现了他参与计算机约会场景的证据,为攻击提供了一个新的途径:“蜜罐陷阱”。这涉及利用异性吸引力的团队成员假装对目标感兴趣,利用计算机约会系统作为一种工具,以便他们可以接触到感兴趣的个人。

这种策略并不新鲜,事实上,希腊神话中提到了“塞壬”,他们是危险而美丽的生物,被描绘成女性致命者,用迷人的音乐和声音引诱附近的水手在他们的岛屿岩石海岸上触礁。事实上,当反对派共和军恐怖分子对英国军队成员使用这种策略时,这种策略被证明是极其成功的。

彻底研究目标,即使意味着翻阅他们的垃圾,也是构建成功攻击方案的第一阶段之一。

黑客们

1995 年由伊恩·索弗特利执导的电影《黑客帝国》以 11 岁的戴德·墨菲(又名零冷却)被逮捕开始。戴德被指控编写了一种计算机病毒,导致 1507 台计算机崩溃,纽约证券交易所下跌了七个点。在被捕后,戴德被禁止使用计算机直到他 18 岁生日。他与一群黑客联手,他们发现了一个释放极其危险计算机病毒的阴谋。邪恶阴谋背后的计算机天才诬陷了黑客,他们争分夺秒地收集证据来洗清自己的名声。

电影《黑客帝国》显然是夸张的,展示了极不现实的情景,包含了大量的技术错误和夸张。然而,该电影确实包含了一些社会工程学方法的优秀示例,以帮助攻击技术系统。

年满 18 岁后,戴德立即恢复了他的黑客热情,开始入侵计算机系统。他的第一个目标是 OTV Studios 电视网络,在那里他利用社会工程技术在计算机网络上获得了初始立足点。戴德打电话给安全台,假扮成会计部的埃迪·维德先生。安全台的员工(诺姆)接听了电话。埃迪解释说他家刚刚发生了一次电力波动,导致他正在处理的文件被删除了。他表示情况严重,声称自己有大麻烦,并问:“你对计算机了解吗?”诺姆有些犹豫地回答:“嗯…嗯。”戴德现在知道这名员工肯定对计算机不够自信,因此他的假设更有可能成功。戴德接着说:“我的 BLT 驱动器刚刚失踪了,而且明天要交给川崎先生的一个大项目。”他继续加入一些缩写词,让安全台的员工感觉自己更无法处理这种情况,从而让戴德占上风。他还强调了项目的重要性,声称:“如果我搞砸了,他会让我切腹自尽。”这增加了目标的压力,以至于当一个解决方案被提出时,他们会抓住它。戴德然后问:“你能给我念一下调制解调器上的号码吗?”安全台的员工立刻抓住逃脱这种情况的机会,高兴地念出了号码。有了调制解调器的号码,戴德能够连接到电视台的网络。

不考虑技术上的不准确性,这是社会工程实践的一个绝佳例子。通过一个电话,达德确定目标个体是否脆弱,通过一个可信的情景(预设)表演,施加压力,然后提出一个结果,导致他获取敏感信息。

《火柴人》

2003 年的电影《火柴人》讲述了两名骗子罗伊和弗兰克的故事。他们一起在小型骗局中经营水过滤系统,价格大幅提高,承诺不知情的受害者大奖,当然他们从未兑现。

罗伊患有强迫症,这开始影响他的工作。他的伙伴弗兰克建议他去看心理医生以帮助他应对症状。虽然罗伊只对替换他的药物感兴趣,但精神科会话最终探讨了罗伊的困难。讨论了罗伊之前的关系问题,揭示了他有一个女儿,这是他怀疑但从未确认的事情。当他决定见他的 14 岁女儿安吉拉时,罗伊的生活被彻底颠覆,尤其是当她得知他的真实职业并想参与其中时。

整部电影都是一个例子,涉及无数技巧的长期骗局。这两名骗子采用了各种不同的技巧,包括分散注意力、误导、冒充、情绪操控和诱饵等,只是其中几个名字。然而,诱饵技术在他们的骗局中占据了主要地位。电影中提到了“不能欺骗一个诚实的人”这句话,暗示只有不诚实的人才会上当。他们定期进行的骗局是通过提供获得巨额奖励的机会来诱骗受害者。只要他们愿意玩弄体系并逃避税收。在他们以后的骗局中,他们通过明显的欺诈手段向受害者提供赚取大量金钱的机会。

诱饵是社会工程师经常使用的经典技术,通常在网络钓鱼诈骗中看到。社会工程师经常附上诱人的文件,例如“工资单 2014”。诱饵也可以在物理攻击向量中看到,例如留下装有恶意软件的诱人 CD 或 USB 驱动器。希望员工们可能会拿起并将其插入他们的电脑,陷入自己的好奇心。诱饵技术将在第三章中重新讨论并全面讨论。

《卑鄙小人》

1988 年的喜剧片《肮脏的骗子》,由弗兰克·奥兹执导,迈克尔·凯恩和史蒂夫·马丁主演,描绘了两名骗子之间搞笑的竞争。迈克尔·凯恩饰演的角色(劳伦斯·贾米森)是一个圆滑的操作者,通过巧妙而精心设计的冒充来欺骗富有的女性,骗取大笔钱财。史蒂夫·马丁饰演的角色(弗雷迪·本森)也骗取女性的钱财,但通常使用不太复杂的方法。两名骗子很快意识到这个小镇容不下他们俩,于是达成协议。第一个成功骗取到来访小镇的美国“肥皂女王”5 万美元的人可以留下,另一个必须永远离开。

电影展示了各种社会工程技术如何支持欺诈行为,即欺骗目标人员的金钱。两名骗子通常专注于通过利用情绪状态来操纵受害者,同情心是他们选择的情绪。一场特定场景清楚地展示了这些微妙的情绪操纵技术如何产生巨大效果。

电影中的弗雷迪·本森角色首次出现在一列客运火车的餐车中。他四处张望寻找受害者,并发现一个女性角色独自坐在一张桌子旁。他的主要目标是欺骗这名女性为他的餐费买单。从那一刻起,在他坐下之前,他就开始演绎社会工程情景。他立即摘下帽子,露出悲伤的表情,进入角色。他问是否可以坐在女性对面,她同意了。当侍者问他是否想看菜单时,他说“哦,是的…… 饿了…… 真的饿了”,然后看到菜单上的价格并要求水。他立即开始建立他的借口,种下受害者心中同情的种子。由于弗雷迪没有直接与受害者交谈,而是确保他们听到对话,这种间接操纵增加了借口的可信度,因为受害者不太可能认为他们正在被直接针对。女性角色随后评论他在如此饥饿时点水的行为,弗雷迪解释说他正在为生病的祖母的医药费而省钱。他继续说他从未善于理财,只是返还红十字会给他的微薄报酬。所有这些显然旨在在受害者心中引起同情。弗雷迪最后说他的祖母教导他始终要诚实和善良。关于善良的最后一句话为受害者提供了一种出路。女性角色为弗雷迪感到难过,她无法帮助他的祖母,但至少可以“善良”地为他支付一顿饭,因为他“真的饿了”。

骗子

2012 年的电影《冒名顶替者》基于真实案例,讲述了骗子弗雷德里克·布尔丹的故事。1997 年,弗雷德里克冒充了尼古拉斯·巴克利,一个在 3 年前失踪的 16 岁少年,尽管弗雷德里克当时已经二十多岁。电影包括了实际事件的戏剧化再现,家庭成员的采访,与弗雷德里克本人的采访以及当时的原始影像。

弗雷德里克的案例展示了冒名顶替技术的令人难以置信的力量。仅仅通过电话,他冒充了西班牙警察、社会工作者、找到尼古拉斯的个人,当然还有尼古拉斯·巴克利本人。他成功地愚弄了西班牙和美国官员,甚至令人难以置信地愚弄了尼古拉斯的家人。冒名顶替导致弗雷德里克被尼古拉斯的姐姐接走,并带回美国,在那里与家人一起生活了几个月。冒充尼古拉斯,他告诉调查人员自己曾被欧洲、墨西哥和美国军方人员绑架、虐待和性侵,幸运地逃脱并迷失在西班牙。

他的最终目标是融入这个家庭,并获得他从未拥有过的童年。这是否属于社会工程学中的敏感信息和安全漏洞?如果你把尼古拉斯的家庭视为安全的单位,弗雷德里克成功地获取了关于家庭的各种敏感信息,并操纵了他们的行为,确保任何互动都与他们真正的孩子一致。这实际上与企业相信社会工程师是他们的首席执行官,对待他并授予他所有业务信息和服务的情况是一样的。

电话冒名顶替对社会工程师来说非常强大,而且相对风险较小。通信被简化为单一渠道,因此更容易控制。社会工程师不需要担心视觉问题,比如穿着打扮、外表或身体语言传达的信息。他们只需要有正确的声音,与被冒名顶替的个人保持一致的说话,并创造一个可信的情况。当弗雷德里克联系尼古拉斯的家人告诉他们他们的孩子已经找到时,他听起来专业而关切,就像一名社会工作者。家人没有理由怀疑来电者,因此他的冒名顶替成功了。

他从头到尾多次使用了冒名顶替,从冒充找到尼古拉斯的个人到尼古拉斯本人。一系列冒名顶替增加了可信度并加强了欺骗。犯罪社会工程师经常使用类似的方法,通过快速简单的电话调查来获取无害信息,利用这些信息帮助进一步攻击,将整体攻击推向最终目标。

当弗雷德里克亲自见到家庭时,他的外貌与家庭的期望有很大不同。他的眼睛颜色不对,比他们想象的要高得多,而且他无法不带口音地说英语。也许家庭确实知道冒充,或者也许他们对自己的孩子的渴望足以引起相当程度的否认。无论情况如何,冒充的力量仍然可以显著增强,如果受害者真的想要相信的话。

弗雷德里克的冒充最终被私家侦探查尔斯·帕克和联邦调查局特工南希·费舍揭露。在电影中,弗雷德里克评论说,他相信至少一些家庭成员知道他是冒名顶替者。他告诉警方,他相信家庭成员参与了尼古拉斯的失踪,因此发现弗雷德里克的冒充是一个有用的事件转折。无论真相如何,弗雷德里克的案例是冒充力量最显著的例子之一。

由于这不是一部虚构电影,也许更适合放在不同的部分,但它提供了一个便捷的链接到下一节关于现实生活中的社会工程师。

著名的社会工程师

在社会工程学领域,有一些个人脱颖而出,为自己赢得了声誉。其中一些人因积极运用这些技术而闻名,帮助保护企业并教育大众,而另一些人则因利用这些技术犯罪而臭名昭著。无论社会工程学是被用于善良还是恶劣,这些个人清楚地展示了使用这些技术可以取得什么成就。

凯文·米特尼克

凯文·米特尼克曾经是美国最通缉的计算机犯罪分子。16 岁时,他利用社会工程和黑客技术侵入了数十家公司的计算机系统。他通常不需要使用任何技术方法来侵入目标公司。相反,他会使用各种社会工程技术来欺骗用户透露他所需的凭证或电话号码。他于 1998 年首次被定罪,被判处监禁 12 个月,并监督释放 3 年。在监督释放的最后阶段,他成功侵入了太平洋贝尔邮件系统,导致对他的逮捕令。凯文逃跑了,成为逃犯,直到在北卡罗来纳州于 2 月 15 日被捕。被捕时,他携带了克隆手机和多种伪造身份证件。他在他的书籍《欺骗的艺术》、《入侵的艺术》和《电线中的幽灵》中精彩地描述了他对社会工程的卓越运用。凯文现在担任安全顾问,帮助企业防御此类攻击。

弗兰克·阿巴格内尔

弗兰克·阿巴格纳尔经常被认为是世界上最成功的骗子之一。许多读者可能已经读过他的事迹或在他的书《逮住我如果你能》或电影改编中看到了他的事迹。他展示了非凡的社会工程技术,冒充航空公司飞行员、大学教授、律师和医生等身份,成功兑现了超过 250 万美元的欺诈支票,遍布世界各地。这些事迹不可避免地导致了 1969 年法国警方逮捕他,并在法国、瑞典和美国接受多次监禁。在此期间,他成功地逃脱了监禁,不止一次。他释放后曾试图保住一系列合法工作,但一旦公司了解到他的犯罪过去,他们就会终止他的雇佣关系。和凯文·米特尼克一样,弗兰克现在作为安全顾问为包括联邦调查局在内的公司提供建议。

巴迪尔兄弟

1999 年,拉米·巴迪尔、穆兹赫·巴迪尔和沙迪·巴迪尔被指控犯有 44 项罪名,包括电信诈骗、计算机数据盗窃和冒充警察。尽管这三兄弟从出生起就是盲人,但他们利用社会工程和黑客技术骗取了多达 200 万美元的钱财。这三兄弟极为敏感的听觉、编程技能和惊人的模仿能力使他们成为电话线上不可忽视的力量。

克里斯·哈德纳吉

克里斯·哈德纳吉是当今社会工程和人际互动的专家,展示了对微表情、影响力和建立融洽关系等技术的透彻理解。他是 “www.social-engineer.org” 的首席开发者,也是《社会工程:人类黑客的艺术》和他的第二本书《揭开社会工程师的面纱:安全的人类一面》(预计于 2014 年 2 月出版)的作者。

克里斯还领导着他公司 Social-Engineer, Inc.(www.social-engineer.com)的一支精英专业社会工程团队。他们提供一系列社会工程测试和培训服务。正在进行中的 Social-Engineer.org 播客还提供了对各种技术的深入洞察,研究了那些在日常生活中使用社会工程的人。克里斯毫无疑问是“好人”之一,利用社会工程技术帮助全球企业保障安全。

克里斯·尼克森

克里斯·尼克森因其在 TruTV 的《虎队》中的角色而臭名昭著,该节目中克里斯和他的同事试图入侵企业的安全系统。该节目的最终目标是演示如何利用电子和物理安全中的漏洞,并最终加以缓解。他在信息安全领域处于前沿,在撰写本文时领导着 Lares 的一个安全团队,提供从渗透测试和社会工程到政策制定和合规性测试等多种专业服务。

现实世界的攻击

本章的最后一节将重点介绍一些最近的真实社会工程攻击,展示安全通常不过是一种虚幻的表象。随着技术安全控制技术的提高,攻击者现在更多地利用社会工程攻击技术。这些最近的社会工程攻击标志着全球企业安全格局的变化开始。这些企业最好确保他们对安全的看法和应用也随之变化。

RSA 泄露事件

2011 年,黑客成功访问了著名安全公司 RSA 网络的高度限制区域。RSA 以其双因素身份验证系统(SecurID)而闻名,为用户提供了一种安全的登录系统的方式。攻击的目标是与该 SecurID 令牌系统相关的专有信息,据称旨在协助对其他安全公司的分离攻击。

黑客通过将传统技术黑客技能与社会工程技术相结合,实现了他们的目标。他们向 RSA 的相对低权限员工发送了鱼叉式网络钓鱼邮件,附件是标有“2011 招聘计划”的 Microsoft Excel 电子表格。鱼叉式网络钓鱼邮件是传统垃圾邮件式网络钓鱼邮件的一种更有针对性的形式,大多数人熟悉的。它们可能针对特定个人而不是通用格式适用于广泛受众。鱼叉式网络钓鱼邮件的定制特性使其成为一种极其有效的攻击技术。如何执行鱼叉式网络钓鱼攻击的详细分析在第九章中介绍。

电子邮件附件的“2011 招聘计划”标题旨在引诱用户打开它。附件当然是恶意的,并利用了一个尚未公开的 Flash 漏洞。这个漏洞打开了受害者计算机的“后门”,允许攻击者使用传统的网络入侵技术访问目标系统。在找到专有信息后,攻击者将数据外传到外部位置。RSA 设法检测到了攻击,但来不及阻止敏感信息的丢失。

在这种情况下,攻击的主体大部分是技术性质的,利用了 Flash 中的一个漏洞并提升了网络权限。然而,提供网络立足点的初始传递机制是通过社会工程实现的。从最基本的层面来看,犯罪分子必须操纵用户做出某些事情,以建立与他们计算机的远程连接。这可以通过许多方式实现,例如下载并运行程序,浏览到恶意网站,或者在这种情况下,打开恶意的 Microsoft Office 文档。攻击者可以冒充新员工去前台,要求他们打印他们的简历(CV),而这份简历恰好是一个恶意的 PDF 文档。他们可以冒充 IT 部门致电员工,要求用户浏览特定网站以进行故障排除。在这种情况下,他们选择了风险最小的选项,因为电子邮件极其难以追溯到源头。这封电子邮件可能看起来很正常,并且附有足够诱人的附件,以欺骗用户打开它,成功地操纵他们执行所需的操作。

与大多数精心策划的社会工程情景一样,用户可能没有意识到他们所做的事情。文档可能已经打开,并且可能包含了一些感兴趣的信息。用户很可能对此没有多想,继续进行他们平常的工作,而攻击者则侵入更多系统并搜索网络以达到他们的最终目标。

白金汉宫入侵事件

卧底记者瑞恩·帕里(Ryan Parry)在美国总统乔治·布什访问期间成功渗透了貌似牢固的白金汉宫安全防线。该事件被认为是英国有史以来规模最大的安全行动,涉及英国和美国的安全机构。

瑞恩·帕里(Ryan Parry)回应了白金汉宫网站上的一份工作广告,提供了一份简历,未提及他目前的职业是记者,并提供了一个真实的参考和一个假的参考。结果,由于不足的筛选程序,他成功地获得了一个管家的工作,并在宫殿工作了 2 个月。在这两个月里,瑞恩从未被搜查过,他的背景也没有得到足够的调查。瑞恩评论说“如果我是一个打算暗杀女王或乔治·布什总统的恐怖分子,我完全可以轻松做到。”瑞恩能够在白金汉宫周围自由行走并拍照,包括一些女王的早餐桌,总统布什和他的妻子据称住的套房以及属于安德鲁王子和爱德华王子的卧室。

在目标公司获得工作是一种经典的社会工程策略,被认为是一种长期的模仿策略,更详细地涵盖在第四章中。一旦攻击者被接受,这种程度的模仿就非常难以对抗,除非当然他们被发现做了明显不正当的事情。

这里的问题在于筛选过程,确保您雇佣的个人不仅适合该角色,而且不太可能构成重大威胁。这不是一项容易的任务,这使得这种攻击成为入侵目标公司安全的极其有效的方式。

《金融时报》泄露

2011 年 5 月 14 日,臭名昭著的黑客组织叙利亚电子军(SEA)成功入侵了《金融时报》员工使用的 Gmail 和 Twitter 账户。然后,黑客使用这些账户入侵了额外的用户账户和服务。该组织最终成功地通过《金融时报》的网站和社交媒体账户发布了自己的 SEA 内容。

尽管这次攻击涉及了一些技术元素,但大部分成功都归功于社会工程技术。SEA 能够欺骗《金融时报》的员工透露他们的 Gmail 账户密码。这是通过发送精心制作的鱼叉式钓鱼邮件类似于 RSA 泄露的方式实现的。

最初发送的电子邮件似乎来自《金融时报》的员工。电子邮件的发送者可能已经被欺骗,或者攻击者可能已经攻破了一些合法的电子邮件账户。无论哪种方式,电子邮件的收件人可能都会认为它是一个可靠的来源。电子邮件包含了一个链接到 CNN 文章的链接,当然实际上链接到了一个被攻陷的网站,然后链接到了一个恶意的网站。恶意网站是《金融时报》电子邮件登录门户的克隆。如果用户登录到这个假门户,凭据将被记录并发送给攻击者。用户然后会被重定向到官方的 Gmail 账户,并且不会意识到发生了任何不正当的事情。

在这种情况下的一个有趣的发展是当《金融时报》检测到并对抗了攻击。他们发送了警告用户一些账户正遭受钓鱼攻击而应尽快更改密码的电子邮件。攻击者随后也收到了这些电子邮件,因为他们已经攻破了几个账户。然后他们发送了完全匹配的电子邮件,但将合法的链接替换为恶意链接。

最终,Google 将恶意 URL 列入黑名单,钓鱼攻击停止了,但在攻击者成功发布了他们的 SEA 内容之前。

微软 Xbox 泄露

2013 年 3 月,攻击者通过社会工程技术成功入侵了高调的现任和前任微软员工的 XBox Live 账户。这并不是通过直接的技术黑客攻击手段,比如针对登录门户的密码攻击或零日利用[³]代码来实现的。相反,攻击者遵循了获取一部分信息以获取另一部分更敏感信息的标准社会工程方法。

攻击者通过社会工程技术成功获取了他们的高调目标的社会安全号码(SSN),然后利用这些信息以及其他细节获取了 XBox Live 账户的访问权限。然而,微软声称他们不存储 SSN,也不以任何方式将其与 XBox Live 账户关联起来。那么攻击者是如何使用目标的 SSN 的呢?攻击者利用 SSN,再结合社会工程技术,攻击了一个确实使用 SSN 并且还有关于 XBox Live 账户信息的第三方公司。被攻击的是这家第三方公司,而不是微软直接。

这种方法可以类比于进行寻宝活动或者收集拼图的片段。有了足够多的线索或者拼图的片段,你仍然能够实现最终目标,或者推断出拼图的图片可能是什么,而不需要所有的线索或者拼图的片段。

这次攻击展示了两种非常常见且有效的社会工程技术。第一种是将无害信息转化为敏感信息的概念。例如,攻击者可能掌握了有关微软员工的一些个人信息片段。这可能是电子邮件地址、出生日期等。然后他们利用这些信息,再结合社会工程,欺骗公司透露员工的社会安全号码(SSN)。然后 SSN 可以用来欺骗第三方公司重置 XBox Live 账户的密码或者获取访问权限所需的任何信息。这个概念的范围很大,将在随后的章节中多次回顾。

这次攻击涉及的第二个概念是目标信息可能存储在多个地方的想法。例如,如果攻击者想获取你的银行详细信息,他们是否一定会直接攻击你的银行?你的账户详细信息可能会被许多不同的公司存储在许多不同的地方。攻击者可能更容易攻击你的本地健身房,他们可能在你与他们建立直接付款授权后存储了你的银行详细信息。任何信息的安全性取决于存储或使用它的最薄弱的地方。

运输车行动

内政部警务服务部门采用了一系列反恐政策,以支持 TACT 2000,被称为克莱德斯代尔、卡米翁、克拉托斯、闪电、彩虹和特拉梅尔行动。虽然这些信息仅限于需要的人员,但有限的“开放源代码”信息突显了针对恐怖分子团体使用社会工程冒充技术的对策。

众所周知的拍卖网站 eBay 曾有过多余的紧急车辆,如警车、救护车和消防车出售,有时甚至只需几百英镑。据信,恐怖分子将能够购买这些车辆,以协助对英国主要目标的袭击。恐怖分子将利用这些车辆来避免注意,进入受限区域,并作为有效的炸弹投放机制。

对这种类型攻击的担忧增加是因为中东地区发生了安全漏洞。沙特阿拉伯发生了一起有组织的恐怖袭击,导致 15 辆警车被盗。在更接近家门口的地方,在伦敦中心的莱斯特广场,一辆警车上的警服、警车加油卡和日志被盗,当时警官们被一场骚乱所分散了注意力。

获得紧急车辆、制服和证件将极大地帮助攻击者构建一个社会工程情景。他们将立即获得信任,并且只需专注于充分扮演角色。这里的严重问题是,攻击者不需要偷这些物品,他们现在可以合法地在线购买。

摘要

本章为读者介绍了社会工程概念的背景,审视了各种定义,并借鉴了日常生活中的类比。很明显,社会工程是司空见惯的,在各种职业中被各种个样的人使用。这是人类互动的自然和不可避免的方面,既被用于好事情(比如获取犯罪认罪),也被用于坏事情,比如骗子和骗子的行为。

此外,我们还看到了电影如何以各种不同的方式描述了一些技术,推动了潜在可能性的边界。从虚构的例子中,读者已经了解到了一些世界上最著名和臭名昭著的社会工程师,他们的技能展示了社会工程的巨大威力。

本章总结了一些最近的真实世界社会工程攻击,展示了社会工程是如何作为一种有效的传输机制被利用的,使得攻击者能够突破目标的外围防御,无论是计算机网络还是建筑物等物理目标。

这些真实世界的攻击方便地为本书的下一章打下了基础,重点关注对企业的社会工程威胁。所涵盖的主题将解释人们如何成为企业安全链中最薄弱的一环。尽管这已经是众所周知的,但企业似乎并没有一致地承认这一点。最有可能的原因可能是因为诸多不同的原因,比如平衡安全和可用性的困难、投资于技术而非人员、以及政策和流程的弱点等等。这些概念以及更多内容将会详细介绍,从而更清楚地了解为什么企业(无论是大型还是小型)的安全仍然经常受到侵犯。


¹来源:SANS 论文《社会工程威胁及其对策》,日期为 2003 年。

²老虎小组是一个专家组,负责调查和/或解决技术或系统问题。一份 1964 年的文件定义了这个术语为“一组未被驯化和未被抑制的技术专家,他们因其经验、精力和想象力而被选中,并被指派无情地追踪宇宙飞船子系统中每一个可能的故障源(来源:en.wikipedia.org/wiki/Tiger_team)。

³零日漏洞利用是指利用安全漏洞的攻击,在漏洞被普遍知晓的同一天发生。在漏洞被发现和第一次攻击之间没有零日。 (来源:searchsecurity.techtarget.com/definition/zero-day-exploit

第二章:企业安全链中的薄弱环节

加文·沃森,RandomStorm 有限公司高级安全工程师

公司更愿意投资于防御技术,而不是开发人员意识培训和加强政策和流程,这种情况仍然非常普遍。本章将解释为什么采取这种方法,为什么这种方法不够有效,并清楚地描绘公司实际上有多脆弱。

关键词

数据分类;客户服务心态;薄弱的意识和培训;薄弱的政策;薄弱的流程;最薄弱的环节

本章信息

• 为什么人员是最薄弱的环节

• 利用易受攻击的用户保护数据

• 特权的问题

• 数据分类和知情需求

• 安全性、可用性和功能性

• 客户服务心态

• 糟糕的管理示例

• 缺乏意识和培训

• 薄弱的安全政策

• 薄弱的流程

介绍

读者现在已经了解了社会工程的概念,以及使用真实和虚构的例子的各种技术。本章现在专注于社会工程对企业的威胁。

利用易受攻击的人员获取敏感信息的想法可能看起来相当明显。如果一个攻击者尽管尽了全力,仍然无法攻击存储、处理或传输敏感数据的系统,因为有强大的技术安全控制,那么他们可能会攻击使用该系统的个人。

严酷的现实是,犯罪分子或敌对个人或团体越来越意识到,最有效的攻击方法是利用人为因素,而不是采用往往昂贵且困难的技术攻击。

将这一点放入背景中,一个犯罪组织可能会被吸引入侵一家一级商户的网络(每年处理超过 600 万笔卡交易),并非法提取存储在其中的付款卡数据。对于犯罪分子来说,这些提取的数据的价值起始于每张付款卡记录约为4(在各种非法网络聊天室上出售)—4(在各种非法网络聊天室上出售)—2400 万,或用于购买大量商品,在黑市上出售(例如,600 万×50购买—价值50 购买—价值3 亿的商品),以每件30的折扣出售—30 的折扣出售—1.8 亿。

考虑到这一点,通过利用人性的漏洞,用一个微笑就能轻松获得对这些数据的访问的吸引力是易于理解的。

然而,如果这个概念如此明显,为什么企业和他们的人员继续忽视这一点,使自己处于脆弱状态呢?简单的答案是,虽然理解了社会工程的概念,但个人脆弱的各种原因并不一定那么直截了当。人员不可能仅仅听说社会工程就决定避免成为其受害者。虽然第三章将讨论利用人性的各种方式,但本章将集中讨论因业务本身的缺陷而影响员工的脆弱性。这类业务问题甚至可以使最警觉的个人也容易受到社会工程的攻击。

接下来的章节将探讨这些问题,涵盖企业在社会工程和安全方面面临的一些最重要挑战。这些挑战包括如何保护敏感信息但又允许人员访问它,审查安全、可用性和功能之间的问题关系。将就数据分类、需要知道、过度权限、客户服务心态以及缺乏有效的安全意识和培训与社会工程之间的关系进行探讨。

本章将通过探讨由于弱政策和程序或过于具体或模糊的程序而引起的社会工程漏洞,以及如何滥用权威使原本强大的政策完全无效来结束。

为什么人员是最薄弱的环节

“人是你安全体系中最薄弱的环节”这句话经常被安全专家使用。然而,企业继续忽视或忽略这个简单的概念。为了充分探讨这个观点,我们将以一个名为“弱点公司”的虚构企业为例。

有一天早晨,弱点公司的人员来到办公大楼前解锁前门并升起百叶窗。进入后,他们输入正确的代码以停用主要警报。他们爬楼梯到达主要办公室,并再次输入代码以访问电子门禁系统。因此,每天早晨人员需要穿过四层不同的安全控制,这对攻击者来说肯定是一个相当大的挑战。这种控制是企业中最重要的投资之一。

一名攻击者决定闯入“易受攻击公司”的主要办公室,窃取包含敏感和有价值信息的笔记本电脑。在对各种安全控制进行快速检查后,他们选择爬梯子,通过砸破窗户进入。这样一来,他们立即绕过了三项安全控制,只剩下主警报系统。这让他们在任何人可能调查警报声之前有限的时间内,抓住几台笔记本电脑和各种敏感文件。在这种情况下,企业通常的反应是在物理控制上投入更多资金,这可能非常有效。在这里,企业可能决定安装高安全窗户,安装闭路电视系统,安全家具或其他机制,以帮助防止攻击者破坏窗户和/或窃取笔记本电脑。

现在假设攻击者想要避免引起任何警报,更倾向于避免混乱的“砸砸抢”方式。相反,他们打扮得与员工相匹配,复制一个假员工徽章,并在繁忙的午餐时间尾随员工进入场所,通过拿着一个超市购物袋,就像其他人一样。攻击者成功地漫不经心地走过接待处,与其他人员融为一体。当没有人注意时,攻击者在办公室四处走动,将各种笔记本电脑放入袋子中,安装几个键盘记录器,并从打印机上抓取一些文件,然后返回。所有这些直到午餐后人们回到他们的桌子继续工作时才被发现,即使在那时,直到有人提出可能发生了盗窃,这仍然是一个谜。这种情况展示了社会工程攻击的一个极其简单的例子。他们没有直接操纵任何人或从员工那里获取任何信息。相反,他们创造了一个似乎合理的情况,并间接操纵了人们的感知。旁观者相信攻击者是公司员工的一员,这一点通过徽章、服装、自信的步态、购物袋以及与其他人员融为一体来验证。这种攻击非常有效,企业可能毫无准备地应对这种情况。对这种事件的典型反应是匆忙部署一个无效的全公司安全意识计划。也就是说,如果有任何反应的话。这是可以理解的,考虑到大多数公司可能更倾向于保持这种事件非常低调。

企业为什么将安全预算投入错误的领域?原因在于:当攻击者打破窗户时,解决方案很简单,实施物理解决方案(更坚固的窗户)。然而,当攻击者诱使员工透露信息或允许他们进入受限区域时,解决方案就不那么明显了。问题在于物理安全漏洞是有形实体;它们可以直接互动并解决。然而,社会工程漏洞是“无形”的,比如与人类本性或弱弱程序相关的漏洞。大多数企业对减轻无形安全问题的风险方法并不熟悉。解决方案通常涉及深度防御方法,可能涉及多种直接和间接策略。

在企业甚至开始制定有效的防御策略之前,他们首先需要充分了解为什么他们的人员是安全链中最薄弱的环节。

当试图解释为什么员工容易受到这种攻击时,很容易归咎于人类本性;“他们太容易受骗了,他们会相信任何事情”。然而,企业本身往往存在许多安全弱点,这些弱点转化为与员工相关的弱点。

在指责员工之前,最好先从业务流程中的弱点入手。

有脆弱用户的安全数据

存储在系统中的敏感数据永远无法完全安全。然而,为了探讨易受攻击的员工概念,让我们假设发明了一个无法被未经授权用户渗透的数据库。黑客可以探测该服务,他们可以看到它可用,但无论他们如何努力,他们都无法访问数据。直接攻击这个数据库根本不是一个可行的选择。因此,与其直接攻击数据库,唯一的其他方法就是攻击与该数据库交互的实体。

当将视角从直接攻击系统转变为攻击使用系统的人时,利益变得非常有趣。在上述数据库示例中,攻击者可能试图欺骗该用户透露其数据库凭据或以其他方式访问数据库。然而,尽管这可能是主要目标,但不一定是实现这一目标的最佳方式。例如,攻击者可以试图欺骗用户代表自己访问数据库并透露其中的信息,修改某些信息,甚至删除部分信息。与直接获取访问数据库所需信息相反,用户可以成为与数据库交互的木偶。只要攻击者的借口足够好,用户可能会在毫不知情的情况下执行这一操作,从而造成安全漏洞。攻击者可能会在不引起任何警报的情况下实现他们的目标,因为这种成功的攻击非常难以检测。

把用户视为木偶能够真实地展现出其影响范围,显著扩大了安全考虑的范围。同一个数据库用户很可能可以访问公司的电子邮件服务、工作站、企业专有软件以及诸如文件共享之类的一般内部网络资源。除了数据库凭据外,他们可能还了解员工层次结构、门禁代码、钥匙位置、建筑布局、员工喜欢的酒吧、所使用的设备、敏感或关键信息,甚至是首席执行官喜欢喝的咖啡,仅举几例。

上述个人很可能拥有足够的知识和特权,无意中损害了业务。因此,妥协了这名员工就相当于给攻击者打开了“王国的大门”。如果他们能有效地操纵这名员工,那就等于在内部找到了帮手,这就是所谓的“内部工作”。

当考虑到一个企业可能有数百甚至数千名员工属于这一类别时,问题就会升级。此外,一个全面的安全漏洞往往是由于一个员工成员被成功地针对而导致的。以这种方式看待问题似乎几乎是无法解决的,攻击者的胜算肯定是占据优势的。

通过让每个员工了解敏感信息,使其能够访问敏感服务并让他们进入敏感区域,企业实际上是在为他们的员工挂上了象征性的标靶。企业正在把每一个固有脆弱的员工变成一个极有价值的目标;通过企业本身的各种安全漏洞使他们变得更加脆弱。因此,社会工程攻击之所以如此有效,也就不足为奇了。

特权的问题

为了使企业正常运作,必须向每个员工授予某些特权。这是不可避免的,总会有那些由于其工作性质而被认为是高价值目标的个体以及被认为是低价值目标的个体的需求。然而,特权真正对企业对社会工程的易受攻击性产生了多大影响?或者换句话说,员工对社会工程师的实际价值是什么?企业在考虑社会工程威胁时是否应该以某种特定方式处理特权?

分配给员工的特权越大,他们对企业的风险就越大。很明显,员工可以访问的服务和数据越多,他们可能造成的损害就越大。重要的是要记住,绝大多数攻击都是内部工作,无论是故意还是意外。仅从这个角度来看,审慎考虑是否授予员工太多特权是明智的。

大部分员工被授予太多特权,仅仅是为了避免业务中断的事实是现实。人员成员请求访问某项服务或信息,并且没有考虑避免一些繁琐的程序,IT 部门就授权了。通过这样做,企业正在逐渐将每个员工都转变为更大的威胁,无论是从内部攻击的角度还是该员工被社会工程师妥协的潜力角度来看都是如此。

社会工程师会瞄准特权用户吗?也许会,尤其是如果他们直接访问目标数据。然而,非常重要的一点是要明白,社会工程师会选择最不费力的路径。因此,将所有安全控制和培训都放在你最高特权的员工身上可能会被证明是一次毫无价值的冒险。

假设一个社交工程师想要访问敏感的病人记录。他们应该针对外科医生还是针对护士?外科医生可以直接访问数据。但是,他们可能接受过额外的特定培训,了解何时可以以及何时不可以讨论这些敏感信息。对外科医生进行社交工程攻击当然是可能的,也许通过对家庭成员或同事进行精心伪装。然而,这需要大量的计划。护士可能更容易受到攻击,但根本无法访问病人记录。但是,护士可以访问存储这些记录的计算机系统。只需向每位主任护士发送一个精心设计的钓鱼电子邮件可能就足够了。任何点击恶意链接的护士可能会无意中为攻击者创建一个“后门”,从而访问网络。提升权限后,敏感数据就可以被访问,而无需与外科医生互动。通过他们的工作性质,外科医生拥有较高的权限,而护士拥有相对较低的权限,但这并不真正妨碍了犯罪者。事实是,通过对 20 位主任护士进行钓鱼攻击,成功的几率要比欺骗医生揭示病人记录的几率高得多。

权限远远超出了企业基于角色的系统对用户的规定。例如,假设根据员工的档案,他们有权限访问互联网、公共文件共享和一套软件包,以执行他们特定的工作角色。假设社交工程师能够说服这名员工透露任何信息或让其执行任何任务。就该员工被授予的工作角色特定权限而言,社交工程师不会获得太多好处,因为该用户无权访问任何对社交工程师特别有用的敏感信息或服务。然而,这些基本权限可以用来对企业发起极其有效的攻击。如果社交工程师说服用户透露其电子邮件帐户凭据,那么社交工程师可以使用相同的帐户向特权人员发送钓鱼电子邮件。这些内部钓鱼电子邮件极其难以防御,因为企业无法知道谁真正发送了它们。收件人很可能会被欺骗下载恶意软件并将其上传到公共文件共享,从而危及其他用户。

如果社会工程师能够完全操控一个权限较低的员工,他们可以安排一个承包商的会议室,透露企业使用的远程访问软件或使用的操作系统和网页浏览器版本。所有这些都与企业授予人员的权限无关。企业根本无法达到防止社会工程师获取可能用于对抗组织的信息所需的粒度级别。

不管企业是否向员工授予高或低的权限,社会工程师都可以利用这一点。这里重要的是不要将安全控制和意识培训仅分配给被视为高价值目标的那些员工。安全控制和培训应适用于企业中的每个人,因为每个员工都是社会工程师的潜在目标。

数据分类和需知

在某些环境中,敏感信息泄露的可能性是一个极为严重的问题,例如政府或军事组织。这些环境中采取了哪些安全控制措施,而大多数企业没有采取呢?一切都归结为数据的重要性以及确保它得到适当处理。关于数据分类系统已经有大量的书籍被撰写,因此我们只会触及绝对基础知识以及它们与社会工程漏洞的关系。

为了让商业组织提高其数据安全性,它们可以根据各种行业安全标准进行基准测试。这些标准包括信息分类作为定义的安全控制。例如,ISO/IEC 27001:2013 A.8.2.1 规定:“信息应根据其对组织的价值、法律要求、敏感性和重要性进行分类”。因此,这样一个数据分类方案的示例将是:

敏感

这些是如果泄露将对企业造成最大损害的信息。通常这些信息是投资策略或战略计划等。这类信息是最受限制的,也许只有少数几个员工能够访问。

机密

这类信息如果泄露也会对公司造成损害,但不及敏感信息那么严重。这可能是财务信息、客户信息、病人记录等。

私有

此类信息通常特定于一个部门,并不会给公司造成重大损害。然而,通常还有其他原因,这些数据仍然应该保持安全。诸如人力资源部门内的员工详细信息之类的信息将属于这一类别。

专有

这些信息通常是业务独有的,并且在某些情况下可以向第三方披露。这可能是新产品的设计或新服务的计划。

公开

这些是企业不认为特别有害的信息,例如建筑物位置、员工数量等。

上述列表在重视防止潜在损害业务的情况下似乎是对数据类型的一个非常明智的分离。

相比之下,军事或政府数据分类方案可能如下所示:

绝密

公开顶级机密信息可能会对国家安全造成损害。这是最高度限制的数据类型。

秘密

这些信息可能也会对国家安全造成损害,但不像绝密信息那样严重。

机密

这些信息不一定会对国家安全造成损害,但出于其他法律原因应该保密。

敏感但未分类

这些信息可能不会对国家安全造成损害,但可能以其他方式造成损害。

未分类

这是未被视为敏感的信息,因此没有分类。

两种数据分类系统之间存在明显的类比,主要区别在于整体目标。政府和军事组织关心的是保护国家安全,而商业组织关心的是在商业上保护自己。

当涉及到对社会工程攻击的易受影响性时,主要问题在于企业不必使用商业分类系统。军事和政府机构必须出于各种法律原因等使用他们的系统。企业有选择权,他们的决定通常是基于他们认为自己的信息有多敏感。受社会工程师攻击的绝大多数企业通常将其信息分类为“机密”和“公开”两类。这种分类系统的细粒度不足导致与每种信息类型相关的具体控制的缺乏。如果没有足够的安全控制措施,并且越来越多的员工可以访问数据,企业就越容易受到社会工程攻击的影响。

在商业和军事组织处理其数据的方式之间还有另一个重要区别,即“需要知道”的概念。在军事组织中,一个人可能具有访问敏感信息的所有相关安全许可,但如果他们没有“需要知道”该信息来执行他们的职责,他们可能会被拒绝访问。这是一种非常有效的安全措施,可以限制敏感信息的流动。

在商业组织中,“需要知道”的概念很少被实施,通常被视为不必要的安全控制。这会产生什么影响?即使企业决定实施完整的数据分类系统列表,各个类别之间可能仍会有重要信息的泄漏。没有“需要知道”的限制,任何级别的员工都有可能访问不需要执行其职责的敏感信息,使他们对企业构成更大的威胁。这些信息可能被视为敏感,但这并不意味着低权限的员工不能访问它们。

军事组织中,许可级别直接映射到数据的分类;如果权限不足或等于,就无法访问该数据。在商业组织中,唯一形式的安全许可是所使用的基于角色的系统,很少直接映射到数据的敏感性。

这并不意味着企业应该开始使用军事风格的数据处理方法。重点只是他们也不应该做相反的事情;实施一个所有人员都可以访问所有数据的弱数据分类系统。

安全性、可用性和功能性

安全、可用性和功能之间存在明确的关系,通常被描述为图 2.1 中显示的三重性。


图 2.1 安全性、可用性和功能性三重性。

当你增加其中一个方面时,其他两个方面就会减少。例如,如果你想要功能和可用性,那么安全性就会受到影响。如果你想要系统尽可能安全,那么你必须降低功能,减少用户的可用性。

通过“可用性”,我们指的是系统对用户的可访问性。在类似的表达中,有时也称为“可用性”。

大多数企业都接受了在安全性和可用性之间努力平衡的不可避免的挑战。如果你让系统更安全,就会使其对用户的可用性降低,反之亦然。如果企业无法找到平衡点,他们可能会通过不安全的系统创建问题,或者用户在有效地完成工作方面遇到困难。例如,如果建筑物各处都有活动网络点,攻击者可能随时可以插入笔记本电脑并攻击网络服务。然而,用户发现能够在会议室和其他地方插入他们的笔记本电脑非常有用,尤其是如果他们无法访问无线网络。在这里,平衡可能偏向可用性太多。企业可能决定实施端口安全控制并禁用所有不必要的网络点。现在他们对攻击者的恶意笔记本设备有更大的抵抗力。然而,不断需要为合法用户禁用和启用端口和端口安全成为了一场管理噩梦。现在平衡已经偏向安全性太多。在社会工程方面,这种平衡行为同样困难。

作者们充分了解绕过大多数网络访问控制和端口安全机制的技术。上述示例仅仅是为了展示平衡安全性和可用性的困难。

假设一家企业发现,帮助台部门泄露了太多信息。一名社会工程师通过电话联系,与员工交谈,并在通话结束后得知了 IT 部门负责人的姓名、地址和直接电话号码。在这里,如果你将帮助台工程师视为服务而不是个人,那么平衡已经偏向了可用性和功能性。企业可以决定限制帮助台工程师在电话中能够说什么,以及不能说什么,也许可以为他们提供一个使用的脚本。这将减少“功能性”,以增加安全性。社会工程师随后再次打电话过来,这次冒充 IT 主管,并利用他们的权限向工程师施加压力,要求其遵守他们的要求。社会工程师成功地引诱出了员工知道他们不应该透露的信息。企业随后决定,平衡显然仍然不正确,因此他们实施了一个来电识别过程,通过该过程,来电者将在已知号码上被回拨。这将减少可用性以增加安全性。作为回应,社会工程师再次冒充员工,并声称他们正在使用个人电话,因为他们的商务电话坏了,并绕过了识别过程。企业回应道,制定了一个硬性政策,只有已知号码可以使用,不论情况如何。员工们被告知,如果他们违反或弯曲这一政策,他们可能会受到纪律处分。这进一步减少了可用性以增加安全性。熟练的社会工程师现在考虑其他可能的解决方案,例如欺骗电话公司转移呼叫,或者只是以其他方式攻击企业。现在,企业相信他们已经取得了良好的平衡,直到一个真正的人员成员用个人电话拨打电话,声称有紧急情况,实际上是因为他们的商务电话坏了。对于那个人员成员来说,平衡肯定是不正确的,因为他们绝望地与拒绝帮助他们的帮助台工程师争论。

上述示例显然有些夸张,但它确实展示了达到正确平衡有多么困难。企业试图通过降低可用性来提高安全性,直到它开始过度限制自己的人员成员。

安全和可用性问题的另一个常见例子是企业试图实施强密码策略。企业决定用户必须使用包含大写字母、数字和特殊字符的长、复杂密码。人们认为这将显著提高企业的整体安全性。然而,对于无法记住新复杂密码的用户来说,可用性几乎不存在。因此,该用户决定将新复杂密码写下来,以防再次忘记。突然间,密码安全策略变得完全无效。社会工程师充分意识到这类问题,并经常寻找办公室周围写有密码的信息(如小便条、日历、日记等)。

安全与功能性有何关联?在安全领域经常说,最安全的系统往往是最简单的系统,漏洞通常源于复杂性。通过增加系统的功能性,你增加了系统可能受到攻击的方式。

假设目标企业对安全非常谨慎。员工没有任何出站互联网访问、电子邮件系统、传真,甚至无法通过标准邮件进行通信。几乎不可能进入建筑物。与人员成员联系的唯一现实途径是通过一个彻底筛选每个来电者的呼叫中心使用电话。这家企业的通信方式的“功能性”受到严重限制。然而,这导致了一个较小的攻击面,从而使它们更加安全。社会工程师必须计划通过电话发动攻击,这绝非易事,尤其是如果目标公司和人员的在线存在极少。

大多数企业无法像上面的例子描述的那样运作,它们别无选择,只能提供多种通信方式。因此,对于绝大多数企业,社会工程师可以通过电话、电子邮件、传真、书面文件,当然还有亲自等多种方式进行攻击。

实际上,很难预测影响安全、功能性和可用性平衡的后果,这使得这成为企业面临的最艰巨挑战之一。然而,这一挑战必须应对,因为这种平衡的任何变化都会引入新的漏洞,社会工程师必然会利用这些漏洞。

社会工程渗透测试教程(一)(2)https://developer.aliyun.com/article/1508470

相关文章
|
16天前
|
缓存 测试技术 Apache
告别卡顿!Python性能测试实战教程,JMeter&Locust带你秒懂性能优化💡
告别卡顿!Python性能测试实战教程,JMeter&Locust带你秒懂性能优化💡
32 1
|
1月前
|
自然语言处理 机器人 Python
ChatGPT使用学习:ChatPaper安装到测试详细教程(一文包会)
ChatPaper是一个基于文本生成技术的智能研究论文工具,能够根据用户输入进行智能回复和互动。它支持快速下载、阅读论文,并通过分析论文的关键信息帮助用户判断是否需要深入了解。用户可以通过命令行或网页界面操作,进行论文搜索、下载、总结等。
51 1
ChatGPT使用学习:ChatPaper安装到测试详细教程(一文包会)
|
1月前
|
缓存 测试技术 Apache
告别卡顿!Python性能测试实战教程,JMeter&Locust带你秒懂性能优化💡
【10月更文挑战第1天】告别卡顿!Python性能测试实战教程,JMeter&Locust带你秒懂性能优化💡
63 4
|
3月前
|
存储 Ubuntu 安全
ROS2教程02 ROS2的安装、配置和测试
本文是关于ROS2(机器人操作系统2)的安装、配置和测试的教程。内容包括使用一键安装脚本快速安装ROS2 Humble版,手动安装步骤,设置语言环境、添加软件源、更新软件包、安装ROS2桌面版和开发工具,配置ROS2环境,创建工作空间,配置ROS2领域以避免网络冲突,以及如何删除ROS2。此外,还包括了测试ROS2是否安装成功的两个案例:基本的Topic通信测试和使用Turtlesim演示程序。适用于Ubuntu 22.04操作系统。
280 1
ROS2教程02 ROS2的安装、配置和测试
|
2月前
|
缓存 测试技术 Apache
告别卡顿!Python性能测试实战教程,JMeter&Locust带你秒懂性能优化💡
【9月更文挑战第5天】性能测试是确保应用在高负载下稳定运行的关键。本文介绍Apache JMeter和Locust两款常用性能测试工具,帮助识别并解决性能瓶颈。JMeter适用于测试静态和动态资源,而Locust则通过Python脚本模拟HTTP请求。文章详细讲解了安装、配置及使用方法,并提供了实战案例,帮助你掌握性能测试技巧,提升应用性能。通过分析测试结果、模拟并发、检查资源使用情况及代码优化,确保应用在高并发环境下表现优异。
76 5
|
3月前
|
测试技术 开发工具 虚拟化
iOS自动化测试方案(一):MacOS虚拟机保姆级安装Xcode教程
这篇文章提供了一份保姆级的教程,指导如何在MacOS虚拟机上安装Xcode,包括环境准备、基础软件安装以及USB扩展插件的使用,以实现iOS自动化测试方案的第一步。
132 0
iOS自动化测试方案(一):MacOS虚拟机保姆级安装Xcode教程
|
3月前
|
Java 测试技术 Maven
Junit单元测试 @Test的使用教程
这篇文章是一个关于Junit单元测试中`@Test`注解使用的教程,包括在Maven项目中添加Junit依赖、编写带有@Test注解的测试方法,以及解决@Test注解不生效的常见问题。
|
4月前
|
测试技术 API Android开发
《手把手教你》系列基础篇(九十七)-java+ selenium自动化测试-框架设计篇-Selenium方法的二次封装和页面基类(详解教程)
【7月更文挑战第15天】这是关于自动化测试框架中Selenium API二次封装的教程总结。教程中介绍了如何设计一个支持不同浏览器测试的页面基类(BasePage),该基类包含了对Selenium方法的二次封装,如元素的输入、点击、清除等常用操作,以减少重复代码。此外,页面基类还提供了获取页面标题和URL的方法。
112 2
|
4月前
|
存储 Web App开发 Java
《手把手教你》系列基础篇(九十五)-java+ selenium自动化测试-框架之设计篇-java实现自定义日志输出(详解教程)
【7月更文挑战第13天】这篇文章介绍了如何在Java中创建一个简单的自定义日志系统,以替代Log4j或logback。
297 5
|
4月前
|
Web App开发 XML Java
《手把手教你》系列基础篇(九十六)-java+ selenium自动化测试-框架之设计篇-跨浏览器(详解教程)
【7月更文挑战第14天】这篇教程介绍了如何使用Java和Selenium构建一个支持跨浏览器测试的自动化测试框架。设计的核心是通过读取配置文件来切换不同浏览器执行测试用例。配置文件中定义了浏览器类型(如Firefox、Chrome)和测试服务器的URL。代码包括一个`BrowserEngine`类,它初始化配置数据,根据配置启动指定的浏览器,并提供关闭浏览器的方法。测试脚本`TestLaunchBrowser`使用`BrowserEngine`来启动浏览器并执行测试。整个框架允许在不同浏览器上运行相同的测试,以确保兼容性和一致性。
100 3
下一篇
无影云桌面