使用ChatGPT检测网络钓鱼(系列二)

Detecting Phishing Sites Using ChatGPT

论文链接:https://arxiv.org/abs/2306.05816

本系列博客主要是基于ChatGPT进行钓鱼网站检测、钓鱼邮件检测等方法的论文阅读,后续可能会补充大型语言模型LLMs相关的安全问题,包括其本身存在的安全问题和应用方面存在的安全问题等论文的阅读,分为多个系列是因为文本较长。目的是探索和学习大型语言模型在网络安全方面的应用前景,例如在社会工程学攻击检测方面的应用。

4、数据集

  这一部分我们描述了如何创建实验中使用的数据集。该数据集总共包括1000个钓鱼网站和同等数量的非钓鱼网站。为了收集这些网站,我们从收集的种子URLs开始进行网络爬虫。

4.1 钓鱼网站

  为了收集钓鱼网站,作者使用网络钓鱼情报源OpenPhish和PhishTank以及CrowdCanary,一种使用机器学习模型从Twitter中提取网络钓鱼相关贴子的方法。通过使用基于关键词的过滤器,例如“网络钓鱼”和“诈骗”,CrowdCanary从与受害者遇到并经专家观察的网络钓鱼报告相关的贴子中提取URL。作者收集了2023年3月至4月的URLs并将其用作种子URL。这使作者能够获得广泛的钓鱼网站,这些网站不仅限于电子邮件、短信和网络广告等传入渠道。随后,作者使用3.1节中描述的网络爬虫去访问种子URLs。为了确保数据集的完整性,我们手动排除了渲染和图像加载不完整的网站。并且对网站的屏幕截图进行了彻底检查,重点关注两个因素:(1)显示与知名服务相关的logos或品牌名称,或者在视觉上类似于合法网站的网站。(2)使用社工技术的网站,例如提供虚假信息(如虚假奖励、病毒感染警报、账户问题),以产生紧迫感或兴趣。
  从收集的网站信息中,作者排除了符合以下条件的网站:(1)包含R18(成人、赌博)限制内容的网站,因为与ChatGPT的内容过滤器存在潜在冲突。(2)如果在提取的钓鱼网站中发现类似的屏幕截图,则只保留一个站点。确定相似性的标准包括完全合格域名(FQDN)、页面标题、网站外观和文本内容。但是,如果网站外观相同但语言不同,则会保留它们。
  通过上述分析,我们获得了包含1000个钓鱼网站的数据集,其中包含了1000个唯一的FQDNs。这些钓鱼网站总共针对147个合法服务品牌(参见附录B)。我们发现了32个不包含任何品牌信息的钓鱼网站。图4显示了数据集中钓鱼网站使用的前30个品牌。此外,作者使用OCR从屏幕截图中提取文本。在本文中,作者使用Azure认证服务简化多语言网站的OCR流程。使用语言检测库langdetect识别OCR提取文本的语言,结果表明这1000个钓鱼网站分布在22种不同的语言中。图5显示了每种语言的钓鱼网站数量。
图4
图5

4.2 非钓鱼网站

  我们收集的非钓鱼网站数量与钓鱼网站数量相同。种子URLs包含钓鱼网站针对的153个品牌的合法网站,以及Tranco列表中排名前2000的域名。我们从153个品牌的合法网站中提取了其主页的URLs以及(如果有)登录页面(总共236个URLs,其中包含196个FQDNs)。我们使用网络爬虫访问种子URLs,爬取Tranco前2k后,成功访问了1661个URLs。Tranco热门网站包括某些类别,例如成人内容、非法下载/流媒体和赌博。由于这些类别可能会触发ChatGPT中的内容过滤器或通过恶意广告导致钓鱼网站,因此我们排除了此类网站。其余764个网站(从1000个非钓鱼网站中选出)是从Tranco排名靠前的网站中随机选择爬取的。非网络钓鱼站点分布在34种语言。

4.3 简化HTML和OCR提取文本

  我们使用3.3节和3.4节中解释的过程简化了收集钓鱼网站和非钓鱼网站的HTML和OCR提取文本。图2显示了简化前后HTML内容的token计数比较。简化前,非钓鱼网站的token中位数为74937,而钓鱼网站的token中位数位8275。一般来说,非钓鱼网站的token数量较高。造成这种差异的原因之一是,非钓鱼网站通常通过复杂的JavaScript代码实现各种复杂的功能或使用大型平台,而钓鱼网站仅具有欺骗用户或窃取敏感信息所需的最低功能。在数据集中的2000个站点中,有980个超过了ChatGPT模型的最大token限制32000。因此,现有ChatGPT模型下的网站检测需要简化。图3比较了简化前后的OCR提取文本的token计数。非钓鱼网站的token计数中位数为296,而钓鱼网站的token计数中位数为122。与HTML比较类似,在这种情况下,非钓鱼网站也往往具有更高的token计数。

5、评估

  为了评估所提出钓鱼网站检测方法的准确性,我们使用Azure OpenAI API和自己的数据集进行了评估实验。我们使用两种模型:gpt-4-0314(简称GPT-4)和gpt-3.5-turbo-0301(简称GPT-3.5)。为了比较它们的检测准确性,我们使用相同的prompt分析了两个模型对数据集中每个URL的响应。由于包含商业许可数据和版权问题,数据集和实验结果无法公开,但作者可以根据要求向研究人员提供。

5.1 结果总结

  为了从API响应中提取检测结果,如果JSON回复中的phishing或者suspicious_domain字段的值为true,则将回复定义为钓鱼网站。相反,如果两个字段都为false,则将回复标记为非钓鱼网站。由于ChatGPT输出的概率波动,某些回复不包含机器可读的JSON文本,例如使用单引号而不是双引号。在答复中,GPT-4的2个(0.2%)和GPT-3.5(1.3%)导致了JSON解析错误。然而,由于所有回复都包含每个键的相应答案,因此我们启发式地解析和聚合它们。
  表2和表3给出了GPT-3.5和GPT-4的钓鱼检测结果。GPT-3.5有15个误报(FP),而GPT-4有17个误报,这表明非钓鱼网站的准确性相似。在另一方面,GPT-3.5的假阴性(FN)数量较多,有133个网站,而GPT-4仅有16个网站。这些结果表明,与GPT-3.5相比,GPT-4在识别实际钓鱼网站方面表现出更高的预测准确性。在GPT-3.5的867个真阳性TP中,789个回复将phishing标记为true,796个回复将suspicious_domain标记为true,688个回复将两者都标记为true。而对于GPT-4,在984个TP中,906个将phishing标记为true,983个suspicious_domain标记为true,有905个将两者都标记为true。
表2&表3表4给出了性能指标比较的结果,精确率、  召回率、准确率以及F1分数。GPT-3.5和GPT-4的非钓鱼站点分类(FP和TN)性能相当,有相似的精度值。然而,GPT-4在其他指标中的表现优于GPT-3.5约5.8%至11.7%。尽管数据集中包含非英的本地品牌,但GPT-3.5和GPT-4都实现了准确的非钓鱼网站的分类。另一方面,对于钓鱼网站分类,GPT-4性能更高,召回率为98.4%,而GPT-3.5为86.7%。基于这些结果,后续部分将对所提出方法的检测能力进行详细分析。
  此外,作者通过为phishing_score值选择适当的阈值来对回复进行分类。通过将阈值增加1,我们计算了真阳性率和假阳性率,并绘制了ROC曲线,如图7所示。使用Youden的J统计量计算phishing_score的最优截止值。

5.2 ChatGPT的回复示例

  在本节中,我们将解释ChatGPT在正确检测钓鱼网站时响应的具体示例。钓鱼示例A。图8显示了钓鱼网站(https://securitypages.start[.]page/)的屏幕截图,回复1表示ChatGPT生成的响应。该网站冒充Facebook并试图为用户营造一种有关账户问题的紧迫感。ChatGPT正确识别该网站与“Meta Facebook”品牌相关,并确定该域名不是合法的Facebook。此外,ChatGPT识别出社工技术的存在,并强调HTML中存在可疑链接。ChatGPT将phishing_score设置为9,将phishing和suspicious_domain标记为true。
图8

5.3 识别钓鱼网站的证据

  作者分析GPT-4用于识别钓鱼网站的证据,对用于检测钓鱼网站的七种证据类型进行了详细说明,包括相应的SE技术特征以及ChatGPT如何识别它们。
 (1)域名不合法。识别钓鱼网站最关键的证据是被检查的网站冒充合法品牌但其域名与官方域名不匹配。我们提出方法的prompt指示ChatGPT从HTML或OCR文本中提取品牌名称,并将其与合法域名进行比较。在许多情况下,ChatGPT通过识别提取的品牌与官方域名之间的不一致来准确检测钓鱼网站。ChatGPT还可以检测提供的URL中包含的域名是否是试图欺骗用户的假域名。
 (2)虚假病毒感染警告。我们还观察了ChatGPT在识别虚假恶意软件感染警告(一种网络上常用的社会工程攻击)方面的有效性。例如,对网站landiingpages[.]beauty进行分析,该网站显示的屏幕类似于Microsoft Windows Defender的病毒扫描,结果显示出虚假安全警告,例如出于安全原因阻止访问此电脑以及威胁发现特洛伊木马间谍软件应用程序。
 (3)虚假账户问题。钓鱼网站经常显示警告,声称用户的账户存在问题,旨在窃取他们的登录凭据。一个例子是网站m4agence.web[.]app,ChatGPT将其分析为针对法国兴业银行的钓鱼网站。ChatGPT发现它采用了如下社工技术:使用OCR提取文本来提醒用户其账户存在问题,这可能是钓鱼攻击的典型技术。此外,ChatGPT对该网站上存在可疑HTML元素的解释如下:HTML包含指向与可见文本中指定域所不同的域链接:https://dev-sgwebnetau th.pantheonsite[.]io/ wp-content/sysconnect而不是www.societegenerale[.]fr/synchronization-agency。因此,ChatGPT具有很强的HTML分析能力,例如检测a元素的文本与href中指定的链接之间的不一致性。
 (4)紧急付款请求。如5.2节所示,钓鱼网站冒充快递服务并生成有关包裹问题的警报,同时营造付款的紧迫感,其目标是全球各地的品牌。
 (5)虚假登录错误。如5.2节所示,某些钓鱼网站会显示误导性的错误消息,例如即使未提供任何输入,也表明登录凭据错误,或者警告用户其信用卡号无效。这些社工技术旨在欺骗用户并提取敏感信息。
 (6)虚假奖励。钓鱼网站经常采用欺骗性策略来吸引用户的兴趣,常见的第一步是提供虚假奖励,例如金钱奖励、加密货币、礼品卡或智能手机等流行产品。
 (7)短信验证请求。钓鱼网站不仅针对用户的登录凭据,还尝试获取短信验证码。例如demo.crustncakes[.]com网站冒充支付服务BenefitPay,欺骗用户输入短信代码以验证交易。ChatGPT对该技术的解释如下:OCR提取的文本告知需要重新输入过期的短信代码,这可以被视为一种社会工程技术来提醒用户。

5.4 误报(GPT-4)

  GPT-4识别钓鱼网站的准确率很高,但也包含少量误报。作者根据ChatGPT生成的回复将这些误报分为六个因素,分析了这些误报的原因。
 (1)错误识别社工技术。正如第5.3节中所讨论的,ChatGPT展示了对钓鱼网站中常用的各种社工技术的精确识别。然而,它错误地将一些非钓鱼网站标记为钓鱼网站。在我们的实验中,GPT-4将cfspart.imports.gouv[.]fr错误地识别为HTML元素中包含社工技术。该元素最初使用display:none属性隐藏,在表单中接收到不正确的输入时会触发警报消息。GPT-4将imports.gouv[.]fr识别为合法域名,但由于子域cfspart的存在,将cfspart.import.gouv[.]fr错误识别为不同的域名。尽管在其他情况下,GPT-4报告某些合法网站使用社工技术的元素,但它们都被归类为非网络钓鱼,因为GPT-4正确验证了它们与合法域名匹配。
 (2)合法品牌的多个域名。ChatGPT有时会将运营多个域的合法品牌错误地归类为钓鱼网站。当ChatGPT可以识别这些域名中的一个或多个但不了解正在检查的特定域名时,就会发生这种情况。在实验中,GPT-4对域名产生了四个误报,还错误地将Pinsent Masons律师事务所的网站标记为钓鱼,出现此误报的原因是域名中不存在提取的品牌名称Pinsent Masons。
 (3)拥有本地域名的全球品牌。当全球品牌使用不同国家/地区特定的本地域名时,可能会出现误报。GPT-4对三个域名产生误报,因为它们与合法域名不匹配。
 (4)很多子域。如果合法域名有多个子域,那么ChatGPT有时无法识别该合法域名,即使该域名位于合法域名下。
 (5)非英语网站。虽然ChatGPT在识别多种语言的社工技术方面表现很高的准确性,但由于对非英语网站的了解不足,可能会出现误报。
 (6)长URL查询字符串。ChatGPT正确地将网站auth.talktalk.co[.]uk识别为合法网站,并且未在网页内容中检测到任何社工技术。然而,由于URL路径中的URL查询字符串有360个字符,错误地将该网站标记为钓鱼。

5.5 漏报(GPT-4)

  与GPT-3.5相比,GPT-4在减少漏报方面有所改进,减少了11.7%。然而,在某些情况下,GPT-4会错误将某些钓鱼网站归类为非钓鱼网站,需要彻底分析根本原因。在16个漏报中,除了2个案例外,GPT-4都正确识别了其余网站的品牌名称。有8个网站的回复除了JSON格式的内容之外没有任何描述性文本,因此无法分析其分类的依据。其中,有4个漏报在GPT-3.5中正确识别,但GPT-4没有。
 (1)将错误域名识别为合法域名。尽管正确识别了以下5个钓鱼网站的目标品牌名,但GPT-4仍错误地将域名分类为合法域名。以下3个网站被GPT-4漏报,但被GPT-3.5正确识别。冒充www.gov[.]uk(claim.redundancy-payments.org[.]uk)的网站因为请求国民保险号码和银行详细信息的社工技术而被GPT-3.5归类为网络钓鱼。相比之下,GPT-4准确地将该品牌识别为为GOV.UK,表示该网站很可能是合法网站。
 (2)未能识别域名抢注行为。网站www.americanexpressseguros[.]com是美国运通公司的一个钓鱼网站,提供保险招揽服务。尽管包含短语签约时可获得高达2000奖金,GPT-4未能识别所采用的社工技术。尽管这是一起域名抢注的案例,但GPT-4错误地将其识别为合法域名。
 (3)未能识别社工技术。钓鱼网站phpstack197144-1061735.cloudwaysapps[.]com提供了一份保险调查,但没有专门针对特定品牌。由于它缺乏奖励或紧迫感等突出元素,因此被错误地归类为合法网站。同样,电子商务网站lojanewgeneration[.]com试图使用“每日优惠”一词来吸引用户,但GPT-4未能识别所采用的社工技术,导致其被分为合法网站。

5.6 钓鱼网站检测分析的比较:GPT-4 vs GPT-3.5

  我们对GPT-4和GPT-3.5准确识别钓鱼网站的能力进行了对比分析。具体来说,我们彻底分析了GPT-4成功检测GPT-3.5检测失败的钓鱼网站。在GPT-3.5的133个漏报中,GPT-4总共正确识别了121个钓鱼网站。通过分析这121个钓鱼网站,我们发现GPT-4与GPT-3.5相比在以下三个方面表现出更优越的性能:
 (1)确定可疑域名的能力。GPT-4和GPT-3.5在评估域名可疑性的能力上表现出差异。这涉及确定域名是否与合法域名匹配或具有可疑特征。例如,在分析OpenAI钓鱼网站openai-gpt-4[.]com时,GPT-3.5由于存在openai一词,将其归类为非钓鱼网站。相比之下,GPT-4正确地将其识别为钓鱼网站,因为实际域名openai[.]com与可疑域名不同。
 (2)识别社工技术的能力。G{T-4成功识别一些钓鱼网站中GPT-3.5遗漏的社工技术。例如,就verify.vodafone-uk[.]com而言,GPT3.5解释说该页面警告用户其电话号码可能会被终止。然而,GPT-4通过解释网站警告用户其电话号码可能被终止来识别可能存在的社工技术。
 (3)多因素综合检测钓鱼网站的能力。在某些情况下,ChatGPT可能会错误地判断网站上的合法文本可疑。例如,它识别出提交表单后显示的合法错误消息(例如“错误密码”),以表明存在社会工程。它还标记将 2023 年纳入版权声明中是可疑的。这是因为ChatGPT的训练数据只能追溯到2021年9月,缺乏当前年份的知识,这可能会导致结果不准确。虽然GPT-4偶尔会提供不相关的观察结果,但往往通过将它们与更可靠的信息相结合来做出总体准确的判断。

6、局限性

  ChatGPT提供灵活多样的响应,因为其输出是由概率确定的。然而,这也意味着检测结果可能会根据实验而改变。在本研究中,作者使用ChatGPT的默认参数,并准备了由各种网站组成的数据集来统计评估检测的准确性。为了获得可靠的钓鱼网站分类结果,某些参数(例如Top_k和Temperature)可能需要根据特定目标进行调整。
  对于本实验使用的数据集,我们排除了包含R-18内容的钓鱼网站和非钓鱼网站,以消除ChatGPT内容过滤器的影响。要检查包含成人或攻击性内容的网站,有必要为ChatGPT修改或选择适当的内容过滤器。
  使用LLMs的方法,包括所提出的方法,可能容易受到提示注入攻击,其中原始提示被覆盖,恶意内容被插入到响应中。作者提出的方法采用简单的对策,即简化HTML并通过放置三重反引号来澄清文本部分。不过,钓鱼网站今后可能会使用提示注入来避免LLMs的分析。因此需要更先进的防御措施来抵御提示注入攻击。
  由于ChatGPT已接受截至2021年9月的数据训练,因此它可能无法准确分类该日期之后创建的服务相关的钓鱼网站和非钓鱼网站。可以通过外部引用与品牌对应的域名列表或使用微调的LLM可以潜在地提高分类能力。

7、相关工作

  检测钓鱼网站的一种有效方法是将网站的外观与合法网站的外观进行比较。先前的研究有通过识别logo图像并将其与合法图像进行比较来检测logo图像的滥用,或从网页的整体外观中提取特征来分析它们的相似性。虽然这些基于深度学习的方法可以有效检测通过复制HTML或重复使用logo创建的钓鱼网站,但它们无法检测使用自己的logo或不冒充品牌的钓鱼网站。作者提出的方法旨在通过分析网页的上下文来识别使用社工技术的钓鱼网站,从而检测不同类型的钓鱼网站,而不仅限于滥用品牌。
  对于抢注域名的检测方法,目前有基于规则或机器学习模型技术来识别。而ChatGPT在检测域名抢注方面表现出很强的能力,检测微小的字符差异或包含品牌名的假域名。

8、结论

  在这项研究中,我们提出了一种使用最先进的大语言模型ChatGPT检测钓鱼网站的新方法。我们的方法将网络爬虫技术与ChatGPT的上下文理解相结合,以将网站分类为钓鱼。通过详细的实验,我们的方法取得了显着的性能,准确率为98.3%,召回率为98.4%,展现了LLMs在有效检测钓鱼网站和发现社工技术方面的潜力。此外,我们对GPT-3.5和GPT-4之间的比较分析表明,GPT-4 最大限度地减少假阴性的能力有了显着改进。GPT-4 擅长识别可疑域名、检测网络内容中的社会工程技术以及在评估中考虑多种因素。这些发现对于加强自动化网络安全措施和减轻用户面临的在线欺诈活动风险具有重要意义。该研究为探索LLMs在各种网络安全领域的应用并进一步优化其分析和检测恶意网页内容的能力提供了新的方向。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值