本文将说明社交工程与攻击者的思维、目前的攻击趋势以及自始以来的演变,有助于培养大家面对社交工程时所需要的防范观念及防范方法,并认识在线开源工具Zphisher,由结合新型社交工程攻击手法QR Code钓鱼(Quishing)进行实作。旨在提高网络安全意识,加强网络安全防护。任何非法操作均与本人无关。
社交工程是一种利用人际间的微妙关系来达成目的的一种攻击模式,因为人际关系的信任无所不在,因此社交工程攻击者一旦发动攻击,总有少数人因为攻击者的话术或营造出的情境而身受其害。在这个数位化及信息技术日渐发展成熟的时代,人工智慧为大家的生活带来不少便利之处,但人工智慧是把双面刃,当妥善地运用人工智慧可顺利解决日常或是工作上的问题;反之,如果将人工智慧与社交工程结合,则会使人们的日常增添未知的危机。在进行情境演练之前,首先介绍相关的背景知识。
了解社交工程与攻击者的思维
在信息技术发达之前,社交工程的行为就持续存在,攻击者利用受害者贪小便宜、秉持着人性本善的心态达成攻击目的。社交工程攻击者基于攻击方与受害方的认知偏差进而操控人心,诱使受害者顺着攻击者的想法达到最终目的,并且人性不可能为十全十美,总会有缺漏之处被攻击者发现,导致受害者受到社交工程攻击的机会大增,其中社交工程攻击者想要达到的目的不外乎以下几点:
获取经济利益
攻击者通过交换信息、假冒身分等方法,直接或间接取得受害者的信任,博取受害者的同情心进而取得经济利益,或是假意给予一些蝇头小利之后再骗取大量钱财。
获得受害者的个人信息
通过社交工程攻击,攻击者利用假网站或是话术诱使受害者输入帐号密码,攻击者则可从中获取受害者的个人信息。由于大多数人使用多个网站时,仅会使用同一组帐号密码作为登入依据,因此一旦攻击者取得受害者的帐号密码,就可透过自动化的方式尝试登入其他网站或应用服务,以此来获得其他网络服务的权限,此行为称为撞库攻击(Credential Stuffing),又称为凭证填充。
取得系统控制权
攻击者利用钓鱼、诱骗等方式,将木马程序、恶意软件附加在传送的附件当中,一旦受害者点击附件,便会导致受害者的装置受到攻击者控制,甚至对受害装置造成破坏。
社交工程攻击趋势与演变
社交工程并不是一个新的名词,是至今仍被各大企业、学校组织以及个人所关注的严重议题,虽然政府、企业等机构都倡导过社交工程的严重性及其所带来的威胁,然而,会进步的不只有民众的意识,攻击者多变的手法更会与时俱进,以下针对常见传统的手法与近年新型的手法进行说明。
传统社交工程攻击手法
传统的社交工程攻击手法,包括以下几种类型:
电子邮件钓鱼(Email Phishing)
电子邮件钓鱼是社交工程中最基础的攻击手段,攻击者会藉由客制化的方式产出吸引受害者的标题诱骗受害者开启邮件,例如诱导受害者重新认证以便取得凭证。除了攻击特定对象外,攻击者会藉由发送广告进行「无差别攻击」,利用福利诱使受害者点选电子邮件的附件,而受害者则会无意间下载恶意程序或遭到勒索。虽然目前使用电子邮件的人数不如往日那么多,但是许多应用服务的认证仍须透过电子邮件来确认,因此利用电子邮件钓鱼的攻击手法仍十分猖獗。
短信连接诈骗(SMS Link Scam)
人与人之间的远距离沟通模式,随着科技进步逐渐从书信转变为短信,便捷的短信在造福民众的同时也成为绝佳的攻击利器,攻击者会伪装成受害者所信任的对象或是营造出吸引受害者的情境,诱使受害者点选信息中的连接。如图1所示,攻击者伪装成和泰集团的客服人员,利用人们贪小便宜的心态诱骗对方点击信息中的连接,以此骗取受害者的个人信息。
中奖通知(Lottery Scam)
「人性」是社交工程攻击者所运用的利器,人性的弱点之一「贪婪」是每个人或多或少拥有的特质,正因为人性的贪婪,导致社交工程攻击者可以从中获得利益。
新型社交工程攻击手法
新型的社交工程攻击手法,则有以下几种类型:
日渐常用的QR Code
随着科技技术的演进,人们满足各项需求的方式也会有所改变,在满足需求的同时,也会追求效率及便利性,因此在日常生活中有许多场合也会使用QR Code(Quick Response Code),例如在餐厅用餐时,业者为了节省复印菜单的成本、增加点餐的便利性及效率,会将纸本菜单改为在线点餐,并将在线菜单转成QR Code方便民众扫描查看餐点及点餐;疫情指挥中心透过QR Code搜集民众的外出足迹,以利调查疫情扩大趋势;转账付款时,民众也会通过QR Code进行收款及付款的操作。
由于政府、企业等机构大力宣传传统的社交工程攻击手法,因此民众对于奇怪的连接、短信也会有所警惕,但QR Code拥有快速读取及大储存数据容量的特性,且从外观上看不出QR Code所连接的网站有何异状,正因如此,QR Code渐渐成为社交工程攻击者发动攻击的工具。所示,无法从正常QR Code与恶意QR Code的外观中看出有何异状,且正常QR Code所译码出的网站与恶意QR Code所译码出的恶意网站十分相似。
正常解码
恶意网站解码
AI技术之伪造
近年来,因为人工智慧的技术发展迅速,促使聊天生成预训练变换模型(ChatGPT)的推出以及广泛应用。ChatGPT的核心基础是机器学习(Machine Learning)与深度学习(DL)以及隶属其中的自然语言处理(NLP)技术,而ChatGPT的特色在于可以模仿人类的对话方式与使用者进行互动,就连复杂的运算、程序语言等各项任务都能于短时间快速完成。
作为ChatGPT的开发者,OpenAI为了让使用者可以合法使用产生的信息,因此会在模型中加入限制避免ChatGPT产出具有争议性的回答,而部分使用者为了让ChatGPT满足更多需求,尝试突破其原本的内容限制,以满足使用者的意图,这个做法称为ChatGPT越狱(ChatGPT Jailbreak)。使用者可以透过巧妙的方式提供提示词(Prompt),引导ChatGPT响应原本不该回答的问题,又或者是安装第三方软件的方式让ChatGPT打破原本的回答限制,如图6所示,使用者要求ChatGPT运用SQL Injection发动联合查询注入攻击,获得攻击特定网站的方法,不过ChatGPT却以违反法律与道德规范为由拒绝提供攻击方法,但是经过使用者的问题引导之后,ChatGPT会认为使用者是以学习为目的来得知攻击手法,因此ChatGPT便有机会给予示例来教导使用者学习这项攻击手法,便能达成使用者目的,以此作为攻击其他人的手段,使用者引导手法如图所示
软件供应链攻击
因为现代许多开源软件、系统的原始代码大多出自于全球最大的代码集成地GitHub(https://github.com/),许多开发者将代码储存至GitHub中供其他开发者使用,这代表一旦攻击者在开源代码中植入恶意代码而没有被使用者发觉时,就能够让受害者使用带有恶意代码的开源代码进行软件的研发与制作,便会产生安全性的问题。
以密码管理服务商LastPass为示例,该公司曾受到软件供应链攻击,所开发出的免费跨平台在线密码管理工具的员工曾受到攻击者利用开源代码的漏洞取得密码管理库的密钥,使得用户的个人资料外泄,包含公司名称、电子邮件、IP位址以及加密储存库的数据,并同时入侵该员工的电脑作为攻击跳板以此取得更多权限及加密密钥,让身为标榜密码管理的LastPass名誉及信用受损,同时也让全世界的广大用户深陷个人资料外泄的安全疑虑。
SEO优化攻击
搜寻引擎最佳化(Search Engine Optimization,SEO)是透过了解浏览器运算的原理,将搜寻者输入的关键字进行运算得出推荐的网站,进而提高网站在搜寻结果所呈现的排名。由于多数使用者在使用搜寻引擎时都只会留意第一页或是前面几项的搜寻结果,因此透过搜寻引擎最佳化可以让指定网站的曝光率增加。
相较于以往的攻击行为,SEO优化攻击算是积极性的攻击行为,由于大多数民众已经对诈骗短信、电子邮件诈骗等攻击行为有着一定的警觉心,为了提高攻击的成功率便会与时俱进想出更多符合世代的攻击行为,正因为网络的普及以及便利性,攻击者利用搜寻引擎最佳化让恶意网站的搜寻结果呈现在受害者的视线当中,诱使受害者毫无防备心地点击,便误打误撞地将恶意档案、恶意程序加载装置内,间接帮助攻击者实现恶意行为。攻击者使用SEO优化攻击提升带有恶意行为的网站的搜寻结果排名,导致该网站的浏览数大幅提升,从而提高攻击行为的成功率。
WormGPT
随着ChatGPT的广泛应用,攻击者注意到这项工具所带来的高效率以及便利性,因此匿名开发者便以ChatGPT为模型制作出黑客版的ChatGPT——WormGPT。
ChatGPT虽然可以模仿人类的对话方式与使用者对话,但是ChatGPT会受到训练阶段时所输入的数据拘束,而对不当言论有所限制。与此有别,匿名开发者在WormGPT中加入更多攻击信息提供开源的无监督学习系统进行学习,因此WormGPT不会受到人类道德观的限制,如此一来,攻击者可以运用WormGPT设计出多样化的攻击样态。
企业与个人面对社交工程攻击的防范方式与解法
因为社交工程攻击的手法具有多样化,所以无论是企业或是个人皆需要具备防备心,以免因为一时的疏忽及无知而变成受害者。社交工程攻击的核心在于利用人性的心理弱点达到攻击目的,因此提高企业员工以及个人的危机意识及警觉心是必要的,而企业或是个人防范社交工程攻击的方法如下:
多因素验证(MFA)
无论是企业还是个人,在登入应用程序之前先采用多步骤验证,利用两个以上不同的验证因素让系统确认是否为本人,才能赋予使用者权限。两步骤会透过使用者密码以及生物特征或是位置来认定是否通过验证,透过指纹、面部特征来达成生物特征的验证程序。透过定位系统限制,可以采用该应用程序的使用者所能行动的范围,以此隔绝远端联机的攻击者。
教育与训练
由于社交工程攻击是利用人性的弱点所达成目的的攻击手法,因此加强个人与企业员工的自身意识是不可缺少的根本办法。在以往的攻击例子当中,多数案例都是因为员工的一时疏忽而导致攻击者得以顺利入侵企业的内部系统,所以加强员工训练提升自身的防范意识是最根本的解决方法。企业对员工进行定期的安全意识训练,包含社交工程的识别及预防,或是举办企业的模拟攻击练习,让员工实际体验在真实情况中会发生的事件以及该采取何种措施来应对社交工程攻击,对于陌生的事物应保有警觉心,防止掉入攻击者所设计的圈套当中。公司可以定期举办安全意识培训,同时利用奖励的方式进行模拟演练,如此才会增加大家共同参与的意愿,不仅可以降低遭受社交工程攻击的机会,提升公司内部信息的安全性,也可以让员工收获良多,打造双赢的局面。
密码管理
无论是企业的管理者或是个人日常所使用的密码,应该采用多组且复杂的密码作为登入依据,如果使用多个系统而只用一组帐号密码,一旦攻击者使用撞库攻击(Credential Stuffing)便会让多个系统同时遭受到攻击,因此要养成定期修改密码及使用多组密码的习惯。
Zphisher是一种在线的开源工具,其特色是使用浅显易懂的界面以及可以产生对外联机的全球资源定位器(Uniform Resource Locator,URL,又称网址)。前者能快速地让初学者学习如何操作,并且提供各种社群软件或是各大平台的登入界面供使用者选择。相较于自己建立钓鱼网站,Zphisher可以更方便及快速地完成相似的网站。后者相较于其他社交工程工具,例如Kali Linux内置的Social Engineering Toolkit(SET)所做出的假网站只能在本地端进行操作而无法让外网的使用者联机至造假网站,需要具备更多网络架站知识才得以将服务对外。Zphisher最大的特色在于可以建立对外开放的网址,无须再透过其他操作进行网址替换才能对外开放供他人联机。此外,享受着Zphisher带来的便利之余,别忘了此工具仅供教育目的,切勿进行攻击行为以免触犯刑法。
在阅读完使用方式及相关规范后,心想就算以此工具作为攻击手段也无法得知是我做的,便不把最后一句话放在心上。开启Kali Linux之后,在终端机输入「git clonehttps://github.com/htr-tech/zphisher.git」便可以将Zphisher下载至Kali Linux,等到下载完毕之后再输入「cd zphisher」移动至工具所在的文件夹,接着输入「bash zphisher.sh」以开启Zphisher。
对方一定会使用Google公司所推出的各项服务,例如Gmail、云端硬盘、YouTube等等的应用程序,因此选择选项3的Google来进行此次的攻击。为了方便欺骗小飞,所以选择接下来选项2的Gmail New Login Page,这个选项的页面较接近现在Google登入的页面。操作步骤如图11所示。
接着,选择选项2的Cloudflared服务。若选择第一个Localhost选项,所架设的网站于本机上,除非具备网络架站的相关知识,否则该服务只能于本机端进行操作,并无法对外开放,因此选择了选项2的「Cloudflared」服务,能够快速地将服务对外开放联机,接着使用者也能够自定义连接端口(Ports)及网址掩码(URL Mask),若不另外进行设定,可以皆输入「N」保持预设模式,操作步骤如图12所示。
紧接着便会出现2至3个网址,所出现的网址都可以连接至Zphisher所产生的造假网站,但是觉得Zphisher所产出的网址太容易被识破,原因有以下两个:一、网址太过冗长,容易被发觉异样;二、网址的结尾太过特别,容易让人起疑,因此认为应该要想出解决这个问题的方法。刹那间,想起了疫情期间所广泛应用的QR Code,透过QR Code看似复杂的外观将容易被识破的网址隐藏,因此便将网址转变成QR Code的样子。Zphisher产出的网址如图13所示,操作流程如图14所示。
顺利产出QR Code之后,透过企业间的关系以及话术成功地让小飞扫描QR Code,扫描QR Code之后会看到假的Google登入画面,由于乍看之下跟真正的Google登入画面十分相似,因此小飞不疑有他便输入帐号密码,图15为造假网站的登入页面。
本文以攻击者的思维开始说明社交工程攻击的目的,并说明新旧的社交工程攻击类型以及攻击的转变趋势,让大家了解到新旧攻击手法的样态。此外,本文于情境演练中说明了结合QR Code的社交工程攻击Quishing,透过动手实作的同时,还能了解社交工程攻击者的思维及手法,以此得知面对此类的危害该如何提防,提升自身的安全意识。