CN104982011A - 使用多尺度文本指纹的文档分类 - Google Patents
使用多尺度文本指纹的文档分类 Download PDFInfo
- Publication number
- CN104982011A CN104982011A CN201480007764.1A CN201480007764A CN104982011A CN 104982011 A CN104982011 A CN 104982011A CN 201480007764 A CN201480007764 A CN 201480007764A CN 104982011 A CN104982011 A CN 104982011A
- Authority
- CN
- China
- Prior art keywords
- text
- fingerprint
- mark
- document
- fingerprints
- 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.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L51/00—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
- H04L51/21—Monitoring or handling of messages
- H04L51/212—Monitoring or handling of messages using filtering or selective blocking
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/279—Recognition of textual entities
- G06F40/284—Lexical analysis, e.g. tokenisation or collocates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q50/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/10—Services
- G06Q50/26—Government or public services
- G06Q50/265—Personal security, identity or safety
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Tourism & Hospitality (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Business, Economics & Management (AREA)
- Marketing (AREA)
- Primary Health Care (AREA)
- Strategic Management (AREA)
- Human Resources & Organizations (AREA)
- Economics (AREA)
- Development Economics (AREA)
- Educational Administration (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- Information Transfer Between Computers (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
所描述的系统及方法允许根据文档特定的文本指纹进行例如电子邮件消息及HTML文档的电子文档的分类。所述文本指纹是针对每一目标文档的文本块予以计算,且包括根据所述相应文本块的多个文本标记而确定的字符序列。在一些实施例中,通过针对短文本块进行放大且针对长文本块进行缩小,将所述文本指纹的长度强制为在预定长度范围(例如,在129与256个字符之间)内,而不管所述文本块的长度如何。例如,分类可包含确定电子文档表示未经请求的通信(垃圾邮件)还是例如网络钓鱼的网上诈骗。
Description
背景技术
本发明涉及用于分类电子文档的方法及系统,且尤其涉及用于筛选未经请求的电子通信(垃圾邮件)且检测诈骗性网上文档的系统及方法。
未经请求的电子通信(也称为垃圾邮件)形成全球通信业务的显著部分,从而影响计算机消息传递服务及电话消息传递服务两者。垃圾邮件可呈许多形式,从未经请求的电子邮件通信到伪装成各种互联网站点(例如,网志及社交网络站点)上的用户评论的垃圾邮件消息。垃圾邮件占用宝贵的硬件资源、影响生产率,且被通信服务及/或互联网的许多用户视为讨厌的及打扰的。
网上诈骗(尤其是呈网络钓鱼及身份盗用的形式)已正对全球互联网用户造成日益增加的威胁。由在互联网上操作的国际犯罪网络诈骗性地获得的敏感身份信息(例如用户姓名、ID、密码、身份证号码及医疗记录、银行及信用卡明细)用于提取私人资金及/或进一步卖给第三方。除了给个人造成直接的金融损失以外,网上诈骗也造成一系列有害的副作用,例如公司日益增加的安全成本、较高的零售价格及银行收费、下跌的股票价值、较低的工资及下降的税收收入。
在示范性网络钓鱼尝试中,虚假网站(也称为克隆)可伪装成属于网上零售商或金融机构的正版网页,要求用户输入一些个人信息(例如,用户名或密码)或一些金融信息(例如,信用卡号、账号或安全代码)。一旦毫无戒心的用户提交所述信息,其就可由所述虚假网站搜集。另外,用户可被引导到另一网页,其能够在用户的计算机上安装恶意软件。所述恶意软件(例如,病毒、特洛伊木马)能够通过记录由用户在访问某些网页时键入的密钥而继续窃取个人信息,且能够将用户的计算机变换成用于发动其它网络钓鱼及垃圾邮件攻击的平台。
在垃圾电子邮件或电子邮件诈骗的情况下,在用户或电子邮件服务提供商的计算机系统上运行的软件可用于将电子邮件消息分类为垃圾邮件/非垃圾邮件(或诈骗性/合法),且甚至区分各种种类的消息,例如,区分产品提供、成人内容及尼日利亚诈骗。垃圾邮件/诈骗性消息可随后被引导到特殊文件夹或被删除。类似地,在内容提供商的计算机系统上运行的软件能够用于拦截发布到由相应内容提供商托管的网站的垃圾邮件/诈骗性消息,且防止显示相应消息,或向所述网站的用户显示所述相应消息可为诈骗性或垃圾邮件的警告。
已提出用于识别垃圾邮件及/或网上诈骗的若干方法,其包含使消息的发端地址与已知违法或受信任地址列表(分别称为黑名单及白名单的技术)匹配、搜索某些字或字形(例如,再融资、股票),及分析消息标头。有时结合自动化数据分类方法(例如,贝叶斯(Bayesian)筛选、神经网络)而使用特征提取/匹配方法。
一些所提出的方法使用散列以产生电子文本消息的紧凑表示。此类表示允许有效的消息间比较,其用于垃圾邮件或诈骗检测目的。
垃圾邮件发送者及网上诈骗者试图通过使用各种迷惑方法(例如,拼错某些字、将垃圾邮件及/或诈骗性内容嵌入到伪装成合法文档的较大文本块中,及将消息的形式及/或内容从一个分布波更改到另一分布波)而避开检测。使用散列的反垃圾邮件及反诈骗方法通常易受此类迷惑的干扰,这是因为文本的小改变可产生实质上不同的散列。成功的检测可因此受益于能够识别多态垃圾邮件及诈骗的方法及系统。
发明内容
根据一个方面,一种客户端计算机系统包括至少一个处理器,其经配置以确定目标电子文档的文本指纹,使得所述文本指纹的长度约束在下限与上限之间,其中所述下限及上限为预定的。确定所述文本指纹包括:选择所述目标电子文档的多个文本标记;及响应于选择所述多个文本标记,根据所述上限及下限且根据所述所选择的多个文本标记的计数而确定指纹片段大小。确定所述文本指纹进一步包括:确定多个指纹片段,所述多个指纹片段中的每一指纹片段是根据所述所选择的多个文本标记中的相异文本标记的散列而确定,每一指纹片段由字符序列组成,所述序列的长度经选择为等于所述指纹片段大小;及级联所述多个指纹片段以形成所述文本指纹。
根据另一方面,一种服务器计算机系统包括至少一个处理器,其经配置以执行与多个客户端系统进行的事务,其中事务包括:从所述多个客户端系统中的客户端系统接收文本指纹,所述文本指纹是针对目标电子文档而确定,使得所述文本指纹的长度约束在下限与上限之间,其中所述下限及上限为预定的;及向所述客户端系统发送指示所述目标电子文档所属的文档类别的目标标签。确定所述文本指纹包括:选择所述目标电子文档的多个文本标记;及响应于选择所述多个文本标记,根据所述上限及下限且根据所述所选择的多个文本标记的计数而确定指纹片段大小。确定所述文本指纹进一步包括:确定多个指纹片段,所述多个指纹片段中的每一指纹片段是根据所述所选择的多个文本标记中的相异文本标记的散列而确定,每一指纹片段由字符序列组成,所述序列的长度经选择为等于所述指纹片段大小;及级联所述多个指纹片段以形成所述文本指纹。确定所述目标标签包括:从参考指纹的数据库检索参考指纹,所述参考指纹是针对属于所述类别的参考电子文档而确定,所述参考指纹是根据所述参考指纹的长度而选择,使得所述参考指纹的所述长度在所述上限与下限之间;及根据比较所述文本指纹与所述参考指纹的结果而确定所述目标电子文档是否属于所述类别。
根据另一方面,一种方法包括使用客户端计算机系统的至少一个处理器以确定目标电子文档的文本指纹,使得所述文本指纹的长度约束在下限与上限之间,其中所述下限及上限为预定的。确定所述文本指纹包括:选择所述目标电子文档的多个文本标记;及响应于选择所述多个文本标记,根据所述上限及下限且根据所述所选择的多个文本标记的计数而确定指纹片段大小。确定所述文本指纹进一步包括:确定多个指纹片段,所述多个指纹片段中的每一指纹片段是根据所述所选择的多个文本标记中的相异文本标记的散列而确定,每一指纹片段由字符序列组成,所述序列的长度经选择为等于所述指纹片段大小;及级联所述多个指纹片段以形成所述文本指纹。
根据另一方面,一种方法包括使用经配置以执行与多个客户端系统进行的事务的服务器计算机系统的至少一个处理器以:从所述多个客户端系统中的客户端系统接收文本指纹,所述文本指纹是针对目标电子文档而确定,使得所述文本指纹的长度约束在下限与上限之间,其中所述下限及上限为预定的;及向所述客户端系统发送针对所述目标电子文档所确定的目标标签,所述目标标签指示所述目标电子文档所属的文档类别。确定所述文本指纹包括:选择所述目标电子文档的多个文本标记;及响应于选择所述多个文本标记,根据所述上限及下限且根据所述所选择的多个文本标记的计数而确定指纹片段大小。确定所述文本指纹进一步包括:确定多个指纹片段,所述多个指纹片段中的每一指纹片段是根据所述所选择的多个文本标记中的相异文本标记的散列而确定,每一指纹片段由字符序列组成,所述序列的长度经选择为等于所述指纹片段大小;及级联所述多个指纹片段以形成所述文本指纹。确定所述目标标签包括:从参考指纹的数据库检索参考指纹,所述参考指纹是针对属于所述类别的参考电子文档而确定,所述参考指纹是根据所述参考指纹的长度而选择,使得所述参考指纹的所述长度在所述上限与下限之间;及根据比较所述文本指纹与所述参考指纹的结果而确定所述目标电子文档是否属于所述类别。
附图说明
在阅读以下详细描述后及在参考图式后就将更好地理解本发明的前述方面及优点,在图式中:
图1展示根据本发明的一些实施例的包括保护多个客户端系统的安全服务器的示范性反垃圾邮件/反诈骗系统。
图2-A展示根据本发明的一些实施例的客户端计算机系统的示范性硬件配置。
图2-B展示根据本发明的一些实施例的安全服务器计算机系统的示范性硬件配置。
图2-C展示根据本发明的一些实施例的内容服务器计算机系统的示范性硬件配置。
图3-A展示根据本发明的一些实施例的包括文本块的示范性垃圾电子邮件消息。
图3-B展示根据本发明的一些实施例的包括文本块的示范性垃圾邮件网志评论。
图3-C说明根据本发明的一些实施例的包括多个文本块的示范性诈骗性网页。
图4-A说明根据本发明的一些实施例的客户端计算机与安全服务器之间的示范性垃圾邮件/诈骗检测事务。
图4-B说明根据本发明的一些实施例的内容服务器与安全服务器之间的示范性垃圾邮件/诈骗检测事务。
图5展示根据本发明的一些实施例的目标电子文档的示范性目标指示符,所述指示符包括文本指纹及其它垃圾邮件/诈骗识别数据。
图6展示根据本发明的一些实施例的在客户端系统上执行的示范性应用程序集合的图解。
图7说明根据本发明的一些实施例的由图6的指纹计算器执行的示范性步骤序列。
图8展示根据本发明的一些实施例的目标文本块的文本指纹的示范性确定。
图9展示根据本发明的一些实施例的针对处于各种放大及缩小因数的目标文本块而确定的多个指纹。
图10说明根据本发明的一些实施例的由指纹计算器执行以确定缩小指纹的示范性步骤序列。
图11展示根据本发明的一些实施例的在安全服务器上执行的示范性应用程序。
图12展示根据本发明的一些实施例的在安全服务器上执行的示范性文档分类器的图解。
图13展示在包括分析实际垃圾邮件消息流的计算机实验中获得的垃圾邮件检测率,所述分析是根据本发明的一些实施例而执行;比较所述检测率与通过常规方法而获得的检测率。
具体实施方式
在以下描述中,应理解,结构之间的所有列举的连接可为直接操作连接或通过中介结构的间接操作连接。元件集合包含一或多个元件。元件的任何列举应被理解为是指至少一个元件。多个元件包含至少两个元件。除非另有要求,否则任何所描述的方法步骤未必需要按所说明的特定次序执行。来源于第二元件的第一元件(例如,数据)涵盖等于第二元件的第一元件,以及通过处理第二元件而产生的第一元件及任选的其它数据。根据参数做出确定或决定涵盖根据参数且任选地根据其它数据做出确定或决定。除非另有指定,否则一些数量/数据的指示符可为所述数量/数据自身,或为与所述数量/数据自身不同的指示符。除非另有指定,否则散列为散列函数的输出。除非另有指定,否则散列函数为将符号(例如,字符、位)序列映射成数字或位串的数学变换。计算机可读媒体涵盖例如磁性、光学及半导体存储媒体(例如,硬盘驱动器、光盘、闪速存储器、DRAM)的非暂时性媒体,以及例如导电电缆及光纤链路的通信链路。根据一些实施例,本发明尤其提供包括硬件(例如,一或多个处理器)以及计算机可读媒体的计算机系统,所述硬件经编程以执行本文中所描述的方法,所述计算机可读媒体编码指令以执行本文中所描述的方法。
以下描述作为实例而未必作为限制来说明本发明的实施例。
图1展示根据本发明的一些实施例的示范性反垃圾邮件/反诈骗系统10。系统10包含内容服务器12、发送器系统13、安全服务器14及多个客户端系统16a到c,其全部是由通信网络18连接。网络18可为广域网(例如,互联网),而网络18的部分也可包含局域网(LAN)。
在一些实施例中,内容服务器12经配置以从多个用户接收用户贡献内容(例如,文章、网志条目、媒体上传、评论等等),且组织、格式化及分布此类内容到第三方(例如,客户端系统16a到c)。内容服务器12的示范性实施例为将电子消息递送提供到客户端系统16a到c的电子邮件服务器。内容服务器12的另一实施例为托管网志或社交联网站点的计算机系统。在一些实施例中,用户贡献内容以电子文档(在以下描述中也称为目标文档)的形式在网络18上流传。电子文档包含网页(例如,HTML文档)及电子消息(例如,电子邮件及短消息服务(SMS)消息等等)。在服务器12处接收的用户贡献数据的部分可包括未经请求的及/或诈骗性消息及文档。
在一些实施例中,发送器系统13包括向客户端系统16a到c发送未经请求的通信(例如,垃圾电子邮件消息)的计算机系统。可在服务器12处接收此类消息,且随后发送到客户端系统16a到c。替代地,可使在服务器12处接收的消息可用(例如,通过web界面)以供客户端系统16a到c检索。在其他实施例中,发送器系统13可向内容服务器12发送未经请求的通信(例如,垃圾网志评论,或发布到社交联网站点的垃圾邮件)。客户端系统16a到c可随后经由协议(例如,超文本传输协议(HTTP))而检索此类通信。
安全服务器14可包含一或多个计算机系统,其执行电子文档的分类(如下文详细地所展示)。执行此类分类可包含识别未经请求的消息(垃圾邮件)及/或诈骗性电子文档(例如,网络钓鱼消息及网页)。在一些实施例中,执行所述分类包含安全服务器14与内容服务器12之间及/或安全服务器14与客户端系统16a到b之间进行的协作式垃圾邮件/诈骗检测事务。
客户端系统16a到c可包含终端用户计算机,其各自具有处理器、存储器及存储装置,且运行操作系统(例如,或Linux)。一些客户端计算机系统16a到c可为移动计算及/或电信装置,例如,平板PC、移动电话、个人数字助理(PDA),及家用装置(例如,电视机或音乐播放器等等)。在一些实施例中,客户端系统16a到c可表示个别客户,或若干客户端系统可属于同一客户。客户端系统16a到c可通过从发送器系统13接收电子文档(例如,电子邮件消息)且将其存储在本地收件箱中或通过在网络18上检索此类文档(例如,从由内容服务器12服务的网站)而存取此类文档。
图2-A展示客户端系统16(例如,图1的系统16a到c)的示范性硬件配置。图2-A展示用于说明性目的的计算机系统;其它装置(例如,移动电话)的硬件配置可不同。在一些实施例中,客户端系统16包括处理器20、存储器单元22、输入装置24的集合、输出装置26的集合、存储装置28的集合及通信接口控制器30,其全部是由总线34的集合连接。
在一些实施例中,处理器20包括物理装置(例如,多核集成电路),其经配置以用信号及/或数据集合来执行计算及/或逻辑运算。在一些实施例中,此类逻辑运算是以处理器指令序列(例如,机器码或其它软件类型)的形式递送到处理器20。存储器单元22可包括易失性计算机可读媒体(例如,RAM),其存储由处理器20在进行指令期间存取或产生的数据/信号。输入装置24可包含计算机键盘、鼠标及麦克风等等,其包含允许用户将数据及/或指令引入到系统16中的相应硬件接口及/或适配器。输出装置26可包含显示装置(例如,显示器及扬声器等等),以及硬件接口/适配器(例如,图形卡),其允许系统16向用户传达数据。在一些实施例中,输入装置24及输出装置26可共享硬件的公用部分,在触摸屏装置的情况下就是如此。存储装置28包含计算机可读媒体,其实现软件指令及/或数据的非易失性存储、读取及写入。示范性存储装置28包含磁盘与光盘及闪速存储器装置,以及可移动媒体(例如,CD及/或DVD盘与驱动器)。通信接口控制器30使系统16能够连接到网络18及/或其它装置/计算机系统。总线34共同地表示多个系统、外围设备及芯片集总线,及/或实现客户端系统16的装置20到30的内部通信的所有其它电路。举例来说,总线34可包括将处理器20连接到存储器22的北桥,及/或将处理器20连接到装置24到30的南桥等等。
图2-B展示根据本发明的一些实施例的安全服务器14的示范性硬件配置。安全服务器14包含处理器120及存储器单元122,且可进一步包括存储装置128的集合及至少一个通信接口控制器130,其全部是经由总线134的集合而互连。在一些实施例中,处理器120、存储器122及存储装置128的操作可分别类似于项目20、22及28的操作,如上文关于图2-A所描述。存储器单元122存储由处理器120在进行指令期间存取或产生的数据/信号。控制器130使安全服务器14能够连接到网络18,以向连接到网络18的其它系统发射数据及/或从连接到网络18的其它系统接收数据。
图2-C展示根据本发明的一些实施例的内容服务器12的示范性硬件配置。内容服务器12包含处理器220及存储器单元222,且可进一步包括存储装置228的集合及至少一个通信接口控制器230,其全部是由总线234的集合互连。在一些实施例中,处理器220、存储器222及存储装置228的操作可分别类似于项目20、22及28的操作,如上文所描述。存储器单元222存储由处理器220在进行指令期间存取或产生的数据/信号。在一些实施例中,接口控制器230使内容服务器12能够连接到网络18,且向连接到网络18的其它系统发射数据及/或从连接到网络18的其它系统接收数据。
图3-A展示根据本发明的一些实施例的包括垃圾电子邮件的示范性目标文档36a。目标文档36a可包括标头及有效负载,所述标头包含消息路由数据(例如,发件人的指示符及/或收件人的指示符),及/或其它数据(例如,时间戳及内容类型(例如,多用途互联网邮件扩展(MIME)类型)的指示符)。所述有效负载可包含作为文本及/或图像显示给用户的数据。在内容服务器12及/或客户端系统16a到c上执行的软件可处理所述有效负载以产生目标文档36a的目标文本块38a。在一些实施例中,目标文本块38a包括意在被解释为文本的标志及/或符号序列。文本块38a可包含比如标点符号的特殊字符,以及表示网络地址、统一资源定位符(URL)、电子邮件地址、假名及别名的字符序列等等。目标文本块38a可直接嵌入到目标文档36a中(例如,作为纯文本MIME部分),或可包括处理嵌入在文档36a中的计算机指令集合的结果。举例来说,目标文本块38a可包含呈现超文本标记语言(HTML)指令集合的结果,或执行嵌入在目标文档36a中的客户端脚本指令或服务器端脚本指令集合(例如,PHP、Javascript)的结果。在另一实施例中,目标文本块38a可嵌入到图像中,在图像垃圾邮件的情况下就是如此。
图3-B展示另一示范性目标文档36b,其包括发布在网页(例如,网志、网上新闻页面或社交联网页面)上的评论。在一些实施例中,文档36b包括数据字段(例如,嵌入在HTML文档中的表单的字段)集合的内容。例如,填写此类表单字段可由人类操作者远程执行,及/或由在发送器系统13上执行的软件部分自动地执行。在一些实施例中,文档36b的显示包括文本块38b,其由字符及/或符号序列组成,所述字符及/或符号序列意在由存取相应网站的用户解释为文本。文本块38b可包含超链接、特殊字符、表情符及图像等等。
图3-C说明另一示范性目标文档36c,其包括网络钓鱼网页。文档36c可作为HTML及/或服务器端或客户端脚本指令集合而递送,其在执行时确定文档查看器(例如,web浏览器)以产生图像集合及/或文本块集合。图3-C中说明两个此类示范性文本块38c到d。文本块36c到d可包含超链接及电子邮件地址。
图4-A展示根据本发明的一些实施例的示范性客户端系统16(例如,图1的客户端系统16a到c)与安全服务器14之间的示范性垃圾邮件/诈骗检测事务。图4-A中说明的交换发生(例如)在系统10的实施例中,系统10经配置以检测电子邮件垃圾邮件。在从内容服务器12接收到目标文档36(例如,电子邮件消息)之后,客户端系统16可确定目标文档36的目标指示符40,且可将目标指示符40发送到安全服务器14。目标指示符40包括允许安全服务器14执行目标文档36的分类的数据以确定(例如)文档36是否为垃圾邮件。响应于接收到目标指示符40,安全服务器14可向相应客户端系统16发送指示文档36是否为垃圾邮件的目标标签50。
图4-B中说明垃圾邮件检测事务的另一实施例,且其发生在内容服务器12与安全服务器14之间。此类交换可发生(例如)以检测发布到网志及/或社交网络网站的未经请求的通信,或检测网络钓鱼网页。托管及/或显示相应网站的内容服务器12可接收目标文档36(例如,网志评论)。内容服务器12可处理相应通信以产生相应文档的目标指示符40,且可将目标指示符发送到安全服务器14。作为回报,服务器14可确定指示相应文档是否为垃圾邮件或诈骗性的目标标签50,且将标签50发送到内容服务器12。
图5展示针对示范性目标文档36(例如,图3-A中的电子邮件消息36a)所确定的示范性目标指示符40。在一些实施例中,目标指示符40为数据结构,其包含与目标文档36唯一地相关联的消息标识符41(例如,散列索引),及针对文档36的文本块(例如,图3-A中的文本块38a)所确定的文本指纹42。目标指示符40可进一步包括指示文档36的发件人的发件人指示符44、指示发出文档36的网络地址(例如,IP地址)的路由指示符46,及指示文档36被发送及/或接收的时刻的时间戳48。在一些实施例中,目标指示符40可包括文档36的其它垃圾邮件指示及/或诈骗指示特征,例如,指示文档36是否包含图像的旗标、指示文档36是否包含超链接的旗标,及针对文档36所确定的文档布局指示符等等。
图6展示根据本发明的一些实施例的在客户端系统16上执行的示范性组件集合。图6中说明的配置适合于(例如)检测在客户端系统16处接收的垃圾电子邮件消息。系统16包括文档消解仪52及连接到文档消解仪52的文档显示管理器54。文档消解仪52可进一步包括指纹计算器56。在一些实施例中,文档消解仪52接收目标文档36(例如,电子邮件消息),且处理文档36以产生目标指示符40。处理文档36可包含剖析文档36以识别相异数据字段及/或类型,且区分标头数据与有效负载数据等等。当文档36为电子邮件消息时,示范性剖析可产生针对相应消息的发件人、IP地址、主题、时间戳及内容等等的相异数据对象。当文档36的内容包含多个MIME类型的数据时,剖析可产生针对每一MIME类型(例如,纯文本、HTML及图像等等)的相异数据对象。文档消解仪52可随后制定目标指示符40,例如通过填写目标指示符40的相应字段(例如,发件人、路由地址及时间戳等等)。客户端系统16的软件组件可随后将目标指示符40发射到安全服务器14以供分析。
在一些实施例中,文档显示管理器54接收目标文档36,将其转化为视觉形式且将其显示在客户端系统16的输出装置上。显示管理器54的一些实施例也可允许客户端系统16的用户与所显示的内容交互。显示管理器54可与现成的文档显示软件(例如,web浏览器、电子邮件阅读器、电子书阅读器及媒体播放器等等)集成。例如,此类集成可以软件插件的形式而实现。显示管理器54可经配置以将目标文档36(例如,传入电子邮件)指派到文档类别(例如,文档的垃圾邮件、合法及/或各种其它类别与子类别)。此类分类可根据从安全服务器14接收的目标标签50而确定。显示管理器54可经进一步配置以将垃圾邮件/诈骗消息分组为单独的文件夹及/或仅向用户显示合法消息。管理器54也可根据此类分类而对文档36加标签。例如,文档显示管理器54可以相异的颜色显示垃圾邮件/诈骗消息,或紧接于每一垃圾邮件/诈骗消息而显示指示相应消息(例如,垃圾邮件、网络钓鱼等等)的分类的旗标。类似地,当文档36为诈骗性网页时,显示管理器54可阻止用户存取相应页面及/或向用户显示警告。
在经配置以检测作为评论发布在网志及社交网络站点上的垃圾邮件/诈骗的实施例中,文档消解仪52及显示管理器54可在内容服务器12(代替图6中展示的客户端系统16a到c)上执行。此类软件可以服务器端脚本的形式在内容服务器12上实施,其可进一步并入(例如,作为插件)到较大的脚本包中(例如,作为针对或网上出版平台的反垃圾邮件/反诈骗插件)。一旦确定目标文档36为垃圾邮件或诈骗性。显示管理器54就可经配置以阻止相应消息,从而防止其在相应网站内显示。
指纹计算器56(图6)经配置以确定目标文档36的文本指纹,其构成目标指示符40的部分(例如,图5中的项目42)。在一些实施例中,针对目标电子文档所确定的指纹包括字符序列,所述序列的长度约束在预定上限与下限之间(例如,在129与256个字符之间,129及256包含在内)。使此类指纹在预定长度范围内可为期望的,其允许与参考指纹集合的有效比较,以识别包括垃圾邮件及/或诈骗的文本块,如下文更详细地所展示。在一些实施例中,形成指纹的字符可包括字母数字字符、特殊字符及符号(例如,*、/、$等等)等等。用于形成文本指纹的其它示范性字符包含用于在各种编码中表示数目的数字或其它符号,例如,二进制、十六进制及Base64等等。
图7说明由指纹计算器56执行以确定文本指纹的示范性步骤序列。在步骤402中,指纹计算器可选择用于指纹计算的目标文档36的目标文本块。在一些实施例中,目标文本块可实质上由目标文档36的全部文本内容(例如,文档36的纯文本MIME部分)组成。在一些实施例中,目标文本块可由文档36的文本部分的单一段落组成。在经配置以筛选基于web的垃圾邮件的实施例中,目标文本块可由网志评论的内容组成,或由用户发送且意在发布在相应网站上的另一种类的消息(例如,wall post、tweet等等)组成。在一些实施例中,目标文本块包括HTML文档的章节的内容(例如,由DIV或SPAN标签指示的章节)。
在步骤404中,指纹计算器56可将目标文本块分成文本标记。图8展示将文本块38分成多个文本标记60a到c的示范性分段。在一些实施例中,文本标记为由任何定界符字符/符号集合而与其它文本标记分离的字符/符号序列。用于西方语言脚本的示范性定界符包含空格、断行、制表符、‘\r’、‘\0’、句号、逗号、冒号、分号、圆括号及/或方括号、反向及/或正向斜线、双斜线、数学符号(例如,‘+’、‘-’、‘*’、‘^’)、标点符号(例如,‘!’及‘?’)及特殊字符(例如,‘$’及‘|’等等)。图8中的示范性标记为个别字;文本标记的其它实例可包含多字序列、电子邮件地址及URL等等。为了识别文本块38的个别标记,指纹计算器可使用所属领域中所知的任何串标记化算法。指纹计算器56的一些实施例可考虑某些标记(例如,英语中的常见字(例如,‘a’及‘the’)),此针对指纹计算为不合格的。在一些实施例中,超过预定最大长度的标记被进一步分成较短标记。
在一些实施例中,由计算器56确定的文本指纹的长度约束在预定范围(例如,在129与256个字符之间,129及256包含在内)内,而不管相应目标文本块的长度或标记计数如何。为了计算此类指纹,在步骤406中,指纹计算器56可首先确定目标文本块的文本标记的计数,且比较所述计数与预定上限阈值,所述预定上限阈值是根据指纹长度的上限而确定。当标记计数超过上限阈值(例如,256)时,在步骤408中,计算器56可确定缩小指纹,如下文详细地所展示。
当标记计数降到低于上限阈值时,在步骤410中,指纹计算器可计算每一文本标记的散列。图8展示示范性散列62a到c,其分别是针对文本标记60a到c而确定。散列62a到c是以十六进制记数法而展示。在一些实施例中,此类散列为将散列函数应用于每一标记60a到c的结果。许多此类散列函数及算法在所属领域中为已知的。散列算法快速,但通常产生大量冲突(相异标记具有相同散列的情况)。更复杂的散列(例如,通过比如MD5的消息摘要算法而计算的散列)据称为无冲突,但其计算费用巨大。本发明的一些实施例使用在计算速度与冲突避免之间提供权衡的散列算法来计算散列62a到c。此类算法的实例归因于罗伯特.赛奇威克(Robert Sedgewick),且在所属领域中称为RSHash。下文展示RSHash的伪代码:
其中a及b表示整数,例如,a=63,689,且b=378,551。
散列62a到c的大小(位的数目)可影响冲突的可能性,且因此影响垃圾邮件检测率。一般来说,使用小散列会增加冲突的可能性。较大散列通常不易产生冲突,但在计算速度及存储器方面更加昂贵。指纹计算器56的一些实施例计算项目62a到c作为30位散列。
指纹计算器56可现在确定目标文本块的实际文本指纹。图8进一步说明针对目标文本块38所确定的示范性指纹42。文本指纹42包括根据在步骤410中确定的散列62a到c所确定的字符序列。在一些实施例中,针对每一标记60a到c,指纹计算器56确定指纹片段,其在图8中被说明作为项目64a到c。在一些实施例中,随后级联此类片段以产生指纹42。
每一指纹片段64a到c可包括根据相应标记60a到c的散列62a到c所确定的字符序列。在一些实施例中,所有指纹片段64a到c具有相同的长度:在图8的实例中,每一片段64a到c由两个字符组成。确定指纹片段的所述长度,使得相应指纹具有在所要范围(例如,在129到256个字符)内的长度。在一些实施例中,指纹片段的长度称为放大因数k。例如,长度1的片段为无缩放片段(放大因数1),从而产生无缩放指纹;长度2的片段为2倍放大片段(放大因数2),从而产生2倍放大片段,等等。图9展示针对处于各种放大因数k的文本块38所确定多个文本指纹42a到c。
在步骤412(图7)中,指纹计算器56确定放大因数k的值,其产生在所要的预定范围内的指纹长度。例如,当标记计数大于下限阈值(其是根据所要指纹长度的下限而确定)时,指纹计算器可决定计算无缩放指纹(k=1),这是因为无缩放指纹已在所要长度范围内。例如,当文本块38具有过少的标记时,指纹计算器可计算2倍或3倍放大指纹。
然后,在步骤414中,根据每一标记的相应散列,指纹计算器56计算针对所述标记的指纹片段。为了确定片段64a到c,指纹计算器56可使用所属领域中所知的任何编码方案(例如,散列62a到c的二进制或Base64表示)。此类编码方案建立数目与来自预定字母表的字符序列之间的一对一映射。例如,当使用Base64表示时,散列的六个连续位中的每一群组可被映射成字符。
在一些实施例中,通过改变用于表示相应散列的字符的数目,可针对每一散列而确定多个指纹片段。为了产生长度1(例如,放大因数1)的片段,一些实施例仅使用相应散列的六个最低有效位。可使用相应散列的额外六个位来产生长度2(例如,放大因数2)的片段,等等。在Base64表示中,30位散列可因此得到高达5个字符长的指纹片段,其对应于五个放大因数。表1展示在各种放大因数下计算的示范性指纹片段(来自图9中的示范性文本块38)。
表1
在步骤416(图7)中,指纹计算器56组合文本指纹42,例如,通过级联步骤414中计算的片段。
回到步骤406,当标记计数被发现为大于上限阈值时,指纹计算器56确定相应文本块的缩小指纹。在一些实施例中,缩小包括仅从文本块38的标记的子集计算指纹42。选择子集可包括根据散列选择准则而修剪步骤404中确定的多个文本标记。图10中说明执行此类计算的示范性步骤序列。步骤422选择用于指纹计算的缩小因数。在一些实施例中,表示为k的缩小因数平均起来指示文本块38的标记的仅1/k用于指纹计算。指纹计算器56可因此根据步骤406(图7)中确定的标记计数而选择缩小因数。在一些实施例中,缩小因数的最初选择可能无法产生在所要长度范围内的指纹(参见下文);在此类情况下,可在一循环中以试误方式执行步骤422到430,直到产生适当长度的指纹。例如,指纹计算器56可最初选择缩小因数k=2;当此值未能产生足够短的指纹时,计算器56可选择k=3,等等。
然后,指纹计算器可根据散列选择准则而选择标记。当缩小时,指纹计算器56可使用已在步骤404(图7)中确定的标记,或可从文本块38计算新标记。在图10所说明的实例中,在步骤424中,指纹计算器56确定文本块38的聚合标记集合。在一些实施例中,通过级联连续个别标记而确定聚合标记(在图9中被说明为项目60d)。用于形成聚合标记的标记的计数可根据缩小因数而变化。
在步骤426中,针对每一聚合标记而计算散列(例如,使用上文所描述的方法)。在步骤428中,计算器56根据散列选择准则而选择聚合标记子集。在一些实施例中,针对缩小因数k,所述选择准则要求针对所选择的子集的成员所确定的全部散列等于模数k。例如,为了确定2倍缩小指纹,计算器56可仅考虑聚合标记,其散列等于模数2(即,仅奇散列,或仅偶散列)。在一些实施例中,散列选择准则包括仅选择其散列能被缩小因数k整除的标记。
在步骤430中,指纹计算器56可检查步骤428中选择的标记的计数是否在所要指纹长度范围内。如果所述计数不在所要指纹长度范围内,那么计算器56可返回到步骤422且以另一缩小因数k重新开始。当所选择的标记的计数在范围内时,在步骤432中,计算器56根据所选择的标记的每一散列而确定指纹片段。在步骤434中,组合此类片段以产生指纹42。图9说明针对文本块38所确定的一些缩小指纹42d到h。表2展示针对图9中的同一文本块38所确定的示范性指纹片段(在各种缩小因数下)。
表2
图11展示根据本发明的一些实施例的在安全服务器(也参见图1)上执行的示范性组件。安全服务器14包括文档分类器72,其连接到通信管理器74及指纹数据库70。通信管理器74管理与客户端系统16a到c进行的垃圾邮件/诈骗检测事务,如上文关于图4-A到B所展示。在一些实施例中,文档分类器72经配置以经由通信管理器74而接收目标指示符40,且确定指示目标文档36的分类的目标标签50。
在一些实施例中,分类目标文档36包括根据针对文档36所确定的文本指纹与参考指纹集合之间的比较而将文档36指派到文档类别,每一参考指纹指示文档类别。例如,分类文档36可包含确定文档36是否为垃圾邮件及/或诈骗性,及确定文档36属于垃圾邮件/诈骗的子类别(例如,产品提供、网络钓鱼或尼日利亚诈骗)。为了分类文档36,文档分类器72可结合指纹比较而使用所属领域中所知的任何方法。此类方法包含黑及白名单、图案匹配算法等等。例如,文档分类器72可计算多个个别得分,其中每一得分指示到特定文档类别(例如,垃圾邮件)的文档36的成员,每一得分是通过相异分类方法(例如,指纹比较、黑名单等等)而确定。分类器72可随后根据被确定为个别得分的复合得分而确定文档36的分类。
文档分类器72可进一步包括指纹比较器78(如图12中所展示),其经配置以通过比较目标文档的指纹与存储在数据库70中的参考指纹集合而分类目标文档36。在一些实施例中,指纹数据库70包括针对参考文档集合所确定的文本指纹的存储库(例如,电子邮件消息、网页及网站评论等等)。数据库70可包括垃圾邮件/诈骗的指纹,但也包括合法文档的指纹。针对每一参考指纹,数据库70可存储相应指纹与文档类别(例如,垃圾邮件)之间的关联的指示符。
在一些实施例中,数据库70中的参考指纹子集中的所有指纹具有在预定范围(例如,在129与256个字符之间)内的长度。此外,所述范围与由指纹计算器56(图6)针对目标文档所确定的目标指纹的长度范围相一致。此类配置(其中所有参考指纹具有大致相同的大小,且其中参考指纹所具有的长度大致等于目标指纹的长度)可促进用于文档分类目的的目标指纹与参考指纹之间的比较。
针对每一参考指纹,数据库70的一些实施例可存储文本块的长度的指示符,针对所述文本块的长度而确定相应指纹。此类指示符的实例包含相应文本块的串长度、确定相应指纹时使用的片段长度,及放大/缩小因数等等。存储具有每一指纹的文本块长度的指示符可促进文档比较,这是通过使指纹比较器78能够选择性地检索表示在长度上与产生目标指纹42的文本块类似的文本块的参考指纹而实现。
为了分类目标文档36,分类器72可接收目标指示符40,从指示符40提取目标指纹42且将指纹42转送到指纹比较器78。比较器78可与数据库70进行接口连接,以选择性地检索用于与目标指纹42比较的参考指纹82。在一些实施例中,指纹比较器78可优选地检索针对具有与目标文本块的长度类似的长度的文本块所计算的参考指纹。
文档分类器72根据目标指纹42与从数据库70检索的参考指纹的比较而进一步确定目标文档42的分类。一些实施例中,所述比较包含计算指示指纹42与82的类似度的类似性得分。例如,此类似性得分可被确定为:
其中fT及fR分别表示目标指纹及参考指纹,d(fT,fR)表示两个指纹之间的编辑距离(例如,莱文斯坦(Levenshtein)距离),且其中|fT|及|fR|分别表示目标指纹及参考指纹的长度。得分S可取0与1之间的任何值,接近1的值指示两个指纹之间的高类似度。在示范性实施例中,当得分S超过预定阈值T(例如,0.9)时,目标指纹42据称匹配于参考指纹82。当目标指纹42匹配于来自数据库70的至少一个参考指纹时,文档分类器72可根据相应参考指纹的文档类别指示符而分类目标文档,且可制定目标标签50以反映所述分类。例如,当目标指纹42匹配于针对垃圾邮件消息所确定的参考指纹时,目标文档36可被分类为垃圾邮件,且目标标签50可指示垃圾邮件分类。
上文所描述的示范性系统及方法允许电子消息传递系统(例如,电子邮件及用户贡献网站)中的未经请求的通信(垃圾邮件)的检测,以及诈骗性电子文档(例如,网络钓鱼网站)的检测。在一些实施例中,针对每一目标文档而计算文本指纹,所述指纹包括根据相应文档的多个文本标记而确定的字符序列。所述指纹随后与针对文档集合所确定的参考指纹(包含垃圾邮件/诈骗性及合法文档)比较。当目标指纹与针对垃圾邮件/诈骗性消息所确定的参考指纹相匹配时,目标通信可被加标签为垃圾邮件/诈骗。
当将目标通信肯定地识别为垃圾邮件/诈骗时,反垃圾邮件/反诈骗系统的组件可修改相应文档的显示。例如,一些实施例可阻止相应文档的显示(例如,不允许在网站上显示垃圾邮件评论),可在单独的位置(例如,垃圾电子邮件文件夹、单独的浏览器窗口)中显示相应文档,及/或可显示警报。
在一些实施例中,文本标记可包含目标文本的个别字或字序列,以及电子邮件地址及/或网络地址(例如,包含于目标文档的文本部分中的统一资源定位符(URL))。本发明的一些实施例识别在目标文档内的多个此类文本标记。针对每一标记而计算散列,且根据相应散列而确定指纹片段。在一些实施例中,指纹片段随后通过(例如)级联而组合以产生相应文档的文本指纹。
一些电子文档(例如,电子邮件消息)可在长度上有很大变化。在一些常规反垃圾邮件/反诈骗系统中,针对此类文档所确定的指纹的长度相应地变化。相比之下,在本发明的一些实施例中,文本指纹的长度约束在预定长度范围(例如,在129与256个字符之间)内,而不管目标文本块或文档的长度如何。使所有文本指纹在预定长度界限内可实质上改善消息间比较的效率。
为了确定预定长度范围内的指纹,本发明的一些实施例使用放大及缩小方法。当文本块相对短时,通过调整指纹片段的长度而获得放大以产生所要长度的指纹。在示范性实施例中,30位散列的每6个位可转换成一字符(使用(例如)Base64表示),因此,相应散列可产生长度在1与5个字符之间的指纹片段。
针对相对长的文本块,本发明的一些实施例通过从标记子集计算指纹而实现缩小,所述子集是根据散列选择准则而选择。示范性散列选择准则包括仅选择其散列能被整数k(例如,2、3或6)整除的标记。针对给定实例,此类选择引起分别从可用标记的约1/2、1/3或1/6计算指纹。在一些实施例中,缩小可进一步包括将此类标记选择应用于多个聚合标记,其中每一聚合标记包括若干标记的级联(例如,相应电子文档的字序列)。
各种散列函数可用于指纹片段的确定。在计算机实验中,将所属领域中所知的各种散列函数应用于从呈各种语言的电子邮件消息提取的122,000个字的集合,其目的是确定散列冲突(相异字产生相同散列)的数目,所述散列冲突为每一散列函数产生实际垃圾邮件。表3中说明的结果展示所属领域中称为RSHash的散列函数产生所有所测试的散列函数的最少冲突。
表3
散列函数 | 32位散列冲突 | 30位散列冲突 |
RSHash | 0 | 4 |
BKDRHash | 1 | 6 |
SDBMHash | 2 | 7 |
OneAtATimeHash | 2 | 6 |
APHash | 4 | 6 |
FNVHash | 7 | 10 |
FNV1aHash | 7 | 10 |
JSHash | 266 | 277 |
DJBHash | 266 | 268 |
DEKHash | 435 | 720 |
PJWHash | 1687 | 1687 |
ELFHash | 1687 | 1687 |
BPHash | 61907 | 70909 |
在另一计算机实验中,使用本发明的一些实施例来分析电子邮件消息集合(由企业服务器在一周期间接收的电子邮件的总量组成,且包括垃圾邮件及合法消息两者)。为了确定长度在129与256个字符之间的文本指纹,20.8%的消息要求无缩放,18.5%的消息要求2倍缩小,8.1%的消息要求3倍缩小,且8.7%的消息要求6倍缩小。在相同消息集合之中,14.8%的消息要求2倍放大,9.7%的消息要求4倍放大,且11.7%的消息要求8倍放大。以上结果表明在129到256个字符之间的指纹长度对于检测电子邮件垃圾邮件可为最佳的,这是因为根据放大及/或缩小因数而将实际电子邮件流分成群组的上述分割产生相对均匀填入的群组;此类情况针对指纹比较是有利的,这是因为可在大致相同的时间搜索所有群组。
在另一计算机实验中,由遍及15小时而收集的大约865,000个消息组成的连续垃圾邮件流被分成消息集合,每一集合由在相异的10分钟间隔期间接收的消息组成。使用根据本发明的一些实施例而构造的文档分类器来分析每一消息集合(例如,参见图11到12)。针对每一消息集合,指纹数据库70由针对属于较早时间间隔的垃圾邮件消息所确定的指纹组成。图13中展示使用方程式[1]及阈值T=0.75而获得的垃圾邮件检测率(实线),其与使用常规垃圾邮件检测方法(在所属领域中称为模糊散列)对相同消息集合而获得的垃圾邮件检测率(虚线)相比较。
所属领域的技术人员将清楚,在不脱离本发明的范围的情况下,可以多种方式更改以上实施例。因此,本发明的范围应由所附权利要求书及其合法等效物确定。
Claims (24)
1.一种客户端计算机系统,其包括至少一个处理器,所述至少一个处理器经配置以确定目标电子文档的文本指纹,使得所述文本指纹的长度约束在下限与上限之间,其中所述下限及上限为预定的,且其中确定所述文本指纹包括:
选择所述目标电子文档的多个文本标记;
响应于选择所述多个文本标记,根据所述上限及下限且根据所述所选择的多个文本标记的计数而确定指纹片段大小;
确定多个指纹片段,所述多个指纹片段中的每一指纹片段是根据所述所选择的多个文本标记中的相异文本标记的散列而确定,每一指纹片段由字符序列组成,所述序列的长度经选择为等于所述指纹片段大小;及
级联所述多个指纹片段以形成所述文本指纹。
2.根据权利要求1所述的客户端计算机系统,其中所述至少一个处理器经进一步配置以:
将所述文本指纹发送到服务器计算机系统;及
从所述服务器计算机系统接收针对所述目标电子文档所确定的目标标签,所述目标标签指示所述目标电子文档所属的文档类别,其中确定所述目标标签包括:
从参考指纹的数据库检索参考指纹,所述参考指纹是针对属于所述类别的参考电子文档而确定,所述参考指纹是根据所述参考指纹的长度而选择,使得所述参考指纹的所述长度在所述上限与下限之间;及
根据比较所述文本指纹与所述参考指纹的结果而确定所述目标电子文档是否属于所述类别。
3.根据权利要求2所述的客户端计算机系统,其中所述文档类别为垃圾邮件类别。
4.根据权利要求2所述的客户端计算机系统,其中所述文档类别为诈骗性文档类别。
5.根据权利要求1所述的客户端计算机系统,其中确定所述文本指纹进一步包括:根据所述相异文本标记的所述散列的位的相异群组而确定所述字符序列中的每一字符。
6.根据权利要求1所述的客户端计算机系统,其中选择所述多个文本标记包括:
选择所述目标电子文档的初步多个文本标记;
确定所述初步多个文本标记的计数;及
作为响应,当所述初步多个文本标记的所述计数超过预定阈值时,修剪所述初步多个文本标记以形成所述所选择的多个文本标记,使得所述所选择的多个标记的所述计数不超过所述预定阈值。
7.根据权利要求6所述的客户端计算机系统,其中修剪所述初步多个文本标记包括:根据所述初步多个文本标记中的目标文本标记的散列而将所述目标文本标记选择为所述所选择的多个文本标记。
8.根据权利要求6所述的客户端计算机系统,其中修剪所述初步多个文本标记进一步包括:
确定所述目标文本标记的所述散列是否能被缩小因数整除;及
作为响应,当所述目标文本标记能被所述缩小因数整除时,将所述目标文本标记选择为所述所选择的多个文本标记。
9.根据权利要求1所述的客户端计算机系统,其中选择所述多个文本标记包括:
选择所述目标电子文档的初步多个文本标记;
确定所述初步多个文本标记的计数;及
作为响应,当所述初步多个文本标记的所述计数超过预定阈值时,
确定多个聚合文本标记,所述多个聚合文本标记中的每一聚合文本标记包括所述初步多个文本标记的文本标记集合的级联;及
根据所述聚合文本标记的散列而将所述多个聚合标记中的聚合标记选择为所述所选择的多个文本标记。
10.根据权利要求1所述的客户端计算机系统,其中所述目标电子文档是选自由电子邮件消息及超文本标记语言HTML文档组成的群组。
11.根据权利要求1所述的客户端计算机系统,其中所述相异文本标记包括选自由目标电子通信的字、电子邮件地址及统一资源定位符URL组成的群组的项目。
12.一种服务器计算机系统,其包括至少一个处理器,所述至少一个处理器经配置以执行与多个客户端系统进行的事务,其中事务包括:
从所述多个客户端系统中的客户端系统接收文本指纹,所述文本指纹是针对目标电子文档而确定,使得所述文本指纹的长度约束在下限与上限之间,其中所述下限及上限为预定的;及
向所述客户端系统发送指示所述目标电子文档所属的文档类别的目标标签,
其中确定所述文本指纹包括:
选择所述目标电子文档的多个文本标记;
响应于选择所述多个文本标记,根据所述上限及下限且根据所述所选择的多个文本标记的计数而确定指纹片段大小;
确定多个指纹片段,所述多个指纹片段中的每一指纹片段是根据所述所选择的多个文本标记中的相异文本标记的散列而确定,每一指纹片段由字符序列组成,所述序列的长度经选择为等于所述指纹片段大小;及
级联所述多个指纹片段以形成所述文本指纹,
且其中确定所述目标标签包括:
从参考指纹的数据库检索参考指纹,所述参考指纹是针对属于所述类别的参考电子文档而确定,所述参考指纹是根据所述参考指纹的长度而选择,使得所述参考指纹的所述长度在所述上限与下限之间;及
根据比较所述文本指纹与所述参考指纹的结果而确定所述目标电子文档是否属于所述类别。
13.根据权利要求12所述的服务器计算机系统,其中所述文档类别为垃圾邮件类别。
14.根据权利要求12所述的服务器计算机系统,其中所述文档类别为诈骗性文档类别。
15.根据权利要求12所述的服务器计算机系统,其中确定所述文本指纹进一步包括:根据所述相异文本标记的所述散列的位的相异群组而确定所述字符序列中的每一字符。
16.根据权利要求12所述的服务器计算机系统,其中选择所述多个文本标记包括:
选择所述目标电子文档的初步多个文本标记;
确定所述初步多个文本标记的计数;及
作为响应,当所述初步多个文本标记的所述计数超过预定阈值时,修剪所述初步多个文本标记以形成所述所选择的多个文本标记,使得所述所选择的多个标记的所述计数不超过所述预定阈值。
17.根据权利要求16所述的服务器计算机系统,其中修剪所述初步多个文本标记包括:根据所述初步多个文本标记中的目标文本标记的散列而将所述目标文本标记选择为所述所选择的多个文本标记。
18.根据权利要求17所述的服务器计算机系统,其中修剪所述初步多个文本标记进一步包括:
确定所述目标文本标记的所述散列是否能被缩小因数整除;及
作为响应,当所述目标文本标记能被所述缩小因数整除时,将所述目标文本标记选择为所述所选择的多个文本标记。
19.根据权利要求12所述的服务器计算机系统,其中选择所述多个文本标记包括:
选择所述目标电子文档的初步多个文本标记;
确定所述初步多个文本标记的计数;及
作为响应,当所述初步多个文本标记的所述计数超过预定阈值时,
确定多个聚合文本标记,所述多个聚合文本标记中的每一聚合文本标记包括所述初步多个文本标记的文本标记集合的级联;及
根据所述聚合文本标记的散列而将所述多个聚合标记中的聚合标记选择为所述所选择的多个文本标记。
20.根据权利要求12所述的服务器计算机系统,其中所述目标电子文档是选自由电子邮件消息及超文本标记语言HTML文档组成的群组。
21.根据权利要求12所述的服务器计算机系统,其中所述相异文本标记包括选自由目标电子通信的字、电子邮件地址及统一资源定位符URL组成的群组的项目。
22.一种方法,其包括使用客户端计算机系统的至少一个处理器以确定目标电子文档的文本指纹,使得所述文本指纹的长度约束在下限与上限之间,其中所述下限及上限为预定的,且其中确定所述文本指纹包括:
选择所述目标电子文档的多个文本标记;
响应于选择所述多个文本标记,根据所述上限及下限且根据所述所选择的多个文本标记的计数而确定指纹片段大小;
确定多个指纹片段,所述多个指纹片段中的每一指纹片段是根据所述所选择的多个文本标记中的相异文本标记的散列而确定,每一指纹片段由字符序列组成,所述序列的长度经选择为等于所述指纹片段大小;及
级联所述多个指纹片段以形成所述文本指纹。
23.根据权利要求22所述的方法,其进一步包括使用所述至少一个处理器以根据所述文本指纹而确定所述目标电子文档所属的文档类别。
24.一种方法,其包括使用经配置以执行与多个客户端系统进行的事务的服务器计算机系统的至少一个处理器以:
从所述多个客户端系统中的客户端系统接收文本指纹,所述文本指纹是针对目标电子文档而确定,使得所述文本指纹的长度约束在下限与上限之间,其中所述下限及上限为预定的;及
向所述客户端系统发送针对所述目标电子文档所确定的目标标签,所述目标标签指示所述目标电子文档所属的文档类别,
其中确定所述文本指纹包括:
选择所述目标电子文档的多个文本标记;
响应于选择所述多个文本标记,根据所述上限及下限且根据所述所选择的多个文本标记的计数而确定指纹片段大小;
确定多个指纹片段,所述多个指纹片段中的每一指纹片段是根据所述所选择的多个文本标记中的相异文本标记的散列而确定,每一指纹片段由字符序列组成,所述序列的长度经选择为等于所述指纹片段大小;及
级联所述多个指纹片段以形成所述文本指纹,
且其中确定所述目标标签包括:
从参考指纹的数据库检索参考指纹,所述参考指纹是针对属于所述类别的参考电子文档而确定,所述参考指纹是根据所述参考指纹的长度而选择,使得所述参考指纹的所述长度在所述上限与下限之间;及
根据比较所述文本指纹与所述参考指纹的结果而确定所述目标电子文档是否属于所述类别。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/790,636 US8935783B2 (en) | 2013-03-08 | 2013-03-08 | Document classification using multiscale text fingerprints |
US13/790,636 | 2013-03-08 | ||
PCT/RO2014/000007 WO2014137233A1 (en) | 2013-03-08 | 2014-02-04 | Document classification using multiscale text fingerprints |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104982011A true CN104982011A (zh) | 2015-10-14 |
CN104982011B CN104982011B (zh) | 2018-12-14 |
Family
ID=50389477
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201480007764.1A Active CN104982011B (zh) | 2013-03-08 | 2014-02-04 | 使用多尺度文本指纹的文档分类 |
Country Status (12)
Country | Link |
---|---|
US (2) | US8935783B2 (zh) |
EP (1) | EP2965472B1 (zh) |
JP (1) | JP6220407B2 (zh) |
KR (1) | KR101863172B1 (zh) |
CN (1) | CN104982011B (zh) |
AU (1) | AU2014226654B2 (zh) |
CA (1) | CA2898086C (zh) |
HK (1) | HK1213705A1 (zh) |
IL (1) | IL239856B (zh) |
RU (1) | RU2632408C2 (zh) |
SG (1) | SG11201506452XA (zh) |
WO (1) | WO2014137233A1 (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106878347A (zh) * | 2017-04-28 | 2017-06-20 | 北京奇虎科技有限公司 | 信息处理方法、系统、移动终端和服务器 |
CN107294834A (zh) * | 2016-03-31 | 2017-10-24 | 阿里巴巴集团控股有限公司 | 一种识别垃圾邮件的方法和装置 |
CN108399333A (zh) * | 2017-02-08 | 2018-08-14 | 卡巴斯基实验室股份制公司 | 用于执行网页的防病毒扫描的系统和方法 |
CN109740347A (zh) * | 2018-11-23 | 2019-05-10 | 中国科学院信息工程研究所 | 一种针对智能设备固件的脆弱哈希函数的识别与破解方法 |
WO2021121279A1 (en) * | 2019-12-19 | 2021-06-24 | Beijing Didi Infinity Technology And Development Co., Ltd. | Text document categorization using rules and document fingerprints |
TWI802040B (zh) * | 2021-10-08 | 2023-05-11 | 精品科技股份有限公司 | 基於檔案屬性特徵之應用程式控管方法 |
CN118965343A (zh) * | 2024-10-12 | 2024-11-15 | 广州非凡信息安全技术有限公司 | 基于rag框架的网络资产威胁信息生成方法 |
Families Citing this family (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9537814B2 (en) * | 2012-12-14 | 2017-01-03 | Facebook, Inc. | Spam detection and prevention in a social networking system |
JP5916666B2 (ja) * | 2013-07-17 | 2016-05-11 | インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation | テキストによる視覚表現を含む文書を分析する装置、方法およびプログラム |
US10579396B2 (en) * | 2014-04-09 | 2020-03-03 | Nice-Systems Ltd. | System and automated method for configuring a predictive model and deploying it on a target platform |
US10078750B1 (en) * | 2014-06-13 | 2018-09-18 | Trend Micro Incorporated | Methods and systems for finding compromised social networking accounts |
US9514312B1 (en) * | 2014-09-05 | 2016-12-06 | Symantec Corporation | Low-memory footprint fingerprinting and indexing for efficiently measuring document similarity and containment |
US10146752B2 (en) | 2014-12-31 | 2018-12-04 | Quantum Metric, LLC | Accurate and efficient recording of user experience, GUI changes and user interaction events on a remote web document |
US10284371B2 (en) | 2015-05-19 | 2019-05-07 | Workday, Inc. | Brute force attack prevention system |
US9787696B2 (en) * | 2015-05-19 | 2017-10-10 | Workday, Inc. | Brute force attack prevention system |
ES2900999T3 (es) | 2015-07-16 | 2022-03-21 | Quantum Metric Inc | Captura de documentos utilizando codificación delta basada en el cliente con un servidor |
US10482119B2 (en) | 2015-09-14 | 2019-11-19 | Conduent Business Services, Llc | System and method for classification of microblog posts based on identification of topics |
CN106709777A (zh) | 2015-11-18 | 2017-05-24 | 阿里巴巴集团控股有限公司 | 一种订单聚类方法及装置,以及反恶意信息的方法及装置 |
KR101740648B1 (ko) * | 2016-06-21 | 2017-06-08 | 주식회사 북이오 | 전자책 내 일부 콘텐츠에 대한 주소데이터를 생성하는 시스템 및 방법 |
US20180012139A1 (en) * | 2016-07-06 | 2018-01-11 | Facebook, Inc. | Systems and methods for intent classification of messages in social networking systems |
US20180121830A1 (en) * | 2016-11-02 | 2018-05-03 | Facebook, Inc. | Systems and methods for classification of comments for pages in social networking systems |
US10372784B2 (en) * | 2017-02-08 | 2019-08-06 | Documensions, Inc. | Generating rich digital documents from limited instructional data |
US10708297B2 (en) | 2017-08-25 | 2020-07-07 | Ecrime Management Strategies, Inc. | Security system for detection and mitigation of malicious communications |
KR102403330B1 (ko) * | 2017-11-15 | 2022-05-30 | 주식회사 세진마인드 | 텍스트 데이터를 표현하는 가상 핑거프린트를 생성 및 활용하기 위한 기법 |
RU2692043C2 (ru) * | 2017-12-18 | 2019-06-19 | Федеральное государственное казенное военное образовательное учреждение высшего образования "Краснодарское высшее военное училище имени генерала армии С.М. Штеменко" Министерство обороны Российской Федерации | Способ автоматической классификации формализованных текстовых документов и авторизованных пользователей системы электронного документооборота |
US11468272B2 (en) | 2019-08-15 | 2022-10-11 | Visa International Service Association | Method, system, and computer program product for detecting fraudulent interactions |
US11671448B2 (en) | 2019-12-27 | 2023-06-06 | Paypal, Inc. | Phishing detection using uniform resource locators |
US12021894B2 (en) * | 2019-12-27 | 2024-06-25 | Paypal, Inc. | Phishing detection based on modeling of web page content |
US11651093B1 (en) * | 2022-02-24 | 2023-05-16 | LendingClub Bank, National Association | Automated fraudulent document detection |
US20240171609A1 (en) * | 2022-11-21 | 2024-05-23 | Microsoft Technology Licensing, Llc | Generating a content signature of a textual communication using optical character recognition and text processing |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6772196B1 (en) * | 2000-07-27 | 2004-08-03 | Propel Software Corp. | Electronic mail filtering system and methods |
CN1922837A (zh) * | 2004-05-14 | 2007-02-28 | 布赖特梅有限公司 | 基于相似性量度过滤垃圾邮件的方法和装置 |
US8001195B1 (en) * | 2008-08-26 | 2011-08-16 | Kaspersky Lab, Zao | Spam identification using an algorithm based on histograms and lexical vectors (one-pass algorithm) |
CN102685200A (zh) * | 2011-02-17 | 2012-09-19 | 微软公司 | 使用模板生成和指纹比较特征管理不想要的通信 |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6460050B1 (en) * | 1999-12-22 | 2002-10-01 | Mark Raymond Pace | Distributed content identification system |
US20040073617A1 (en) | 2000-06-19 | 2004-04-15 | Milliken Walter Clark | Hash-based systems and methods for detecting and preventing transmission of unwanted e-mail |
US20050132197A1 (en) * | 2003-05-15 | 2005-06-16 | Art Medlar | Method and apparatus for a character-based comparison of documents |
US20050060643A1 (en) | 2003-08-25 | 2005-03-17 | Miavia, Inc. | Document similarity detection and classification system |
US7392262B1 (en) * | 2004-02-11 | 2008-06-24 | Aol Llc | Reliability of duplicate document detection algorithms |
US7660865B2 (en) * | 2004-08-12 | 2010-02-09 | Microsoft Corporation | Spam filtering with probabilistic secure hashes |
US7730316B1 (en) | 2006-09-22 | 2010-06-01 | Fatlens, Inc. | Method for document fingerprinting |
US8037145B2 (en) | 2007-09-30 | 2011-10-11 | Symantec Operating Corporation | System and method for detecting email content containment |
US8364766B2 (en) * | 2008-12-04 | 2013-01-29 | Yahoo! Inc. | Spam filtering based on statistics and token frequency modeling |
RU85247U1 (ru) * | 2008-12-26 | 2009-07-27 | ЗАО "Лаборатория Касперского" | Идентификация спама с помощью лексических векторов (варианты) |
JP4831787B2 (ja) * | 2009-02-09 | 2011-12-07 | 日本電信電話株式会社 | 引用検出装置、そのプログラム及び記録媒体 |
US8244767B2 (en) | 2009-10-09 | 2012-08-14 | Stratify, Inc. | Composite locality sensitive hash based processing of documents |
US8353037B2 (en) | 2009-12-03 | 2013-01-08 | International Business Machines Corporation | Mitigating malicious file propagation with progressive identifiers |
US9129007B2 (en) | 2010-11-10 | 2015-09-08 | Microsoft Technology Licensing, Llc | Indexing and querying hash sequence matrices |
-
2013
- 2013-03-08 US US13/790,636 patent/US8935783B2/en active Active
-
2014
- 2014-02-04 CA CA2898086A patent/CA2898086C/en active Active
- 2014-02-04 WO PCT/RO2014/000007 patent/WO2014137233A1/en active Application Filing
- 2014-02-04 KR KR1020157021144A patent/KR101863172B1/ko active Active
- 2014-02-04 EP EP14713275.7A patent/EP2965472B1/en active Active
- 2014-02-04 SG SG11201506452XA patent/SG11201506452XA/en unknown
- 2014-02-04 RU RU2015142105A patent/RU2632408C2/ru active
- 2014-02-04 JP JP2015561303A patent/JP6220407B2/ja active Active
- 2014-02-04 AU AU2014226654A patent/AU2014226654B2/en active Active
- 2014-02-04 CN CN201480007764.1A patent/CN104982011B/zh active Active
- 2014-12-02 US US14/558,079 patent/US9203852B2/en active Active
-
2015
- 2015-07-09 IL IL239856A patent/IL239856B/en active IP Right Grant
-
2016
- 2016-02-05 HK HK16101454.9A patent/HK1213705A1/zh unknown
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6772196B1 (en) * | 2000-07-27 | 2004-08-03 | Propel Software Corp. | Electronic mail filtering system and methods |
CN1922837A (zh) * | 2004-05-14 | 2007-02-28 | 布赖特梅有限公司 | 基于相似性量度过滤垃圾邮件的方法和装置 |
US8001195B1 (en) * | 2008-08-26 | 2011-08-16 | Kaspersky Lab, Zao | Spam identification using an algorithm based on histograms and lexical vectors (one-pass algorithm) |
CN102685200A (zh) * | 2011-02-17 | 2012-09-19 | 微软公司 | 使用模板生成和指纹比较特征管理不想要的通信 |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107294834A (zh) * | 2016-03-31 | 2017-10-24 | 阿里巴巴集团控股有限公司 | 一种识别垃圾邮件的方法和装置 |
CN108399333A (zh) * | 2017-02-08 | 2018-08-14 | 卡巴斯基实验室股份制公司 | 用于执行网页的防病毒扫描的系统和方法 |
CN108399333B (zh) * | 2017-02-08 | 2022-01-04 | 卡巴斯基实验室股份制公司 | 用于执行网页的防病毒扫描的系统和方法 |
CN106878347A (zh) * | 2017-04-28 | 2017-06-20 | 北京奇虎科技有限公司 | 信息处理方法、系统、移动终端和服务器 |
CN109740347A (zh) * | 2018-11-23 | 2019-05-10 | 中国科学院信息工程研究所 | 一种针对智能设备固件的脆弱哈希函数的识别与破解方法 |
CN109740347B (zh) * | 2018-11-23 | 2020-07-10 | 中国科学院信息工程研究所 | 一种针对智能设备固件的脆弱哈希函数的识别与破解方法 |
WO2021121279A1 (en) * | 2019-12-19 | 2021-06-24 | Beijing Didi Infinity Technology And Development Co., Ltd. | Text document categorization using rules and document fingerprints |
US11557141B2 (en) | 2019-12-19 | 2023-01-17 | Beijing Didi Infinity Technology And Development Co., Ltd. | Text document categorization using rules and document fingerprints |
TWI802040B (zh) * | 2021-10-08 | 2023-05-11 | 精品科技股份有限公司 | 基於檔案屬性特徵之應用程式控管方法 |
CN118965343A (zh) * | 2024-10-12 | 2024-11-15 | 广州非凡信息安全技术有限公司 | 基于rag框架的网络资产威胁信息生成方法 |
CN118965343B (zh) * | 2024-10-12 | 2025-02-28 | 广州非凡信息安全技术有限公司 | 基于rag框架的网络资产威胁信息生成方法 |
Also Published As
Publication number | Publication date |
---|---|
RU2015142105A (ru) | 2017-04-11 |
IL239856B (en) | 2018-12-31 |
CN104982011B (zh) | 2018-12-14 |
US9203852B2 (en) | 2015-12-01 |
CA2898086A1 (en) | 2014-09-12 |
AU2014226654A1 (en) | 2015-08-20 |
US20150089644A1 (en) | 2015-03-26 |
JP6220407B2 (ja) | 2017-10-25 |
SG11201506452XA (en) | 2015-09-29 |
HK1213705A1 (zh) | 2016-07-08 |
IL239856A0 (en) | 2015-08-31 |
KR101863172B1 (ko) | 2018-05-31 |
JP2016517064A (ja) | 2016-06-09 |
WO2014137233A1 (en) | 2014-09-12 |
US20140259157A1 (en) | 2014-09-11 |
EP2965472A1 (en) | 2016-01-13 |
AU2014226654B2 (en) | 2017-04-27 |
RU2632408C2 (ru) | 2017-10-04 |
EP2965472B1 (en) | 2019-08-21 |
KR20150128662A (ko) | 2015-11-18 |
US8935783B2 (en) | 2015-01-13 |
CA2898086C (en) | 2018-06-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104982011A (zh) | 使用多尺度文本指纹的文档分类 | |
US11677783B2 (en) | Analysis of potentially malicious emails | |
US11095586B2 (en) | Detection of spam messages | |
Fette et al. | Learning to detect phishing emails | |
CN104217160B (zh) | 一种中文钓鱼网站检测方法及系统 | |
CN104067567B (zh) | 用于使用字符直方图进行垃圾邮件检测的系统和方法 | |
Gansterer et al. | E-mail classification for phishing defense | |
CN104040963B (zh) | 用于使用字符串的频谱进行垃圾邮件检测的系统和方法 | |
US20090157675A1 (en) | Method and System for Processing Fraud Notifications | |
CN108259415A (zh) | 一种邮件检测的方法及装置 | |
Sethi et al. | Spam email detection using machine learning and neural networks | |
Das et al. | Analysis of an image spam in email based on content analysis | |
Saka et al. | Context-based clustering to mitigate phishing attacks | |
Shyni et al. | A multi-classifier based prediction model for phishing emails detection using topic modelling, named entity recognition and image processing | |
Nivedha et al. | Detection of email spam using Natural Language Processing based Random Forest approach | |
Tseng et al. | Cosdes: A collaborative spam detection system with a novel e-mail abstraction scheme | |
EP3837625A1 (en) | Fuzzy inclusion based impersonation detection | |
Shajahan et al. | Hybrid learning approach for e-mail spam detection and classification | |
Choi et al. | Discovering message templates on large scale Bitcoin abuse reports using a two-fold NLP-based clustering method | |
Park et al. | An advanced algorithm for email classification by using SMTP code | |
Barbar et al. | Image spam detection using FENOMAA technique | |
Nagaroor et al. | Mitigating spam emails menace using hybrid spam filtering approach | |
Rayan et al. | Detection of Email Spam using Natural Language Processing Based Random Forest Approach | |
Smirnov | Clustering and classification methods for spam analysis | |
Saini et al. | Quantification of Multimillion Offers in ‘Next-of-Kin’Unsolicited Bulk Emails |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 1213705 Country of ref document: HK |
|
GR01 | Patent grant | ||
GR01 | Patent grant |