简体中文
  • 安全
  • 社会工程学
  • 钓鱼

社会工程学

社会工程学是一种通过操纵人们从而获取机密信息的艺术。每一个网络犯罪都始于社会工程攻击。让我们来看看它是如何工作的,以及如何保护自己免受其侵害。

Simeng
Simeng
Developer

简介

当谈到网络安全时,大多数人会想到诸如 SQL 注入、跨站脚本、 中间人攻击或恶意软件等技术攻击。然而,最常见和最有效的攻击往往根本不是技术性的。社会工程学是一种通过操纵人们从而获取机密信息的艺术。每一个网络犯罪都始于社会工程攻击。

以下是来自 维基百科 的定义:

在信息安全的背景下,社会工程是对人们进行心理操纵以促使他们执行某些操作或透露机密信息的一种手法。一种用于信息收集、欺诈或系统访问的信任骗局,它不同于传统的"骗术",因为它通常是更复杂的欺诈计划中的一个步骤。[1] 它也被定义为"任何影响人们采取某种行动的行为,这些行动可能对他们有利也可能无利。"

这些犯罪分子所寻求的信息类型可能有所不同,但当个人成为目标时,犯罪分子通常试图欺骗你提供密码、个人信息,或访问你的计算机以秘密安装恶意软件——这将使他们能够获取你的密码和银行信息,并使他们能够控制你的计算机。

社会工程学如何工作?

社会工程攻击过程通常分为一个或多个步骤。大多数社会工程攻击依赖于攻击者和受害者之间的实际交流。通常情况是,受害者会在一段较长的时间内被多个攻击者攻击,并且攻击的设计经过精心策划以避免被发现。成功的攻击包括以下步骤:

  1. 研究: 攻击者收集有关目标的信息,例如潜在的入口点和薄弱的安全协议,以便执行攻击。在当今世界,在线查找一个人的信息非常容易。例如,你可以在社交媒体资料中找到某人的电子邮件地址、电话号码,甚至是家庭住址。你还可以查到他们在哪里工作,做什么,以及他们的同事是谁。这些信息可以用来在下一步中伪装成一个极具说服力的钓鱼邮件或电话。

  2. 诱导: 攻击者使用这些信息创建一个可信的场景,诱骗受害者按照攻击者的意愿行事。例如,攻击者可能会打电话给受害者,冒充他们银行的客户服务人员,要求他们核实账户信息。或者,攻击者可能给公司员工打电话,冒充 IT 支持人员,要求他们重置密码。

  3. 情感操控: 攻击者利用情感来让受害者立即行动,而不加思索。例如,攻击者可能会威胁受害者如果不立即遵守请求,将面临罚款、处罚或起诉。或者,攻击者可能会打动受害者的贪婪心理,承诺他们帮助将得到一大笔钱或奖励。

  4. 执行: 攻击者执行攻击,形式可能有多种。例如,他们可能:

    • 欺骗受害者在他们的计算机上安装恶意软件。
    • 欺骗受害者通过电子邮件或电话泄露敏感信息。
    • 欺骗受害者将钱寄给攻击者。
    • 欺骗受害者点击邮件或短信中的恶意链接。

以上步骤可能会在很短的时间内发生,也可能会在几周或几个月内持续发生。攻击者可能针对一个人,也可能针对一群人。联系可能通过电话、电子邮件、短信或社交媒体聊天建立。但最终以你采取行动告终,比如共享信息或暴露于恶意软件中。

社会工程攻击的类型

社会工程攻击有很多种,每种攻击都有其自身的目的和目标。以下是一些最常见的社会工程攻击类型:

垃圾钓鱼

垃圾钓鱼是最常见的社会工程攻击类型。这是一种钓鱼攻击,攻击者向随机人群发送数百万封电子邮件,希望其中一些人会堕入骗局。邮件通常来自假冒的电子邮件地址,通常包含指向恶意网站的链接或恶意附件。攻击的目的是欺骗受害者点击链接或打开附件,从而在其计算机上安装恶意软件。

示例

想象一下,你在收件箱中收到了一封意外的电子邮件,主题行诱人地声称你赢得了一大笔奖金。邮件标题称你赢得了 $1,000,000 ,并需要立即领取你的奖金。

打开邮件后,你会看到一条消息,祝贺你所谓的彩票中奖。这封邮件可能会包含极具吸引力的承诺,比如一笔改变生活的巨款。邮件通常包含一个链接或联系信息,供你领取奖金。

