基于模式匹配的数据集提取制造技术

技术编号:19397006 阅读:32 留言:0更新日期:2018-11-10 05:06
在示例实施例中,一种系统和方法生成数据集,该数据集用于调节分析器以探测与特定的面向web的应用相关的活动。该系统和方法捕获在面向web的应用的框架处接收的数据流。该系统和方法还捕获由框架触发的处理数据流的第一组函数、第二组函数和数据库查询。该系统和方法将第一组函数与数据流的数据分组相匹配,并且将第二组函数与数据库查询相匹配。在一些实施例中,匹配第一组函数包括将第一组函数的参数中的数据与数据分组的字段中的数据进行模式匹配,并且将第二组函数的参数中的数据与数据库查询的表达式中的数据相匹配。该系统和方法将匹配的函数和数据库查询提取到数据集中,并且基于提取的数据集来探测面向web的应用的活动以检测安全攻击。

【技术实现步骤摘要】
【国外来华专利技术】基于模式匹配的数据集提取相关申请的交叉引用本申请要求于2016年1月22日提交的美国临时申请No.62/286,282的权益。上述申请的全部教导通过引用整体并入本文。
技术介绍
随着每一天的过去,网络攻击变得越来越复杂。攻击的目标是利用特定应用中的特定漏洞。这种攻击的原因和影响在网络层是无法辨别的,因为这些攻击超出了最简单的攻击范围并且不会触发可以被视为明显恶意的网络活动。企业数据库是攻击者的优选目标,因为诸如信用卡号、客户社会安全号、健康记录、其他个人身份信息、详细客户列表、设计计划、源代码和其他知识产权等高价值信息都驻留在这些数据库中。为了应对这些针对性的攻击,很多供应商已经部署了网络安全产品,诸如试图将用户访问和行为与应用中的标记联系起来的下一代防火墙和面向web的应用防火墙、或者试图在沙盒中运行供应商认为是可疑代码的内容并且等待这样的代码执行可观察的恶意活动的沙盒技术。为了应对这种检测机制,恶意软件通常会调节其行为,诸如等待检测引擎在恶意软件释放其恶意意图之前放弃查看。这些行为上的变化阻碍了当代网络安全解决方案识别攻击的行为的能力,并且从而阻碍了他们以及时地检测到恶意软件的存在的能力。
技术实现思路
如今,计算机应用的大量恶意软件攻击是由于恶意行为者通过提供特别制作的输入数据来注入和随后执行恶意内容或从数据库中提取数据的能力。这些恶意活动可以在企业的信息技术(IT)组织不知情的情况下完成。注入这样的恶意内容的过程涉及标识和利用设计不良的代码,该代码执行不充分的输入验证。当前的网络安全技术或者试图观察网络流量中的恶意内容、其来源或者跟踪应用的网络行为,并且希望网络行为表现出一些先前编目的异常活动,或者在将可疑代码分发到服务器以供执行之前在沙箱中屏蔽可疑代码的行为。这些技术不具有以足够低的粒度实时地检查真实的面向web的应用以可靠地检测与这样的恶意内容的执行一起出现的根本原因触发的能力。检测这种根本原因触发的障碍是无法跟踪通过应用的框架和业务逻辑对数据流的处理。本专利技术的实施例捕获在框架处接收的数据流的大量数据分组,并且进一步捕获在接收的数据流的处理期间触发的大量函数、它们的参数和数据库查询。这包括在框架和业务逻辑两者中捕获上述信息。本专利技术的其他实施例还捕获读取或写入存储器的指令的线程ID和地址以及操作的存储器的地址和范围。这些实施例进一步使用模式匹配和机器学习来从该大量捕获数据中隔离分组、函数和数据库查询、特定于应用的线程ID和存储器操作,并且关联这些隔离的分组、函数、查询和存储器访问之间的关系。隔离和相关的分组、函数、查询、线程ID和存储器访问、以及诸如用户、会话、IP地址、端口、协议、线程、代码地址、存储器操作(读/写)所针对的存储器地址和范围等某些上下文数据被提取到数据集。可以根据数据集调节分析器以监听一组相关的分组、函数和查询以跟踪和探测与特定应用相关的活动。这种调节使得分析器能够可靠地检测在这样的恶意内容的执行之前的根本原因触发。例如,这种调节使得分析器能够在处理用户提供的数据的隔离函数和机器代码指令中检查,以确定它们如何处理恶意内容。本公开的实施例涉及生成用于调节分析器以探测与特定应用相关的活动的数据集的系统和方法。该系统和方法捕获在应用的框架处接收的数据流。在示例实施例中,框架可以根据以下中的至少一项或多项来编写:二进制、.NET、JAVA、PHP、Ruby和Python语言。在一些实施例中,第一流量分析器或分组捕获工具可以被配置为捕获数据流。该系统和方法还捕获由框架触发的处理数据流的第一组函数。在一些实施例中,第一剖析器可以被配置为捕获由应用执行的函数、线程ID和存储器访问。该系统和方法将捕获的第一组函数的子集与捕获的数据流的数据分组相匹配。在一些实施例中,模式匹配引擎可以被配置为执行匹配。在一些实施例中,匹配捕获的第一组函数的子集包括对这些函数的参数中的数据、线程ID和/或对数据分组的字段中的数据的存储器访问进行模式匹配。该系统和方法将捕获的第一组函数的匹配子集、和/或线程ID以及存储器访问提取到数据集中。该系统和方法基于提取的数据集探测应用的活动以检测网络攻击。在一些实施例中,该系统和方法捕获由框架触发的处理数据流的第二组函数。在一些实施例中,第二剖析器可以被配置为捕获由应用执行的第二组函数、线程ID和存储器访问。在这些实施例中,该系统和方法还捕获由框架生成的对数据库服务器的数据库查询。在一些实施例中,第二流量分析器或分组捕获工具可以被配置为捕获数据库查询。在这些实施例中,该系统和方法将捕获的数据库查询中的一个或多个与捕获的第二组函数的子集相匹配。一个或多个捕获的数据库查询的匹配包括将捕获的第二组函数的参数中的数据与捕获的一个或多个数据库查询的表达式中的数据进行模式匹配。在这些实施例中,该系统和方法还将匹配的一个或多个捕获的数据库查询和捕获的第二组函数的匹配子集提取到提取的数据集中。在这些实施例中的一些中,该系统和方法还关联匹配的数据分组、捕获的第一组函数的匹配子集、捕获的第二组函数的匹配子集、存储器访问的匹配内容、以及匹配的一个或多个数据库查询之间的关系。该系统和方法基于相关关系来映射数据集中的匹配的数据分组、捕获的函数的匹配子集、存储器访问的匹配内容、以及匹配的一个或多个数据库查询。该系统和方法还基于提取的数据集中的匹配的数据分组、捕获的函数的匹配子集、存储器访问的匹配内容、以及匹配的一个或多个数据库查询的映射来探测应用的活动。在一些实施例中,该系统和方法在数据流的处理期间捕获每个存储器访问的内容。该系统和方法将提取的数据集与每个捕获的存储器访问相比较,以标识用于在处理用户数据时使用的捕获的第一组函数和第二组函数的指令。该系统和方法创建所标识指令的链,使得被提取到数据集的链表示要在面向web的应用中监测的漏洞。该系统和方法通过监测所创建的指令链来在运行时探测面向web的应用的活动,该探测包括在每个捕获的函数的输出处添加用户内容以及从每个捕获的函数的输入中移除上下文。在示例实施例中,捕获的第一组函数由框架在去往框架的业务逻辑层的接口处触发,并且捕获的第二组函数由框架在来自框架的业务逻辑层的接口处触发。在一些示例实施例中,数据流的捕获还包括该系统和方法基于框架的协议配置来解密数据流。在一些示例实施例中,该系统和方法还提取以下中的至少一项:用户、用户数据、会话信息、IP地址、端口号、协议上下文、线程上下文、以及将数据流处理成提取的数据集以探测面向web的应用的活动的流量方向。在一些示例实施例中,该系统和方法通过在运行时捕获在面向web的应用的框架处接收的数据分组来探测活动。在示例实施例中,第三流量分析器被配置为捕获数据分组。该系统和方法进一步捕获数据集中的提取的数据集中的捕获的第一组函数的匹配子集和捕获的第二组函数的匹配子集的每个触发函数,并且捕获数据集中的捕获的数据库查询的每个触发数据库查询。在示例实施例中,第三和第四剖析器被配置为分别捕获第一和第二组函数,并且第四流量分析器被配置为捕获数据库查询。该系统和方法对于第一组函数的每个触发函数,检查第二组函数的映射子集的触发以及映射的一个或多个数据库查询的触发。如果捕获的分组的数据与每个触发函数的参数中的数据和每个触发数据库查询本文档来自技高网...

