CN113692724B - 通信数据中的敏感数据检测 - Google Patents
通信数据中的敏感数据检测 Download PDFInfo
- Publication number
- CN113692724B CN113692724B CN202080028490.XA CN202080028490A CN113692724B CN 113692724 B CN113692724 B CN 113692724B CN 202080028490 A CN202080028490 A CN 202080028490A CN 113692724 B CN113692724 B CN 113692724B
- Authority
- CN
- China
- Prior art keywords
- data
- character
- characters
- vector
- computer
- 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.)
- Active
Links
Images
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
- H04L63/1425—Traffic logging, e.g. anomaly detection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2228—Indexing structures
- G06F16/2237—Vectors, bitmaps or matrices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2282—Tablespace storage structures; Management thereof
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
- G06F21/6245—Protecting personal data, e.g. for financial or medical purposes
- G06F21/6263—Protecting personal data, e.g. for financial or medical purposes during internet communication, e.g. revealing personal data from cookies
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- 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
- H04L63/1416—Event detection, e.g. attack signature detection
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Computer Security & Cryptography (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Bioethics (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Artificial Intelligence (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Computation (AREA)
- Mathematical Physics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Information Transfer Between Computers (AREA)
Abstract
所描述的技术利用经训练的评估函数来分析电子邮件消息以确定密码是否被包括在电子邮件消息的文本中。电子邮件消息的文本可以使用包括针对每个ASCII字符的向量值的字符查找表而被向量化。经训练的评估函数分析向量化文本以确定密码是否被包括在邮件消息的文本中。被发现包括密码的电子邮件消息可以被放置在隔离存储装置中以至少暂时防止电子邮件消息被传播给接收者。
Description
技术领域
本公开的示例实施例总体涉及计算机领域。
背景技术
通过互联网和其他网络的通信和信息共享在当前的商业和社交互动中变得不可或缺。自从互联网出现和使用其他网络以来,电子消息传递(诸如电子邮件)的普及已经发展到现在被广泛用于个人和商业通信的地步。与电子邮件类似的其他类型的电子消息也被用于当前的商业和社交互动中。这种电子消息类型包括被用来与移动设备的用户进行通信的文本消息、在聊天通信会话中使用的即时消息传递等。电子消息可以被用来共享敏感数据。例如,用户可以使用电子邮件来共享凭证(诸如密码),从而能够访问受保护的电子邮件账户、操作系统、文件目录等。
电子消息技术很容易被试图访问受密码保护的账户和其他服务中包含的信息的不良行为者破坏。例如,黑客可以通过嵌入网络威胁(诸如病毒、蠕虫或其他恶意代码)来破坏网络,这些威胁对通过网络传送的电子消息执行未经授权的窥探。网络威胁可能会拦截电子消息并将电子消息的副本提供给未经授权的接收者,诸如黑客或其他罪犯。包含在被截获的消息中的被包括的敏感数据(诸如密码和其他凭证)可以被用来未经授权地访问有价值的商业记录,诸如商业秘密和财务信息、电子邮件账户、电子文件存储库和其他受保护资产。
仍然存在着对减少使用电子消息传递技术的用户共享的敏感内容的技术需求。
发明内容
本文所描述的技术通过针对敏感数据的分析电子消息传递技术来解决提供优于现有系统和技术的改进的安全特征的技术需要。例如,所描述的技术中的至少一些分析电子邮件消息中的敏感数据,诸如密码。所描述的技术利用经训练的评估函数来分析电子邮件消息以确定密码是否被包括在电子邮件消息的文本中。被发现包括密码的电子邮件消息可以被放置在隔离存储装置中,以防止电子邮件消息被传播给接收者。此外,可以生成用户界面(UI)以通知电子邮件消息的作者该电子邮件消息包括密码。UI可以通知作者移除密码将允许电子邮件消息的传播。
针对敏感数据的电子邮件消息的分析可以包括:标识在电子邮件消息的文本内包括多个字符的多个数据令牌。多个数据令牌中的每一个都可以被转换为向量列表。向量列表可以包括多个向量,其中每个向量表示关联的数据令牌中的一个字符。
多个向量可以使用字符查找表而被生成。字符查找表可以包括字符,每个字符都具有表示与该字符相关联的特征或特性的向量值。
经训练的评估函数可以被用来评估从多个数据令牌生成的向量列表。在一些实现中,经训练的评估函数是使用包括已知空格分隔的密码的数据集和包括空格分隔的非密码字符的数据集而被训练的递归机器学习模型。经训练的评估函数确定多个数据令牌中的一个或多个何时包括敏感数据,诸如密码。向量列表被经训练的评估函数利用来标识多个数据令牌中的一个或多个何时包括敏感数据。
当敏感数据在电子消息传递中被发现时,本文公开的技术通过标识和抑制敏感数据的传播来提供增强的安全级别。本文公开的技术可以提供优于现有系统的许多技术优势。例如,与计算设备所使用的现有安全技术相比,采用本文公开的技术的计算设备具有改进的安全性。还可以从本文公开的技术的实现中实现其他技术优势。
本发明内容被提供来以简化的形式介绍在下面的详细描述中进一步描述的概念的选择。本发明内容不旨在标识要求保护的主题的关键或必要特征,也不旨在被用作确定要求保护的主题的范围的帮助。例如,术语“技术”可以指的是上述上下文和整个文档中所允许的(多个)系统、(多个)方法、计算机可读指令、(多个)模块、(多个)算法、硬件逻辑和/或(多个)操作上文和整个文件中描述的上下文。
附图说明
参照附图描述详细描述。在附图中,参考编号最左边的(多个)数字标识参考编号第一次出现的附图。不同附图中相同的附图编号指示相似或相同的项。
图1图示了被用来生成用于通过网络传播的电子消息的示例性用户界面(UI)。具体来说,UI被链接到电子邮件应用。
图2图示了被用来生成用于通过网络传播的电子消息的另一个示例性UI。具体来说,UI被链接到在移动设备上运行的文本消息传递应用。
图3是图示了示例计算环境的框图,该示例计算环境可以包括与检测与电子消息相关联的敏感数据的技术相关联的计算设备。
图4图示了示出使用训练数据集、字符查找表和机器学习模型来生成被用来标识一个或多个数据令牌中的敏感数据的经训练的评估函数的框图。
图5图示了与检测与电子消息相关联的敏感数据的技术相关联地使用的示例性字符查找表。
图6图示了与关联于检测电子消息中的敏感数据的操作相关的流程图。
图7图示了与关联于检测电子消息中的敏感数据的操作相关的流程图。
图8是示出了用于计算设备的说明性计算机硬件和软件架构的计算机架构图,该计算设备可以实现本文呈现的技术的各方面。
图9是图示了在其中可以实现所公开的技术的各方面的分布式计算环境的网络图。
具体实施方式
图1图示了被用来生成用于通过网络(图1中未示出)传播的电子消息102的示例性用户界面(UI)100。图3图示了可以与本文公开的技术相关联的综合环境。
UI 100被链接到电子邮件应用104。然而,在其他实现中,UI 100可以被链接到其他电子消息传递技术,诸如聊天应用、即时消息传递应用、文本消息传递应用(图2),等等。
UI 100包括文本输入部分106。文本输入部分106提供允许UI 100的用户输入消息文本108以通过网络传播给接收者的界面。在所图示的示例中,文本输入部分106是电子邮件应用104的一部分。
所公开的技术针对敏感数据分析输入消息文本108。在一些实现中,输入消息文本108被分析以确定密码114何时被包括在输入消息文本108中。所公开的技术实施经训练的评估函数以分析输入消息文本108。
用于分析输入消息文本108的经训练的评估函数可以是使用从字符查找表生成的向量化字符来训练的递归机器学习模型。递归机器学习模型可以是循环神经网络(RNN)、长短期记忆(LSTM)、与RNN或LSTM组合的卷积神经网络(CNN)或RNN/LSTM的组合模型。
如下文将更详细地描述的,分析输入消息文本108可以包括标识将被经训练的评估函数分析的数据令牌(例如,输入文本108中的单词)。文本复杂度过滤器可以被用来标识将被经训练的评估函数分析的数据令牌。
例如,文本复杂度过滤器可以被用来标识超出文本复杂度阈值的数据令牌。特别地,文本复杂度过滤器可以被编程为忽略(1)字符长度小于预定数量的字符(例如,小于8个字符的单词)的数据令牌,(2)不具有至少一个大写字母和至少一个特殊字符(例如,&、*、%、$、@)的数据令牌,和/或不具有至少一个特殊字符(例如,&、*、%、$、@)的数据令牌。因此,文本复杂度过滤器可以被用来将冠词、动词、介词、连词、代词、副词和其他简单单词排除在经训练的评估函数处理之外。
根据前述,文本复杂度过滤器可以标识将被经训练的评估函数分析的数据令牌110、112和114。也就是说,文本复杂度过滤器可以排除诸如“the”、“and”、“will”、“be”等等之类的单词,并允许数据令牌110、112和114传递到经训练的评估函数以供分析,从而确定令牌110、112和114是否包括敏感数据。
经训练的评估函数可以接收数据令牌110、112和114用于分析以确定令牌110、112和114是否包括敏感数据。具体地,经训练的评估函数分析数据令牌110、112和114的向量列表以确定令牌110、112和114是否包括密码。可以使用字符查找表来生成针对每个数据令牌110、112和114的向量列表。
经训练的评估函数的分析揭示数据令牌114是密码。关于数据令牌114是密码的确定使得关联的系统隔离电子消息102。可替代地或附加地,关联的系统可以生成一个UI,其通知用户:电子消息102可能不会被发送或发射,直到数据令牌114从电子消息102中被移除。
图2图示了被用来生成用于通过网络传播的电子消息210的另一个示例性UI 200。具体地,UI 200被链接到在移动设备206上运行的文本消息传递应用204。
UI 200包括文本输入部分208。文本输入部分208提供允许UI 200的用户输入电子消息210以通过网络传播给接收者的UI。
所公开的技术针对敏感数据分析电子消息210。在一些实现中,电子消息210被分析以确定密码是否被包括在电子消息210中。所公开的技术实施经训练的评估函数以分析电子消息210。此外,所公开的技术可以针对敏感数据和/或可能与敏感数据相关联的上下文而分析在电子消息210之前的消息。
用于分析电子消息的经训练的评估函数210可以是使用从字符查找表生成的向量化字符来训练的递归机器学习模型。递归机器学习模型可以是RNN、LSTM、与RNN或LSTM组合的CNN或RNN/LSTM的组合模型。
分析电子消息210可以包括标识将被经训练的评估函数分析的至少一个数据令牌(例如,电子消息210中的单词)。文本复杂度过滤器可以被用来标识将被经训练的评估函数分析的数据令牌。
例如,文本复杂度过滤器可以被用来标识超出文本复杂度阈值的一个或多个数据令牌。特别地,文本复杂度过滤器可以被编程为忽略(1)字符长度小于预定数量的字符(例如,小于8个字符的单词)的数据令牌,(2)不具有至少一个大写字母和至少一个特殊字符(例如,&、*、%、$、@)的数据令牌,和/或不具有至少一个特殊字符(例如,&、*、%、$、@)的数据令牌。因此,文本复杂度过滤器可以被用来将冠词、动词、介词、连词、代词、副词和其他简单单词排除在经训练的评估函数处理之外。
根据前述,文本复杂度过滤器可以标识将被经训练的评估函数分析的数据令牌212。也就是说,文本复杂度过滤器可以排除诸如“the”、“and”、“will”、“be”等等之类的单词,并允许数据令牌212传递到经训练的评估函数以供分析,从而确定令牌212是否包括敏感数据。
经训练的评估函数可以接收数据令牌212用于分析以确定数据令牌212是否包括敏感数据。具体地,经训练的评估函数分析数据令牌212的向量列表以确定数据令牌212是否包括密码。可以使用字符查找表来生成针对数据令牌212的向量列表。
经训练的评估函数的分析揭示数据令牌212是密码。关于数据令牌212是密码的确定使得关联的系统隔离电子消息210。可替代地或附加地,关联的系统可以生成一个UI214,其通知用户:电子消息210可能不通过网络被发送或发射,直到数据令牌212从电子消息210中被移除为止。
图3图示了适用于实现本文描述的技术的示例系统300。该系统包括多个设备304A-304C和至少一个服务器平台302。服务器平台302和设备304A-304C可以经由网络306相互交换通信数据351,诸如电子消息102。通信数据351可以包括与电子消息102相关联的一些或全部消息文本108。服务器平台302和设备304A-304C可以经由网络306相互交换其他类型的数据。
其他类型的数据可以被认为是通信数据351。例如,通信数据351可以被包括在多个用户之间共享的一个或多个文档中。例如,通信数据351可以在诸如文字处理文档之类的文档中,该文档可被对该文档具有访问权限的多个用户查看、编辑等。例如,这样的文档可以与SharePoint等相关联。其中可由所描述的实现来分析的其他共享文档和通信数据351包括演示文档、传真、电子表格、便携式文档格式(例如,PDF)数据、网页等。
所描述的实现可以以与本文参照图1-图9描述的相同的方式来分析文档中的通信数据351。例如,被发现包括敏感数据的文档可以被放置在隔离区中,诸如图3中所图示的隔离区310。附加地或可替代地,所描述的实现可以呈现一个UI,其通知文档的作者或编辑者:在文档中标识出敏感数据。对文档的读取和编辑访问权限可能会被限制或暂停,直到从文档中移除敏感数据或管理员解除访问暂停之时。虽然下面的描述经常涉及单个计算设备304,但是应当理解,计算设备304A-304C中的每一个可以包括关于下面参考的单个计算设备304所描述的功能元件中的每一个。
网络306可以是多种不同的网络,包括互联网、局域网(LAN)、广域网(WAN)、个域网、蜂窝或其他电话网络、内联网、其他公共和/或专有网络、它们的组合等等。应当注意,网络306可以被配置为包括多个网络。
设备304可以是多种不同类型的设备。例如,在系统300中,设备304中的每一个可以是膝上型或上网本计算机设备、蜂窝或其他无线电话(例如,智能电话)设备、平板或笔记本计算机、打印机、台式计算机、电视或任何其他合适的计算设备。
服务器平台302(其可以简称为“平台302”)提供可由设备304经由网络306访问的一个或多个服务。服务器平台302使用各种不同类型的设备中的一个或多个来实现,包括服务器、联网服务器池、服务器群或任何其他合适的分布式或协同定位的服务器计算机。
服务器平台302可以包括处理器303和存储装置306。存储装置306可以包括用于存储计算机可执行指令的一个或多个模块。计算机可执行指令可以与诸如OS和/或一个或多个最终用户程序之类的应用相关联。处理器303可以执行计算机可执行指令以实施本文公开的技术。
与存储装置306相关联的模块可以包括敏感数据评估模块308。此外,存储装置306可以包括通信数据隔离区310。服务器平台302可以使用数据隔离区310来存储被确定包括敏感数据(诸如一个或多个密码)的通信数据351。
敏感数据评估模块308可以分析通信数据351以确定通信数据351是否包括敏感数据,诸如包括在电子消息102的消息文本108中的密码。例如,敏感数据评估模块308分析从一个或多个计算设备304接收的通信数据351。从一个或多个计算设备304接收的通信数据351可以是文本消息、电子邮件或包括文本的任何其他通信数据351的形式。
由服务器平台302接收的通信数据351可以用于传输到计算设备304中的一个或多个。在一些实现中,服务器平台302用于在将通信数据351转发给目的地计算设备304的接收者或用户之前接收通信数据351。因此,服务器平台302能够在通信数据351被传播到与目的地计算设备304相关联的接收者之前针对敏感数据拦截和分析通信数据351。
敏感数据评估模块308可以包括字符查找表312、经训练的评估函数314和训练数据集316。敏感数据评估模块308在针对敏感数据分析通信数据351时利用字符查找表312和经训练的评估函数314。训练数据集316可以包括:包含多个已知密码的第一数据集和包含多个已知非密码的第二数据集。训练数据集316由RNN等处理以建立经训练的评估函数314。训练数据集316在图4中被更详细地图示。
字符查找表312可以包括多个ASCII字符,诸如ASCII字符32-255。每个ASCII字符在字符查找表312内被表征为具有链接到预定义字符属性的关联向量值。那些预定义字符属性可以包括指示ASCII字符的类别(例如,字母、数字、大写、元音、标点符号和键盘上的特殊位置)的属性。字符查找表312的示例版本在图5中被图示出。当针对敏感数据分析的文本是英语以外的语言时,字符查找表312可以包括其他字符。
字符查找表312可以由服务器平台302使用来将一个或多个字符转换为向量表示。例如,可以通过参考字符查找表312来将字符集(例如,数据令牌)中的每个字符转换为向量表示。因此,使用字符查找表312,服务器平台302可以将一个或多个数据令牌(诸如如数据令牌114)转换为向量列表,其中,列表中的每个向量表示一个或多个数据令牌中的一个字符。
计算设备304可以包括处理器318和存储装置320。此外,存储装置320可以包括多个模块。模块可以被实施为计算机可执行指令。计算机可执行指令可以与诸如OS和/或最终用户程序之类的应用相关联。处理器318可以执行与存储装置320相关联的计算机可执行指令以启用与计算机可执行指令相关联的功能性。此外,设备304可以包括用于显示一个或多个UI的显示屏。
存储装置320可以包括一个或多个应用322。应用322中的一个或多个可以由处理器318执行以显示和启用一个或多个应用322的功能性。如在图3中所图示,应用322之一是用户可以用来生成电子消息102的电子邮件应用104。电子消息102可以包括消息文本108和敏感数据,诸如包括密码的数据令牌114。
电子邮件应用104的用户可以起草电子消息102以与计算设备304的一个或多个用户通信。在将电子消息102递送到计算设备304中的一个或多个用户之前,服务器平台302针对敏感数据(诸如一个或多个密码)分析消息文本108。敏感数据评估模块308针对敏感数据执行消息文本108的分析。
由服务器平台302接收的通信数据351可以包括消息文本108。敏感数据评估模块308接收消息文本108并且分析消息文本108以标识将被经训练的评估函数314分析的数据令牌(例如,消息文本108中的单词)。例如,敏感数据评估模块308的文本复杂度过滤器326可以被用来标识超出文本复杂度阈值的数据令牌。特别地,文本复杂度过滤器326可以被编程为忽略(1)字符长度小于预定数量的字符(例如,小于8个字符的单词)的数据令牌,(2)不具有至少一个大写字母和至少一个特殊字符(例如,&、*、%、$、@)的数据令牌,和/或不具有至少一个特殊字符(例如,&、*、%、$、@)的数据令牌。因此,文本复杂度过滤器326可以被用来将冠词、动词、介词、连词、代词、副词和其他简单单词排除在经训练的评估函数314处理之外。
根据前述,文本复杂度过滤器326可以标识将被经训练的评估函数314分析的数据令牌110、112和114。也就是说,文本复杂度过滤器326可以排除诸如“the”、“and”、“will”、“be”等等之类的单词,并允许数据令牌110、112和114传递到经训练的评估函数314以供分析,从而确定令牌110、112和114是否包括敏感数据。
经训练的评估函数314可以接收数据令牌110、112和114用于分析以确定令牌110、112和114是否包括敏感数据。具体地,经训练的评估函数314分析数据令牌110、112和114的向量列表以确定令牌110、112和114是否包括密码。可以使用字符查找表312来生成针对每个数据令牌110、112和114的向量列表。
经训练的评估函数314的分析揭示数据令牌114是密码。关于数据令牌114是密码的确定使得服务器平台302将电子消息102隔离在通信数据隔离区310中。更具体地,服务器平台302隔离电子消息102以防止将其传输到与计算设备304中的至少一个相关联的接收者。可替代地或附加地,服务器平台302可以生成并传送UI 324中所示的文本,其将通知电子邮件应用104的用户:在消息文本中发现敏感数据108。UI 324中所示的文本可以作为数据分组(例如,通信数据351)而被传送到用于生成电子消息102的客户端计算设备304。UI324可以由电子邮件应用104生成。
在确定数据令牌114是密码之后并且在(1)将消息文本108隔离在通信数据隔离区310中和/或(2)生成用于包括在UI 324中的文本之前,服务器平台302可以执行与消息文本108相关联的附加分析过程。
附加分析过程涉及:确定在数据令牌114之前和/或之后的预定数量的单词的上下文(例如,含义、主题、话题、观点、背景)。附加分析可以由敏感数据评估模块308来执行。附加分析可以增加被敏感数据评估模块308标识为密码的数据令牌114被正确标识为密码的置信度。
在一些实现中,由敏感数据评估模块308执行的附加分析涉及:标识在数据令牌114之前和/或之后的300个或更少字符的一个或多个集合。取决于与确定数据令牌114周围的文本的上下文相关联的期望准确度水平,一个或多个字符集合中的字符数可以大于300个字符。此外,可以使用一个或多个字符集合来分析通信数据351中的一些或全部。敏感数据评估模块308可以针对关键字或短语(例如,在这里是我的密码、密码、获得访问权等)分析一个或多个字符集合,这些关键字或短语经常与敏感数据的共享结合使用以建立消息文本108中的上下文。关键字或短语可以是由服务器平台302存储的查找表的一部分。
在一些实现中,300个或更少字符的集合被向量化并被类似于经训练的评估函数314的经训练的评估函数处理,以确定与300个或更少字符的集合相关联的上下文。
在一些实现中,经训练的评估函数314用于评估包含敏感数据的数据令牌,并且另外用于评估位于被确定包括敏感数据的数据令牌附近的文本的上下文(例如,在被发现包括敏感数据的数据令牌之前和/或之后的300个字符)。因此,经训练的评估函数314可以包括多个评估路径。经训练的评估函数314的评估路径之一评估针对敏感数据的向量化数据令牌。另一个评估路径评估位于被确定包括敏感数据的数据令牌附近的向量化文本,以确定数据令牌附近的向量化文本的上下文何时支持确定一个或多个数据令牌包括敏感数据。
在其他实现中,所描述的实现使用两个单独的经训练的评估函数。例如,经训练的评估函数可以针对包括敏感数据的数据令牌评估通信数据351,并且另一个经训练的评估函数可以评估通信数据351的上下文以进一步加强确定通信数据351的一个或多个数据令牌包括敏感数据。
当敏感数据评估模块308发现消息文本108的上下文支持关于数据令牌114是密码的确定时,服务器平台302将消息文本108隔离在通信数据隔离区310中和/或生成用于包括在UI 324中的文本。
用于确定通信数据351的上下文的经训练的评估函数(例如,经训练的评估函数314)可能已经使用由嵌入算法(诸如Word2vec)所生成的向量列表来进行训练。Word2vec是一种已知的处理文本的神经网络。Word2vec的输入是一个文本语料库,并且它的输出是一组向量,具体来说是文本语料库中的单词的特征向量。本文描述的至少一些实现所使用的文本语料库包括已知出现密码的通信数据集,诸如电子邮件。此外,文本语料库包括已知不出现密码的通信数据集,诸如电子邮件。文本语料库中的单词的特征向量或输入到机器学习模型(诸如RNN、LSTM、与RNN或LSTM组合的CNN或RNN/LSTM的组合模型)中以生成被用于确定与通信数据相关联的上下文351的经训练的评估函数。
在一些实现中,计算设备304提供关于服务器平台302描述的功能性。例如,计算设备304可以包括敏感评估模块308及其关联的元件和通信数据隔离区310。
图4图示了示出使用训练数据集402和404、字符查找表312和机器学习模型414来生成被用来标识一个或多个数据令牌中的敏感数据的经训练的评估函数314的框图。
生成经训练的评估函数314的过程涉及:建立密码训练数据集402和非密码训练数据集404。密码训练数据集402包括多个已知密码406。任意数量的已知密码406可以被包括在密码训练数据集402中。使用已知密码406的大型语料库(例如,数千个)可以导致生成稳健的经训练的评估函数314。非密码训练数据集404包括多个已知的非密码408。已知的非密码408具有使它们看起来像实际密码的特性(例如,包括特殊字符、大写字母等)。使用已知的非密码408的大型语料库(例如,数千个)可以导致生成稳健的经训练的评估函数314。
与数据集402和404中的每一个相关联的数据被传递到字符查找表312。字符查找表312在图5中被更详细地图示出。向量列表410和412是使用字符查找表312从与数据集402和404中的每一个相关联的数据生成的。向量列表410各自对应于密码训练数据集402的密码。例如,密码‘FallLine&*Out’将具有包括13个向量的对应向量列表,其中向量列表中的每个向量对应于密码“FallLine&*Out”中的一个字母。类似地,向量列表412各自对应于非密码训练数据集404的非密码。例如,非密码‘D:/Code/General’将具有包括15个向量的对应向量列表,其中向量列表412中的每个向量对应于非密码‘D:/Code/General’中的一个字母。
通过密码中的第二个‘2’,针对‘Jelly22fi$h’的向量列表的一部分在图4中被图示出。可以使用包括ASCII字符32-255的字符查找表312生成针对“Jelly22fi$h”的向量列表,其中每个ASCII字符32-255具有关联的向量值,该向量值指示ASCII字符特性或特征。提供字母和数字416仅用于说明目的。也就是说,向量列表410和412中的向量由机器学习模型414接收;字母和数字416不会被馈送到模型414。
向量列表中的每个向量可以包括比图4中所图示的更多数量的向量值或更少数量的向量值。也就是说,字符查找表312可以被布置为参考任意数量的特性或特征。在一些实现中,字符查找表312中的ASCII字符32-255中的每一个包括针对以下参考特性或特征的向量值(参见图5;下面的第0列跟在图5中所示的‘Char’列之后):第0列是字母;第1列是大写;第2列是元音;第3列是辅音;第4列是数字;第5列是标点;第6列是运算符;第7列是特殊字符(例如,#、\、]);第8列是需要键盘移位;第9列是leet(@=a、$=s或S等);第10列是字母顺序;第11列是数字顺序;第12列是键盘行;第13列是键盘栏;第14列是分组或括号字符(1=开始分组,2=结束分组,1.5=开始或结束分组的对称);第15列是ASCII序列;第16-20列是ID向量(与第2-7、9、11和14列一起为每个字符创建唯一ID)。然而,第16-20列本身将匹配相似的字符,例如A、a、4和@都共享相同的ID11111。在机器学习模块414的训练过程中使用针对每个字符的唯一ID来区分每个字符输入到模块414的向量。
向量列表410和412被传递到机器学习模型414。如前面所讨论的,机器学习模型414可以是RNN、LSTM、与RNN或LSTM组合的CNN或RNN/LSTM的组合模型。向量列表410和412作为训练过程的一部分从机器学习模型414传递以生成经训练的评估函数414。向量列表410和412可以使用微软的CognitiveToolkit(CNTK)而被传递给机器学习模型414。替代的机器学习工具包可以被用来将向量列表410和412传递给机器学习模型414。机器学习模型414的训练导致经训练的评估函数314的生成。如本文所讨论的,经训练的评估函数314用于以转换的向量列表格式分析数据令牌,以了解诸如密码之类的敏感数据的存在。
图5图示了被用来从一个或多个数据令牌生成向量列表的字符查找表312的一部分。而ASCII字符32-55在图5中被图示出,应当理解,字符查找表312包括ASCII字符32-255,其中每个ASCII字符32-255具有指示ASCII字符特性的关联的向量值。
字符查找表312中的每个字符502包括标识字符502是否具有对应特性504的对应向量值(例如-1、1、十进制值等)。仅举几例,图5中所示的特性504包括“字符是大写”、“字符是元音”、“字符是常量”、“字符是数字”、“字符是标点”、“字符是运算符”、“字符是特殊字符”、“字符是leet”(例如,$=s、@=a等),等等。向量值为-1指示给定字符不具有特定特性,向量值为1指示给定字符确实具有特定特性,并且向量值为十进制形式(例如,.1535)指示给定字符可能或不太可能具有特定特性。
考虑示例性数据令牌:1’%。使用字符查找表312生成的对应向量列表将包括向量:<-1,-1,-1,-1,1,-1,-1,-1,-1,-1,-1,-0.778>,<-1,-1,-1,-1,-1,-1,-1,1,-1,-1,-1,-1>和<-1,-1,-1,-1,-1,-1,1,1,1,-1,-1,-1>。基于与字符查找表312中的每个ASCII字符相关联的特性的数量,向量可以更大或更小。任何数据令牌,诸如与数据训练集402和404相关联的数据令牌以及与通信数据315相关联的数据令牌,可以使用字符查找表312而被转换为包括向量列表中的一个或多个向量的向量化表示。
图6是示例流程图600的图,其图示了与敏感内容的标识相关联的操作,该敏感内容与通信数据相关联。在一些实现中,图6的操作可以由一个或多个计算设备的组件执行,诸如服务器平台302和/或设备304中的一个或多个。因此,与示例流程图600相关联的指令可以由与服务器侧组件(例如,服务器平台302)和/或客户端侧组件(设备304中的一个或多个)相关联的一个或多个处理器执行。
本领域普通技术人员应当理解,本文公开的方法的各操作不一定以任何特定顺序来呈现,以替代的(多个)顺序来执行一些或所有操作是可能的并被设想。为便于描述和说明,已按演示顺序呈现了这些操作。在不脱离所附权利要求的范围的情况下,可以添加、省略、一起执行和/或同时执行各操作。
还应当理解,所图示的方法可以在任何时间结束并且不需要被全部执行。方法中的一些或所有操作,和/或基本上等效的操作,可以通过执行包括在计算机存储介质上的计算机可读指令来执行,如本文中所定义的那样。在说明书和权利要求中使用的术语“计算机可读指令”及其变体在本文中被广泛使用以包括例程、应用、应用模块、程序模块、程序、组件、数据结构、算法等。计算机可读指令可以被实现在各种系统配置上,包括单处理器或多处理器系统、小型计算机、大型计算机、个人计算机、手持计算设备、基于微处理器的可编程消费电子产品、它们的组合等。
因此,应当了解,本文描述的逻辑操作被实现为(1)在计算系统(例如,(多个)设备304和/或服务器平台302)上运行的计算机实现的动作或程序模块的序列,和/或(2)计算系统内的互连机器逻辑电路或电路模块。该实现是一个取决于计算系统的性能和其他要求的选择问题。因此,逻辑操作可以以软件、固件、专用数字逻辑及其任何组合来实现。此外,本文描述的逻辑操作可以由诸如客户端设备或服务器设备之类的单个计算设备来实现。可替代地,本文描述的逻辑操作可以由服务器设备和客户端设备的组合来实现。
流程图600可以开始于操作602,在这里标识通信数据以分析敏感数据。例如,服务器平台302或其他计算设备可以标识消息文本108以分析敏感数据,诸如密码。
在操作604处,评估通信数据以标识至少一个数据令牌,其中该至少一个数据令牌包括多个字符。例如,服务器平台302可以过滤消息文本108以标识包括多个字符的至少一个数据令牌。文本复杂度过滤器326可以被用来过滤消息文本108。文本复杂度过滤器326消除不够复杂来被视为敏感数据(诸如密码)的数据令牌(例如,单词)。在操作606处,包括在至少一个数据令牌中的多个字符中的每个字符被转换成包括从字符查找表获得的向量值的向量。例如,敏感数据评估模块308可以使用字符查找表312来将包括在至少一个数据令牌中的多个字符中的每个字符转换成包括从字符查找表312获得的向量值的向量。字符查找表312包括ASCII字符,其中每个ASCII字符包括与ASCII字符的特性相关联的一个或多个向量值。
在操作608处,生成向量列表,该向量列表包括表示包括在至少一个数据令牌中的多个字符中的每个字符的每个向量。例如,向量列表可以由敏感数据评估模块308生成。
在操作610处,使用经训练的评估函数来评估向量列表以确定至少一个数据令牌是否包括敏感数据,诸如密码。当至少一个数据令牌包括敏感数据时,将通信数据关联到隔离存储装置中。然而,当数据令牌中的至少一个没有敏感数据时,通信数据被传播给在通信数据中标识的至少一个接收者。例如,向量列表可以由经训练的评估函数314评估。
在一些实现中,操作602-610中的一个或多个作为对用户隔绝或隐藏的计算机后台进程而被执行。具体地,操作602-610可以由诸如MICROSOFTWINDOWS操作系统、软件应用等的操作系统来自主地执行。
图7是图示了与敏感内容的标识相关联的操作的示例流程图700的图,该敏感内容与通信数据相关联。在一些实现中,图7的操作可以由一个或多个计算设备的组件执行,诸如服务器平台302和/或设备304中的一个或多个。因此,与示例流程图700相关联的指令可以由与服务器侧组件(例如,服务器平台302)和/或客户端侧组件(设备304中的一个或多个)相关联的一个或多个处理器执行。
流程图700可以开始于操作702,在这里接收包括多个字符集的电子消息。多个字符集可以由空格分隔。在一些实现中,电子消息包括由空格(例如,空格)分隔的多个单词或数据令牌。电子消息可以由服务器平台302接收。服务器平台302将电子消息传播给在电子消息内标识的接收者。在一些实现中,电子消息是电子邮件、文本消息等。
在操作704处,将多个字符集中的每个字符集转换成向量列表以生成多个向量列表。多个向量列表中的每个向量列表包括多个向量,每个向量包括向量值。向量值可以从包括字符的字符查找表获得,每个字符包括向量值,该向量值表示与唯一字符相关联的至少一个特征或特性。在一些实现中,字符查找表312被用来生成多个向量列表。敏感数据评估模块308利用字符查找表312来生成多个向量列表。
在操作706处,使用经训练的评估函数来评估多个向量列表中的每个向量列表以确定字符集中的至少一个包括密码数据。在一些实现中,经训练的评估函数314确定至少一个字符集包括密码数据。
在操作708处,使计算机生成并显示用户界面,该用户界面包括电子消息包括密码数据的指示。例如,服务器平台302可以通过向客户端计算设备304传送电子消息包括密码数据的通知来使客户端计算设备304生成UI 324。
在一些实现中,操作702-708中的一个或多个作为对用户隔绝或隐藏的计算机后台进程而被执行。具体地,操作702-708可以由诸如MICROSOFTWINDOWS操作系统、软件应用等的操作系统来自主地执行。
图8是示出了用于计算设备的说明性计算机硬件和软件架构的计算机架构图,其可以实现本文呈现的各种技术。特别地,图8中所图示的架构可以被利用来实现服务器计算机、移动电话、电子阅读器、智能手机、台式计算机、AR/VR设备、平板计算机、膝上型计算机或其他类型的计算设备。在一些实现中,设备304和服务器平台302实现与计算设备相关联的一些或全部元件和功能性。
图8中所图示的计算机800包括中央处理单元802(“CPU”)、系统存储器804,包括随机存取存储器806(“RAM”)和只读存储器(“ROM”)808,以及将存储器804耦合到CPU802的系统总线810。包含有助于例如在启动期间在计算机800内的元件之间传送信息的基本例程的基本输入/输出系统(“BIOS”或“固件”),可以被存储在ROM808中。计算机800还包括大容量存储设备812,用于存储操作系统822、应用程序和其他类型的程序。大容量存储设备812还可以被配置为存储其他类型的程序和数据。
大容量存储设备812通过连接到总线810的大容量存储控制器(图8中未示出)而被连接到CPU802。大容量存储设备812及其关联的计算机可读介质为计算机800提供非易失性存储。尽管本文所包含的计算机可读介质的描述是指大容量存储设备,诸如硬盘、CD-ROM驱动器、DVD-ROM驱动器或USB存储密钥,但是本领域技术人员应该了解,计算机可读介质可以是可由计算机800访问的任何可用的计算机存储介质或通信介质。
通信介质包括计算机可读指令、数据结构、程序模块或调制数据信号中的其他数据,诸如载波或其他传输机制,并且包括任何递送介质。术语“调制数据信号”意指其一个或多个特性以某种方式改变或设置以便对信号中的信息进行编码的信号。作为示例而非限制,通信介质包括诸如有线网络或直接有线连接之类的有线介质,以及诸如声学、射频、红外线和其他无线介质之类的无线介质。上述任何一种的组合也应被包括在计算机可读介质的范围内。
作为示例而非限制,计算机存储介质可以包括以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据之类的信息的任何方法或技术实现的易失性和非易失性、可移除和不可移除介质。例如,计算机存储介质包括但不限于RAM、ROM、EPROM、EEPROM、闪存或其他固态存储器技术、CD-ROM、数字多功能盘(“DVD”)、HD-DVD、BLU-RAY或其他光存储、磁带、磁盒、磁盘存储或其他磁存储设备,或可以被用来存储所需信息且可由计算机800访问的任何其他介质。在权利要求中,短语“计算机存储介质”及其变体不包括波或信号本身或通信介质。
根据各种配置,计算机800可以使用通过诸如网络820之类的网络到远程计算机的逻辑连接来操作在联网环境中。在一些实现中,网络306提供与网络820至少一些或全部相同的功能性。计算机800可以通过连接到总线810的网络接口单元816而连接到网络820。应当了解,网络接口单元816也可以被利用来连接到其他类型的网络和远程计算机系统。计算机800还可以包括输入/输出控制器818,用于接收和处理来自许多其他设备的输入,包括键盘、鼠标、触摸输入、电子笔(图8中未示出)或物理传感器诸如摄像机。类似地,输入/输出控制器818可以向显示屏或其他类型的输出设备(也未在图8中示出)提供输出。
应当了解,本文描述的软件组件在被加载到CPU802中并被执行时,可以将CPU802和整个计算机800从通用计算设备变换为被定制为促进本文呈现的功能性的专用计算设备。CPU802可以由任意数量的晶体管或其他分立电路元件构成,它们可以单独或共同呈现任意数量的状态。更具体地,CPU802可以响应于包含在本文公开的软件模块内的可执行指令而操作为有限状态机。这些计算机可执行指令可以通过指定CPU802如何在状态之间转变来变换CPU802,从而变换构成CPU802的晶体管或其他分立硬件元件。
对本文呈现的软件模块进行编码还可以变换本文呈现的计算机可读介质的物理结构。在本说明书的不同实现中,物理结构的具体变换取决于各种因素。此类因素的示例包括但不限于用于实现计算机可读介质的技术、计算机可读介质的特征是主存储装置还是辅助存储装置等。例如,如果计算机可读介质被实现为基于半导体的存储器,则可以通过变换半导体存储器的物理状态来将本文公开的软件编码在计算机可读介质上。例如,该软件可以变换构成半导体存储器的晶体管、电容器或其他分立电路元件的状态。软件还可以变换此类组件的物理状态,以便在其上存储数据。
作为另一个示例,本文公开的计算机可读介质可以使用磁或光技术来实现。在这样的实现中,当软件被编码在其中时,本文呈现的软件可以变换磁或光学介质的物理状态。这些变换可以包括改变给定磁介质内的特定位置的磁特性。这些变换还可以包括改变给定光学介质内的特定位置的物理特征或特性以改变那些位置的光学特性。在不脱离本描述的范围和精神的情况下,物理介质的其他变换是可能的,提供上述示例只是为了便于讨论。
鉴于上文,应当了解,在计算机800中发生多种类型的物理变换以便存储和执行本文呈现的软件组件。还应当了解,针对计算机800的图8中所示的架构或类似的架构可以被利用来实现其他类型的计算设备,包括手持计算机、视频游戏设备、嵌入式计算机系统、诸如智能电话之类的移动设备、平板电脑和AR/VR设备以及本领域技术人员已知的其他类型的计算设备。还可以预期计算机800可能不包括图8中所示的所有组件,可以包括未在图8中明确示出的其他组件,或者可以利用与图8中所示的架构完全不同的架构。
图9是图示了根据本文呈现的各种实施例的分布式网络计算环境900的网络图,在其中可以实现所公开的技术的各方面。服务器平台提供商302可以实现分布式网络计算环境900以经由与一个或多个计算设备相关联的一个或多个分布式物理或虚拟存储装置来提供分布式存储。
如图9中所示,一个或多个服务器计算机900A可以经由通信网络820(其可以是固定有线或无线LAN、WAN、内联网、外联网、对等网络、虚拟专用网络、互联网、蓝牙通信网络、专有低压通信网络或其他通信网络)来与许多设备互连,许多设备诸如但不限于平板计算机900B、游戏机900C、智能手表900D、诸如智能电话之类的电话900E、个人计算机900F和AR/VR设备900G。
在其中通信网络820是互联网的网络环境中,例如,服务器计算机900A可以是专用服务器计算机,其可操作来经由多种已知协议中的任一种来处理数据以及从或向设备900B-900G传送数据,已知协议诸如是超文本传输协议(“HTTP”)、文件传输协议(“FTP”)或简单对象访问协议(“SOAP”)。此外,联网计算环境900可以利用各种数据安全协议,诸如安全套接字层(“SSL”)或相当好的隐私(“PGP”)。设备900B-900G中的每一个都可以配备有可操作来支持一个或多个计算应用或终端会话的操作系统——诸如网络浏览器(图9中未示出)或其他图形用户界面(图9中未示出)或移动桌面环境(图9中未示出),以获得对服务器计算机900A的访问。
服务器计算机900A可以可通信地耦合到其他计算环境(图9中未示出)并且接收关于参与用户的交互/资源网络的数据。在说明性操作中,用户(图9中未示出)可以与在设备900B-900G上运行的计算应用交互以获得期望的数据和/或执行其他计算应用。
数据和/或计算应用可以被存储在服务器900A或多个服务器900A上,并且在示例性通信网络820上通过设备900B-900G而被传送给合作用户。参与用户(图9中未示出))可以请求访问全部或部分容纳在服务器计算机900A上的特定数据和应用。这些数据可以在设备900B-900G和服务器计算机900A之间传送以进行处理和存储。服务器计算机900A可以托管用于数据和应用的生成、认证、加密和通信的计算应用、进程和小应用,并且可以与其他服务器计算环境(图9中未示出)、第三方服务供应商(图9中未示出)、网络附加存储(“NAS”)和存储域网络(“SAN”)进行协作以实现应用/数据事务。
应当了解,为便于讨论,图8中所示的计算架构和图9中所示的分布式网络计算环境已被简化。还应当了解,计算架构和分布式计算网络可以包括和利用更多的计算组件、设备、软件程序、联网设备和本文中没有具体描述的其他组件。
示例条款
在此呈现的公开内容涵盖在以下条款中阐述的主题。
条款1.一种计算机实现的方法,包括:标识通信数据以分析敏感数据;评估通信数据以标识被包括在通信数据中的至少一个数据令牌,该至少一个数据令牌包括多个字符;将被包括在至少一个数据令牌中的多个字符中的每个字符转换成包括从字符查找表获得的向量值的向量;生成向量列表,该向量列表包括表示被包括在至少一个数据令牌中的多个字符中的每个字符的每个向量;以及使用经训练的评估函数来评估向量列表以确定至少一个数据令牌是否包括敏感数据,当至少一个数据令牌包括敏感数据时,将通信数据关联到隔离存储装置中,当至少一个数据令牌没有敏感数据,允许通信数据的传播。
条款2.根据条款1的计算机实现的方法,其中通信数据与电子邮件、文本消息或其他电子消息相关联,并且评估是确定至少一个数据令牌是否包括密码数据。
条款3.根据条款1的计算机实现的方法,其中经训练的评估函数基于递归机器学习模型,递归机器学习模型使用包括已知空格分隔的密码的数据集和包括空格分隔的非密码字符的数据集而被训练。
条款4.根据条款1的计算机实现的方法,其中经训练的评估函数基于递归机器学习模型,递归机器学习模型使用从字符查找表生成的向量化字符而被训练。
条款5.根据条款4的计算机实现的方法,其中字符查找表包括多个字符,该多个字符中的每个字符包括具有关联值的向量,该关联值表示与该字符相关联的一个或多个特征或特性。
条款6.根据条款1的计算机实现的方法,其中字符查找表包括多个字符,该多个字符中的每个字符包括具有关联值的向量,该关联值表示与该字符相关联的一个或多个特征或特性。
条款7.根据条款1的计算机实现的方法,其中当评估确定至少一个数据令牌包括敏感数据时,并且在将通信数据关联到隔离存储装置中之前,评估在至少一个数据令牌之前和/或之后的预定数量的字符,以标识与该至少一个数据令牌相关联的上下文,并且当该上下文支持该至少一个数据令牌包括敏感数据的确定时,确定该至少一个数据令牌包括敏感数据。
条款8.一种计算设备,包括:处理器;与处理器通信的计算机可读存储介质,该计算机可读存储介质具有存储在其上的计算机可执行指令,该计算机可执行指令在由处理器执行时使处理器:接收包括多个字符集的电子消息,该字符集由空格分隔;将多个字符集中的每个字符集转换成向量列表以生成多个向量列表,该多个向量列表中的每个向量列表包括多个向量,每个向量包括向量值,该向量值从包括字符的字符查找表获得,每个字符包括向量值,每个向量值表示与唯一字符相关联的至少一个特性;使用经训练的评估函数来评估多个向量列表中的每个向量列表,以确定字符集中的至少一个包括密码数据;并使计算机生成并显示用户界面,该用户界面包括电子消息包括密码数据的指示。
条款9.根据条款8的计算设备,其中电子消息是电子邮件消息或文本消息。
条款10.根据条款8的计算设备,其中计算机可执行指令在由处理器执行时使处理器:在确定字符集中的至少一个包括密码数据之后,使用经训练的评估函数来评估在包括密码数据的该字符集之前和/或之后的预定数量的字符,以标识与包括密码数据的字符集相关联的上下文,并且当上下文支持确定字符集包括密码数据时确定字符集包括密码数据。
条款11.根据条款8的计算设备,其中经训练的评估函数基于递归机器学习模型,递归机器学习模型使用包括已知空格分隔的密码的数据集和包括空格分隔的非密码字符的数据集而被训练。
条款12.根据条款8的计算设备,其中经训练的评估函数基于递归机器学习模型,递归机器学习模型使用从字符查找表生成的向量化字符而被训练。
条款13.一种计算设备,包括:处理器;与处理器通信的计算机可读存储介质,该计算机可读存储介质上存储有计算机可执行指令,该计算机可执行指令当被处理器执行时使处理器:标识通信数据以分析一个或多个密码;评估通信数据以标识被包括在通信数据中的至少一个数据令牌,该至少一个数据令牌包括多个字符;将被包括在至少一个数据令牌中的多个字符中的每个字符转换成包括从字符查找表获得的向量值的向量;生成向量列表,该向量列表包括表示被包括在至少一个数据令牌中的多个字符中的每个字符的每个向量;以及使用经训练的评估函数来评估向量列表以确定至少一个数据令牌是否包括密码,当至少一个数据令牌包括密码时,通知用户:通信数据包括密码并防止通信数据的传播,当至少一个数据令牌没有密码时,允许通信数据的传播。
条款14.根据条款13的计算设备,其中通信数据与电子邮件、文本消息或其他电子消息相关联。
条款15.根据条款13的计算设备,其中经训练的评估函数基于递归机器学习模型,递归机器学习模型使用包括已知空格分隔的密码的数据集和包括空格分隔的非密码字符的数据集而被训练。
条款16.根据条款13的计算设备,其中经训练的评估函数基于递归机器学习模型,递归机器学习模型使用从字符查找表生成的向量化字符而被训练。
条款17.根据条款16的计算设备,其中该字符查找表包括多个字符,该多个字符中的每个字符包括具有关联值的向量,该关联值表示与该字符相关联的一个或多个特性。
条款18.根据条款13的计算设备,其中该字符查找表包括多个字符,该多个字符中的每个字符包括具有关联值的向量,该关联值表示与该字符相关联的一个或多个特性。
条款19.根据条款13的计算设备,其中计算机可执行指令在由处理器执行时使处理器:评估在至少一个数据令牌之前和/或之后的预定数量的字符,以标识与至少一个数据令牌相关联的上下文,并且当上下文支持至少一个数据令牌包括密码的确定时,确定至少一个数据令牌包括密码。
尽管已经以特定于结构特征和/或方法动作的语言描述了这些技术,但是应当理解,所附权利要求不一定局限于所描述的特征或动作。而是,这些特征和动作作为这种技术的示例实现而被描述。
当敏感数据在电子消息中被发现时,本文公开的技术通过标识和抑制敏感数据的传播来提供增强的安全级别。本文公开的技术可以提供优于现有系统的许多技术优势。例如,与计算设备所使用的现有安全技术相比,采用本文公开的技术的计算设备具有改进的安全性。还可以从本文公开的技术的实现中实现其他技术优势。
应当了解,上述主题可以被实现为计算机控制的装置、计算机过程、计算系统,或者被实现为诸如计算机可读存储介质的制品。在许多其他益处之中,本文公开的技术提高了关于广泛范围的计算资源的效率。例如,由于使用本文公开的技术使得用户和个人能够在与通信会话相关联的图形环境内远程操纵渲染的流以更好地反映他们在通信会话中的交互,因此可以改善人类与设备和系统的交互。还可以从本文公开的技术的实现中实现除了本文所提及的那些技术效果之外的其他技术效果。
示例方法的操作在各个块中被图示出并且参考那些块进行了概括。这些方法被图示为块的逻辑流程,其中的每个块可以表示可以以硬件、软件或其组合来实现的一个或多个操作。在软件的上下文中,操作表示存储在一个或多个计算机可读介质上的计算机可执行指令,计算机可执行指令当由一个或多个处理器执行时使该一个或多个处理器能够执行所述操作。通常,计算机可执行指令包括执行特定功能或实现特定抽象数据类型的例程、程序、对象、模块、组件、数据结构等。描述操作的顺序并不旨在被解释为限制,而是任何数量的描述操作可以以任何顺序执行、以任何顺序组合、细分为多个子操作和/或并行执行,以实现所描述的过程。所描述的过程可以由与一个或多个设备(诸如一个或多个内部或外部CPU或GPU)和/或一个或多个硬件逻辑(诸如FPGA、DSP或其他类型的加速器)相关联的资源来执行。
上述所有方法和过程都可以被体现在由一个或多个通用计算机或处理器执行的软件代码模块中,并经由软件代码模块而被完全自动化。代码模块可以部存储在任何类型的计算机可读存储介质或其他计算机存储设备中。一些或所有方法可以可替代地被体现在专用计算机硬件中。
除非另外特别说明,否则诸如“能够”、“可以”、“可”或“可能”等等之类的条件语言在上下文中被理解为表示某些示例包括、而其他示例不包括某些特征、元素和/或步骤。因此,此类条件语言通常不旨在暗示某些特征、元素和/或步骤对于一个或多个示例以任何方式是必需的,或者一个或多个示例必然包括用于决定的逻辑,无论是否有用户输入或提示,在任何特定示例中是否包括或将执行某些特征、元素和/或步骤。除非另外特别说明,否则诸如短语“X、Y或Z中的至少一个”之类的连词应被理解为表示项目、项等等可以是X、Y或Z,或其组合。
本文描述的和/或附图中描绘的流程图中的任何例程描述、元素或块应被理解为潜在地表示模块、段或代码的部分,其包括用于实现例程中的特定逻辑功能或元素的一个或多个可执行指令。替代实现被包括在本文描述的示例的范围内,其中元素或功能可以从所示或讨论的内容中被删除或乱序执行,包括基本上同步或以相反的顺序执行,这取决于所涉及的功能性,如本领域技术人员将理解的那样。应该强调的是,可以对上述示例进行许多变化和修改,其中的元素将被理解为其他可接受的示例。所有这些修改和变化都旨在被包括在本公开的范围内并受以下权利要求保护。
Claims (16)
1.一种计算机实现的方法,包括:
评估通信数据以标识被包括在所述通信数据中的至少一个数据令牌,所述至少一个数据令牌包括多个字符;
将被包括在所述至少一个数据令牌中的所述多个字符中的每个字符转换成包括从字符查找表获得的向量值的向量,其中所述字符查找表包括多个字符,所述多个字符中的每个字符具有关联向量,所述关联向量包括表示与所述字符相关联的一个或多个特性的值;
生成向量列表格式的向量列表,所述向量列表包括表示被包括在所述至少一个数据令牌中的所述多个字符中的每个字符的每个向量;以及
使用经机器学习模型训练的评估函数来评估所述向量列表以确定所述至少一个数据令牌是否包括敏感数据,
响应于确定所述至少一个数据令牌包括所述敏感数据,将所述通信数据关联到隔离存储装置中,
响应于确定所述至少一个数据令牌没有所述敏感数据,允许所述通信数据的传播。
2.根据权利要求1所述的计算机实现的方法,其中所述通信数据与电子邮件、文本消息或其他电子消息相关联,并且所述评估是确定所述至少一个数据令牌是否包括密码数据。
3.根据权利要求1所述的计算机实现的方法,其中所述经训练的评估函数基于递归机器学习模型,所述递归机器学习模型使用包括已知空格分隔的密码的数据集和包括空格分隔的非密码字符的数据集而被训练。
4.根据权利要求1所述的计算机实现的方法,其中所述经训练的评估函数基于递归机器学习模型,所述递归机器学习模型使用从所述字符查找表生成的向量化字符而被训练。
5.根据权利要求1所述的计算机实现的方法,其中所述字符查找表包括所述多个字符,所述多个字符中的每个字符包括具有关联值的向量,所述关联值表示与所述字符相关联的一个或多个特征或特性。
6.根据权利要求1所述的计算机实现的方法,其中响应于所述评估确定所述至少一个数据令牌包括所述敏感数据,并且在将所述通信数据关联到隔离存储装置中之前,评估在所述至少一个数据令牌之前和之后的预定数量的字符,以标识与所述至少一个数据令牌相关联的上下文,并且响应于确定所述上下文支持所述至少一个数据令牌包括所述敏感数据的所述确定,确定所述至少一个数据令牌包括所述敏感数据。
7.一种计算设备,包括:
硬件处理器;以及
与所述硬件处理器通信的非瞬态计算机可读存储介质,所述非瞬态计算机可读存储介质具有存储在其上的计算机可执行指令,所述计算机可执行指令在由所述硬件处理器执行时使所述硬件处理器:
接收包括多个字符集的电子消息,所述多个字符集由空格分隔;
将所述多个字符集中的每个字符集转换成向量列表以生成向量列表格式的多个向量列表,所述多个向量列表中的每个所生成的向量列表包括多个向量,所述多个向量中的每个向量包括向量值,所述向量值从字符查找表获得,所述字符查找表包括多个字符,所述多个字符中的每个字符具有关联向量,所述关联向量包括表示与所述字符相关联的一个或多个特性的值;
使用经机器学习模型训练的评估函数来评估所述多个向量列表中的每个向量列表以确定所述多个字符集中的至少一个字符集是否包括密码数据;以及
响应于确定所述多个字符集中的所述至少一个字符集包括所述密码数据,使计算机生成并显示用户界面,所述用户界面包括以下指示:所述电子消息包括所述密码数据。
8.根据权利要求7所述的计算设备,其中所述电子消息是电子邮件消息或文本消息。
9.根据权利要求7所述的计算设备,其中所述计算机可执行指令在由所述硬件处理器执行时使所述硬件处理器,在确定所述多个字符集中的至少一个字符集包括所述密码数据之后:
评估在包括所述密码数据的所述字符集之前和之后的预定数量的字符,以标识与包括所述密码数据的所述字符集相关联的上下文,以及
响应于确定所述上下文支持使用所述经训练的评估函数对所述字符集包括所述密码数据的所述确定,确定所述字符集包括所述密码数据。
10.根据权利要求7所述的计算设备,其中所述经训练的评估函数基于递归机器学习模型,所述递归机器学习模型使用包括已知空格分隔的密码的数据集和包括空格分隔的非密码字符的数据集而被训练。
11.根据权利要求7所述的计算设备,其中所述经训练的评估函数基于递归机器学习模型,所述递归机器学习模型使用从所述字符查找表生成的向量化字符而被训练。
12.一种计算设备,包括:
硬件处理器;以及
与所述硬件处理器通信的非瞬态计算机可读存储介质,所述非瞬态计算机可读存储介质具有存储在其上的计算机可执行指令,所述计算机可执行指令在由所述硬件处理器执行时使所述硬件处理器:
评估通信数据以标识被包括在所述通信数据中的至少一个数据令牌,所述至少一个数据令牌包括多个字符;
将被包括在所述至少一个数据令牌中的所述多个字符中的每个字符转换成包括从字符查找表获得的向量值的向量,其中所述字符查找表包括多个字符,所述多个字符中的每个字符具有关联向量,所述关联向量包括表示与所述字符相关联的一个或多个特性的值;
生成向量列表格式的向量列表,所述向量列表包括表示被包括在所述至少一个数据令牌中的所述多个字符中的每个字符的每个向量;以及
使用经机器学习模型训练的评估函数来评估所述向量列表以确定所述至少一个数据令牌是否包括密码,
响应于确定所述至少一个数据令牌包括所述密码,通知用户:所述通信数据包括所述密码并防止所述通信数据的传播,
响应于确定所述至少一个数据令牌没有所述密码,允许所述通信数据的传播。
13.根据权利要求12所述的计算设备,其中所述通信数据与电子邮件、文本消息或其他电子消息相关联。
14.根据权利要求12所述的计算设备,其中所述经训练的评估函数基于递归机器学习模型,所述递归机器学习模型使用包括已知空格分隔的密码的数据集和包括空格分隔的非密码字符的数据集而被训练。
15.根据权利要求12所述的计算设备,其中所述经训练的评估函数基于递归机器学习模型,所述递归机器学习模型使用从所述字符查找表生成的向量化字符而被训练。
16.根据权利要求12所述的计算设备,其中所述计算机可执行指令在由所述处理器执行时使所述处理器:
评估在所述至少一个数据令牌之前和之后的预定数量的字符,以标识与所述至少一个数据令牌相关联的上下文,以及
当所述上下文支持所述至少一个数据令牌包括所述密码的所述确定时,确定所述至少一个数据令牌包括所述密码。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/389,557 | 2019-04-19 | ||
US16/389,557 US11159551B2 (en) | 2019-04-19 | 2019-04-19 | Sensitive data detection in communication data |
PCT/US2020/022392 WO2020214293A1 (en) | 2019-04-19 | 2020-03-12 | Sensitive data detection in communication data |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113692724A CN113692724A (zh) | 2021-11-23 |
CN113692724B true CN113692724B (zh) | 2023-05-30 |
Family
ID=70190200
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202080028490.XA Active CN113692724B (zh) | 2019-04-19 | 2020-03-12 | 通信数据中的敏感数据检测 |
Country Status (4)
Country | Link |
---|---|
US (1) | US11159551B2 (zh) |
EP (1) | EP3957035B1 (zh) |
CN (1) | CN113692724B (zh) |
WO (1) | WO2020214293A1 (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20210034784A1 (en) * | 2019-08-01 | 2021-02-04 | International Business Machines Corporation | Detangling virtual world and real world portions of a set of articles |
US11818091B2 (en) | 2020-05-10 | 2023-11-14 | Salesforce, Inc. | Embeddings-based discovery and exposure of communication platform features |
US11637714B2 (en) | 2020-10-30 | 2023-04-25 | Salesforce, Inc. | Embeddings-based discovery and exposure of communication platform features |
US11711404B2 (en) * | 2020-10-30 | 2023-07-25 | Salesforce, Inc. | Embeddings-based recommendations of latent communication platform features |
US11830099B2 (en) * | 2020-11-09 | 2023-11-28 | Adobe Inc. | Machine learning modeling for protection against online disclosure of sensitive data |
US20220286438A1 (en) * | 2021-03-08 | 2022-09-08 | Adobe Inc. | Machine learning techniques for mitigating aggregate exposure of identifying information |
CN113128220B (zh) * | 2021-04-30 | 2023-07-18 | 北京奇艺世纪科技有限公司 | 文本判别的方法、装置、电子设备及存储介质 |
CN113472686B (zh) * | 2021-07-06 | 2024-03-08 | 深圳乐信软件技术有限公司 | 信息识别方法、装置、设备及存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107122479A (zh) * | 2017-05-03 | 2017-09-01 | 西安交通大学 | 一种基于深度学习的用户密码猜测系统 |
CN109543084A (zh) * | 2018-11-09 | 2019-03-29 | 西安交通大学 | 一种建立面向网络社交媒体的隐蔽敏感文本的检测模型的方法 |
Family Cites Families (30)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040133574A1 (en) * | 2003-01-07 | 2004-07-08 | Science Applications International Corporaton | Vector space method for secure information sharing |
US7730540B1 (en) * | 2004-12-08 | 2010-06-01 | Symantec Corporation | Method for scanning protected components of electronic messages |
US8752181B2 (en) * | 2006-11-09 | 2014-06-10 | Touchnet Information Systems, Inc. | System and method for providing identity theft security |
US9130986B2 (en) * | 2008-03-19 | 2015-09-08 | Websense, Inc. | Method and system for protection against information stealing software |
US8699796B1 (en) * | 2008-11-11 | 2014-04-15 | Trend Micro Incorporated | Identifying sensitive expressions in images for languages with large alphabets |
US20110285634A1 (en) * | 2010-05-24 | 2011-11-24 | Karbonstream Corporation | Portable data entry device |
US9323249B2 (en) * | 2011-03-31 | 2016-04-26 | King Abdulaziz City for Science & Technology | Matrix code symbols for accurate robot tracking |
US8874430B2 (en) * | 2011-03-31 | 2014-10-28 | King Abdulaziz City For Science And Technology | Applications for encoding and decoding multi-lingual text in a matrix code symbol |
US8626714B1 (en) * | 2011-09-07 | 2014-01-07 | Symantec Corporation | Automated separation of corporate and private data for backup and archiving |
TWI484357B (zh) * | 2011-12-02 | 2015-05-11 | Inst Information Industry | 量化式資料分析方法以及量化式資料分析裝置 |
US20130212007A1 (en) * | 2012-02-10 | 2013-08-15 | Protegrity Corporation | Tokenization in payment environments |
US10354187B2 (en) * | 2013-01-17 | 2019-07-16 | Hewlett Packard Enterprise Development Lp | Confidentiality of files using file vectorization and machine learning |
US9237006B2 (en) * | 2013-09-30 | 2016-01-12 | Protegrity Corporation | Table-connected tokenization |
US9230136B2 (en) * | 2013-09-30 | 2016-01-05 | Protegrity Corporation | Tokenization column replacement |
US9953171B2 (en) * | 2014-09-22 | 2018-04-24 | Infosys Limited | System and method for tokenization of data for privacy |
US11328307B2 (en) * | 2015-02-24 | 2022-05-10 | OpSec Online, Ltd. | Brand abuse monitoring system with infringement detection engine and graphical user interface |
CN106874253A (zh) * | 2015-12-11 | 2017-06-20 | 腾讯科技(深圳)有限公司 | 识别敏感信息的方法及装置 |
US10083318B2 (en) * | 2015-12-28 | 2018-09-25 | Fortinet, Inc. | Pattern matching for data leak prevention |
US10826940B2 (en) * | 2016-03-11 | 2020-11-03 | Netskope, Inc. | Systems and methods of enforcing multi-part policies on data-deficient transactions of cloud computing services |
WO2018077401A1 (en) * | 2016-10-26 | 2018-05-03 | Swiss Reinsurance Company Ltd. | Data extraction engine for structured, semi-structured and unstructured data with automated labeling and classification of data patterns or data elements therein, and corresponding method thereof |
JP6224811B1 (ja) * | 2016-12-07 | 2017-11-01 | たけおかラボ株式会社 | ルールセットを選択可能な推論エンジンを有するプログラム、装置及び方法 |
US11496286B2 (en) * | 2017-01-08 | 2022-11-08 | Apple Inc. | Differential privacy with cloud data |
US10984316B2 (en) * | 2017-06-19 | 2021-04-20 | International Business Machines Corporation | Context aware sensitive information detection |
US11062041B2 (en) * | 2017-07-27 | 2021-07-13 | Citrix Systems, Inc. | Scrubbing log files using scrubbing engines |
US20190050600A1 (en) * | 2017-08-11 | 2019-02-14 | Ca, Inc. | Masking display of sensitive information |
US10339680B2 (en) * | 2017-10-06 | 2019-07-02 | Adobe Inc. | Graphics control data for performing skeleton-based modifications of a typeface design |
CN108171073B (zh) * | 2017-12-06 | 2021-08-20 | 复旦大学 | 一种基于代码层语义解析驱动的隐私数据识别方法 |
US20200019632A1 (en) * | 2018-07-11 | 2020-01-16 | Home Depot Product Authority, Llc | Presentation of related and corrected queries for a search engine |
US10347293B1 (en) * | 2018-07-31 | 2019-07-09 | Droplr, Inc. | Detecting, redacting, and scoring confidential information in video |
US20200334603A1 (en) * | 2019-04-18 | 2020-10-22 | Verizon Patent And Licensing Inc. | Systems and methods for automated provider rationalization using machine learning-assisted and advanced analytics techniques |
-
2019
- 2019-04-19 US US16/389,557 patent/US11159551B2/en active Active
-
2020
- 2020-03-12 WO PCT/US2020/022392 patent/WO2020214293A1/en active Application Filing
- 2020-03-12 CN CN202080028490.XA patent/CN113692724B/zh active Active
- 2020-03-12 EP EP20717478.0A patent/EP3957035B1/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107122479A (zh) * | 2017-05-03 | 2017-09-01 | 西安交通大学 | 一种基于深度学习的用户密码猜测系统 |
CN109543084A (zh) * | 2018-11-09 | 2019-03-29 | 西安交通大学 | 一种建立面向网络社交媒体的隐蔽敏感文本的检测模型的方法 |
Non-Patent Citations (2)
Title |
---|
Qian Wang ; Minxin Du ; Xiuying Chen ; Yanjiao Chen ; Pan Zhou ; Xiaofeng Chen ; Xinyi Huang.Privacy-Preserving Collaborative Model Learning: The Case of Word Vector Training.2018,第30卷(第12期),全文. * |
李伟伟 ; 张涛 ; 林为民 ; 邓松 ; 时坚 ; 汪晨 ; .基于文本内容的敏感数据识别方法研究与实现.计算机工程与设计.2013,(第04期),全文. * |
Also Published As
Publication number | Publication date |
---|---|
US11159551B2 (en) | 2021-10-26 |
CN113692724A (zh) | 2021-11-23 |
WO2020214293A1 (en) | 2020-10-22 |
EP3957035B1 (en) | 2023-03-08 |
EP3957035A1 (en) | 2022-02-23 |
US20200336501A1 (en) | 2020-10-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113692724B (zh) | 通信数据中的敏感数据检测 | |
US11997115B1 (en) | Message platform for automated threat simulation, reporting, detection, and remediation | |
US10601865B1 (en) | Detection of credential spearphishing attacks using email analysis | |
US10027701B1 (en) | Method and system for reducing reporting of non-malicious electronic messages in a cybersecurity system | |
US9912687B1 (en) | Advanced processing of electronic messages with attachments in a cybersecurity system | |
US9264418B1 (en) | Client-side spam detection and prevention | |
US11785464B2 (en) | Media agnostic content access management | |
US10552238B2 (en) | Secure inter-process communications for mobile devices | |
US9043417B1 (en) | Detecting spam across a social network | |
Cohen et al. | Novel set of general descriptive features for enhanced detection of malicious emails using machine learning methods | |
EP3868060A1 (en) | Display of notifications in a lock screen with a privacy feature | |
WO2020198187A1 (en) | Email attack detection and forensics | |
EP2919422B1 (en) | Method and device for detecting spoofed messages | |
US10078750B1 (en) | Methods and systems for finding compromised social networking accounts | |
US11888889B2 (en) | Securing against network vulnerabilities | |
US11356481B1 (en) | Preventing phishing attempts of one-time passwords | |
US20230065787A1 (en) | Detection of phishing websites using machine learning | |
Berg | Development and implementation of a phishing email detection application | |
Cohen et al. | Here Comes The AI Worm: Unleashing Zero-click Worms that Target GenAI-Powered Applications | |
Mohan et al. | Jeev Time: Secure Authentication Using Integrated Face Recognition in Social Media Applications | |
WO2024112396A1 (en) | Generating a content signature of a textual communication using optical character recognition and text processing |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |