CN116917894A - 使用转换器检测网络钓鱼url - Google Patents

使用转换器检测网络钓鱼url Download PDF

Info

Publication number
CN116917894A
CN116917894A CN202280018566.XA CN202280018566A CN116917894A CN 116917894 A CN116917894 A CN 116917894A CN 202280018566 A CN202280018566 A CN 202280018566A CN 116917894 A CN116917894 A CN 116917894A
Authority
CN
China
Prior art keywords
url
token
model
phishing
converter
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202280018566.XA
Other languages
English (en)
Inventor
J·W·斯托克斯三世
P·R·马内里克
A·古鲁拉詹
D·A·卡鲁塔苏
E·V·加西亚·拉佐
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Technology Licensing LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Technology Licensing LLC filed Critical Microsoft Technology Licensing LLC
Priority claimed from PCT/US2022/017397 external-priority patent/WO2022187034A1/en
Publication of CN116917894A publication Critical patent/CN116917894A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • H04L63/1483Countermeasures against malicious traffic service impersonation, e.g. phishing, pharming or web spoofing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/16Implementing security features at a particular protocol layer
    • H04L63/168Implementing security features at a particular protocol layer above the transport layer
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/554Detecting local intrusion or implementing counter-measures involving event detection and direct action
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • G06F21/566Dynamic detection, i.e. detection performed at run-time, e.g. emulation, suspicious activities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/279Recognition of textual entities
    • G06F40/284Lexical analysis, e.g. tokenisation or collocates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • G06N3/0455Auto-encoder networks; Encoder-decoder networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/0895Weakly supervised learning, e.g. semi-supervised or self-supervised learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/094Adversarial learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/096Transfer learning
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • H04L63/1466Active attacks involving interception, injection, modification, spoofing of data unit addresses, e.g. hijacking, packet injection or TCP sequence number attacks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2119Authenticating web pages, e.g. with suspicious links

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Computational Linguistics (AREA)
  • Artificial Intelligence (AREA)
  • Molecular Biology (AREA)
  • Biomedical Technology (AREA)
  • Mathematical Physics (AREA)
  • Biophysics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Evolutionary Computation (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Virology (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computer And Data Communications (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本公开描述的技术可以使用转换器识别网络钓鱼URL。该技术从主题URL令牌化为有用的特征。有用的特征可以包括URL的文本和与URL关联的其他数据,例如主题URL的证书数据、引用URL、IP地址等。该技术可以为特征构建联合字节对编码。令牌编码可以通过转换器进行处理,从而产生转换器输出。转换器输出可以被描述为令牌嵌入,可以输入分类器以确定URL是否是网络钓鱼URL。可以通过排列令牌顺序、通过模拟同形字攻击和通过模拟复合字攻击来生成附加或改进的URL训练数据。

Description

使用转换器检测网络钓鱼URL
技术背景
电子内容,如网页和电子邮件,是广泛使用的通信工具,它提供了一种个人和团体之间快速且廉价的通信方法。垃圾邮件和网页、网络钓鱼邮件和网页以及包含或链接到恶意程序(如恶意软件、勒索软件)的电子邮件越来越多地给用户、公司和计算机构成风险。在过去,人们已经努力在用户使用过滤系统接收内容之前识别不需要的和/或恶意内容。过滤系统可以使用自然语言处理或其他机制根据各种特征对电子邮件或网页进行分类。其中许多特征是不断变化。粗略过滤器使用恶意特征的“黑名单”会错过大量新添加的恶意内容。例如,可以轻松创建并开始使用不会出现在任何列表中的新统一资源定位符(URL)。目前,没有完美的过滤系统。一些良性内容被错误地归类为恶意内容,而其他恶意内容到达用户。此外,浏览过程中使用的实时过滤器可能会给浏览体验增加大量延迟。
发明内容
提供本概述是为了以简化的形式介绍下文在详细描述中进一步描述的概念的选择。本概述不旨在识别所要求保护的主题的关键特征或基本特征,也不旨在单独使用来帮助确定所要求保护的主题的范围的辅助。
本公开描述的技术可以使用转换器识别网络钓鱼URL。该技术可以与网络浏览器、电子邮件系统或与URL交互的任何其他程序一起工作。最初,该技术接收未知URL。该技术令牌化为有用的URL特征。该有用的特征可以包括URL的文本和与URL相关联的其他数据,例如URL的证书数据、引用URL、IP地址等等。在一个方面,该技术可以为令牌构建联合字节对编码(BPE)。这允许在单个机器学习过程中从单个输入联合分析URL的文本和与URL相关联的数据。
令牌编码可以通过L层转换器处理,产生转换器输出。转换器输出可以描述为令牌嵌入,可以输入分类器以确定URL是否是网络钓鱼URL。当URL被确定为恶意时,可以输出警告。除了警告之外,系统还可以采取措施阻止设备访问与URL关联的资源。
分类器可以是对转换器输出进行操作以产生决策输入向量的单个全连接层。决策统计量由决策输入向量和从训练过程中学习到的权重形成。
在一些实施例中,附加或改进的URL训练数据可以通过置换令牌顺序、通过模拟同形字攻击以及通过模拟复合字攻击来生成。
附图说明
本公开描述的技术是通过示例而非限制性地在附图中示出,其中相同的附图标记表示类似的元件,并且其中:
图1是根据本公开描述的技术的一个方面,用于对URL进行分类的高级处理流程和系统的框图;
图2是根据本公开描述的技术的一个方面描绘用于分析训练数据URL排列的示例的图;
图3示出了根据本公开描述的技术的一个方面,在不同模型模拟中使用的AUROC曲线与超参数;
图4-图6示出了根据本公开描述的技术的一个方面,本公开描述的技术与用于对URL进行分类的其他模型的性能模拟的结果;
图7示出了根据本公开描述的技术的一个方面,用于用转换器处理URL和URL元数据的高级处理流程;
图8示出了根据本公开描述的技术的一个方面,用于使用URL文本和URL元数据对URL进行分类的高级处理流程和系统;
图9是适于用于实施本公开描述的技术的各方面的示例性计算环境的框图;以及
图10-图12示出了根据本公开描述的技术的一个方面识别恶意URL的附加示例性方法的流程图。
具体实施方式
本公开对该技术的各方面的主题进行了具体描述,以满足法定要求。然而,描述本身并不旨在限制本专利的范围。相反,发明人已经考虑到,要求保护的主题也可以以其他方式体现,包括不同的步骤或类似于本公开中描述的步骤组合,并与其他当前或未来的技术结合。此外,尽管术语“步骤”和/或“块”可以在本公开中用于表示所采用的方法的不同元素,但术语不应被解释为暗示本公开公开的各种步骤之中或之间的任何特定顺序,并且除非明确描述了各个步骤的顺序。
本公开描述的技术使用既准确又快速的分类器识别恶意URL。该技术的各个方面特别适合用作实时URL安全分析工具,因为该技术能够快速处理URL,并在识别出恶意URL时产生警告或其他自动响应。实时URL安全分析评估可以在客户端或服务器端用于多个应用程序,包括在用户的浏览器会话期间,评估收到的电子邮件中的链接,评估包含URL的社交媒体帖子的发布等。
浏览器通常包含检测网络钓鱼网页的安全功能。在过去,一些浏览器评估未知URL是否包含在已知网络钓鱼页面列表中。然而,随着URL和已知网络钓鱼页面的数目继续快速增加,浏览器开始包括一个或多个机器学习分类器,作为其安全服务的一部分,旨在更好地保护最终用户免受伤害。虽然可能会使用附加信息,但浏览器通常会使用一些分类器来评估每个未知URL,以实时检测这些网络钓鱼页面。早期的网络钓鱼检测使用标准的机器学习分类器,但最近的研究反而建议使用深度学习模型来进行网络钓鱼URL检测任务。
本公开描述的技术在网络钓鱼URL检测任务中使用转换器模型。该技术可以使用微调的BERT和RoBERTa模型。本公开描述的新技术可以被描述为URL Tran,与其他基于深度学习的方法相比,它使用转换器在非常低的假阳性率(FPR)范围内显著地提高网络钓鱼URL检测的性能。例如,URL Tran产生的真实阳性率(TPR)为86.80%,与在FPR为0.01%的情况下的下一个最佳基线为71.20%相比,相对提高超过21.9%。进一步地,该模型可以通过对抗性黑盒钓鱼攻击进行改进,例如基于同形字和复合字拆分的攻击,以提高URL Tran的鲁棒性。在这些对抗性样本下的微调表明,URL Tran可以在这些场景下保持较低的FPR。
网络钓鱼是指创建恶意网页来模仿用于访问流行在线服务的合法登录页面,该服务的目的是输入信用卡或其他支付信息。典型的网络钓鱼目标包括网上银行服务、基于网络的电子邮件门户和社交媒体网站。攻击者使用几种不同的方法将受害者引导到网络钓鱼网站,以发起攻击。在某些情况下,他们可能会向用户发送包含网络钓鱼页面URL的网络钓鱼电子邮件。攻击者还可以使用搜索引擎优化技术将网络钓鱼页面在搜索结果查询中排名靠前。现代电子邮件平台和浏览器使用各种机器学习模型来检测网络钓鱼网页攻击。这里描述的技术是一种新的分析URL的深度学习模型并且基于转换器,转换器在许多重要的自然语言处理任务中表现出最先进的性能。
为了防止用户无意中向攻击者上传个人信息,网络浏览器提供额外的安全服务来识别和阻止或警告用户访问已知的网络钓鱼页面。例如,谷歌的Chrome浏览器利用他们的安全浏览技术,微软的Edge浏览器包括视窗防御智能屏幕。在这些服务也解决的相关攻击中,恶意URL可能指向由配置错误或未打补丁的服务器托管的网页,其目的是利用浏览器漏洞,以便用恶意软件(即恶意软件)感染用户的计算机。
成功的网络钓鱼网页检测包括许多重大挑战。首先,与这个问题相关的有巨大的阶级失衡。与用户可用的网页的总数目相比,互联网上的网络钓鱼页面的数目非常少。其次,网络钓鱼活动通常是短暂的。为了避免检测,攻击者可能每天多次将登录页面从一个站点移动到另一个站点。第三,网络钓鱼攻击仍然是一个持续存在的问题。随着时间的推移,已知的网络钓鱼站点的数目不断增加。因此,仅使用不断增长的已知网络钓鱼站点列表来阻止网络钓鱼攻击在实践中往往无法保护用户。
流行的网络浏览器每天可能渲染数亿甚至数十亿个网页,为了有效,任何网络钓鱼或恶意网页检测都必须快速。为此,一些研究人员建议仅基于分析URL本身来检测网络钓鱼和恶意网页。
鉴于访问网络钓鱼或恶意网页的重大影响,这些URL的检测一直是研究的活跃领域。在某些情况下,研究人员建议使用经典的自然语言处理方法来检测恶意URL。
半监督机器学习方法已被用于创建文本嵌入,这些文本嵌入在许多自然语言处理任务中提供了最先进的结果。本公开描述的技术通过包含转换器模型来改进方法。来自转换器的双向编码器表示(“BERT”)利用转换器在几个自然语言处理(“NLP”)任务中提供显著地改进。生成预训练转换器(“GPT”)和GPT-2也遵循类似的方法。自然语言的语义学和语法比URL更复杂,URL必须遵循严格的语法规范。
该技术至少可以通过两种不同的方式实现。首先,现有转换器架构仅使用URL数据进行预训练和微调。在第一种方法中,常用的完形填空式掩码语言建模目标基于排列的动态数据增强策略进行了扩展。
其次,对公开可用的预训练转换器模型进行微调,在第二种方法中,BERT和RoBERTa在URL分类任务上进行微调。
最后,可以通过添加模拟训练数据来提高模型性能。例如,两种常见的黑盒网络钓鱼攻击可以通过使用基于Unicode的同形字替换扰乱我们数据中的URL并在复合URL的子字之间插入“-”字符来模拟(例如,“bankofamerica.com”→“bank-of-america.com”)。
大量网络钓鱼和良性URL大型语料库的结果表明,在网络钓鱼URL检测器必须运行的广泛低假阳性率范围内,转换器能够显著地优于最近最先进的网络钓鱼URL检测模型(URLNet,Texception)。本公开描述的技术被描述为URL Tran。在假阳性率为0.01%时,URLTran将真阳性率从下一个最佳基线(URLNet)的71.20%提高到86.80%(相对增加21.9%)。因此,浏览器安全服务,如GOOGLE的安全浏览和MICROSOFT的智能屏幕,可能会受益于使用建议的URL Tran系统检测网络钓鱼网页。
本公开讨论了五个方面。首先,转换器的使用以改进网络钓鱼URL的检测。其次,通过URL Tran产生的模拟结果表明,大型系统具有的生产数据和标签,与之前最近的深度学习解决方案相比,转换器确实在各种非常低的假阳性率下提供了显著地的性能改进。第三,分析各种设计选择在超参数、预训练任务和令牌化方面的影响,以有助于改进模型。第四,分析系统中的误报、漏报和对抗生成的URL,以了解URL Tran的局限性。第五,通过将URL元数据附加到URL令牌化来改进模型性能,URL令牌化使用转化器模型进行处理。
网络钓鱼URL数据
用于训练、验证和测试本公开描述的技术的数据集可以来自生产浏览遥测数据。所有三个数据集(训练、验证和测试)的模式相似,可以由浏览URL和对URL是否已被识别为网络钓鱼或良性的布尔确定组成。
由于数据集的高度不平衡性质(例如,大约五万分之一的URL是网络钓鱼URL),良性集的下采样可以被使用。在一个实施例中,下采样导致训练集和验证集两者的比例为1:20(网络钓鱼与良性)。在一方面,本公开描述的技术进行的测试运行具有1,039,413条用于训练的记录和259,854,000条用于验证的记录。用于评估模型的测试集由1,784,155条记录组成,其中8,742条是网络钓鱼URL,其余1,775,413条是良性的。
本研究中包括的标签与用于训练生产分类器的标签相对应。网络钓鱼URL可以由分析师手动确认,包括最终用户反馈报告为可疑的URL。当其他URL包括在已知的网络钓鱼URL列表中时,它们也被标记为网络钓鱼。
良性URL是指那些已知不涉及网络钓鱼攻击相对应的网页。在这种情况下,这些网站可能已经由分析师使用手动分析进行了手动验证。在其他情况下,良性URL可以通过彻底的(即生产级)离线自动分析来确认,这可能不是浏览器所需的实时检测选项。良性URL没有一个被包含在已知的网络钓鱼列表中,也没有被用户报告为网络钓鱼页面,并随后被分析师验证。虽然最后两个标准不足以将未知URL添加到良性列表中。值得注意的是,所有标记为良性的URL都对应于已经验证的网页。它们不仅仅是未知URL的集合(即之前未被检测为网络钓鱼网站)。
方法
本公开描述的技术(“URL Tran”)试图利用自然语言处理的最新进展来改进检测网络钓鱼URL的任务。构建URL Tran采用双管齐下的方法来调整转换器来完成网络钓鱼URL检测任务。首先,对最先进的转换器模型-BERT和RoBERTa进行微调,从公开可用的词汇表和权重开始,跨越不同的超参数设置,分别产生URL Tran_BERT和URL Tran_RoBERTa。其次,特定领域的词汇表是使用不同的令牌化方法构建的,特定领域的转换器(URL Tran_CustVoc)首先被预训练,然后在任务上微调。URL Tran的威胁模型允许攻击者创建任何网络钓鱼URL,包括采用域名抢注技术的URL。在其当前形式中,URL Tran通过数据集增强来防御同形字形和复合字攻击。一方面,域名抢注攻击也可以被模拟并包含在增强的对抗训练、验证和测试集中。此外,大量的对抗训练示例可以针对更流行的域,例如https://www.bankofamerica.com,可能是攻击者的目标。
示例性模型的一般架构采用三阶段方法对URL进行分类,如图1所示。该模型首先使用子字令牌化104从URL 102提取令牌。接下来,令牌编码器110构建多个令牌编码(112、118和120),令牌编码可以包括字令牌116和位置114。然后转化器模型130生成未知URL的嵌入向量。最后,分类器140预测指示未知URL是否对应于网络钓鱼网页的得分150。在以下部分中,我们首先简要总结转换器模型架构,然后是用于训练模型的训练任务,最后描述对抗设置,在该设置下评估URL Tran,然后使用对抗示例进行训练以提高其鲁棒性。
架构
本节描述了分类的令牌化方案和整体架构,为简洁起见,跳过了转换器模型的详细描述。
URL Tran模型的原始输入是URL,可以将其视为文本序列。网络钓鱼URL检测任务的第一步涉及将此输入URL转换为可由经典机器学习或深度学习模型进一步处理的数值向量。
以前的URL检测模型通过首先用一组重要的分隔符(例如,“=”,“/”,“?”,“.”,“”)拆分URL,然后基于这些令牌创建稀疏二进制来提取词汇特征。最近基于深度学习的URL检测模型包括单独的字级和字符级CNN,其中字符级CNN跨越不同长度的字符子序列。
代替这些方法,本公开描述的技术使用了多个子字令牌化方案。子字模型在NLP的不同任务中得到了越来越多的采用,包括机器翻译、词类比和问答。虽然使用全长词可以减少输入表示长度(令牌的数目),允许固定长度模型处理更多输入,但使用子字模型可以提供形态学见解来改进推理。例如,全长模型会将“bankofAmerica”和“bankofCanada”视为完全不相关的令牌,而子字模型可以识别共享子字“bank”以关联属于两个银行的URL。重要的字符子序列,包括前缀和后缀,也可以提供相关信息,同时对多态攻击更具鲁棒性。
具体地,对于URL Tran_BERT和URL Tran_RoBERTa,本公开描述的技术分别使用现有的词片和字节对编码(BPE)模型。除此之外,自定义字符级和字节级BPE词汇表是使用训练URL数据创建的,以便为URL Tran_CustVoc提供具有两个不同词汇表大小1K和10K的域专用词汇表。BPE模型试图找到使用字符子序列和完整字的平衡。
BPE模型首先将mthURL、um分解为一系列文本令牌TOKm,其中单个令牌可以表示整个字或子字。令牌序列形成为:
TOKm=Tokenizer(um)
其中TOKm的长度为Tm的位置,由每个位置索引t处的单个令牌Tokt组成。例如,从流行的银行登录页面的URL生成的BERT字片令牌序列,
um=secure.bankofamerica.com/login/sign-in/signOnV2Screen.go
如表1所示。字片模型包括由(##)指定的特殊文本令牌,这些令牌建立在序列中的前一个令牌的基础上。在表1的示例中,“##of”表示它出现在前一个令牌(“bank”)之后,它与更常见的单独令牌“of”区分开来。
表1:从流行的银行网页中提取字片令牌序列的示例。
转换器模型产生的最终嵌入可用于各种下游NLP任务,如语言理解、语言推理和问答以及训练分类器。我们将URL的转换器嵌入用于两个任务:预训练掩码语言模型和微调网络钓鱼URL的分类。这两个任务都需要一个最终分类层,它可以应用于多个令牌进行掩码令牌预测,以及用于分类的池化表示。我们训练的转换器模型使用单个密集的两类分类层,该分类层应用于特殊的池化令牌(“[CLS]”)进行分类。密集层具有词汇表大小类别,以用于在预训练期间预测掩码语言建模任务的掩码令牌。
Sm=Wxm+b
W和b分别是是最终密集线性层的权重矩阵和偏差向量。sm是执行分类时预测URLum是否对应网络钓鱼网页的得分,是对输入令牌xm执行掩码语言建模时的掩码令牌概率得分向量的序列。
训练
掩码语言建模(MLM)任务用于对转换器进行预训练。在该任务中,令牌的随机子集被一个特殊的“[MASK]”令牌替换。该任务的训练目标是预测掩码位置的正确令牌所对应的交叉熵损失。
将此任务用于URL的直觉是,特定的查询参数和路径通常与非网络钓鱼URL相关联,因此预测掩码令牌将有助于发现这些关联。从完形填空任务中得出的类似直觉激励使用MLM进行预训练自然语言模型。按照BERT的MLM超参数设置,统一选择15%的令牌进行掩码,其中80%被替换,10%保持不变,10%在每次迭代时被随机词汇表令牌替换。动态掩码被使用,即在迭代中从相同序列中屏蔽不同的令牌。完整数据集的训练子集用于预训练,以防止任何数据泄漏。
对于URL Tran_BERT和URL Tran_RoBERTa,使用所有初始参数都是使用各自作者生成的大型内部自然语言语料库导出的。对于URL Tran_CustVoc,在MLM预训练步骤完成后,将学习到的权重被用作初始化值。
接下来,URL Tran的模型参数使用第二个“微调”训练过程进一步改进,该过程依赖于来自URL分类任务的误差信号和基于梯度下降的梯度,使用具有交叉熵损失的Adam优化器。
对抗性攻击和数据增强
网络钓鱼URL攻击可能发生在短期域和与现有合法域有微小差异的URL上。我们通过基于修改良性URL构建此类对手的示例来模拟两种攻击场景。请注意,这些生成的域实际上并不存在于预先存在的训练和测试数据中,而是基于频繁观察到的网络钓鱼攻击模式。我们还利用基于重排序的动态增强,用作URL Tran_CustVoc的额外预训练目标,也用于生成对抗性攻击。
我们通过用其他外观相似的Unicode字符替换字符来生成看起来与合法URL几乎相同的域。这种攻击策略通常被称为同形字攻击,我们使用Python库同形字来实现这种策略。特别是,给定一个URL,我们首先提取域。对于域中随机选择的字符,我们检查一个Unicode(utf-8)拉丁或西里尔字符,是其同形字。我们只扰乱一个字符,以最大限度地降低用户将此类URL识别为网络钓鱼的可能性。然后,我们用同形字替换字符来构建一个新的URL。根据此策略生成的URL被标记为网络钓鱼。
构造新的网络钓鱼URL的另一种方法是将域拆分为子字(仅限于英语),然后用中间连字符连接子字。例如,“bankofamerica.com”→“bank-ofamerica.com”。为了实现这一点,我们利用了enchant字典。考虑域d的URL具有|d|=n字符。以表示英语字典。以C(d,i,j)表示返回True的函数,如果d[i...j]可以分成一个或多个部分,每个部分都是字典/>中的一个字。复合字问题可以递归地表述为:
使用这个递归定义,实现了一个动态规划算法,该算法可以计算一个域是否可以拆分以及相应的拆分。然后这些拆分用发现的字之间的连字符连接起来。请注意,基本情况检查d[i...j]∈D是以不区分大小写的方式执行的。
数据增强使用不变量、上下文替换和基于奖励的学习已被用于改进文本域中的分类器。这些可以扩展为增强URL域中的数据。为了提高URL Tran_CustVoc的精确度,对URL的查询参数进行置换以动态生成新的URL。由于URL的查询参数被解释为键值字典,这种增强包含置换不变性。图2中提供了URL和置换的示例,第一URL 201用于通过交换字符串202与字符串204的位置来创建置换URL203。这种方法用于生成对抗性示例。由于重新排序参数仍然会导致有效的URL,因此参数重新排序不代表网络钓鱼攻击,因此我们不会修改URL的标签。
本公开描述的技术用于为对抗攻击生成数据的方法包括基于其原始数据集生成单独的增强训练、验证和测试数据集。对于在这些数据集中处理的每个URL,本公开描述的技术可以生成随机数。如果小于0.5,则本公开描述的技术增强了URL,或者否则,URL被包含在其原始形式中。对于要增强的URL,本公开描述的技术可以使用同形字攻击、复合攻击或参数重排序以相等的概率对其进行修改它。如果URL已被增强,则本公开描述的技术还包括增强数据集中的原始URL。
数值评估
在本节中,提供了前几节中提出的不同方法的数值评估。然后,我们将URL Tran与最近建议的几个基线进行比较。我们还报告了顶部的假阳性和假阴性错误。最后,我们分析了模型对生成的网络钓鱼URL的鲁棒性。
设置
表3-8中提供了所有模型的超参数设置。在我们的实验中,我们根据原始论文中的设置为之前发布的模型设置超参数。为了评估URL Tran_CustVoc,我们改变{3,6,12}之间的层数,{128,256}之间的令牌数,使用字节级和字符级BPE令牌化,具有1K和10K大小的词汇表。我们在这些设置中随机选择15个超参数组合,并呈现这些结果。Adam优化器用于预训练和微调,三角调度器用于微调。Adam是用于训练深度模型的随机梯度下降的替代优化算法。Adam提供了一种可以处理稀疏梯度的优化算法,可以处理噪声问题上的稀疏梯度。表3给出了URLNet的超参数设置,而表4示出了特例基线模型的超参数设置。表5提供了通过超参数搜索而选择的、建议的URL Tran_BERT模型的超参数设置。
参数
max_len_words 200
max_len_chars 1000
max_len_subwords 20
min_word_frcq 1
dev_pct 0.001
delimit_mode 1
emb_dim 32
filter_sizes [3,4,5,6]
default_emb_mode 特征+字CNN
nb_epochs 5
train_batch_size 128
train_12_reg_lambda 0.0
train_lr 0.001
表3:用于URLNet模型的超参数设置。
表4:用于Texception基线模型的超参数镇静。
参数
注意力概率随机失活概率 0.1
隐含行为 gelu
隐含随机失活概率 0.1
隐含大小 768
初始值设定项范围 0.02
中间大小 3072
归一化层步 1e-12
最大位置嵌入 512
注意力头数 12
隐含层数 12
词汇表类型大小 2
词汇表大小 30522
BERT模型 Bert-base-uncased
最大序列长度 128
训练批大小 32
学习率 2e-5
训练时期数 10
表5:用于训练建议的基于Huggingface的URL Tran_BERT模型的超参数设置。
所有的训练和推理实验都是使用PyTorch 1.2版进行的,NVIDIACuda 10.0和Python3.6。实验是通过扩展GitHub上的Hugging Face和Fairseq PyTorch实现来进行的。大类的不平衡使得精确度成为模型性能的一个很差的指标。我们在低假阳性率(FPR)阈值下使用真实阳性率(TPR)评估了所有模型。我们使用接收器操作特性(ROC)曲线来计算这个指标。
参数
层数 12
隐含大小 768
FFN内部隐含大小 3072
注意力头 12
注意力头大小 64
随机失活 0.1
注意力随机失活 0.1
预热步骤 508
峰值学习率 1e-4
批大小 2k
最大世代 10
学习率衰减 线性
Adam∈ 1e-6
Adamβ1 0.9
Adamβ2 0.98
渐变剪裁 0.0
每个样本的令牌 256
表6:用于微调建议的基于Fairseq的URL Tran_RoBERTa模型的超参数设置。
参数
层数 3
隐含大小 768
FFN内部隐含大小 3072
注意力头 12
注意力头大小 64
随机失活 0.14
注意力随机失活 0.1
每个样本的令牌 128
峰值学习率 1e-4
批大小 2k
令牌化器类型 字节对编码
权重衰减 0.01
最大世代 30
学习率衰减 减少稳定期
LR收缩 0.5
Adam∈ 1e-6
Adamβ1 0.9
Adamβ2 0.98
渐变剪裁 0.0
学习率 1e-4
词汇表大小 10000
表7:用于预训练建议的URL Tran_CustVoc模型的超参数设置。
参数
学习率 1e-4
批大小 2k
最大世代 10
学习率衰减 线性
预热比率 0.06
表8:用于微调建议的基于Fairseq的URL Tran_CustVoc模型的超参数设置。
基线
为了评估我们模型的性能,我们将其与两个基线URL检测模型进行比较:URLNet和Texception。URLNet是一个基于CNN的模型,最近被建议用于检测恶意URL的任务。在我们的基线中,我们已经完全训练和测试了用于检测网络钓鱼URL的URLNet模型。Texception是另一个深度学习URL检测模型,已被建议用于识别网络钓鱼URL的任务。
URL Tran_CustVoc
转换器通常需要大量的预训练数据(例如,BERT使用了≈3.3B令牌的语料库)。然而,这些数据来源于文本文章,其结构不同于URL。数据集大小和数据域的差异使得理解训练转换器时使用的不同超参数的影响变得很重要。在图3中,显示了跨越不同超参数的运行结果在接收器操作特性曲线或ROC曲线(AUROC)310和TPR@0.01%FPR 320下的区域上进行比较。ROC曲线是通过在各种阈值设置下绘制真实阳性率(TPR)与假阳性率(FPR)来创建的。图3表明训练对序列长度(312和322)不是很敏感。较小字节级别的词汇(314、316、324和326)总体上往往更好,但在低FPR(326)下,差异并不显著。最后,我们发现三层模型推广得最好(318和328)。我们假设较少层的模型性能更好是因为有限的预训练数据和时期。
模型性能
接下来我们分析所有建议的转换器变量的最佳参数的性能。图4示出了URL Tran变化的ROC性能曲线405,以及在整个假阳性率(FPR)范围内的保持测试集上的URLNet和TException基线。
为了更好地理解这些模型如何在必须设置检测阈值才能在生产环境中运行的非常低的FPR进行比较,在图5中将ROC曲线405绘制放大为2%最大FPR的线性x轴500。在图6中我们还在半对数图600中的对数x轴上重新绘制这些ROC曲线405。这些结果表明,URL Tran的所有变量在极低FPR的范围内提供了显著更好的真阳性率。特别是,URL Tran在0.001%-0.75%的FPR范围内匹配或超过URLNet的TPR。结果非常重要,因为网络钓鱼URL检测模型必须在非常低的FPR(例如,0.01%)下运行,以便最大限度地减少安全服务预测良性URL是网络钓鱼站点的次数(即误报)。在实践中,浏览器制造商选择所需的FPR并尝试开发新模型,以增加所选FPR值的TPR。
除了ROC曲线分析之外,我们还总结了表2中的一些关键性能指标。在表中,“F1”是F1得分,“AUC”是模型的ROC曲线下的面积。对于所有这些指标,所建议的URL Tran模型都优于TException和URLNet。特别是,我们注意到,在FPR为0.01%时,URL Tran_BERT的TPR为86.80%,而URLNet为71.20%,TException为52.15%。
表2:URL Tran和两个基线模型的不同性能指标的比较
对抗性评估
为了理解URL Tran对对抗性攻击的鲁棒性,我们首先将使用原始测试集测试的无保护模型的ROC曲线的低FPR区域与包含通过先前描述的方法生成的对抗性样本(AdvAttack)的测试集进行比较。当受到对抗性URL攻击时,URL Tran_BERT的性能显著地下降,我们考虑了攻击策略被纳入训练数据的场景。在训练中加入对抗攻击模式后,该模型能够适应新的攻击,甚至优于未受保护的URL Tran版本。这些结果表明URL Tran可以适应新的攻击。此外,随着新的攻击策略被识别(例如,同形字),可以训练一个健壮的URL Tran版本来识别看不见的测试数据中的类似模式。
本公开描述的技术是一种名为URL Tran的基于转换器的系统,其目标是将未知URL的标签预测为网络钓鱼或良性网页。转换器已经在许多自然语言处理任务中展示了最先进的性能,本公开试图了解这些方法是否也能很好地在网络安全领域发挥作用。在这项工作中,我们证明了转换器可以使用标准的BERT任务进行微调,也可以非常好地用于预测网络钓鱼URL的任务。我们的系统使用BPE令牌器来完成此任务,而不是提取词汇特征或使用CNN内核,在之前建议的URL检测模型中,这两种方法都会涉CNN内核跨越多个字符和字。接下来,转换器将令牌序列转换为嵌入向量,然后可以用作标准密集线性层的输入。结果表明,URL Tran能够显著优于最近的基线,特别是在非常低的假阳性率范围内。
具有元数据的URL分析
通常遇到URL的应用程序(例如,电子邮件客户端、浏览器)也将访问与URL关联的元数据。元数据可以形成强烈的网络钓鱼信号。元数据可以包括与主题URL关联的证书上下文。证书上下文可以包括任何证书信息,例如签名算法、颁发者等。
筛选应用程序可以一起处理URL和URL元数据。筛选应用程序从主题URL、源上下文数据和目标上下文数据中的一个或多个形成特征令牌字符串。特征令牌字符串通过分类器进行处理。在一些情况下,分类器是机器学习分类器。分类器接收特征令牌字符串并确定威胁级别。在一些情况下,威胁级别是0到9之间的整数。在一些情况下,威胁级别是连续变量。如果威胁级别超过检测阈值,则筛选应用程序根据威胁级别确定主题URL是恶意的。某些情况下,分类器确定主题URL是否是网络钓鱼URL。某些情况下,当主题URL被确定为恶意时,应用程序会收到通知,并向用户显示主题URL是恶意的警报。在某些情况下,筛选应用程序阻止对主题URL的访问。
在一些情况下,特征令牌字符串包括由分隔符令牌分隔的多个后续令牌字符串。在一些情况下,特征令牌字符串包括用于主题URL的令牌字符串、用于源上下文数据的令牌字符串、用于引用URL的令牌字符串、用于目标上下文数据的令牌字符串、用于证书上下文的令牌字符串以及用于IP地址的令牌字符串。
多特征恶意URL分类
图7中示出了用于使用URL和元数据对URL进行分类的示例性模型的一般体系结构。该模型首先使用子字令牌化708从URL702中提取令牌。该模型还使用第二令牌化709从URL元数据中提取令牌。在该示例中,URL元数据是由安全机构颁发的证书704。在该示例中仅描述了单一类型的元数据,以便于说明,在实现中多个不同类型的元数据可以被令牌化和编码。令牌编码器705构建多个令牌编码(710、714、718、722和726)。令牌编码可以包括字令牌712、716、720、724和728以及对应的位置711、715、719、723和727。然后转换器模型730为未知URL生成嵌入向量。最后,分类器732预测一个得分734,该得分734指示未知URL是否对应于网络钓鱼网页。该得分734可以被描述为决策统计量。分类器732可以是单个全连接层。
令牌化:首先,我们为来自所有有用特征的组合数据构建一个联合字节对编码(BPE),即,这个令牌化生成与使用的每个特征相对应的令牌。字节对编码是一种数据压缩形式,其中最常见的一对连续字节的数据可以用该数据中没有出现的字节替换。替换表可用于重建原始数据。这类似于为机器翻译的多种语言构建联合令牌化的想法,其中每一列类似于一种“语言”。特征的示例包括主题URL、引用URL、URL的证书数据、IP地址等。最后,我们用一个特殊的令牌“[EOS]”扩展这个令牌化,表示特征之间的分隔符。
例如,考虑这个模型的一个实例,它使用URL、引用URL(RURL)和证书(cert)。令牌化TOK将生成对应于URL的令牌。
/>
L1、L2、L3是每个特征后填充和截断对应的令牌数。我们将令牌连接成一个输入向量,它们之间带有“[EOS]”令牌,并将截断/填充为最终长度L以获得最终令牌向量:
模型:在某些情况下,我们使用机器学习BERT类型的转换架构,如本公开所描述的。BERT类型的架构通常在使用多个转换层的同时为字片生成上下文相关的嵌入向量,如本公开所描述的。BERT类型的架构通常使用双向无监督语言表示进行预训练。BERT类型的架构生成上下文相关的嵌入向量,而不是由上下文无关的方法(如word2vec)生成的固定嵌入向量。无论包含字片“bank”的句子是从bankofamerica.com还是从bankontruth.com中提取的,相同的字片(如“bank”)都将在word2vec下具有相同的嵌入向量。然而,BERT类型的转换器架构导致嵌入向量赋值,将bankofamerica中的名词“bank”与bankontruth.com中的动词“bank”区分开来。
训练:
掩码语言建模:预训练任务的动机是用于单个字段的掩码URL任务。在这种情况下,让统一的概率选择令牌子集进行掩码,并用“[MASK]”令牌替换。训练模型以预测掩码令牌。此任务的目标不仅仅是学习单个字段的结构。在这一步中,我们期望模型学习不同特征之间的相关性。例如,哪些证书令牌(例如,认证机构)通常与URL相关联,特定URL通常期望哪些引用者等。
微调:微调任务是网络钓鱼URL分类任务,其中使用交叉熵损失反向传播梯度。
转换器模型通常是一种深度学习模型,它使用许多顺序层,每一层通过注意力机制将相邻的令牌相互关联。注意力单元从令牌形成一个缩放的点积。结果是为令牌生成的嵌入是在令牌串中其他令牌的上下文中开发的。相关令牌的加权组合通过一组注意力权重来确定嵌入向量。通常,转换器模型学习三个矩阵:查询权重矩阵、关键权重矩阵和价值权重矩阵。字片嵌入向量乘以每个权重矩阵,分别生成查询向量、关键向量和价值向量。注意力权重从令牌i到令牌j由查询向量i和键向量j之间的点积产生。注意力权重通常由维度的平方根归一化,并通过softmax函数传递,从而将权重归一化为1。注意力单元的产出值是所有令牌的值向量的加权和,由注意力矩阵的值加权。
转换器模型:在令牌化之后,然后通过多个转换器层730传递一组嵌入的令牌。转换器层730的输出可以由全连接层(例如,分类器732)处理以生成得分734。得分734可以在本公开中替代地描述为决策统计量。
术语转换器是指由具有多个注意力头的转换器层堆栈组成的语言模型,以及跳过连接和层归一化,例如,如参考图8所述。这种模型的训练分为两个部分-预训练阶段,然后是微调阶段。
如图8所示,每个转换层由两部分组成-注意力层812和前馈层816。注意力子层812由缩放点积组成,以确定每个令牌对应的编码的权重。这个权重来自令牌编码810的分量与其他令牌编码810的分量之间的点积。不同的公式使用来自不同令牌集上的注意力获取权重,在一些示例中,模型使用出现在当前令牌之前的序列。在一些示例中,模型使用所有令牌。几个这样的注意力层并行运行,导致多个注意力“头”812。注意力子层812的输出可以在第一归一化层814中被归一化。第二子层是全连接的前馈层816。每个子层还具有与前一层的输出的跳过连接(811和813)。最后,第二归一化层818归一化转换器层的输出。
在一些示例中,例如BERT,基本模型具有12个这样的转换器层的堆栈。然后,这些层的输出向量用于在多个任务上训练转换器模型。
参考图9,计算设备900包括直接或间接耦合以下设备的总线910:存储器912、一个或多个处理器914、一个或多个呈现组件916、一个或多个输入/输出(I/O)端口918、一个或多个I/O组件920以及说明性电源922。总线910表示可以是一个或多个总线(诸如地址总线、数据总线或其组合)。虽然为了清楚起见,图9的各个框用线示出,但实际上,这些框表示逻辑组件,不一定是实际组件。例如,人们可以认为显示设备等演示组件是输入/输出组件。此外,处理器具有内存。发明人认识到这是本领域的本质,并重申图9的示意图仅说明可结合本技术的一个或多个方面使用的示例性计算设备。没有在诸如“工作站”、“服务器”、“膝上型电脑”、“手持设备”等类别之间进行区分,因为所有这些都在图9的范围内预期并参考“计算设备”。
计算设备900通常包括多种计算机可读介质。计算机可读介质可以是可被计算设备900访问的任何可用介质,并且包括易失性和非易失性介质、可移动和不可移动介质。作为示例而非限制,计算机可读介质可以包括计算机存储介质和通信介质。
计算机存储介质包括易失性和非易失性、可移动和不可移动介质,其以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据的信息的任何方法或技术实现。计算机存储介质包括但不限于RAM、ROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光盘存储、盒式磁带、磁带、磁盘存储或其他磁存储设备,或可用于存储所需信息且可由计算设备900访问的任何其他介质。计算机存储介质本身不包括信号。
通信介质典型地在诸如载波或其他传输机制的已调制数据信号中体现计算机可读指令、数据结构、程序模块或其他数据,并且包括任何内容分发介质。术语“已调制数据信号”是指以对信号中的信息进行编码的方式设置或改变其一个或多个特性的信号。作为示例而非限制,通信介质包括有线介质,例如有线网络或直接有线连接,以及无线介质,例如声学、RF、红外线和其他无线介质。上述任何一种的组合也应包括在计算机可读介质的范围内。
存储器912包括易失性和/或非易失性存储器形式的计算机存储介质。存储器可以是可移动的、不可移动的或它们的组合。示例性硬件设备包括固态存储器、硬盘驱动器、光盘驱动器等。计算设备900包括从诸如存储器912或I/O组件920的各种实体读取数据的一个或多个处理器914。呈现组件916向用户或其他设备呈现数据指示。示例性呈现组件包括显示设备、扬声器、打印组件、振动组件等。
I/O端口918允许计算设备900逻辑地耦合到其他设备,包括I/O组件920,其中一些可以内置。说明性组件包括麦克风、操纵杆、游戏手柄、卫星天线、扫描仪、打印机、无线设备等。
I/O组件920可以提供自然用户交互界面(NUI),自然用户界面(NUI)处理用户生成的空中手势、语音或其他生理输入。在一些实例中,输入可以被传送到适当的网络元件用于进一步处理。NUI可以实现语音识别、触摸和触笔识别、面部识别、生物特征识别、屏幕上和屏幕附近的手势识别、空中手势、头部和眼睛跟踪以及与计算设备900上的显示器相关联的触摸识别的任何组合。计算设备900可以配备深度相机,例如立体相机系统、红外相机系统、RGB相机系统以及这些系统的组合,用于手势检测和识别。此外,计算设备900可以配备能够检测运动的加速度计或陀螺仪。加速度计或陀螺仪的输出可以被提供给计算设备900的显示器以呈现沉浸式增强现实或虚拟现实。
计算设备900的一些方面可以包括一个或多个无线电924(或类似的无线通信组件)。无线电924发送和接收无线电或无线通信。计算设备900可以是适于通过各种无线网络接收通信和媒体的无线终端。计算设备900可以通过无线协议进行通信,例如码分多址(“CDMA”)、全球移动系统(“GSM”)或时分多址(“TDMA”),以及其他协议,以与其他设备进行通信。无线电通信可以是短距离连接、远程连接或短距离和远程无线电信连接的组合。当我们提到“短”和“长”类型的连接时,我们并不意味着指两个设备之间的空间关系。相反,我们通常将短距离和长距离称为不同类别或类型的连接(即主连接和辅助连接)。短距离连接可以包括,作为示例而非限制,到提供对无线通信网络的访问的设备(例如,移动热点)的连接,例如使用802.11协议的WLAN连接;到另一个计算设备的蓝牙连接是短距离连接或近距离无线通讯技术连接的第二个示例。作为示例而非限制,远程连接可以包括使用CDMA、GPRS、GSM、TDMA和802.16协议中的一种或多种的连接。
现在参考图10至图12,本公开描述的方法1000、1100和1200的每个块包括可以使用硬件、固件和/或软件的任何组合来执行的计算过程。例如,各种功能可以由执行存储在存储器中的指令的处理器执行。这些方法也可以体现为存储在计算机存储介质上的计算机可用指令。该方法可以由独立的应用程序、服务或托管服务(独立的或与另一个托管服务结合的)或另一个产品的插件提供。此外,通过示例的方式关于图1的系统和图7和图8的附加特征描述了方法1000、1100和1200。然而,这些方法可以附加地或替代地由任何一个系统或系统的任何组合执行,包括但不限于本公开所述的那些系统。
图10是示出根据本公开的一些实施例的用于检测恶意统一资源定位符(URL)的方法1000的流程图。
方法1000在块1010包括将URL令牌化以形成URL令牌。令牌是URL中字符序列的实例,这些字符序列被组合在一起作为用于处理的有用语义单元。令牌可以包括来自URL的字符序列,形成字、子字或字符。令牌可以包括在URL中找不到的附加符号,例如##,这些符号为令牌添加了语义含义。
URL令牌化是从文本生成令牌的过程。一方面,子字令牌化方法用于令牌化URL。其他方面,基于字或基于字符的令牌化。为了执行子字令牌化,可以构建子字词汇表。词汇表可用于识别URL文本中的令牌。可以通过分析字语料库来构建子字词汇表,例如URL。经常出现的字或字部分将被添加到词汇表中。子字不需要是完整的字。例如,字“unfortunate”可以由子字“un”、“for””、““tun”、“ate”和“ly”组合而成。在这种情况下,“un”、“for”、“tun”、“ate”和“ly”都将成为子字令牌,在实践中,常用字可以作为整个字添加到子字词汇表中,而不太常用的字被分成组成部分。训练数据中的字的数目可能会对影响这个过程。词汇量越大,可以令牌化的常见字就越多。
在一方面,字节对编码(BPE)模型用于令牌化。对于BPE,字的频率被用来确定合并哪些令牌以创建令牌集。BPE确保最常见的字将在新词汇表中表示为单个令牌,而不太常见的字将被分解为两个或多个子字令牌。为了实现这一点,BPE在每个步骤中遍历每个潜在选项,并根据最高频率选择要合并的令牌。在一方面,BPE令牌化模型被使用在编辑文本上训练,例如维基百科。在一方面,该模型不会在URL上训练。
在一方面,BERT中使用的现有WordPiece模型用于令牌化。WordPiece可以被认为是BPE方法和unigram方法之间的中介。WordPiece类似于BPE,WordPiece使用出现频率来识别潜在的合并,但根据合并令牌的可能性做出最终决策。现有的WordPiece模型在编辑文本的语料库上进行训练。在一方面,WordPiece模型没有在URL数据上进行训练。
在一方面,自定义字符级和字节级BPE词汇表被创建使用具有域专用词汇表的训练URL数据,域专用词汇表具有两个不同词汇表大小1K和1OK。
BPE模型首先将mthURL、um分解为一系列文本令牌TOKm,其中单个令牌可以表示整个字或子字。令牌序列形成为:
TOKm=Tokenizer(um)
其中TOKm长度为Tm位置,由每个位置索引t的单个令牌Tokt组成。
在块1020,方法1000包括令牌化与URL相关的元数据以形成元数据令牌。令牌化的元数据可以包括推荐URL、URL的证书数据、IP地址等。元数据的令牌化可以遵循参考框1020描述的相同的子字方法。然而,可以使用不同的词汇表用于元数据令牌化。例如,可以使用BPE或其他方法构建IP地址或证书数据词汇表,并用于识别元数据中的令牌。
在框1030,方法1000包括从URL令牌和元数据令牌形成令牌编码。令牌编码可以采取令牌向量的形式。每个令牌可以与位置相关联。令牌的位置可以基于URL中的原始位置或元数据中的位置来指示其他令牌之间的语义关系。令牌编码可以包括URL令牌和元数据令牌之间的分隔符令牌。分隔符可以用于不同类型的元数据之间。每个分隔符可以不同,并且用于指示随后的元数据类型。因此,推荐URL可以与第一分隔符相关联,并且证书颁发机构可以与第二分隔符相关联。
在框1040,方法1000包括将令牌编码输入到转换器模型中。转换器模型可以类似于前面描述的模型900。转换器是编码器-解码器架构。编码器由一组编码层组成,逐层迭代地处理输入,解码器由一组解码层组成,这些解码层对编码器的输出做同样的事情。每个编码器层的功能是处理其输入以生成编码,包含关于输入的哪些部分彼此相关的信息。将其编码集作为输入传递给下一个编码器层。每个解码器层做相反的事情,获取所有编码并处理它们,使用它们合并的上下文信息来生成输出序列。为了实现这一点,每个编码器和解码器层都使用注意力机制,该机制对每个输入权衡其他输入的相关性,并对应地从中提取信息以产生输出。每个解码器层还可以具有额外的注意力机制,在解码器层从编码中提取信息之前,从先前解码器的输出中提取信息。编码器和解码器层都有一个前馈神经网络,用于对输出进行额外处理,并包含残差连接和层归一化步骤。转换器模型的输出可以描述为嵌入向量。
如前所述,可以使用标记的URL来训练转换器模型。URL可能被标记为网络钓鱼或非网络钓鱼。
在框1050,方法1000包括响应于将令牌编码输入到转换器模型中,从转换器模型接收嵌入向量。
在框1060,方法1000包括从嵌入向量计算决策统计量。可以使用机器分类器计算决策统计量。机器分类器可以是单全连接层,其通过处理嵌入向量生成二分类(例如,网络钓鱼或非网络钓鱼)。可以使用被标记的URL来训练分类器。URL可以被标记为网络钓鱼或非网络钓鱼。在训练期间,从转换器模型输出的嵌入向量可以用作机器分类器的训练数据。因此,机器分类器的训练数据可以是由转换器模型处理被标记的URL生成的标记嵌入向量。
在框1070,方法1000包括基于判定统计量指示URL为恶意的,采取补救措施,补救措施是限制与URL关联的资源访问。示例资源包括网页、照片、视频、音频文件、文档、服务、电子邮件和社交媒体帖子。资源可以是根据需求生成内容的软件程序。可以通过警告来限制访问。在一方面,警告来自将URL分类为第二应用程序(例如,网络浏览器)的一个应用程序(例如,安全应用程序)。警告可以在弹出屏幕或其他用户界面中。警告可以包括旨在吸引用户注意力的振动、声音和/或视觉指示。警告可能要求用户采取额外的肯定步骤通过URL访问资源。例如,可以警告用户该URL是恶意的,然后询问他们是否确信他们想要转到对应的URL。如果他们单击是,或者提供一些其他肯定指令,那么可以允许用户访问与URL关联的资源。在一方面,阻止计算设备或应用访问与URL关联的资源。例如,可以禁用链接或阻止浏览器加载与网络钓鱼URL关联的页面。网络钓鱼URL可以被添加到浏览器、设备或其他组件的URL块列表中以防止将来的访问。
图11是示出根据本公开的一些实施例的用于检测恶意统一资源定位符(URL)的方法1100的流程图。在框1110,方法1100包括对URL进行令牌化以形成URL令牌。如前所述,令牌化可以是子字令牌化。在框1120,方法1100包括从URL令牌形成令牌编码。令牌编码包括令牌和对应的位置。令牌编码是转换器的输入。
在框1130,方法1100包括将令牌编码输入到转换器模型中,在框1140,方法1100包括响应于将令牌编码输入到转换器模型中,从转换器模型接收嵌入向量。
在框1150,方法1100包括从嵌入向量计算决策统计量,该决策统计量可以使用机器分类器计算。在框1160,方法1100包括基于决策统计量指示URL为恶意的,采取补救措施,补救措施是限制与URL关联的资源访问。
图12是示出根据本公开的一些实施例的用于检测恶意统一资源定位符(URL)的方法1200的流程图。
在框1210,方法1200包括对URL进行令牌化以形成URL令牌。在框1220,方法1200包括对与URL相关的元数据进行令牌化以形成元数据令牌。URL和元数据的令牌化可以是如前所述的子字令牌化。
在框1230,方法1200包括从URL令牌和元数据令牌形成令牌编码。如前所述,令牌编码包括URL令牌和元数据令牌之间的分隔符令牌。
在框1240,方法1200包括将令牌编码输入到转换器模型中。在框1250,方法1200包括响应于将令牌编码输入到转换器模型中,从转换器模型接收嵌入向量。在框1260,方法1200包括从嵌入向量计算决策统计量。可以使用机器分类器计算决策统计量。在框1270,方法1200包括基于决策统计量指示URL为恶意的,采取补救措施,补救措施是限制与URL关联的资源访问的。
实施例
实施例1:一个或多个计算机存储介质在其上体现有计算机可执行指令,计算机可执行指令在由一个或多个处理器执行时,使一个或多个处理器执行用于检测恶意统一资源定位符(URL)的方法。该方法包括将URL令牌化为URL令牌。该方法还包括将与URL相关的元数据令牌化为元数据令牌。该方法还包括从URL令牌和元数据令牌形成令牌编码。该方法还包括将令牌编码输入到转换器模型中。该方法还包括响应于将令牌编码输入到转换器模型中,从转换器模型接收嵌入向量。该方法还包括从嵌入向量计算决策统计量。该方法还包括基于决策统计量指示URL为恶意的,采取补救措施,补救措施是限制与URL关联的资源访问。
实施例1中描述的技术在网络钓鱼URL检测任务上使用转换器模型。与其他基于深度学习的方法相比,转换器的使用在非常低的假阳性率(FPR)范围内显著地提高了网络钓鱼URL检测的性能。URL和元数据令牌的联合令牌编码允许单个转换器模型一起考虑上下文和URL文本。
实施例2:实施例1的介质,其中形成令牌编码包括使用字节对编码(BPE)模型。BPE模型确保URL中最常见的字将在新词汇表中表示为单个令牌,而不太常见的字将被分解为两个或更多个子字令牌。与其他令牌编码方法相比,BPE方法似乎是形成令牌编码的有效方式。
实施例3:实施例2的介质,BPE模型使用URL专用词汇表,当与从编辑文本的分析生成的通用词汇表相比,使用URL专用词汇表可以提高性能。
实施例4:如前述实施例1中任一项所述的介质,其中形成令牌编码包括使用字片模型。该介质使用字片模型可以提供形态学见解,以改进其他模型(例如全长词模型)可能无法提供的推断。
实施例5:如前述实施例1中任一项所述的介质,其中补救措施包括阻止计算设备访问URL。
实施例6:如前述1中任一项所述的介质,其中该方法还包括将复合字拆分URL添加到训练数据语料库,复合字拆分URL被标记为网络钓鱼URL。
实施例7:如前述1中任一项所述的介质,其中令牌编码包括URL令牌和所述元数据令牌之间的分隔符令牌。
实施例8:一种用于检测恶意统一资源定位符(URL)的方法。该方法包括将URL令牌化为URL令牌。该方法还包括从URL令牌形成令牌编码。该方法还包括将令牌编码输入到变换器模型中。该方法还包括响应于将令牌编码输入到变换器模型中,从变换器模型接收嵌入向量。该方法还包括从嵌入向量计算决策统计量。该方法还包括基于决策统计量指示URL为恶意的,采取补救措施,补救措施是限制与URL关联的资源访问。
实施例8中描述的技术在网络钓鱼URL检测任务上使用转换器模型。与其他基于深度学习的方法相比,转换器的使用在非常低的假阳性率(FPR)范围内显著地提高了网络钓鱼URL检测的性能。
实施例9:实施例8的方法,其中形成令牌编码包括使用字节对编码(BPE)模型。BPE模型确保URL中最常见的字将在新词汇表中表示为单个令牌,而不太常见的字将被分解为两个或更多个子字令牌。与其他令牌编码方法相比,BPE方法似乎是形成令牌编码的有效方式。
实施例10:如实施例8和9中任一项所述的方法,其中形成令牌编码包括使用字片模型。该方法使用字片模型可以提供形态学见解,以改进可能由其他模型(例如全长词模型)提供的推断。
实施例11:如实施例8、9和10中任一项所述的方法,其中令牌编码包括令牌位置和对应的令牌。
实施例12:如实施例8、9、10和11中任一项所述的方法,还包括将复合字拆分URL添加到训练数据语料库,复合字拆分URL被标记为网络钓鱼URL。实施例12产生的训练数据可以用模拟的网络钓鱼URL来补充被识别为网络钓鱼URL的实际URL。网络钓鱼URL在训练数据中表示不足。生成模拟的网络钓鱼URL可以提供额外的训练数据,这可以促进更好的训练转换器模型。
实施例13:如实施例8、9、10、11和12中任一项所述的方法,其中转换器模型是用URL训练数据训练的双向编码器表示。
实施例14:如实施例8、9、10、11、12和13中任一项所述的方法,其中转换器模型是在自然语言词汇表上训练并用URL训练数据优化的双向编码器表示。
实施例15:如实施例8、9、10、11、12、13和14中任一项所述的方法,包括阻止计算设备访问URL。
实施例16:一种系统,包括一个或多个硬件处理器和一个或多个计算机可读介质,其上体现有可执行指令,当由一个或多个处理器执行时,该可执行指令使一个或多个硬件处理器执行包括将URL令牌化为URL令牌的动作。该动作还包括将与URL相关的元数据令牌化为元数据令牌。该动作还包括从URL令牌和元数据令牌形成令牌编码,该令牌编码包括URL令牌和元数据令牌之间的分隔符令牌。该动作还包括将令牌编码输入到转换器模型中。该动作还包括响应于将令牌编码输入到转换器模型中,从转换器模型接收嵌入向量。这些动作还包括基于决策统计量指示URL为恶意的,采取补救措施,补救措施是限制与URL关联的资源访问。
实施例16中描述的技术在网络钓鱼URL检测任务上使用转换器模型。与其他基于深度学习的方法相比,转换器的使用在非常低的假阳性率(FPR)范围内显著地提高了网络钓鱼URL检测的性能。URL和元数据令牌的联合令牌编码允许单个转换器模型一起考虑上下文和URL文本。
实施例17:实施例16的系统,其中形成令牌编码包括使用字节对编码(BPE)模型,该字节对编码(BPE)模型使用URL专用词汇表。BPE模型确保URL中最常见的字将在新词汇表中表示为单个令牌,而不太常见的字将被分解为两个或更多个子字令牌。与其他令牌编码方法相比,BPE方法似乎是形成令牌编码的有效方式。
实施例18:如实施例16和17中任一项所述的系统,其中转换器模型是用URL训练数据训练的双向编码器表示。
实施例19:如实施例16、17和18中任一项所述的系统,其中机器分类器是单个全连接层。
实施例20:如实施例16、17、18和19中任一项所述的系统,其中元数据是用于URL的证书颁发机构。
在不脱离以下权利要求的范围的情况下,所描绘的各种部件以及未示出的部件的许多不同布置都是可能的。已经以说明性而非限制性的目的描述了本技术的各方面。在阅读本公开内容之后并且由于阅读本公开内容,可替代方面对于本公开内容的读者来说将变得显而易见。实现上述内容的替代手段可以在不脱离以下权利要求的范围的情况下完成。某些特征和子组合是有实用性的,并且可以在不参考其他特征和子组合的情况下被采用,并且被预期在权利要求的范围内。

Claims (15)

1.一个或多个计算机存储介质,其上体现有计算机可执行指令,所述计算机可执行指令在由一个或多个处理器执行时,使所述一个或多个处理器执行用于检测恶意统一资源定位符(URL)的方法,所述方法包括:
将URL令牌化为URL令牌;
将与所述URL相关的元数据令牌化为元数据令牌;
从所述URL令牌和所述元数据令牌形成令牌编码;
将所述令牌编码输入到转换器模型中;
响应于将所述令牌编码输入到所述转换器模型中,从所述转化器模型接收嵌入向量;
从所述嵌入向量计算决策统计量;以及
基于所述决策统计量指示所述URL为恶意的,采取补救措施,所述补救措施是限制与所述URL关联的资源访问。
2.根据权利要求1所述的介质,其中形成所述令牌编码包括使用字节对编码(BPE)模型。
3.根据权利要求2所述的介质,其中所述BPE模型使用URL专用词汇表。
4.根据权利要求1所述的介质,其中形成所述令牌编码包括使用字片模型。
5.根据权利要求1所述的介质,其中所述补救措施包括阻止计算设备访问所述URL。
6.根据权利要求1所述的介质,其中所述方法还包括:将复合字拆分URL添加到训练数据语料库,所述复合字拆分URL被标记为网络钓鱼URL。
7.根据权利要求1所述的介质,其中所述令牌编码包括所述URL令牌和所述元数据令牌之间的分隔符令牌。
8.一种用于检测恶意统一资源定位符(URL)的方法,所述方法包括:
将URL令牌化为URL令牌;
从所述URL令牌形成令牌编码;
将所述令牌编码输入到转换器模型中;
响应于将所述令牌编码输入到所述转换器模型中,从所述转换器模型接收嵌入向量;
从所述嵌入向量计算决策统计量;以及
基于所述决策统计量指示所述URL为恶意的,采取补救措施,所述补救措施是限制与所述URL关联的资源访问。
9.根据权利要求8所述的方法,其中形成所述令牌编码包括使用字节对编码(BPE)模型。
10.根据权利要求8所述的方法,其中形成所述令牌编码包括使用字片模型。
11.根据权利要求8所述的方法,其中所述令牌编码包括令牌位置和对应的令牌。
12.根据权利要求8所述的方法,其中还包括将复合字拆分URL添加到训练数据语料库,所述复合字拆分URL被标记为网络钓鱼URL。
13.根据权利要求8所述的方法,其中所述转换器模型是用URL训练数据训练的双向编码器表示。
14.根据权利要求8所述的方法,其中所述转换器模型是在自然语言词汇表上训练并用URL训练数据优化的双向编码器表示。
15.根据权利要求8所述的方法,包括阻止计算设备访问所述URL。
CN202280018566.XA 2021-03-01 2022-02-23 使用转换器检测网络钓鱼url Pending CN116917894A (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US202163155157P 2021-03-01 2021-03-01
US63/155,157 2021-03-01
US17/246,352 US20220279014A1 (en) 2021-03-01 2021-04-30 Phishing url detection using transformers
US17/246,352 2021-04-30
PCT/US2022/017397 WO2022187034A1 (en) 2021-03-01 2022-02-23 Phishing url detection using transformers

Publications (1)

Publication Number Publication Date
CN116917894A true CN116917894A (zh) 2023-10-20

Family

ID=83006623

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202280018566.XA Pending CN116917894A (zh) 2021-03-01 2022-02-23 使用转换器检测网络钓鱼url

Country Status (3)

Country Link
US (1) US20220279014A1 (zh)
EP (1) EP4302215A1 (zh)
CN (1) CN116917894A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117155712A (zh) * 2023-10-31 2023-12-01 北京晶未科技有限公司 用于信息安全的数据分析工具的构建方法和电子设备

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11836256B2 (en) * 2019-01-24 2023-12-05 International Business Machines Corporation Testing adversarial robustness of systems with limited access
US11762990B2 (en) 2020-04-07 2023-09-19 Microsoft Technology Licensing, Llc Unstructured text classification
US11928153B2 (en) * 2022-03-17 2024-03-12 Kyndryl, Inc. Multimedia linked timestamp validation detection

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120254333A1 (en) * 2010-01-07 2012-10-04 Rajarathnam Chandramouli Automated detection of deception in short and multilingual electronic messages
US8521667B2 (en) * 2010-12-15 2013-08-27 Microsoft Corporation Detection and categorization of malicious URLs
US9282117B2 (en) * 2012-07-24 2016-03-08 Webroot Inc. System and method to provide automatic classification of phishing sites
US10404745B2 (en) * 2013-08-30 2019-09-03 Rakesh Verma Automatic phishing email detection based on natural language processing techniques
US20200067861A1 (en) * 2014-12-09 2020-02-27 ZapFraud, Inc. Scam evaluation system
US10033757B2 (en) * 2016-06-09 2018-07-24 Rapid7, Inc. Identifying malicious identifiers
US10318735B2 (en) * 2016-06-22 2019-06-11 Invincea, Inc. Methods and apparatus for detecting whether a string of characters represents malicious activity using machine learning
CN107807987B (zh) * 2017-10-31 2021-07-02 广东工业大学 一种字符串分类方法、系统及一种字符串分类设备
US10332003B1 (en) * 2017-12-01 2019-06-25 KnowBe4, Inc. Systems and methods for AIDA based analytics and reporting
EP3716574B1 (en) * 2019-03-26 2024-01-03 Proofpoint, Inc. Uniform resource locator classifier for malicious site detection
US11714905B2 (en) * 2019-05-10 2023-08-01 Sophos Limited Attribute relevance tagging in malware recognition
US11303674B2 (en) * 2019-05-14 2022-04-12 International Business Machines Corporation Detection of phishing campaigns based on deep learning network detection of phishing exfiltration communications
US11671448B2 (en) * 2019-12-27 2023-06-06 Paypal, Inc. Phishing detection using uniform resource locators
US11483340B2 (en) * 2020-01-13 2022-10-25 Shanghai Jiaotong University System for malicious HTTP traffic detection with multi-field relation
US11856022B2 (en) * 2020-01-27 2023-12-26 Netskope, Inc. Metadata-based detection and prevention of phishing attacks
US20220004642A1 (en) * 2020-07-01 2022-01-06 International Business Machines Corporation Vulnerability analysis using contextual embeddings
US20220121984A1 (en) * 2020-10-21 2022-04-21 Zscaler, Inc. Explaining internals of Machine Learning classification of URL content
US20220129630A1 (en) * 2020-10-27 2022-04-28 Check Point Software Technologies Ltd. Method For Detection Of Malicious Applications
US11562142B2 (en) * 2021-02-26 2023-01-24 Salesforce, Inc. Neural network based representation learning for natural language processing

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117155712A (zh) * 2023-10-31 2023-12-01 北京晶未科技有限公司 用于信息安全的数据分析工具的构建方法和电子设备
CN117155712B (zh) * 2023-10-31 2024-02-06 北京晶未科技有限公司 用于信息安全的数据分析工具的构建方法和电子设备

Also Published As

Publication number Publication date
EP4302215A1 (en) 2024-01-10
US20220279014A1 (en) 2022-09-01

Similar Documents

Publication Publication Date Title
Opara et al. HTMLPhish: Enabling phishing web page detection by applying deep learning techniques on HTML analysis
Khan et al. Defending malicious script attacks using machine learning classifiers
CN108965245B (zh) 基于自适应异构多分类模型的钓鱼网站检测方法和系统
CN116917894A (zh) 使用转换器检测网络钓鱼url
US11762990B2 (en) Unstructured text classification
Sindhu et al. Phishing detection using random forest, SVM and neural network with backpropagation
CN110191096B (zh) 一种基于语义分析的词向量网页入侵检测方法
Ren et al. A DGA domain names detection modeling method based on integrating an attention mechanism and deep neural network
Niakanlahiji et al. A natural language processing based trend analysis of advanced persistent threat techniques
CN108038173B (zh) 一种网页分类方法、系统及一种网页分类设备
Ndichu et al. A machine learning approach to malicious JavaScript detection using fixed length vector representation
CN111931935B (zh) 基于One-shot 学习的网络安全知识抽取方法和装置
CN112948725A (zh) 基于机器学习的钓鱼网站url检测方法及系统
Rao et al. Application of word embedding and machine learning in detecting phishing websites
Song et al. Evaluations of AI‐based malicious PowerShell detection with feature optimizations
Nowroozi et al. An adversarial attack analysis on malicious advertisement url detection framework
CN115994351A (zh) 一种恶意网站检测方法、装置、系统及设备
Rasheed et al. Adversarial attacks on featureless deep learning malicious URLs detection
CN115314236A (zh) 在域名系统(dns)记录集中检测网络钓鱼域的系统和方法
Rayyan et al. Uniform resource locator classification using classical machine learning & deep learning techniques
AT&T
Thahira et al. Phishing Website Detection Using LGBM Classifier With URL-Based Lexical Features
Evangelista Cybersecurity Vulnerability Classification Utilizing Natural Language Processing Methods
WO2022187034A1 (en) Phishing url detection using transformers
Gaither et al. Web Page Multiclass Classification

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination