政府、企业和我们每一个人,在社会工程师的入侵面前是多么的脆弱和易受攻击。在这个重视信息安全的时代,我们在技术上投入大量的资金来保护网络和数据,但利用社会工程学的攻击者却可以轻而易举地通过骗取内部人员的信任,绕过所有技术上的保护……
——《The Art of Deception》
在网络安全世界里,如果有3种角色,那么应该是黑客(攻击者)、防御者,以及被利用者。被利用者,在不知情的情况下被社会工程学攻击者抓住了弱点,于是成为了攻击事件的“帮凶”。
一、社会工程学攻击:寻找人性的弱点
和拥有完整的技术理念和入侵经验的“学院派黑客”、直接使用攻击工具包的脚本小子,或自学成才善于渗透的实用主义黑客们不同,社会工程学攻击者需要掌握的不仅仅是黑客技术,他们还必须了解一定的心理学、行为学甚至人际关系、地理勘察等等。
简单来说,其他黑客是在寻找系统/网络的弱点,而社会工程学攻击者是在寻找系统/网络的弱点,以及人性的弱点。
《The Art of Deception》分享了一个故事:
一个叫斯坦利·马克·瑞夫金的年轻人,他工作的公家负责开发美国保险太平洋银行电汇交易室的数据备份系统。这给了他了解转账程序,包括银行职员拔出账款的步骤的机会。
被授权进行电汇的交易员每天早晨都会收到一个严密保护的密码,用来进行电话转帐交易。交易员为了记住每天的密码,就把密码记到一张纸片上,并把它贴到很容易看得见的地方。
11 月的一天,瑞夫金有了一个特殊的理由出入电汇室。到达电汇室后,他偷看了纸片上的密码。
下午3点,他离开电汇室,走到大厦前厅的付费电话旁,给电汇室打了一个电话,伪装成一名银行职员――工作于国际部的麦克·汉森。对话大概是这样的:
“喂,我是国际部的麦克·汉森。”
接听电话的小姐按正常工作流程让他报上办公电话。
“286。”他已有所准备。
对方接着说:“好的,密码是多少?”
“4789”,他尽量平静地说出密码。接着他让对方从纽约欧文信托公司贷一千零二十万美元到瑞士苏黎士某银行的他已经建立好的账户上。
对方:“好的,我知道了,现在请告诉我转账号。”
他不知道账号!但保持冷静,他说:“我看一下,马上给你打过来。”
这次,他装扮成电汇室的工作人员,打给银行的另一个部门,拿到帐号后打回电话。
几天后,瑞夫金乘飞机来到瑞士提取了现金。
这就是当时史上最大的银行劫案,过程中没有使用任何武器,甚至不需要计算机的协助。现在,我们也可以称之为一次社会工程学攻击的成功案例。
那么,为什么现在社会工程变得越来越火?因为越来越成熟的网络安全防护技术及安全防护产品堵住了非常多的漏洞,常规的入侵手段的作用越来越小。在“艰难”的环境下,一部分黑客钻研更复杂的工具和攻击手法,一部分黑客则开始转向社会工程学攻击。
二、万物皆可社会工程
社会工程学攻击都有哪些手段呢?广义来说,黑客伪装成外卖小哥进入目标建筑、或通过应聘进入目标公司也算是社会工程学的一部分。
此外,比较常见且典型如:钓鱼邮件、诱骗链接。这些邮件、链接往往利用目标的贪便宜、恐惧、好奇等心理,发送目标所关心的内容(电影、文件、优惠券,甚至来自所谓领导的“命令”),诱骗目标打开受感染的文件,从而实现信息获取和入侵。
FIN7 APT组织曾利用社会工程学辅助攻击。他们给网络安全公司的目标寄了一个包裹,声称是 Best Buy 给到其忠实客户的50美元礼品卡,其中还包括一个看似无害的USB,声称里面包含物品清单。而事实上,该USB设备使用Arduino微控制器,并编程模拟USB键盘。由于PC默认情况下信任键盘USB设备,一旦插入,键盘模拟器就会自动插入恶意命令。
通过礼物降低目标的警惕,然后直接通过物理设备USB注入恶意命令。这就是FIN7的策略。
此外,比如搜集某家公司员工的名单信息后,发送社工攻击模板,提示员工尽快更新“杀毒软件”,否则会对公司造成潜在风险。在目标的附近扔几个U盘/硬盘等设备,一旦有员工(运气好的话可能是管理人员)捡到并在计算机上连接,那么就可以通过该计算机进行入侵甚至获取更多权限。这些也是社会工程学攻击者的伎俩。
近源渗透,同样是一个将社会工程学应用地很好的场景。测试人员/黑客可以靠近或直接进入目标所在的现实办公环境,物理地越过防火墙等边界防御线,然后通过办公内部门禁、WIFI、USB接口等的攻击面,进行渗透测试/入侵攻击。一般来说,越靠近目标所在位置,会发现越多的安全盲点。“灯下黑”在企业安全建设中并不少见,这也给了黑客可乘之机。
总体来说,社会工程学攻击者的“骚”操作并不少见。而攻击都是通过搜集信息,比如目标的电话号码、姓名、收支情况等,综合利用已知信息,诱导目标提供更多信息或按照指示做出相应行动。
三、社会工程无非信息收集+利用
如果说社工三大法宝:网络钓鱼、电话钓鱼、伪装模拟,那么两大关键则无非是信息收集+信息利用。
如何收集信息?利用所有能利用的人和工具——比如百度、谷歌或者看门大爷。
攻击者可以通过物理收集(接近目标所在地,通过树莓派等工具现场收集信息)、技术性收集(互联网检索)手段广泛收集围绕目标的相关信息。
收集到看似琐碎的信息后,再利用收集的信息进一步获取目标信息,并且对这些信息进行整理。
比如目标是一个公司的员工,这些信息可以塑造出该员工的整体形象和性格特点,而利用某个特点,攻击者完全可以发送一个精心设置的邮件,使得对方打开从而陷入圈套。当然,该员工的行为也可能会受到很多其他突发的现实干扰使其没有完成攻击者希望其进行的操作,但这也能够让攻击者进一步完善其资料模型,准备下一次的诱饵。
在工具上,所有辅助社会工程学攻击的钓鱼网站/工具、恶意软件包等其实也可以被称为是社会工学工具,不过,社会工程学工具包(SET)更广为人知。作为一个开源的、Python驱动的社会工程学渗透测试工具,这套工具包由David Kenned设计,而且已经成为业界部署实施社会工程学攻击的标准。
最后,可能有人想问,社会工程学的攻击该如何防御?
除了和应对普通网络攻击一样的技术、策略和手段,比如使用深度包检测技术(DPI)、行为分析以及威胁情报来监控网络层的异常行为,使用IAM等技术强化访问认证和授权等,日常培训、加强警惕、增强安全意识是基础了……