人本身是防御体系中最大的漏洞。由于人心的不可测性,决定了无法像修补漏洞一样对人打补丁,只能通过后天培养安全意识来预防这种情况发生。虽然社会工程学的本质是心理战术,但是可以使用很多技术手段进行辅助,本节介绍社会工程学常见的手段。
社会工程学是什么
社会工程学(Social Engineering)比较权威的说法是一种通过人际交流的方式获得信息的非技术渗透手段。经过多年实践,社会工程学有了两种分支:公安社会工程学和网络社会工程学。我们通常所讲的社会工程学指的是网络社会工程学,渗透方法有水坑攻击、网络钓鱼等多元化的表现形式。
社会工程学的攻击方式
随着互联网的发展,社会工程学的手段也更多样化,究其本质,社会工程学离不开三个要素:人、技术手段、人与人或物的交互手段。这里对常见的几种社会工程学攻击手法做一个简单的介绍。
1.直接索取信息
直接索取信息可能会让你觉得荒谬,但实际情况是,这种方式是最简单且更符合现代人心理习惯的。举个例子,某企业的公司职员学习了很多关于社会工程学的知识,包括现代化钓鱼手段、冒充攻击的预防措施等,但是攻击者采取了直接索取信息的方式,而这位职员认为攻击者不会采取如此低级的手段,把索要信息的人当作自己的同事或上司。这种攻击手段也可以理解为某些公开信息是可以直接问客服索要而不需要大费周章去获取的。
2.网络钓鱼
网络钓鱼(Phishing)是指攻击者利用欺骗性的电子邮件和伪造的网站进行网络诈骗活动,受骗者往往会泄露自己的私人资料,如信用卡号、银行卡账户、身份证号等内容。诈骗者通常会将自己伪装成网络银行、在线零售商或信用卡公司等可信品牌的工作人员,骗取用户的私人信息。图1-36所示为一封真实的钓鱼邮件。
常见的网络钓鱼方式又分为以下几种。
(1)鱼叉式网络钓鱼。
由于鱼叉式网络钓鱼锁定的对象并非个人,而是特定公司或组织成员,故受窃的资讯非一般网络钓鱼所窃取的个人资料,而是其他高度敏感的资料,如知识产权及商业机密。
(2)语音网络钓鱼。
语音网络钓鱼(Voice Phishing,Vishing)是一种新出现的智能攻击形式,其攻击目的是试图诱骗受害者泄露个人敏感信息。语音钓鱼是网络钓鱼的电话版,试图通过语音诱骗的手段,获取受害者的个人信息。虽然这听起来像是一种"老掉牙"的骗局套路,但其中加入了高科技元素。例如,涉及自动语音模拟技术,诈骗者可能会使用从较早的网络攻击中获得的有关受害者的个人信息。
(3)鲸钓攻击。
所谓"鲸钓攻击"(Whaling Attack)指的是针对高层管理人员的欺诈和商业电子邮件骗局。这种攻击与鱼叉钓鱼和普通网络钓鱼相比,更具针对性。攻击人员往往采取类似于"精英斩首战术"的方式,通过长期控制和渗透攻击目标的高层人员,达到自己的目的。通常,此类攻击的潜伏期及准备期更漫长。
3.水坑攻击
水坑攻击,顾名思义,是在受害者的必经之路设置一个"水坑(陷阱)"。最常见的做法是,黑客分析攻击目标的上网活动规律,寻找攻击目标经常访问的网站的弱点,先将此网站"攻破"并植入攻击代码,一旦攻击目标访问该网站就会"中招"。这种攻击手段可以归为APT攻击,也可以理解为是利用受害者的习惯进行的复合式钓鱼。图1-37所示为水坑攻击的简易流程。
4.冒充攻击
冒充攻击通常是指攻击者伪装成你的同事或扮成某个技术顾问甚至你的上司,让你达到心理上或放松或压制或信任的状态,从而达到骗取信息的目的。攻击者通常会伪装成以下三类角色。
--- 重要人物冒充:假装是部门的高级主管,要求工作人员提供信息。
--- 求助职员冒充:假装是需要帮助的职员,请求工作人员帮助解决网络问题,借以获得所需信息。
--- 技术支持冒充:假装是正在处理网络问题的技术支持人员,要求获得所需信息以解决问题。
5.反向社会工程学
反向社会工程学通常是通过某种手段使目标人员反过来向攻击者求助,这种攻击方式很神奇,并且实际利用起来确实比其他心理学手段更有效。通常,反向社会工程学是一种多学科交叉式攻击的手段,大致的攻击过程可以分为如下步骤。
第一步,进行技术破坏。对目标系统进行渗透后,修改某些程序造成宕机或程序出错,使用户注意到信息,并尝试获得帮助。
第二步,在恰当的时机进行合理推销。利用推销确保用户能够向攻击者求助。例如,冒充系统维护公司的工作人员,或者在错误信息里留下求助电话号码。
第三步,假意修复,获取对方的更多信息。攻击者假意帮助用户解决系统问题,在用户未察觉的情况下,进一步获得所需信息或者获取对方信任进一步套取信息。