CN114467282A - 使用运行时脚本执行事件的行为分析检测和防止恶意脚本攻击 - Google Patents
使用运行时脚本执行事件的行为分析检测和防止恶意脚本攻击 Download PDFInfo
- Publication number
- CN114467282A CN114467282A CN202080066893.3A CN202080066893A CN114467282A CN 114467282 A CN114467282 A CN 114467282A CN 202080066893 A CN202080066893 A CN 202080066893A CN 114467282 A CN114467282 A CN 114467282A
- Authority
- CN
- China
- Prior art keywords
- execution
- page
- cfg
- script
- policy
- 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
Links
- 238000013515 script Methods 0.000 title claims abstract description 38
- 238000004458 analytical method Methods 0.000 title claims abstract description 21
- 230000003542 behavioural effect Effects 0.000 title claims description 7
- 238000001514 detection method Methods 0.000 title description 29
- 230000002265 prevention Effects 0.000 title description 3
- 238000000034 method Methods 0.000 claims abstract description 53
- 230000003993 interaction Effects 0.000 claims abstract description 14
- 230000006399 behavior Effects 0.000 claims description 10
- 238000004590 computer program Methods 0.000 claims description 8
- 230000001360 synchronised effect Effects 0.000 claims description 7
- 238000013136 deep learning model Methods 0.000 claims description 5
- 230000004044 response Effects 0.000 claims description 4
- 238000010801 machine learning Methods 0.000 claims description 2
- 230000006870 function Effects 0.000 description 34
- 230000000694 effects Effects 0.000 description 15
- 230000008569 process Effects 0.000 description 12
- 238000012545 processing Methods 0.000 description 9
- 239000000243 solution Substances 0.000 description 8
- 230000007246 mechanism Effects 0.000 description 6
- 239000003999 initiator Substances 0.000 description 5
- 230000015654 memory Effects 0.000 description 5
- 230000000116 mitigating effect Effects 0.000 description 5
- 230000009471 action Effects 0.000 description 4
- 230000008901 benefit Effects 0.000 description 4
- 230000008859 change Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 239000008186 active pharmaceutical agent Substances 0.000 description 3
- 230000006378 damage Effects 0.000 description 3
- 230000000903 blocking effect Effects 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000013527 convolutional neural network Methods 0.000 description 2
- 235000014510 cooky Nutrition 0.000 description 2
- 230000001771 impaired effect Effects 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- 239000013598 vector Substances 0.000 description 2
- 208000028257 Joubert syndrome with oculorenal defect Diseases 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000000712 assembly Effects 0.000 description 1
- 238000000429 assembly Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000001010 compromised effect Effects 0.000 description 1
- 230000001276 controlling effect Effects 0.000 description 1
- 238000013480 data collection Methods 0.000 description 1
- 238000013144 data compression Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 238000002347 injection Methods 0.000 description 1
- 239000007924 injection Substances 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000003334 potential effect Effects 0.000 description 1
- 230000001105 regulatory effect Effects 0.000 description 1
- 238000012502 risk assessment Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000009897 systematic effect Effects 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Images
Classifications
-
- 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/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
- G06F21/577—Assessing vulnerabilities and evaluating computer system security
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/957—Browsing optimisation, e.g. caching or content distillation
-
- 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/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/552—Detecting local intrusion or implementing counter-measures involving long-term monitoring or reporting
-
- 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/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/554—Detecting local intrusion or implementing counter-measures involving event detection and direct action
-
- 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/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/56—Computer malware detection or handling, e.g. anti-virus arrangements
- G06F21/562—Static detection
- G06F21/563—Static detection by source code analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45504—Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
- G06F9/45529—Embedded in an application, e.g. JavaScript in a Web browser
-
- 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/1425—Traffic logging, e.g. anomaly detection
-
- 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/1433—Vulnerability analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/03—Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
- G06F2221/033—Test or assess software
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- General Health & Medical Sciences (AREA)
- Evolutionary Computation (AREA)
- Mathematical Physics (AREA)
- Artificial Intelligence (AREA)
- Health & Medical Sciences (AREA)
- Virology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Medical Informatics (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Molecular Biology (AREA)
- Computational Linguistics (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Debugging And Monitoring (AREA)
- Storage Device Security (AREA)
Abstract
一种检测基于脚本的攻击的方法和系统。在这种方法中,针对在被检测的终端用户客户端浏览器处生成的可追踪数据结构来执行行为分析,该可追踪数据结构优选以调用流图(CFG)的形式。CFG包括一组运行时JavaScript执行数据点和一个或更多个相关联的事件链,这些事件链包括执行数据点及其相对排序。它是在客户端浏览器中与和页面的交互相关联地生成的,并且它表示该特定交互的基于上下文的记录。通过从与该页面的其他此类交互中收集类似的CFG,系统识别表示一个或更多个恶意JavaScript攻击的执行流异常。然后,可以减轻这些攻击,例如,通过更新页面或与页面相关联的访问策略,使得攻击无法针对与页面交互的其他用户成功地执行。
Description
背景
技术领域
本申请总体上涉及通过检测和减轻基于脚本的攻击来加强网页完整性。
相关技术的简要描述
随着通过web应用处理的信息对公司、客户、组织和国家变得至关重要,保护web应用变得极其重要。web应用管理大量信息,包括财务数据、医疗记录、社会安全号码、知识产权和国家安全数据,并且web应用必须安全地处理这些信息,同时保持效率和可用性。
随着政府和媒体加强审查,在线业务正面临着来自哪怕是最小的数据泄露的严重影响。在线业务、电子商务、旅游和金融机构每天都受到损害,导致客户和收入损失、信任下降、用户隐私受损、品牌声誉受损和监管处罚。
安全专家认为,在所有与机密性、可用性和完整性相关的风险中,恶意JavaScript(JS)攻击是风险最大的,通常也是最不为人所知的。这些类型的攻击通常集中在应用本身和可用的功能上,同时环境漏洞为应用保护机制的恶意破坏提供了手段,这些类型的攻击通常是为了利用或获得对私有信息或系统资源的访问。收集的信息可以包括PII(个人身份信息)数据,诸如社会安全号码、出生日期和婚前姓名,这些数据通常用于身份盗窃。攻击者的另一个常见目标是信用卡数据,当不加保护和加密时,该信用卡数据可能会被用于对组织最有价值的资产——他们的客户——造成重大损害。
有一些已知的方法来检测和减轻这种类型的漏洞,包括但不限于软件开发生命周期(SDLC),以及传统的web应用安全解决方案,诸如web应用防火墙(WAF)、入侵防御系统(IPS)等。这些方法提供了一定的好处和优势,但它们不是为了持续验证供应链攻击和恶意代码的执行而设计的。
本领域仍然需要改进的技术来保护动态在线业务web环境。
简要概述
本公开提供了一种使用运行时JavaScript执行数据的行为分析来检测基于脚本的攻击的方法和系统。在一个实施例中,该系统包括客户端侧组件和服务器侧后端处理系统两者。在客户端侧,当页面被终端用户请求、加载和操作时,用户会话内的页面视图被主动监控,并且作为这些活动的结果而出现的所得到的JavaScript执行数据点的链被捕获并用于创建可追踪数据结构,该可追踪数据结构被递送给后端并由后端进行分析。如本文中所使用的,JavaScript执行数据点与由浏览器JavaScript运行时执行的任何命令或函数相关联,以及与相关联的执行元数据的数据集(例如,构造函数(constructor)名称、访问的属性(property)或方法、时间戳、调用者脚本(发起者)等)相关联。优选地,可追踪数据结构在调用流图(CFG)中实现,该调用流图捕获由页面和第三方资源进行的所有JavaScript方法调用(包括设置器(setter)和获取器(getter))。CFG的每个节点表示一个JavaScript执行数据点,并且因此该图代表应用的执行的准确记录,包括调用者-被调用者关系,其中调用者函数节点和被调用函数节点通过唯一的ID引用相连接。CFG描述了两个或更多个事件、邻居节点、祖父节点、父节点和兄弟节点之间,以及相对于同步流和异步流两者的所有关系。CFG中的特定执行数据点有一组相关联的特性(attribute)(执行元数据),该组相关联的特性通常被表示为向量。在构建CFG时,事件被映射到其对应的向量表示,事件与事件链中的其他事件连接(或以其他方式相关联),并且优选地进一步用描述该特定事件的一个或更多个相关特性来使事件富集(enrich)。为了处理效率,客户端侧组件优选地还将这些数据处理成一个压缩和序列化的二进制文件,然后该压缩和序列化的二进制文件被安全地从客户端侧递送到服务器侧用于分析。
在服务器侧,系统配置有一些组件:检测和分类引擎、推荐引擎和策略引擎。相对于客户端侧组件执行的实时CFG生成处理,服务器侧分析和处理通常发生在外部(带外)。检测和分类引擎通过一系列检测层运行接收到的CFG。这些检测层包括以下一个或更多个:AI深度学习模型层、签名层、启发式(heuristic)层等,并且检测云基于接收的数据决定是否发布事故(incident)(或采取某种其他行动)。如果引发了事故,则向页面发起者通知该事故,并且推荐引擎被配置为选择推荐的行动方案。如果推荐被采纳,则推荐引擎的输出被提供给策略引擎,然后策略引擎自动生成一个或更多个策略更新来解决事故中提出的问题。然后,通常将策略更新捆绑在客户端侧组件的新实例内,然后推送回网站(或负责网站分发(delivery)的内容分发网络(CDN)),以便于针对后来访问该页面的其他终端用户继续实施策略更新。
客户端侧组件和服务器侧系统一起提供了运行时基于web应用的自我保护(RWASP)解决方案,该解决方案提供了对运行时JavaScript执行数据点的高效和可扩展的行为分析。该解决方案保护在线业务免受web供应链攻击(第三方资源受损)、零日攻击、web漏洞和恶意软件代码注入。
前面已经概述了主题的一些更相关的特征。这些特征应被解释为仅仅是说明性的。通过以不同的方式应用所公开的主题或如将要描述的通过修改主题可以获得许多其他有益的结果。
附图简述
为了更全面理解主题及其优点,现在参考结合附图进行的以下描述,附图中:
图1是示出本公开的用于检测和减轻基于脚本的攻击的代表性系统架构的框图;
图2是示出根据一个实施例的实现用于创建调用流图(CFG)的检测机制的浏览器内组件的架构的框图;
图3描绘了代表性的CFG;
图4描绘了图3中的CFG的一部分的压缩和序列化的二进制表示,该压缩和序列化的二进制表示被提供给服务器侧用于进一步分析;和
图5是服务器侧后端基础设施中的一组检测机制的优选实施例的详细框图。
详细描述
假定读者熟悉JavaScript(JS)和基于浏览器的具有脚本的网页处理。众所周知,浏览器(例如Chrome、Safari、Firefox和许多其他浏览器)根据单线程的执行模型来操作,其中在触发事件时,仅该事件被携带,并且所有其他活动被阻止,直到相关联的回调发生。更正式地说,对象状态的变化被称为事件。在HTML中,有表示某个活动由用户或由浏览器执行的各种事件。当JavaScript代码被包含在HTML中时,JavaScript会对这些事件做出反应并允许执行。这种对事件做出反应的过程称为事件处理,并且JavaScript经由事件处理器(event handler)来处理HTML事件。也就是说,
当浏览器请求、加载和执行页面(本文中有时称为页面视图)时,可能会出现复杂的执行活动web。根据业务逻辑的复杂性,执行活动通常包括复杂的同步和异步流,可能代表许多执行序列。然而,该活动中的一些可能是恶意行为。此外,特定终端用户与页面的交互提供了特定于上下文的活动。因此,跨无数用户和不同交互上下文来捕获和理解页面的实际行为是一项重大挑战。
本文的技术处理和解决了这个问题。为此,以及如图1所示,提供了运行时基于Web应用的自我保护(RWASP)解决方案。该命名法并非旨在进行限制。此外,对于任何特定类型的页面(网站或web应用),本文的方法不限于与任何特定浏览器一起使用,并且无论本文的功能是否由网站托管,都可以实现这些技术。在优选实现中,无论是由网站发布者分发,还是由代表发布者的第三方服务提供商(例如,CDN)分发,图1所描绘的组件都独立于网站本身而操作。其页面被检测(instrumented)(如下面将描述的)用于数据收集和根据本公开的CFG生成的网站或web app可以直接在/从云基础设施、CDN或其某种组合中托管和/或分发。因此,网站的特定实现不是本公开的方面。
图1所示的解决方案100包括客户端侧组件102和几个基于云的服务器侧组件(即检测和分类引擎104、推荐引擎106和策略引擎108)。可以集成一个或更多个服务器侧组件。如下文将更详细描述的,客户端侧组件102被配置为在web浏览器(或相当的客户端侧功能)内例如作为插件(plug-in)组件运行。web浏览器可以被配置为包括客户端侧组件102作为原生(native)组件或执行线程。客户端侧组件包括CFG(调用流图)构建器和分类器110以及防护层112。CFG构建器和分类器110执行负责创建CFG的检测和策略逻辑,该CFG继而被提供给服务器侧检测和分类引擎104,用于检测(云上)表示恶意脚本的活动。通常,以及如下面将更详细描述的,为浏览器中出现的每个页面视图创建一个CFG。
还如图所示,检测和分类引擎104包括检测云,该检测云包括服务器侧逻辑,该服务器侧逻辑通过一系列检测层(例如AI层111、启发式层113和基于签名的层115)运行CFG。层113和115通常利用静态模型,而AI层111提供基于深度学习的AI。例如,在一个实施例中,AI层111包括深度神经网络(DNN)。检测云确定接收到的CFG(或针对一组页面视图捕获的一组这样的CFG)是否表示应该被解决的恶意脚本。如果是,检测云(通过UI或API)向客户发布事故报告118,然后将该报告提供给推荐引擎106。该引擎运行推荐层,该推荐层根据配置/策略(例如,向网站客户)发布关于如何解决恶意行为(或采取某种其他减轻、阻止或通知动作)的推荐。如图所示,客户可以选择在推荐被应用之前事先批准该推荐,或可以自动应用该推荐。在任一情况下,一旦恶意脚本/行为被识别/确定,策略引擎108接受该推荐并生成策略更新(对现有策略的改变、新策略等),然后输出该策略更新120。如图1所示,策略更新被显示为返回到客户端侧防护层。实际上,这是通过以下操作来实现的:让策略生成器将策略更新120与客户端侧组件的新实例捆绑在一起,然后将得到的捆绑包推送到网站或(服务于该网站的)CDN。以这种方式,当在此之后的页面被递送给其他终端用户时,恶意行为将不会再次发生。从概念上来说,该操作由防护层112执行,防护层112提供浏览器内资源来减轻攻击,例如,阻止、应用访问控制列表(ACL)等。特定的减轻动作不是本公开的方面。
还如图1所示,在策略引擎更新策略之前,可以向网站发布者(客户)提供选项122以批准建议(proposed)的改变。如进一步所示,更新的策略120也可以在Web应用防火墙(WAF)124中实例化。尽管未示出,但是可选地,客户端侧组件可以操作其自己的检测器模块。该模块可以包括初步确定特定的CFG是否需要被发送到服务器侧的功能(例如,服务器检测云的模糊和轻量级版本)。具体来说,该功能确定给定的CFG需要被扫描的概率,如果为否,客户端侧组件可以简单地丢弃给定的CFG。当被实现时,该功能管理服务器上的负载,使得某些CFG(例如那些仅仅代表已知的代码执行模式的CFG)不需要被评估。这使得服务器检测云相比于较低风险的CFG更喜欢较高风险的CFG。
客户端代码驻留在用户的web浏览器中,并且该代码可以以任何方式(例如,通过网站、通过CDN或其他方式)递送给客户端。图2描绘了如上所述执行检测和策略逻辑的客户端侧组件功能,该检测和策略逻辑负责创建用于(在云上)检测以及(在客户端上)防护和策略实施的CFG。如将描述的,该组件负责执行获得关于网页中的代码执行流的细粒度可见性所需的适当动作。为此,客户端侧组件本身被实现为一个JavaScript,并且具体是在页面的资源加载序列上执行的第一个JavaScript代码。如本文中所使用的,该JavaScript有时被称为控制(或RWASP)脚本。如图2所示,控制脚本具有一组函数(function)。在图的左侧,执行级(execution level)200包括内核层202和访问控制层(ACL)204。覆盖执行级200的应用层206表示抽象概念(abstraction),并且具体是页面中的其他脚本与客户端侧组件脚本交互的地方。ACL层204读取策略列表208,该策略列表208提供用于在客户端处实施的一个或更多个安全策略,并且该策略列表208可以接收和实例化任何策略更新(如果以及当服务器侧确定提供一个策略更新时)。
在初始化过程中,客户端侧组件JavaScript会钩(hook)入页面中的每个JS函数,主要是“原生”JavaScript函数(例如,传出(outgoing)网络访问、存储访问、文档对象模型(DOM)访问、cookie访问等)以及可能不是原生的其他函数(例如,jQuery函数)。如图所示,内核层202表示实际的原生功能。应用层206在这些函数被控制脚本钩住(并且可能被划分为类别(category))之后表示这些相同的函数。例如,考虑网络应用层;它包括函数“fetch”等。因此,内核层202中的函数“fetch”表示该函数的原生副本,而在应用层206中,函数“fetch”是原生函数的挂钩副本。这个挂钩副本包括CFG日志记录点、ACL部分(ACL层204的一部分)和对内核层202中的原始原生函数的引用(指针)。当页面执行时,客户端侧组件脚本用指向函数的指针维护内存中的数据结构,管理实际函数(原生函数和其他函数)的执行,保持跟踪执行数据点和与执行数据点相关联的执行链。特别地,以及参考图2,当挂钩函数执行时,控制脚本拦截该活动并将其记录(到如将要描述的CFG构建器子组件),将参数传递到ACL层204,ACL层204返回真/假响应(该活动是否被允许)。ACL层204查阅策略列表208来做出该确定。以这种方式,客户端侧组件脚本充当控制浏览器内执行环境的代理。同时,在该处理期间收集的信息被传递给CFG构建器210。
CFG构建器210和相关联的CFG富集和分类器212在页面视图的生命周期期间执行,以创建针对该视图的CFG。CFG是节点(对象)的数组,每个节点(对象)表示一个代码(JavaScript)执行数据点。CFG构建器维护由ACL层204与内核层202和应用层206的交互所捕获的活动的日志,并逐节点构建CFG。异步地,CFG富集和分类器212提供启发式和富集服务,对于每个执行数据点,该服务分析数据点并根据一组启发式214使它“富集”。代表性的启发式可以包括但不限于有效载荷分析、反射的数据、覆盖检测、SSA、SBD(交叉导航)、PII清理器等。与给定的启发式相关联的数据可以通过在事件对象中设置标志来识别。
还如图2所示,CFG构建器210包括一个或更多个CFG实用程序216。CFG实用程序216创建并维护由执行数据点的代码执行链来表示的流(同步和异步)的内存中的映射。CFG实用程序收集所有的JavaScript方法调用,包括由网页第一方和第三方资源进行的属性设置和获取、记录视图期间执行的代码的执行轨迹。使用与浏览器的代码交互的列表形式,在CFG中表示执行追踪,如上所述,CFG是应用的执行的准确记录,也表示来自执行追踪的调用者-被调用者关系,其中调用者函数节点和被调用函数节点通过唯一的ID引用相连接。这样,CFG保存关于事件的所有数据,允许ACL层204(经由API 218)回答是谁触发了事件以及他们想要做什么。CFG实用程序216还提供数据压缩服务,以创建CFG的压缩和序列化的二进制表示。如前所述,该二进制表示被递送到服务器侧上(例如,被递送到基于云的检测器)以用于分析和潜在的动作。
总之,调用流图使得能够表示两个和更多个运行时JavaScript执行数据点之间的关系。如上所述,JavaScript执行数据点与由浏览器JavaScript运行时执行的任何命令或函数相关联,以及与相关联的执行元数据的数据集(例如,构造函数名称、访问的属性或方法、时间戳、调用者脚本(发起者)等)相关联。通常,CFG节点中的每一个都包括执行数据点及其相关联的特性。使用CFG分类器,用一个或更多个相关特性来使执行数据点富集,这些特性描述了由执行数据点表示的特定执行活动。
图3描绘了代表性的CFG 300。这个典型的CFG包括同步流和异步流两者。同步流用实线描绘,并且异步流用虚线描绘。如图所示,该图描绘了事件——邻居节点、祖父节点、父节点和兄弟节点——之间的关系的表示。向每个节点提供数字标识符(ID)表示,代表节点的位置。通常,每个节点表示一个事件(或者更一般地,某个命令执行活动),并且指针引用任一节点的位置(非线性和异步的JavaScript操作,诸如回调、承诺(promise)和异步/等待(await))。CFG由CFG构建器构造,在确定层次结构内的要放置特定代码执行表示节点的位置时,CFG构建器优选考虑以下因素:(i)具有相同原始脚本的先前执行的事件节点,以及(ii)如果这是异步操作,则保持返回到原始同步代码执行源的链接,但创建新的代码执行节点链。
如上所述,CFG(诸如图3所示)表示页面视图的生命周期。CFG中描绘的节点(及其关系)当然是特定于页面的。考虑一个支出网页。CFG跟踪对支付表单的值、对数据的操纵、以及最后从终端用户的浏览器中渗漏(exfiltration)出数据具有访问权的所有JavaScript资源。该脚本不收集(或以其他方式屏蔽)敏感数据或用户输入的值。CFG构建器将所有与渗漏相关的事件的代码执行链映射到按照执行时间和特定的执行链进行排序的它们的原始脚本/URL。CFG富集和分类器使用特定于事件的数据(例如,网络事件,包括输出URL,和事件属于网络类型的指示)来将每个事件(或其中一些事件)富集。随后,并且在服务器侧,例如通过利用启发式和异常检测模型,然后遍历和扫描CFG以寻找恶意活动的不同指示。
如所述的,CFG节点对应于JavaScript执行数据点,并且通常每个这样的数据点包括某种形式的以下代码执行收集的数据:(1)(代码执行被映射到以下)命令类型:执行、读取、写入、返回值、调度、定时器;(2)构造函数——在其上执行命令的原生Javascript对象构造函数(例如,HTMLDocument);(3)属性——在构造函数上调用的原生Javascript对象属性(命令)(例如document.createElement);(4)元素名称(如果适用的话)——如果此代码执行与HTML元素相关,则为HTML元素名称;(5)元素特性(如果适用的话)——一组三元素特性映射:id、类和类型,该id、类和类型被映射到它们在HTML元素上的值(例如,elementAttributeId、elementAttributeClass、elementAttributeType);(6)唯一的DOM对象ID——作为数字ID保存的每个DOM对象的唯一标识;(7)父节点Id——作为当前执行链的父亲的节点;(8)异步追踪Id——如果链是异步流,此节点所属的可拆开执行链;(9)兄弟Id——事件执行链中的前一个执行节点;(10)脚本发起者来源——每个代码执行节点都用执行该代码的URLscript进行标记;(11)传出URL(如果适用的话)——如果这是联网事件,则记录传出URL(查询参数被屏蔽);(12)敏感数据区域类型——保持跟踪该代码执行数据点节点是否访问了被预定义为受保护元素的DOM元素;以及(13)事件描述符——这些是描述此节点的命令执行类型的布尔值(例如,描述符包括:isNetworkEvent、IsInvisibleElement)。当构建CFG时,CFG实用程序维护内存中的数据。如上所述,CFG实用程序包括创建CFG的压缩和序列化的二进制表示的服务,该二进制表示是伪人类可读的。图4描绘了图3中的CFG的压缩和序列化的二进制表示(以JSON格式)的表示性部分。
在客户端侧,优选将CFG保持在其内存中状态(具有数字指针和字典,但不一定需要包括每个指针含义的解释)。当需要将CFG发送到服务器时,它会被压缩和序列化,然后作为二进制文件发送。文件然后到达后端,在后端,文件被解压缩并被反序列化回其内存中形式,用于后续处理,这将在下面进一步描述。
上述方法提供了优于现有方法的显著优势。每个和每一个用户会话都是独特的,并且彼此不同——这是由于特定于地理位置的内容、不同的浏览器、平台以及在终端用户的计算机上安装的扩展程序和软件。因此,需要以一种形式(这里是CFG)收集和表示数据,以允许对每个会话进行准确的和基于上下文的分析。虽然其他解决方案试图在网站的代码被发布之前分析该代码,或者在页面中寻找已知的恶意代码或漏洞,但是本文中的技术是以理解页面在每个会话的不同执行上下文中的实际行为为前提。通过识别代码执行中的恶意活动特征(trait),所提出的方法能够检测已知的攻击和以前未见过的攻击(零日攻击(zero-days))两者。
现在参考图5,框图更详细地描绘了检测和分类引擎(图1)。该子系统包括事件处理器,该事件处理器负责处理经由RWASP从终端用户接收的CFG二进制文件。事件处理器使用几个API和启发式检测器来执行运行时检测和分类,以确定会话是否受到不良参与者的影响。如图所示,事件处理器500包括运行时收集器502、运行时队列504、CFG反序列化组件506、CFG检测和分类(遍历)组件508、一组检测器510和检测报告组件512。检测器510利用AI组件514、域评分组件516和资源观察器组件518中的一个或更多个。事件处理器具有相关联的数据库520。在操作中,序列化的CFG 522在运行时收集器502处被接收,并被放置在队列504上以进行处理。典型地,收集器502收集从多个终端用户与页面的交互中导出的CFG;如上所述,这些终端用户交互通常非常不同,因为它们涉及特定于地理位置的内容、不同的浏览器、平台以及在终端用户的计算机上安装的扩展程序和软件。不同的CFG(都与给定的感兴趣页面相关联)被收集并放置在队列上。然后,每个CFG被反序列化,以恢复由CFG构建器/分类器(在客户端侧)生成的所有完整数据集,并且然后将该所有完整数据集应用于一个或更多个检测器510以进行分析。行为执行分析的性质和范围可能有所不同,但典型地,它包括一系列检测层,这些检测层基于来自为页面视图生成的CFG的数据来共同确定是否发布事故。因此,例如,AI组件514可以包括使用统计机器学习模型的基于频率的推理,该模型试图预测事件链中的下一个事件。一种示例算法是离散时间随机过程,诸如CRP。该模型基于前n个事件来评估每个事件在另一个事件之后出现的可能性。AI组件514还可以包括深度学习模型,该模型然后遍历每个逻辑事件链并且每n个事件构建帧。然后,基于该事件帧的系统预测,给每个帧一个分数。可用于此目的的代表性深度学习模型是卷积神经网络(CNN),诸如Word2Vec算法的变体。AI处理通过学习和预测代码的执行顺序,并试图通过遵循代码执行路径和识别与上下文规范(norm)的偏差来预测异常,从而在代码流执行中找到外来代码段。该处理提供了一种方法,该方法基于先前的n个事件来评估每个事件或链在另一个事件或链之后出现的可能性(为n个事件执行的链产生嵌入,n-gram)。
域评分组件516提供依赖于一个或更多个数据源和风险加权系统的内部域风险分析(域信誉分数)。资源观察器组件518检查web资源,并且通常包括一个或更多个子组件,诸如CORS IFrame检查、检查已知CVE的JavaScript漏洞扫描器以及监视JS资源变化(校验和)的JS Integrity。不要求利用所有这些层,并且可以结合额外的检测机制。
基于事件处理器进行的上述分析,可以引发事故报告,然后将该事故报告提供给推荐引擎(图2)。推荐引擎监视(等待)由事件处理器发现的事故,并将其(例如,向客户)发布。事故可以被立即、定期或以其他方式(例如,基于其数量和事故类型)发布给客户。如果事故的性质使得需要对网站进行更改,并且根据配置,策略引擎然后可能会实现适当或必要的策略更改。概括地说,策略是一组策略应用、访问控制规则,这些规则决定了发起者或供应商在web应用内具有的访问权限。策略在策略列表(图2)中被实例化。策略应用是访问控制单元,它决定了发起者或供应商对web应用具有的访问权限;应用通常包括传出网络访问、cookie访问、DOM访问、存储访问和敏感数据访问。每个启用的策略应用在该特定应用的范围内控制供应商在web应用内的访问。白名单(允许模式)(例如,“允许所有指定的,而不允许其他任何一个”)规定,根据所选的应用,只有指定的规则被授予访问权限,而所有其他规则都被拒绝访问。黑名单(拒绝模式)(例如,“拒绝所有指定的,但允许其他所有的”)规定,根据所选的应用,只有指定的规则被拒绝访问,而所有其他规则都被授予访问权限。如果事件处理器的CFG分析引发了推荐引擎确定应该导致策略更改的事故,策略引擎会生成策略更新,并在客户端侧防护层中实例化它,如上所述。
策略引擎提供网站策略的防护和实施,并且上述系统通过根据web应用配置的策略的规范,在执行级上实时拦截未授权事件,为网站权限管理、策略实施和主动攻击的减轻提供动态策略解决方案。
检测云、推荐引擎和策略引擎可以相互结合。概括地说,每一个这样的功能(服务)可以使用一组位于同一位置或者本身是分布式的计算资源来实现。通常,服务在一个或更多个计算系统中实现。诸如所描述的计算平台(或其部分)可以在专用环境中、以内部部署(on-premises)方式、作为基于云的架构或某种混合来实现。基础设施的典型实现是在云计算环境中。众所周知,云计算是一种服务递送模型,用于实现对可配置计算资源(例如网络、网络带宽、服务器、处理、存储器、存储、应用、虚拟机和服务)的共享池的按需网络访问,这些可配置计算资源可以用最少的管理努力或与服务的提供商的交互来快速调配和释放。可以全部或部分利用的可用服务模型包括:软件即服务(SaaS)(提供商在云基础设施上运行的应用);平台即服务(PaaS)(客户将可能使用提供商工具创建的应用部署到云基础设施上);基础设施即服务(IaaS)(客户提供自己的处理、存储、网络和其他计算资源,并可以部署和运行操作系统和应用)。
本公开的平台可以包括位于同一位置的硬件和软件资源,或者物理上、逻辑上、虚拟上和/或地理上不同的资源。用于执行到平台服务和来自平台服务的通信的通信网络可以是基于分组(packet)的、非基于分组的、以及安全的或非安全的,或者它们的某种组合。
更一般地,本文描述的技术是使用一起促进或提供上述描述的功能的一个或更多个计算相关实体(系统、机器、过程、程序、库、功能等)的集合来提供的。在典型的实现中,在其上执行软件的代表性机器包括提供给定系统或子系统的功能的商用硬件、操作系统、应用运行时环境以及一组应用或过程和相关联的数据。如所描述的,功能可以在独立的机器中实现或跨一组分布式的机器实现。
功能可以全部或部分作为服务来提供,例如作为SaaS解决方案、与CDN相关联或以其他方式来提供。
每个上述服务、过程、模块或子模块优选地在计算机软件中实现为可在一个或更多个处理器中执行的一组程序指令,作为专用机器。
在其上提供本文主题的代表性机器可以是运行Linux操作系统的Intel或其他核心处理器。在一个实施例中,后端架构利用Docker和Kubernetes技术以及微处理架构。微处理粒度使后端能够仅在给定时间需要计算机能力的地方(例如,用于运行基于AI的检测)才进行扩展。微进程和服务被容器化(Docker)并以集群方式(Kubernetes)运行,以便于根据需要自动扩展。
所描述的任何功能可以被实现为一组计算机指令,用于执行所描述的功能。
虽然上面描述了由所公开主题的某些实施例执行的操作的特定顺序,但是应当理解,这种顺序是示例性的,因为替代实施例可以以不同的顺序执行操作、组合某些操作、将某些操作重叠等。本说明书中对给定实施例的参考指示所描述的实施例可包括特定的特征、结构或特点,但是每个实施例可以不必包括该特定的特征、结构或特点。
虽然已经在方法或过程的上下文中描述了所公开的主题,但主题还涉及用于执行本文操作的装置。该装置可以是为所需目的而专门构造的特定机器,或者其可以包括由存储在计算机中的计算机程序选择性地激活或重新配置的计算机。这样的计算机程序可以被存储在计算机可读存储介质中,计算机可读存储介质诸如但不限于,包括光盘、CD-ROM以及磁光盘的任何类型的盘、只读存储器(ROM)、随机存取存储器(RAM)、磁性或光学卡或者适于存储电子指令的任意类型的介质,并且每个耦合至计算机系统总线。计算平台的给定实现是在运行诸如Linux的操作系统的硬件平台上执行的软件。实现本文中的技术的机器包括硬件处理器和保存计算机程序指令的非暂时性计算机存储器,所述计算机程序指令由处理器执行以执行上述方法。
对于可以实现连接的客户端侧或服务器侧的计算实体的类型没有限制。任何计算实体(系统、机器、设备、程序、过程、实用程序等)可以充当客户端或服务器。虽然已经分别描述了系统的给定部件,但是普通技术人员将认识到,一些功能可以在给定的指令、程序序列、代码部分等中组合或共享。本文中所描述的任何应用或功能都可通过将钩子函数(hooks)提供到另一应用中、通过促进将机制作为插件使用、通过链接到机制等被实现为原生代码。
平台功能可以位于同一位置,或者各种部件/组件可以分开并且作为不同的功能运行,可能(通过分布式网络)在一个或更多个位置。
CFG检测云的一个优选实现是在受管理的Kubernetes服务上的云提供商(例如Azure)上执行,并且其与内容分发网络(CDN)或更一般地与由CDN服务提供商操作和管理的“覆盖网络”相关联地操作。本文中描述的基础设施的组件可以在CDN中执行。概括地说,这种类型的分布式系统通常是指通过一个网络或更多个网络链接的自主计算机连同被设计为促进各种服务(诸如内容分发、web应用加速或外包的源站基础设施的其他支持)的软件、系统、协议和技术的集合。CDN服务提供商通常通过数字资产(诸如网站)提供服务分发,这些数字资产在客户门户中提供,然后被部署到网络。数字资产通常绑定到允许服务提供商考虑流量并向其客户收费的一个或更多个边缘配置。
当与分发网站的CDN相关联地实现时,可以控制CDN边缘服务器向页面注入JavaScript标签。
本文中的可追踪数据结构可以采取除事件节点的分层图(树)之外的形式。可以表示数据的其他数据结构包括数据数组、链表等。
Claims (19)
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所述的方法,其中,所述第一交互和所述第二交互在以下至少一个方面彼此不同:与页面相关联的特定于地理的内容、不同浏览器、不同平台以及在相应终端用户的机器上安装的不同扩展程序和软件。
13.根据权利要求1所述的方法,其中,至少一个相关联的事件链表示同步流和异步流之一。
14.根据权利要求1所述的方法,其中,执行行为执行分析包括以下之一:
使用试图预测事件链中的下一个事件的统计机器学习模型来执行基于频率的推理;和
应用深度学习模型,所述深度学习模型遍历每个逻辑事件链以学习代码的执行顺序,并试图通过遵循代码执行路径并识别与所述深度学习模型中表示的一个或更多个上下文规范的偏差来预测异常。
15.根据权利要求1所述的方法,其中,执行行为执行分析包括计算域信誉分数。
16.根据权利要求1所述的方法,其中,执行行为执行分析包括检查在所述CFG中检测到的web资源,以识别以下之一:已知的漏洞以及指示脚本完整性的变化。
17.根据权利要求1所述的方法,其中,所述控制脚本由内容分发网络分发。
18.一种非暂时性计算机可读介质中的计算机程序产品,所述计算机程序产品包括跨一组硬件处理器执行以保护页面的完整性的计算机程序指令,所述计算机程序指令包括:
控制脚本,所述控制脚本被配置到所述页面中的某个位置,使得所述页面上的所有执行流都由所述控制脚本控制并且通过所述控制脚本传递;
事件处理器,所述事件处理器被配置为(i)接收二进制文件,所述二进制文件已经在客户端浏览器处与所述页面的视图相关联地生成,所述二进制文件包括可追踪数据结构,所述可追踪数据结构标识一组运行时JavaScript执行数据点和一个或更多个相关联的事件链,所述一个或更多个相关联的事件链包括所述执行数据点以及所述执行数据点的相对排序,以及(ii)对所述可追踪数据结构执行行为分析以识别主动攻击;和
策略引擎,所述策略引擎被配置为(i)接收关于所述主动攻击的信息,并响应于此生成与所述页面相关联的策略更新,以及(ii)输出所述策略更新以减轻所述主动攻击。
19.根据权利要求18所述的计算机程序产品,其中,所述可追踪数据结构是调用流图(CFG)。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201962877380P | 2019-07-23 | 2019-07-23 | |
US62/877,380 | 2019-07-23 | ||
US16/935,777 US20210026969A1 (en) | 2019-07-23 | 2020-07-22 | Detection and prevention of malicious script attacks using behavioral analysis of run-time script execution events |
US16/935,777 | 2020-07-22 | ||
PCT/IB2020/000600 WO2021014208A2 (en) | 2019-07-23 | 2020-07-23 | Detection and prevention of malicious script attacks using behavioral analysis of run-time script execution events |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114467282A true CN114467282A (zh) | 2022-05-10 |
Family
ID=74189510
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202080066893.3A Pending CN114467282A (zh) | 2019-07-23 | 2020-07-23 | 使用运行时脚本执行事件的行为分析检测和防止恶意脚本攻击 |
Country Status (5)
Country | Link |
---|---|
US (1) | US20210026969A1 (zh) |
EP (1) | EP4004768A4 (zh) |
CN (1) | CN114467282A (zh) |
IL (1) | IL289994A (zh) |
WO (1) | WO2021014208A2 (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11575700B2 (en) * | 2020-01-27 | 2023-02-07 | Xm Cyber Ltd. | Systems and methods for displaying an attack vector available to an attacker of a networked system |
WO2022044020A1 (en) * | 2020-08-31 | 2022-03-03 | Seraphic Algorithms Ltd. | Exploit prevention and malicious code neutralization method and system for javascript-enabled applications |
US11494489B1 (en) * | 2021-06-25 | 2022-11-08 | Oracle International Corporation | Synthesis of deserialization filters from positive and negative examples |
US20230052827A1 (en) * | 2021-07-31 | 2023-02-16 | International Business Machines Corporation | Automated synthesis of reference policies for runtime microservice protection |
US20230367911A1 (en) * | 2022-05-11 | 2023-11-16 | Cyberark Software Ltd. | Analyzing scripts to create and enforce security policies in dynamic development pipelines |
Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070113282A1 (en) * | 2005-11-17 | 2007-05-17 | Ross Robert F | Systems and methods for detecting and disabling malicious script code |
US20070174915A1 (en) * | 2006-01-23 | 2007-07-26 | University Of Washington | Detection of spyware threats within virtual machine |
US8752183B1 (en) * | 2012-07-10 | 2014-06-10 | Hoyt Technologies, Inc. | Systems and methods for client-side vulnerability scanning and detection |
US8826444B1 (en) * | 2010-07-09 | 2014-09-02 | Symantec Corporation | Systems and methods for using client reputation data to classify web domains |
US20150256556A1 (en) * | 2013-03-05 | 2015-09-10 | Bot Or Not, Llc | Method and system for web integrity validator |
CN106022135A (zh) * | 2016-02-23 | 2016-10-12 | 北京工业大学 | 一种可动态判断xss漏洞的自动化检测系统 |
CN106357719A (zh) * | 2015-07-17 | 2017-01-25 | Sap欧洲公司 | 用于网络应用的基于页面的事件相关 |
CN106991324A (zh) * | 2017-03-30 | 2017-07-28 | 兴华永恒(北京)科技有限责任公司 | 一种基于内存保护类型监控的恶意代码跟踪识别方法 |
US20170316202A1 (en) * | 2015-01-18 | 2017-11-02 | Checkmarx Ltd. | Rasp for scripting languages |
CN107846413A (zh) * | 2017-11-29 | 2018-03-27 | 济南浪潮高新科技投资发展有限公司 | 一种防御跨站脚本攻击的方法及系统 |
US20180198807A1 (en) * | 2017-01-11 | 2018-07-12 | Sap Se | Client-side attack detection in web applications |
US20180300480A1 (en) * | 2017-04-17 | 2018-10-18 | Tala Security, Inc. | Method for detecting malicious scripts through modeling of script structure |
US20190121979A1 (en) * | 2017-10-19 | 2019-04-25 | International Business Machines Corporation | Policy-based detection of anomalous control and data flow paths in an application program |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7519902B1 (en) * | 2000-06-30 | 2009-04-14 | International Business Machines Corporation | System and method for enhanced browser-based web crawling |
US10834590B2 (en) * | 2010-11-29 | 2020-11-10 | Biocatch Ltd. | Method, device, and system of differentiating between a cyber-attacker and a legitimate user |
WO2016186975A1 (en) * | 2015-05-15 | 2016-11-24 | Virsec Systems, Inc. | Detection of sql injection attacks |
US10701087B2 (en) * | 2015-11-02 | 2020-06-30 | Nippon Telegraph And Telephone Corporation | Analysis apparatus, analysis method, and analysis program |
US9898605B2 (en) * | 2015-12-24 | 2018-02-20 | Mcafee, Llc | Monitoring executed script for zero-day attack of malware |
US10210077B2 (en) * | 2016-05-18 | 2019-02-19 | International Business Machines Corporation | Using multiple sequence alignment to identify security vulnerability code paths |
US11102225B2 (en) * | 2017-04-17 | 2021-08-24 | Splunk Inc. | Detecting fraud by correlating user behavior biometrics with other data sources |
CA3080589A1 (en) * | 2017-10-31 | 2019-05-09 | Bluvector, Inc. | Malicious script detection |
US10579501B2 (en) * | 2018-04-04 | 2020-03-03 | International Business Machines Corporation | Testing and reproduction of concurrency issues |
US10713364B2 (en) * | 2018-05-08 | 2020-07-14 | WhiteSource Ltd. | System and method for identifying vulnerabilities in code due to open source usage |
JP2023526097A (ja) * | 2020-05-19 | 2023-06-20 | テクニオン・リサーチ・アンド・ディベロップメント・ファウンデーション・リミテッド | 硬化物品を製作するためのシステム及び方法 |
US20230156123A1 (en) * | 2021-11-16 | 2023-05-18 | Capital One Services, Llc | Computer-based systems configured for automated extraction of data from inputs and methods of use thereof |
-
2020
- 2020-07-22 US US16/935,777 patent/US20210026969A1/en active Pending
- 2020-07-23 WO PCT/IB2020/000600 patent/WO2021014208A2/en unknown
- 2020-07-23 CN CN202080066893.3A patent/CN114467282A/zh active Pending
- 2020-07-23 EP EP20844209.5A patent/EP4004768A4/en active Pending
-
2022
- 2022-01-20 IL IL289994A patent/IL289994A/en unknown
Patent Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070113282A1 (en) * | 2005-11-17 | 2007-05-17 | Ross Robert F | Systems and methods for detecting and disabling malicious script code |
US20070174915A1 (en) * | 2006-01-23 | 2007-07-26 | University Of Washington | Detection of spyware threats within virtual machine |
US8826444B1 (en) * | 2010-07-09 | 2014-09-02 | Symantec Corporation | Systems and methods for using client reputation data to classify web domains |
US8752183B1 (en) * | 2012-07-10 | 2014-06-10 | Hoyt Technologies, Inc. | Systems and methods for client-side vulnerability scanning and detection |
US20150256556A1 (en) * | 2013-03-05 | 2015-09-10 | Bot Or Not, Llc | Method and system for web integrity validator |
US20170316202A1 (en) * | 2015-01-18 | 2017-11-02 | Checkmarx Ltd. | Rasp for scripting languages |
CN106357719A (zh) * | 2015-07-17 | 2017-01-25 | Sap欧洲公司 | 用于网络应用的基于页面的事件相关 |
CN106022135A (zh) * | 2016-02-23 | 2016-10-12 | 北京工业大学 | 一种可动态判断xss漏洞的自动化检测系统 |
US20180198807A1 (en) * | 2017-01-11 | 2018-07-12 | Sap Se | Client-side attack detection in web applications |
CN106991324A (zh) * | 2017-03-30 | 2017-07-28 | 兴华永恒(北京)科技有限责任公司 | 一种基于内存保护类型监控的恶意代码跟踪识别方法 |
US20180300480A1 (en) * | 2017-04-17 | 2018-10-18 | Tala Security, Inc. | Method for detecting malicious scripts through modeling of script structure |
US20190121979A1 (en) * | 2017-10-19 | 2019-04-25 | International Business Machines Corporation | Policy-based detection of anomalous control and data flow paths in an application program |
CN107846413A (zh) * | 2017-11-29 | 2018-03-27 | 济南浪潮高新科技投资发展有限公司 | 一种防御跨站脚本攻击的方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
EP4004768A4 (en) | 2023-07-19 |
EP4004768A2 (en) | 2022-06-01 |
WO2021014208A3 (en) | 2021-03-04 |
WO2021014208A2 (en) | 2021-01-28 |
IL289994A (en) | 2022-03-01 |
US20210026969A1 (en) | 2021-01-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Joo et al. | S-Detector: an enhanced security model for detecting Smishing attack for mobile computing | |
US10762206B2 (en) | Automated behavioral and static analysis using an instrumented sandbox and machine learning classification for mobile security | |
US10949528B1 (en) | System and method for secure, policy-based access control for mobile computing devices | |
Ferrante et al. | Extinguishing ransomware-a hybrid approach to android ransomware detection | |
Andronio et al. | Heldroid: Dissecting and detecting mobile ransomware | |
Yuan et al. | A systematic survey of self-protecting software systems | |
US10728274B2 (en) | Method and system for injecting javascript into a web page | |
US20210026969A1 (en) | Detection and prevention of malicious script attacks using behavioral analysis of run-time script execution events | |
Kim et al. | Attack detection application with attack tree for mobile system using log analysis | |
US11468185B2 (en) | Dynamically controlling access to linked content in electronic communications | |
Hammad et al. | DelDroid: An automated approach for determination and enforcement of least-privilege architecture in android | |
Elish et al. | A static assurance analysis of android applications | |
Gómez‐Hernández et al. | Inhibiting crypto‐ransomware on windows platforms through a honeyfile‐based approach with R‐Locker | |
Kandukuru et al. | Android malicious application detection using permission vector and network traffic analysis | |
Wan et al. | Practical and effective sandboxing for Linux containers | |
Gupta et al. | Evaluation and monitoring of XSS defensive solutions: a survey, open research issues and future directions | |
Sun et al. | Research towards key issues of api security | |
Mukherjee et al. | Evading {Provenance-Based}{ML} Detectors with Adversarial System Actions | |
Cavalli et al. | Design of a secure shield for internet and web-based services using software reflection | |
Zhang et al. | Android malware detection combined with static and dynamic analysis | |
US11397808B1 (en) | Attack detection based on graph edge context | |
Essid et al. | Distributed architecture of snort IDS in cloud environment | |
Blasco et al. | Detection of app collusion potential using logic programming | |
Gnatyuk et al. | Cloud-Based Cyber Incidents Response System and Software Tools | |
Gupta et al. | Developing a blockchain-based and distributed database-oriented multi-malware detection engine |
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 |