使用运行时脚本执行事件的行为分析检测和防止恶意脚本攻击制造技术

技术编号:33363722 阅读:23 留言:0更新日期:2022-05-11 22:21
一种检测基于脚本的攻击的方法和系统。在这种方法中,针对在被检测的终端用户客户端浏览器处生成的可追踪数据结构来执行行为分析,该可追踪数据结构优选以调用流图(CFG)的形式。CFG包括一组运行时JavaScript执行数据点和一个或更多个相关联的事件链,这些事件链包括执行数据点及其相对排序。它是在客户端浏览器中与和页面的交互相关联地生成的,并且它表示该特定交互的基于上下文的记录。通过从与该页面的其他此类交互中收集类似的CFG,系统识别表示一个或更多个恶意JavaScript攻击的执行流异常。然后,可以减轻这些攻击,例如,通过更新页面或与页面相关联的访问策略,使得攻击无法针对与页面交互的其他用户成功地执行。无法针对与页面交互的其他用户成功地执行。无法针对与页面交互的其他用户成功地执行。

【技术实现步骤摘要】
【国外来华专利技术】使用运行时脚本执行事件的行为分析检测和防止恶意脚本攻击
[0001]背景


[0002]本申请总体上涉及通过检测和减轻基于脚本的攻击来加强网页完整性。
[0003]相关技术的简要描述
[0004]随着通过web应用处理的信息对公司、客户、组织和国家变得至关重要,保护web应用变得极其重要。web应用管理大量信息,包括财务数据、医疗记录、社会安全号码、知识产权和国家安全数据,并且web应用必须安全地处理这些信息,同时保持效率和可用性。
[0005]随着政府和媒体加强审查,在线业务正面临着来自哪怕是最小的数据泄露的严重影响。在线业务、电子商务、旅游和金融机构每天都受到损害,导致客户和收入损失、信任下降、用户隐私受损、品牌声誉受损和监管处罚。
[0006]安全专家认为,在所有与机密性、可用性和完整性相关的风险中,恶意JavaScript(JS)攻击是风险最大的,通常也是最不为人所知的。这些类型的攻击通常集中在应用本身和可用的功能上,同时环境漏洞为应用保护机制的恶意破坏提供了手段,这些类型的攻击通常是为了利用或获得对私有信息或系统资源的访问。收集的信息可以包括PII(个人身份信息)数据,诸如社会安全号码、出生日期和婚前姓名,这些数据通常用于身份盗窃。攻击者的另一个常见目标是信用卡数据,当不加保护和加密时,该信用卡数据可能会被用于对组织最有价值的资产——他们的客户——造成重大损害。
[0007]有一些已知的方法来检测和减轻这种类型的漏洞,包括但不限于软件开发生命周期(SDLC),以及传统的web应用安全解决方案,诸如web应用防火墙(WAF)、入侵防御系统(IPS)等。这些方法提供了一定的好处和优势,但它们不是为了持续验证供应链攻击和恶意代码的执行而设计的。
[0008]本领域仍然需要改进的技术来保护动态在线业务web环境。
[0009]简要概述
[0010]本公开提供了一种使用运行时JavaScript执行数据的行为分析来检测基于脚本的攻击的方法和系统。在一个实施例中,该系统包括客户端侧组件和服务器侧后端处理系统两者。在客户端侧,当页面被终端用户请求、加载和操作时,用户会话内的页面视图被主动监控,并且作为这些活动的结果而出现的所得到的JavaScript执行数据点的链被捕获并用于创建可追踪数据结构,该可追踪数据结构被递送给后端并由后端进行分析。如本文中所使用的,JavaScript执行数据点与由浏览器JavaScript运行时执行的任何命令或函数相关联,以及与相关联的执行元数据的数据集(例如,构造函数(constructor)名称、访问的属性(property)或方法、时间戳、调用者脚本(发起者)等)相关联。优选地,可追踪数据结构在调用流图(CFG)中实现,该调用流图捕获由页面和第三方资源进行的所有JavaScript方法调用(包括设置器(setter)和获取器(getter))。CFG的每个节点表示一个JavaScript执行数据点,并且因此该图代表应用的执行的准确记录,包括调用者