【技术保护点】
1.一种计算机实现的方法,包括:捕获在面向web的应用的框架处接收的数据流;捕获由所述框架触发的处理所述数据流的第一组函数;将捕获的所述第一组函数的子集与捕获的所述数据流的数据分组相匹配;将捕获的所述第一组函数的匹配的所述子集和所述数据分组的数据提取到数据集中;以及基于提取的所述数据集探测所述面向web的应用的活动以检测安全攻击。

【技术特征摘要】
【国外来华专利技术】2016.01.22 US 62/286,2821.一种计算机实现的方法,包括:捕获在面向web的应用的框架处接收的数据流;捕获由所述框架触发的处理所述数据流的第一组函数;将捕获的所述第一组函数的子集与捕获的所述数据流的数据分组相匹配;将捕获的所述第一组函数的匹配的所述子集和所述数据分组的数据提取到数据集中;以及基于提取的所述数据集探测所述面向web的应用的活动以检测安全攻击。2.根据权利要求1所述的方法,还包括:捕获由所述框架触发的处理所述数据流的第二组函数;捕获由所述框架生成的对数据库服务器的数据库查询;将捕获的所述数据库查询中的一个或多个数据库查询与捕获的所述第二组函数的子集相匹配;以及将匹配的、捕获的所述一个或多个数据库查询和捕获的所述第二组函数的匹配的所述子集提取到提取的所述数据集中。3.根据权利要求2所述的方法,还包括:关联匹配的所述数据分组、捕获的所述第一组函数的匹配的所述子集、捕获的所述第二组函数的匹配的所述子集、以及所述一个或多个数据库查询之间的关系,所述关联基于用于处理捕获的所述第一组函数的匹配的所述子集、捕获的所述第二组函数的匹配的所述子集、以及所述一个或多个数据库查询的跟踪线程;基于关联的所述关系来映射所述数据集中的匹配的所述数据分组、捕获的所述第一组函数的匹配的所述子集、捕获的所述第二组函数的匹配的所述子集、以及所述一个或多个数据库查询;以及基于提取的所述数据集中的匹配的所述数据分组、捕获的所述第一组函数的匹配的所述子集、捕获的所述第二组函数的匹配的所述子集、以及所述一个或多个数据库查询的所述映射来探测所述面向web的应用的活动。4.根据权利要求3所述的方法,其中匹配捕获的所述数据库查询中的所述一个或多个数据库查询包括将捕获的所述第二组函数的所述子集中的一个或多个捕获的函数的参数中的数据与捕获的所述一个或多个数据库查询的表达式中的数据进行模式匹配。5.根据权利要求3所述的方法,其中探测所述活动还包括:在运行时捕获在所述面向web的应用的框架处接收的数据分组;捕获捕获的所述第一组函数的匹配的所述子集的每个触发函数和所述数据集中的提取的所述数据集中的捕获的所述第二组函数的匹配的所述子集,并且在运行时捕获所述数据集中的捕获的所述数据库查询的每个触发数据库查询;对于所述第一组函数的每个触发函数,检查所述第二组函数的映射的所述子集的触发以及映射的所述一个或多个数据库查询的触发;以及如果所述第二组函数的映射的所述子集和映射的所述一个或多个数据查询中的至少一项未被触发,则声明安全攻击。6.根据权利要求2所述的方法,其中:(i)所述第一组函数的所述子集由所述框架在去往所述框架的业务逻辑层的接口处触发,(ii)所述第二组函数的所述子集由所述框架在来自所述框架的所述业务逻辑层的接口处触发。7.根据权利要求1所述的方法,其中匹配捕获的所述第一组函数的所述子集包括将捕获的所述第一组函数的所述子集中的一个或多个捕获的函数的参数中的数据与所述数据分组的字段中的数据进行模式匹配。8.根据权利要求1所述的方法,其中捕获数据流还包括基于所述框架的协议配置来解密所述数据流。9.根据权利要求1所述的方法,还包括提取以下中的至少一项:用户、用户数据、会话信息、IP地址、端口号、协议上下文、线程ID、线程上下文、读取或写入存储器的指令的地址、对存储器进行操作的范围、以及将所述数据流处理成提取的所述数据集以用于探测所述面向web的应用的活动的流量方向。10.根据权利要求1所述的方法,其中所述框架根据以下中的至少一项而被配置:二进制、.NET、JAVA、PHP、Ruby和Python语言。11.根据权利要求1所述的方法,还包括:在所述框架中的所述数据流的所述处理期间捕获每个存储器访问的内容;将提取的所述数据集与捕获的每个存储器访问相比较以标识在处理用户数据时使用的捕获的所述第一组函数和捕获的所述第二组函数的指令;创建标识的所述指令的链,创建的所述链被提取到所述数据集以表示所述面向web的应用中的漏洞;以及通过监测创建的所述链来探测所述面向web的应用在运行时的所述活动,所述探测包括在每个捕获的函数的输出处添加用户内容以及从每个捕获的函数的输入中移除上下文。12.一种计算机系统,包括:第一流量分析器,被配置为捕获在面向web的应用的框架处接收的数据流;第一剖析器,被配置为捕获由所述框架触发的处理所述数据流的第一组函...

【专利技术属性】
技术研发人员:S·V·古普塔
申请(专利权)人:弗塞克系统公司
类型:发明
国别省市:美国,US

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1