这封邮件展现了经典的垃圾钓鱼攻击特征:

  1. 意外收到: 你从未参加过任何彩票或比赛,所以你不应该赢得任何奖金。

  2. 好得难以置信: 无缘无故地承诺一大笔钱是诱捕受害者的常用策略。

  3. 紧急行动: 邮件可能声称你必须尽快采取行动以领取奖金,制造紧迫感。

  4. 请求个人信息或资金: 为了"领取"你的奖金,你可能会被要求提供个人信息、支付费用或转账以支付所谓的手续费。

针对性钓鱼

针对性钓鱼是一种钓鱼攻击,攻击者专门针对某个人或一群人。攻击者会对目标进行研究,然后向他们发送一封看似来自可信来源的个性化电子邮件。邮件通常包含指向恶意网站的链接或恶意附件。攻击的目的是诱骗受害者点击链接或打开附件,从而在其计算机上安装恶意软件。与垃圾钓鱼不同,针对性钓鱼攻击高度针对性和个性化,成功的可能性要高得多。

示例

在这个针对性钓鱼场景中,你收到一封电子邮件,看起来像是来自某个同事或你认识的人。电子邮件包含一个主题行,暗示这是一个重要的安全通知。使针对性钓鱼不同于常规钓鱼的是,攻击者针对特定个体,并且通常掌握一些目标的相关信息。

打开邮件后,你会发现一条消息,声称来自你的 IT 顾问 Charles 。邮件用你的全名称呼你,提到你工作账号的一个所谓的安全漏洞。邮件要求你点击一个链接或下载一个附件以保护你的账号。你点击链接,进入了一个看起来与你公司登录页面一模一样的网站。你输入了用户名和密码,攻击者现在可以访问你的账号。

这封邮件展现了经典的针对性钓鱼攻击特征:

  1. 个性化: 邮件用你的全名称呼你,使其看起来很合法。

  2. 紧迫感: 消息传达了紧迫感,暗示你需要立即采取行动以解决安全问题。

  3. 请求行动: 邮件要求你点击链接或下载附件。这些链接或附件通常包含恶意软件或钓鱼网站。

诱饵攻击

诱饵攻击是一种社会工程攻击,攻击者向受害者提供一些诱人的东西作为交换,以换取他们的个人信息。例如,攻击者可能会提供免费礼品卡或免费电影下载,以获得受害者的电子邮件地址。攻击的目的是诱骗受害者放弃他们的个人信息,攻击者可以用这些信息盗取他们的身份或进行欺诈。它利用了受害者的好奇心或贪欲。

示例

在这个诱饵攻击场景中,攻击者在公共场所,如咖啡店或停车场,丢下一枚 USB 驱动器。USB 驱动器上标有 "机密" 或 "私人",其中包含的恶意程序会在受害者插入后安装恶意软件。攻击的目的是诱骗受害者将 USB 驱动器插入他们的计算机,从而在计算机上安装恶意软件。

你将 USB 驱动器插入计算机,希望找到有价值的信息。它似乎包含一个名为 "Confidential_Project_Data.csv" 的文件。当你试图打开文件时,它触发了一个隐藏脚本,感染了你的计算机。

在这个诱饵攻击中:

  1. 诱饵 是 USB 驱动器,标有 "机密" 或 "私人" ,让任何人看到时都觉得很吸引人,特别是在专业或工作场所环境中。
  2. 好奇心因素: 人类的好奇心被利用成了一种漏洞,促使人们采取可能会避免的行动。

水坑攻击

水坑攻击是一种社会工程攻击,攻击者通过感染一个目标群体可能访问的网站来进行攻击。例如,攻击者可能会感染一个热门新闻网站或热门社交媒体网站。攻击的目的是诱骗受害者访问受感染的网站,从而在其计算机上安装恶意软件。

示例

一群攻击者旨在破坏一个特定行业协会的安全,该协会代表一群网络安全专业人士。攻击者打算窃取敏感数据并入侵网络安全专家们的系统。

攻击者确定了该社区常用的知名网站。在这种情况下,他们选择了该网络安全行业协会的官方网站。攻击者通过技术手段,如 SQL 注入或 跨站脚本 (XSS),来获得网站内容管理系统的未经授权访问。

一旦获得对网站的访问权限,攻击者就在站点页面中注入了恶意代码。这段代码旨在向访问受感染页面的访客提供恶意软件。

然后攻击者等待网络安全专业人士访问该网站。他们知道,许多网络安全专家定期查看该网站以获取更新、新闻和资源。

当网络安全专业人士访问行业协会的网站以阅读文章、参加网络研讨会或下载资源时,他们无意间将自己设备暴露于注入的恶意软件中。恶意软件可能窃取敏感信息,如登录凭据或个人数据。它还可以为攻击者提供一个突破口,用以发起进一步的攻击,包括针对性钓鱼或利用受害系统的已知漏洞。

在这个水坑攻击中:

  1. 水坑 是行业协会的网站,这是网络安全专业人士的一个热门去处。
  2. 目标受众: 攻击者针对特定的人群,在这里是网络安全专业人士。
  3. 利用信任: 攻击者利用了网络安全专业人士对行业协会网站的信任。
  4. 利用漏洞: 攻击者利用了网站内容管理系统的漏洞,将恶意代码注入了站点页面。

如何保护自己免受社会工程攻击

保护自己免受社会工程攻击需要结合提高意识、质疑精神和最佳实践。以下是一些保护自己免受社会工程攻击的重要步骤:

  1. 自我教育: 了解常见的社会工程手法,包括钓鱼、假托、诱饵攻击和尾随攻击。及时了解最新的社会工程手段和趋势。

  2. 验证身份: 始终验证请求你提供个人或敏感信息的个人或组织的身份。不要仅仅依赖联系你的人提供的电话号码、电子邮件或网站。使用独立取得的可靠来源的官方联系方式。

  3. 质疑请求: 对未经请求的个人、财务或机密信息请求持怀疑态度。合法的组织通常不会通过电子邮件或电话请求这些信息。如果有人要求敏感信息,请询问为什么需要这些信息以及将如何使用。

  4. 警惕紧迫感和压力: 社会工程师通常会制造出一种紧迫感,让你在没有思考的情况下做出决定。请花时间考虑请求或提议。验证情况的合法性。

  5. 保护物理访问: 保护你的物理工作区免受未经授权的访问。在不使用计算机和设备时,将它们锁定。当允许陌生人进入安全区域时要小心。

  6. 员工培训: 如果你是组织中的一员,请为员工提供社会工程意识培训。教员工识别和报告可疑活动。

  7. 使用可靠来源: 从可信和经过验证的来源获取信息。避免依赖非官方网站或未经验证的新闻。

  8. 数据加密: 加密敏感数据,无论是在存储还是传输过程中,以防止未经授权的访问。

实践安全的在线行为

对于开发者和企业主来说。如果你正在开发一个 Web 应用程序,你应该遵循最佳实践来保护你的用户免受社会工程攻击。有很多方法可以为你的应用程序提供额外的安全保障:

  1. 使用强密码。 大多数人使用的密码都很容易根据他们的个人信息猜到。为了实现一个安全和可靠的用户身份管理系统,你应该启用强密码策略。这将防止用户在没有适当安全措施的情况下使用他们的弱密码。
  2. 启用多因素身份验证。 多因素身份验证(MFA)为用户的帐户增加了一个额外的安全层,要求他们在输入密码的同时从手机或其他设备输入代码。这使得攻击者很难进入你的客户账号。即使你的客户密码被泄露,攻击者在没有第二因素的情况下也无法访问他们的账号。
  3. 加密用户数据。 加密用户数据是防止未经授权访问的好方法。如果攻击者获得了你的数据库访问权限,他们在没有加密密钥的情况下也无法读取数据。这将防止他们窃取你客户的个人信息。
  4. 定期轮换访问密钥。 访问密钥用于访问你的应用程序资源。如果攻击者获得了你的访问密钥,他们将能够在没有你许可的情况下访问你的应用程序资源。为了防止这种情况,你应该定期轮换访问密钥。
  5. 使用现代身份验证系统。 现代认证协议,如 OAuth 2.0 和 OpenID Connect,比旧协议如 SAML 和 WS-Federation 更加安全。它们使用现代加密算法,难以攻击。
  6. 预注册登录重定向网址和设备 如果你正在使用 OAuth 2.0 或 OpenID Connect 进行认证,你应该预先注册登录重定向网址和设备。这将防止攻击者使用你的客户帐户在自己的设备上签入你的应用程序。