被调用者关系,其中调用
者函数节点和被调用函数节点通过唯一的ID引用相连接。CFG描述了两个或更多个事件、邻居节点、祖父节点、父节点和兄弟节点之间,以及相对于同步流和异步流两者的所有关系。CFG中的特定执行数据点有一组相关联的特性(attribute)(执行元数据),该组相关联的特性通常被表示为向量。在构建CFG时,事件被映射到其对应的向量表示,事件与事件链中的其他事件连接(或以其他方式相关联),并且优选地进一步用描述该特定事件的一个或更多个相关特性来使事件富集(enrich)。为了处理效率,客户端侧组件优选地还将这些数据处理成一个压缩和序列化的二进制文件,然后该压缩和序列化的二进制文件被安全地从客户端侧递送到服务器侧用于分析。
[0011]在服务器侧,系统配置有一些组件:检测和分类引擎、推荐引擎和策略引擎。相对于客户端侧组件执行的实时CFG生成处理,服务器侧分析和处理通常发生在外部(带外)。检测和分类引擎通过一系列检测层运行接收到的CFG。这些检测层包括以下一个或更多个:AI深度学习模型层、签名层、启发式(heuristic)层等,并且检测云基于接收的数据决定是否发布事故(incident)(或采取某种其他行动)。如果引发了事故,则向页面发起者通知该事故,并且推荐引擎被配置为选择推荐的行动方案。如果推荐被采纳,则推荐引擎的输出被提供给策略引擎,然后策略引擎自动生成一个或更多个策略更新来解决事故中提出的问题。然后,通常将策略更新捆绑在客户端侧组件的新实例内,然后推送回网站(或负责网站分发(delivery)的内容分发网络(CDN)),以便于针对后来访问该页面的其他终端用户继续实施策略更新。
[0012]客户端侧组件和服务器侧系统一起提供了运行时基于web应用的自我保护(RWASP)解决方案,该解决方案提供了对运行时JavaScript执行数据点的高效和可扩展的行为分析。该解决方案保护在线业务免受web供应链攻击(第三方资源受损)、零日攻击、web漏洞和恶意软件代码注入。
[0013]前面已经概述了主题的一些更相关的特征。这些特征应被解释为仅仅是说明性的。通过以不同的方式应用所公开的主题或如将要描述的通过修改主题可以获得许多其他有益的结果。
[0014]附图简述
[0015]为了更全面理解主题及其优点,现在参考结合附图进行的以下描述,附图中:
[0016]图1是示出本公开的用于检测和减轻基于脚本的攻击的代表性系统架构的框图;
[0017]图2是示出根据一个实施例的实现用于创建调用流图(CFG)的检测机制的浏览器内组件的架构的框图;
[0018]图3描绘了代表性的CFG;
[0019]图4描绘了图3中的CFG的一部分的压缩和序列化的二进制表示,该压缩和序列化的二进制表示被提供给服务器侧用于进一步分析;和
[0020]图5是服务器侧后端基础设施中的一组检测机制的优选实施例的详细框图。
[0021]详细描述
[0022]假定读者熟悉JavaScript(JS)和基于浏览器的具有脚本的网页处理。众所周知,浏览器(例如Chrome、Safari、Firefox和许多其他浏览器)根据单线程的执行模型来操作,其中在触发事件时,仅该事件被携带,并且所有其他活动被阻止,直到相关联的回调发生。更正式地说,对象状态的变化被称为事件。在HTML中,有表示某
个活动由用户或由浏览器执行的各种事件。当JavaScript代码被包含在HTML中时,JavaScript会对这些事件做出反应并允许执行。这种对事件做出反应的过程称为事件处理,并且JavaScript经由事件处理器(event handler)来处理HTML事件。也就是说,
[0023]当浏览器请求、加载和执行页面(本文中有时称为页面视图)时,可能会出现复杂的执行活动web。根据业务逻辑的复杂性,执行活动通常包括复杂的同步和异步流,可能代表许多执行序列。本文档来自技高网
...

【技术保护点】

【技术特征摘要】
【国外来华专利技术】1.一种检测基于脚本的攻击的方法,包括:接收可追踪数据结构,所述可追踪数据结构包括一组运行时JavaScript执行数据点和一个或更多个相关联的事件链,所述一个或更多个相关联的事件链包括所述执行数据点以及所述执行数据点的相对排序,所述可追踪数据结构已经在客户端浏览器中与页面视图的第一交互相关联地生成;和对所述可追踪数据结构和至少一个其他可追踪数据结构执行行为执行分析,所述至少一个其他可追踪数据结构表示与所述页面视图的第二交互;和响应于所述行为执行分析,识别攻击。2.根据权利要求1所述的方法,其中,所述可追踪数据结构是调用流图(CFG)。3.根据权利要求2所述的方法,其中,通过在页面中注入控制脚本,在所述客户端浏览器处生成所述CFG。4.根据权利要求3所述的方法,其中,所述控制脚本在所述浏览器中作为任何页面脚本之前的第一脚本运行,使得所述页面中的所有执行流都由所述控制脚本控制并且通过所述控制脚本传递。5.根据权利要求1所述的方法,其中,所述CFG包括一组节点,其中,给定节点与特定的JavaScript执行数据点相关联。6.根据权利要求5所述的方法,其中,给定节点被富集以包括描述由该给定节点表示的执行数据点的一个或更多个特性。7.根据权利要求6所述的方法,其中,所述给定节点包括一组代码执行收集的数据。8.根据权利要求7所述的方法,其中,所述代码执行收集的数据包括以下至少一个:命令类型、构造函数、属性、元素名称、元素特性、唯一的DOM对象标识符、父节点标识符、异步追踪标识符、兄弟节点标识符、脚本发起者源标识符、传出URL、敏感数据区域类型以及一个或更多个事件描述符。9.根据权利要求8所述的方法,其中,所述CFG作为压缩和序列化的二进制表示被接收,在所述二进制表示中编码了所述代码执行收集的数据。10.根据权利要求1所述的方法,进一步包括:响应于识别出脚本漏洞,更新与网页相关联的策略;和实例化更新的策略。11.根据权利要求10所述的方法,其中,所述更新的策略在所述客户端浏览器中被实例化。12.根据权利要求1所述的方法,其中,所述第一交互和所述第...

【专利技术属性】
技术研发人员:马奥尔
申请(专利权)人:阿卡麦科技公司
类型:发明
国别省市:

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

1