CN107209831B - 用于识别网络攻击的系统和方法 - Google Patents
用于识别网络攻击的系统和方法 Download PDFInfo
- Publication number
- CN107209831B CN107209831B CN201580061985.1A CN201580061985A CN107209831B CN 107209831 B CN107209831 B CN 107209831B CN 201580061985 A CN201580061985 A CN 201580061985A CN 107209831 B CN107209831 B CN 107209831B
- Authority
- CN
- China
- Prior art keywords
- code
- dom
- traffic
- client
- web
- 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
- 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/1441—Countermeasures against malicious traffic
- H04L63/1466—Active attacks involving interception, injection, modification, spoofing of data unit addresses, e.g. hijacking, packet injection or TCP sequence number attacks
-
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/02—Standardisation; Integration
- H04L41/0246—Exchanging or transporting network management information using the Internet; Embedding network management web servers in network elements; Web-services-based protocols
- H04L41/0273—Exchanging or transporting network management information using the Internet; Embedding network management web servers in network elements; Web-services-based protocols using web services for network management, e.g. simple object access protocol [SOAP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
-
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- 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/032—Protect output to user by software means
-
- 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/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2119—Authenticating web pages, e.g. with suspicious links
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Environmental & Geological Engineering (AREA)
- Computer And Data Communications (AREA)
Abstract
本公开涉及系统(1)和采用这种系统(1)来检测并抵抗浏览器中间人和/或中间人类型的网络攻击的方法。该系统(1)包括流量检查器(2),其中该流量检查器(2)与驻留有Web浏览器(4)以进行因特网浏览的客户端计算机(3)和驻留有Web应用程序(6)的Web服务器(5)进行信号通信。流量检查器(2)被配置为从Web浏览器(4)接收与Web应用程序(6)相关联的请求,并且将该请求发送至Web浏览器(5),流量检查器(2)被配置为从Web服务器(5)接收与该请求相关联的DOM服务器代码。该系统的特征在于,该系统包括流量分析器(7),其中该流量分析器(7)与流量检查器(2)进行信号通信并且在流量分析器(7)中驻留有算法应用程序(8),流量检查器(2)被配置为向DOM服务器代码添加默认代码部分,由此生成要发送至Web浏览器(4)的DOM客户端代码以接收与DOM客户端代码相关联的DOM呈现代码,流量检查器(2)被配置为将DOM客户端代码和DOM呈现代码发送至流量分析器(7),算法应用程序(8)被配置为对DOM呈现代码进行处理,以将该DOM呈现代码与DOM客户端代码进行比较,由此识别至少一个代码差异。
Description
技术领域
本公开涉及用于检测并抵抗网络攻击的系统和方法。
特别地,本公开涉及用于检测并抵抗浏览器中间人(Man-in-the-Browse)和/或中间人(Man-in-the-Middle)攻击的方法。换句话说,本发明使得能够监视并保护Web应用程序(Web服务器)免受针对客户端的Web浏览器的攻击。
背景技术
已知在用于抵抗包括浏览器中间人和/或中间人攻击的计算机安全攻击的技术中,使用杀毒软件。浏览器中间人是包括直接操纵Web浏览器以在用户访问网站时改变通常向他/她显示的内容的类型的攻击。浏览器中间人(MitB)攻击是在用户不知情的情况下使用计算机上所安装的恶意软件来执行的。这种恶意软件(例如,代理特洛伊木马)与Web浏览器进程的存储器交互,以将(Web浏览器所使用的)系统调用的正常流程重定向至如下的特定恶意软件功能,其中这些恶意软件功能具有例如将附加的HTML代码注入所下载的Web页中的目的。应当注意,在浏览器中间人攻击的情况下,与已被攻击的站点的原始Web服务器建立连接,这使得攻击检测困难。因此,Web浏览器和Web应用程序不能识别恶意软件向Web浏览器实际下载的内容所添加的内容。已确认了包括以下的各种浏览器中间人攻击:从电子银行和电子商务网站的信用卡数据窃取、以及经常在没有与用户交互的情况下自动开始的欺诈性交易。
更详细地,在用户经由Web浏览器请求Web页(即,Web应用程序)时,托管Web页的Web服务器将HTML源代码(文档对象模型,DOM)发送至Web浏览器。DOM代码被传送至Web浏览器的呈现引擎以供向用户进行显示。例如,在被恶意软件感染的PC中,Web浏览器从Web服务器接收到的DOM代码在被Web浏览器的呈现引擎处理之前,被恶意软件改变。为此,恶意软件将附加代码(例如,脚本)注入到该恶意软件从Web服务器接收到的DOM代码中,以改变向用户显示的内容。恶意软件对从Web服务器下载的DOM代码所作出的改变是HTML和/或javascript代码和/或任何其它内容或Web资源的改变。如上所述,伴随着可以包括图形和/或行为更改的改变、Web浏览器连接至原始Web服务器。因此,向用户显示修改后的Web页,其中该修改后的Web页再现客户端原本请求的Web页。客户端在非个人意愿的情况下允许访问其自身的个人数据或者授权针对他/她自身的账户的欺诈性交易。
例如,在银行领域,被恶意软件感染的计算机通常使用HTTPS协议登录到在线银行站点,并且下载Web页数据。然而,恶意软件通过添加交易操纵脚本并且例如进行自动转账,来实时地更改该数据。脚本还可以将用户实际预订的转账重定向至其它接收方,或者更简单地请求信用卡数据以及/或者添加附加字段以供用户利用附加数据填充。
现有技术问题
PC或客户端用户装置(例如,智能电话、平板电脑等)中所安装的杀毒软件在抵抗这种计算机安全威胁方面不太有效。杀毒软件仅可以识别经由因特网发生的浏览器中间人攻击的一部分。还已知有满足高安全标准或具有因特网安全软件的Web浏览器。然而,现有技术的解决方案均无法有效地抵抗浏览器中间人。
发明内容
本发明的目的是提供一种用于防止网络攻击的系统。
本发明的另一目的是提供一种采用这种系统来防止浏览器中间人攻击的方法。
本发明的又一目的是提供以下一种系统,其中该系统用于检测恶意软件对用户所下载的Web页和/或Web资源的DOM的HTML和/或javascript代码所作出的改变,并且证明发送至给定客户端的Web资源和/或页面的内容和/或DOM实际正是向该给定客户端显示的或者该给定客户端使用的内容和/或DOM。
本发明的还一目的是提供一种用于防止网络攻击的方法。
本发明的优势
一个实施例提供一种在Web浏览器和正监视的Web应用程序之间、对用户所作出的HTTP和/或HTTPS请求进行干预的系统。
另一实施例提供一种系统和一种采用这种系统来识别针对从Web应用程序实际下载的DOM代码的任何更改的方法。这将使得能够识别浏览器中间人攻击,以确保将所请求的Web页适当地显示给用户。
附图说明
通过以下针对在附图中作为非限制性示例示出的可能的具体实施例的详细说明,本公开的特征和优点将显而易见,其中:
-图1示出根据本公开的用于识别并防止网络攻击的系统的实施例;
-图2示出根据本公开的用于防止网络攻击的系统的另一实施例;
-图3示出根据本公开的用于防止网络攻击的方法的流程图;
-图4示出根据本公开的用于防止网络攻击的方法的特定步骤的流程图;
-图5示出参考图4的用于防止网络攻击的方法的特定子步骤的流程图。
具体实施方式
即使没有明确说明,如参考特定实施例所述的各个特征也应作为参考其它典型实施例所述的其它特征的辅助或者与这些其它特征是可互换的。
本发明涉及用于识别网络攻击、特别是浏览器中间人攻击的系统1。
参考图1和2,系统1包括与至少一个客户端计算机3进行信号通信的流量检查器2,其中在该客户端计算机3中驻留有Web浏览器4以进行因特网浏览。
流量检查器2与驻留有Web应用程序6的Web服务器5进行信号通信。
在一个方面中,用户可以使用客户端计算机3中的Web浏览器4来请求驻留在Web服务器5中的Web应用程序6(例如,Web页)。换句话说,用户(或客户端)使用客户端计算机3中所安装的Web浏览器4来访问Web页。显然,在使用期间,客户端计算机3应经由有线或移动电话设备或者任何其它已知的通信方法连接至因特网。
流量检查器2被配置为从Web浏览器4接收与Web应用程序6相关联的至少一个请求,并且将这种请求发送至Web服务器5。
流量检查器2被配置为从Web服务器5接收请求相关的DOM服务器代码。即,该请求是在用户使用Web浏览器4来请求唯一地标识驻留在Web服务器5中的因特网资源(即,Web应用程序6)的地址时由Web浏览器4生成的。
优选地,流量检查器2被配置为使用HTTP或HTTPS协议来从Web浏览器4至少接收与Web应用程序6相关联的请求,并且将这种请求发送至Web服务器5。
根据优选实施例,流量检查器2被设计成作为软件组件安装在Web应用程序6中,以及/或者作为防火墙软件模块和/或负载均衡器和/或网络设备和/或硬件装置和/或软件模块安装在托管Web应用程序6的Web服务器5中。
优选地,流量检查器2安装在与Web应用程序6相同的网络中(例如,预置(on-premises))或者被设置为外部服务(例如,SaaS或云)。
系统1包括驻留有算法应用程序8的流量分析器7。这种流量分析器7与流量检查器2进行信号通信。
根据优选配置,流量检查器2和/或流量分析器是软件组件。更优选地,流量检查器和/或流量分析器是专用服务器的组件。
优选地,流量检查器2和流量分析器7通过发送作业来进行通信,并且可以经由诸如TCP、UDP、HTTP(S)和IMAP等的一个或多个已知的通信协议来发送这些作业。
有利地,流量分析器位于HTTP/HTTPS请求的数据流的外部,并且可以独立于这种数据流而起作用。
流量检查器2被配置为将代理代码部分添加至DOM服务器代码,由此生成DOM客户端代码。此外,流量检查器2被配置为将DOM客户端代码发送至Web浏览器4。
参考以上,DOM服务器代码(例如,HTML代码)由Web浏览器4的呈现引擎接收并进行处理,使得可以将Web应用程序6的内容作为超文本(例如,Web页)显示给用户。
此外,流量检查器2被配置为从Web浏览器4接收与DOM客户端代码相关联的DOM呈现代码。
换句话说,DOM呈现代码是由Web浏览器4的呈现引擎进行DOM客户端代码处理而得到的。
因此,DOM客户端代码是恶意软件为了进行浏览器中间人或中间人攻击而可能潜在更改的代码。如上所述,恶意软件通过在DOM客户端代码被传送至Web浏览器4的呈现引擎之前改变该DOM客户端代码,来篡改浏览器的内部功能(还称为挂钩(hooking))。因此,如果DOM客户端代码被更改,则DOM呈现代码也被更改。
根据优选配置,DOM服务器代码是与请求相关联的HTML代码和/或javascript代码。
优选地,代理代码部分是HTML代码和/或javascript代码。
应当注意,DOM客户端代码至少包括DOM服务器代码和代理代码部分。
根据优选实施例,代理代码部分是默认代码,其中该默认代码优选被配置为向Web浏览器提供至少一个指令以将DOM呈现代码发送至流量检查器2。
流量检查器2被配置为至少将DOM客户端代码和DOM呈现代码发送至流量分析器7。
流量分析器7中的算法应用程序8被配置为对DOM呈现代码进行处理,并且将该DOM呈现代码与DOM客户端代码进行比较,以识别至少一个代码差异。优选地,算法应用程序8被配置为在该算法应用程序8识别出可以与诸如浏览器中间人(MitB)攻击等的网络攻击有关的至少一个代码差异的情况下,生成攻击指示信号(例如,MitB警报)。
根据优选配置,算法应用程序8对DOM呈现代码进行处理以提供预期的DOM客户端代码的估计。更详细地,算法应用程序8被配置为提供由Web浏览器4的呈现引擎为生成DOM呈现代码所处理的预期的DOM客户端代码的估计。将预期的DOM客户端代码与原始DOM客户端代码(即,客户端计算机3原本接收到的DOM客户端代码)进行比较,以识别这两个代码之间的匹配性。换句话说,预期/原始DOM客户端代码这两者在呈现之前DOM客户端代码没有被改变的情况下,是相同且一致的,或者在代码差异不是因存在恶意软件而引起的情况下,是相似且匹配的。
根据本发明,在算法应用程序8识别出可能与网络攻击(诸如MitB攻击等)有关的至少一个代码差异的情况下,预期/原始DOM客户端代码这两者将意图是不匹配的。
优选地,算法应用程序8由编程器或者利用学习系统来手动实现,因而随着时间是可变的(多态性)。更优选地,实现算法应用程序8的学习系统例如基于Web浏览器4的特定行为(例如,用户代理伪装)的统计分析。
如本发明中所使用的,术语算法应用程序意图指定在流量分析器7中正执行的程序或一系列程序,以使得能够将DOM客户端代码与DOM呈现代码进行比较,从而检查这两者之间的不匹配性。特别地,算法应用程序8是可以对DOM呈现代码进行处理以将该DOM呈现代码与DOM客户端代码进行比较的程序或一系列程序。例如,该算法使用默认且适当配置的功能来提供由Web浏览器4的呈现引擎所接收并处理的预期DOM客户端代码(即,已经被恶意软件潜在地改变的代码)的估计。该默认功能由于考虑实现该默认功能的特定Web浏览器的行为的学习机制而随时间的经过发生改变(多态性)。由于各Web浏览器4以特定方式呈现DOM客户端代码,因此这意味着默认功能针对各Web浏览器4是特定的。换句话说,算法应用程序8的默认功能进行DOM呈现代码的“反函数”。因而,一旦算法应用程序8接收到DOM呈现代码,算法应用程序8就可以提供Web浏览器4实际处理的预期的DOM客户端代码的估计。由于默认功能考虑Web浏览器4的行为,因此这是可能的。利用诸如纯文本差异(plain-text diff)等的比较功能将利用默认功能所估计的预期的DOM客户端代码与DOM客户端代码进行比较,以生成包含所检测到的DOM客户端代码和预期的DOM客户端代码之间的差异的一组片段代码。这些片段是被恶意软件潜在地注入的代码部分。
如这里所使用的,术语“文本差异”意图作为可以比较两个文本(例如,HTML代码文本)并且从这两个文本提取差异的应用程序。
换句话说,“文本差异”是通过两个文件各自的代码之间的纯文本比较(例如,通过文本覆盖、关键字检测、拼写检查)来突出这两个文件之间的差异的程序(即,比较功能)。
根据优选实施例,算法应用程序8驻留在流量检查器2和/或客户端计算机3和/或Web服务器5中。优选地,将算法应用程序8划分成在多个软件组件上执行的子功能。优选地,在流量检查器2和/或流量分析器7和/或客户端计算机(例如,Web浏览器4)和/或Web服务器5中执行这些子功能。
根据优选实施例,在进行两个DOM代码的“文本差异”比较之前,流量分析器7或流量检查器2对DOM客户端代码和DOM呈现代码进行处理,以使这两个代码标准化并且使得能够比较这两个代码。
该处理例如包括空格和回车清除、以及字符编码管理。
为了简洁,以下将参考DOM客户端代码和DOM呈现代码之间的比较,以准备算法应用程序8所进行的诸如默认功能的应用、文本差异比较和DOM代码标准化等的所有步骤。
如上所述,DOM客户端代码和DOM呈现代码之间的比较(可能地利用“文本差异”)使得能够提取还称为片段的代码差异。
各片段由其MD5散列来唯一地识别。
另外,各片段与诸如用户代理(即,用户所使用的Web浏览器的类型)等的将形成分析所用的群集的基本元数据相关联。由于各用户代理(即,Web浏览器4)在处理或呈现过程期间或之后以不同的方式对先前接收到的DOM客户端代码进行处理,因此需要上述关联。
例如,一些片段识别细微变化(例如,空白去除、代码缩进、各个标签中的参数的重新排序)、或者结构变化(例如,在无时添加关闭标签、在代码在其原始HTML格式中包含错误时进行代码格式化)。
一些其它片段识别Web浏览器4所作出的变化,诸如Web资源或Web页中所包含的脚本或者该资源或页面自身所生成的脚本等,其中这些变化修改呈现Web资源或页面上的代码。这些片段还称为应用程序片段。
例如,利用浏览器插件、即利用浏览器中间人技术起作用或者通过中间人技术引入的恶意软件,可以生成称为外部片段的一些更多片段。
如上所述,恶意软件通过在DOM客户端代码被传送至Web浏览器4的呈现引擎之前改变该DOM客户端代码,来篡改浏览器的内部功能(还称为挂钩)。
利用算法应用程序8的比较功能和其它功能来分析所提取的差异(即,片段)。
这些差异(或片段)可以是插入或去除型。
优选地,关于按特定群集(例如,按用户代理或按操作系统分类的片段)组织的基线(例如,基于统计的基线)来评估这些片段各自。
流量分析器7可被配置为将至少攻击识别信号发送至流量检查器2,以及/或者保存信号信息,以及/或者将该信号发送至外部系统。
根据一个配置,系统1包括计算机管理器9,其中该计算机管理器9与流量检查器2和流量分析器7进行信号通信,并且被配置为使得用户能够对流量检查器2和流量分析器7的操作进行编程并监视该操作。
优选地,流量检查器2被配置为接收攻击识别信号并且将至少攻击识别信号发送至Web浏览器4。
优选地,流量分析器7被配置为将攻击识别信号发送至计算机管理器和/或外部系统。
根据优选实施例,流量分析器7中的算法应用程序8被配置为将至少DOM客户端代码与处理后的DOM呈现代码进行比较,以在DOM客户端代码与DOM呈现代码不匹配时生成至少一个攻击识别代码。
根据优选实施例,计算机管理器9是控制面板,其中经由该控制面板,用户可以进行以下操作:
-监视系统1的状况;以及/或者
-实时地观看、检查和/或监视请求和流量;以及/或者
-观看、检查和/或监视请求和流量历史;以及/或者
-监视、设置和管理攻击识别信号(例如,安全警报)或信息信号;以及/或者
-显示、管理系统配置1和系统组件以及/或者对系统配置1和系统组件作出改变。
有利地,由于系统1分析各个请求,因此系统1提供在会话期间发生情况的综合概述。
有利地,本发明的系统1使得能够有效且安全地识别并抵抗浏览器中间人和/或中间人攻击,由此提供对用户请求的全面监视。
本发明还涉及一种用于使用本发明的系统1来识别浏览器中间人和/或中间人网络攻击的方法,包括以下步骤:
-经由Web浏览器4使用URI或URL来生成针对Web应用程序6或Web资源的请求;
-使用流量检查器2来将该请求发送至Web服务器5;
-利用流量检查器2来接收由Web服务器5根据该请求而自动生成的DOM服务器代码;
-利用流量检查器2将代理代码部分添加至DOM服务器代码,由此生成DOM客户端代码并且将该DOM客户端代码发送至Web浏览器4;
-利用Web浏览器4来接收并处理DOM客户端代码,以自动生成DOM呈现代码并且将该DOM呈现代码发送至流量检查器2;
-利用流量检查器2来接收DOM呈现代码并且将上述DOM客户端代码和该DOM呈现代码自动发送至流量分析器7;
-利用驻留在流量分析器7中的算法应用程序8来接收、处理并比较至少DOM客户端代码和DOM呈现代码,以在DOM客户端代码与DOM呈现代码不匹配时生成至少一个攻击识别信号。
根据优选实施例,用于发送请求的步骤包括以下步骤:
-使用HTTP或HTTPS协议来发送请求;
-代理代码部分是HTML和/或Javascript代码,或者利用Web浏览器可以解释的另一类型的代码和/或语言;
-DOM客户端代码至少包括DOM服务器代码和默认代码部分。
根据优选实施例,用于接收并处理DOM客户端代码以自动生成DOM呈现代码的步骤包括以下步骤:
-利用Web浏览器4来接收DOM客户端代码;
-利用Web浏览器来处理DOM客户端代码中所包含的DOM服务器代码,以自动生成DOM呈现代码;
-利用Web浏览器4来处理DOM客户端代码中所包含的代理代码部分,以将DOM呈现代码发送至流量检查器2。
根据优选实施例,用于利用驻留在流量分析器7中的算法应用程序8来接收并比较至少DOM客户端代码和DOM呈现代码、以在DOM客户端代码与DOM呈现代码不匹配时生成至少一个攻击识别信号的步骤包括以下步骤:
-将攻击识别信号发送至流量检查器2和/或Web浏览器4和/或计算机管理器9和/或外部单元。
根据优选实施例,用于利用驻留在流量分析器7中的算法应用程序8来接收并比较至少DOM客户端代码和DOM呈现代码、以在DOM客户端代码与DOM呈现代码不匹配时生成至少一个攻击识别信号的步骤包括以下步骤:
-利用驻留在流量分析器7中的算法应用程序8,通过执行比较功能来接收并比较至少DOM客户端代码和DOM呈现代码,以在DOM客户端代码与DOM呈现代码不匹配时生成至少一个攻击识别信号。
以下说明本发明的方法的应用示例。
该方法的应用示例-图3
该方法包括以下步骤:
-用户使用URI或URL(资源ID)来从客户端计算机3请求关注的Web站点或应用程序的资源或页面(块301)。Web浏览器4生成HTTP或HTTPS请求,以直接发送至与Web应用程序6相同的站点中所安装的或在云环境中可利用的流量检查器2。
-流量检查器2用作反向代理系统,读取主机名称,并且检查正监视且针对其配置密钥进行保护的Web应用程序6的位置的原始主机名称、地址、URL或URI。流量检查器2将HTTP或HTTPS请求发送至Web服务器5,并且获得所请求的页面的DOM服务器代码(包括cookie、头和其它信息)(块302)。
-流量检查器2随机地生成UID(即,用户代码)(块303)。如果用户已作出了请求,则流量检查器2例如经由用户的Web浏览器4中所包含并预先登记的cookie来读取客户端计算机3所发送的UID(块303a),或者生成并发送新的UID(块303b)。
-流量检查器2将唯一HID(即,请求代码)随机地分配至各个体HTTP或HTTPS请求(块304)。
-流量检查器2将代理代码部分(例如,脚本)加载(块305)并添加(块306)到所请求的页面的DOM服务器中。上述的脚本可以是提供一系列功能和一系列标志的HTML和/或Javascript代码。如这里所使用的,术语标志意图指定可以取两个状态中的任意状态(例如,“真”或“假”、“开启”或“关闭”、“1”或“0”)的变量,并且利用其值来表示是否实际发生了给定事件或者系统是否处于特定状况。标志在仅在达到给定状态或者发生了给定事件时自动执行的特定操作所用的代码中使用。可以根据作出请求的UID或IP或者根据在系统1内可以设置的任何其它变量来区分脚本或代理代码,使得可以针对用户群的各个用户添加自定义脚本。
-流量检查器2将包括DOM服务器代码或脚本和代理代码或脚本的DOM客户端发送至Web浏览器4(块307)。
-用户的Web浏览器4接收DOM客户端,呈现页面,并且自动开始脚本或代理代码的操作(块308)。
-一旦Web浏览器4完成了呈现处理或者执行了脚本或代理代码,Web浏览器4就经由可以是固定(例如,http(s)://webapplication/check)或可变(例如,http(s)://webapplication/fjlc3f4)的专用路径将数据发送至流量检查器2,这种数据例如如下:
a.用于检查呈现行为并且例如识别BOT(僵尸)或javascript禁用事件的标志(块309);
b.DOM呈现代码(块310);
-流量检查器2经由固定或可变的专用路径接收这种数据,并且例如通过创建作业来异步地打包(块311)并且将其发送(块312)至流量分析器。作业例如包括以下数据:
a.元数据(例如,IP、用户代理、请求日期/时间、内容长度、访问来源、主机、UID、HID);
b.DOM客户端;
c.DOM呈现。
-流量分析器7获取该数据并且基于算法应用程序8来开始分析(块313)。
-算法应用程序8对DOM呈现代码进行处理并且重建预期的DOM客户端代码的估计。此外,算法应用程序8在DOM客户端代码和预期的DOM客户端代码之间进行比较,提取(加法或减法)差异,并且独立地对这些差异进行分类(块314)。这些差异各自称为片段(块315)。
-算法应用程序8对这些差异进行处理,以评估所识别出的片段的风险等级(块316)。特定片段是由用户浏览器引起的,并且被称为浏览器行为片段(例如,参数的排序、非封闭标签的添加),其它片段是由插件或由恶意软件(例如,Zeus)添加的外部片段,其它片段是由Web应用程序生成并添加的应用程序片段。
-一旦流量分析器7完成了分析,流量分析器7向HTTP或HTTPS请求分配风险等级,并且可能地采取诸如警报、警告或流量阻挡等的对策(块317)。
-存储所有的数据,并且Web应用程序6的管理人员经由计算机管理器9可利用这些数据(块318)。
以下说明本发明的算法应用程序8所执行的步骤的应用示例。
还参考图4,算法应用程序8具有基于统计的数学运算,其包括以下步骤:
-针对请求创建群集密钥(块401)。该密钥例如是通过对群集特有的环境变量(例如,浏览器、浏览器版本、OS、OS版本、国家)进行散列(例如,md5散列)所创建的。一个示例如下所述。
cluster_key=md5(浏览器(browser)+版本(version)+OS+国家(country))
-针对请求创建路径密钥(块402)。该密钥例如是通过对HTTP或HTTPS请求的URL进行散列(例如,md5散列)所创建的。一个示例如下所述。
path_key=md5(path_request)
-将该请求的群集密钥和路径密钥合并,由此定义请求密钥(块403)。示例:
request_key=cluster_key+path_key
-增大request_key的值(块404)。示例:
increment(request_key,1)
-使DOM客户端代码归一化(块405)和使DOM呈现代码归一化(块406)。示例:
normalized_dom_rendered=normalize(dom_rendered)
normalized_dom_client=normalize(dom_client)
-执行比较功能以将归一化后的DOM呈现代码和归一化后的DOM客户端代码进行比较(块407),以获得片段的列表(块408)。例如:
snippet_array=compare(normalized_dom_rendered,normalized_dom_client)
-针对snippet_array的各元素执行以下步骤(块409)。
在这方面并且参考图5,存在创建针对所识别的片段的密钥的步骤(块501)。该密钥是通过对片段特有的变量(例如,内容、类型[插入,删除]、大小)进行散列(例如,md5散列)所创建的。一个示例如下所述:
a.snip_key=md5(snippet_array[N](类型(type))+snippet_array[N](长度(len))+snippet_array[N](内容(content)))
b.将片段密钥和请求密钥合并以获得统计片段密钥(块502)
stat_snip_key=request_key+snip_key
c.增大stat_snip_key的值(块503):
increment(stat_snip_key,1)
d.将request_key值与stat_snip_key值进行比较以定义所识别的片段的风险等级(块504)。例如,比较如下所述:
i.在识别出行为片段的情况下,如果extract_value_of(stat_snip_key)==extract_value_of(request_key),则风险等级低(块505)。
ii.在识别出应用程序片段或外部片段(例如,浏览器插件)的情况下,如果extract_value_of(stat_snip_key)<extract_value_of(request_key),则风险等级中等(块506)。
iii.在识别出高风险的浏览器中间人或中间人外部片段的情况下,如果extract_value_of(stat_snip_key)<<extract_value_of(request_key),则风险等级高(块507)。
换句话说,算法应用程序8的特有特征包括对群集内的片段的发生次数进行比较。
如果发生次数合理地接近基线,则片段是浏览器相关的行为片段和/或由大量广泛插件引起的片段。
在这种情况下,算法分配低或零的风险等级。
然而,如果发生次数背离基线,则存在意外的重要差异。
根据多个因素(例如,修改后的代码的长度、所注入的代码的类型),算法应用程序8分配中等-非常高的风险等级。
有利地,由于系统1分析各个请求,因此系统1提供会话期间发生情况的综合概述。
例如,系统1所实现的方法可以检测以下内容:
-请求是来自人类用户还是BOT;
-请求具有“合理”还是“不合理”定时;
-请求所来自的用户代理和IP;
-请求所来自的UID。
有利地,本发明的方法提供用户(即,客户端用户)的完全追踪以及会话监视。
根据优选实施例,该方法包括以下步骤:
-通过提供对用户的Web浏览器4的反馈来自动去除恶意片段;
-获得用户在页面上的屏幕截图和行为分析;
-经由请求时间线来分析Web站点上的用户路径;
-通过改变HTML和/或Javascript代码的属性值、链接值、表格、字段和/或函数来修改DOM服务器代码;
-通过添加、修改和/或重新组织DOM服务器代码的内容来修改DOM服务器代码。
有利地,本发明的方法1使得能够通过使用系统1来有效且安全地识别并抵抗浏览器中间人和/或中间人攻击,由此提供对用户请求的全面监视。
本领域技术人员将明显理解,如所附权利要求书中所定义的,在没有背离本发明的范围的情况下,可以进行如上所述的多个变化和变形以实现特定要求。
Claims (11)
1.一种用于识别浏览器中间人和/或中间人网络攻击的系统(1),包括:
流量检查器(2),其与至少一个客户端计算机(3)和Web服务器(5)进行信号通信,其中所述客户端计算机(3)具有驻留在其中的Web浏览器(4)以进行因特网浏览,以及所述Web服务器(5)具有驻留在其中的Web应用程序(6),
所述流量检查器(2)被配置为在所述客户端计算机(3)的用户经由所述Web浏览器(4)请求与所述Web应用程序(6)相关联的至少一个请求时,从所述Web浏览器(4)接收所述请求并且将所述请求发送至所述Web服务器(5),
所述流量检查器(2)被配置为从所述Web服务器(5)接收请求相关的DOM服务器代码,
其特征在于,所述系统还包括:
流量分析器(7),其中所述流量分析器(7)具有驻留在其中的算法应用程序(8),所述流量分析器(7)与所述流量检查器(2)进行信号通信,
所述流量检查器(2)被配置为向所述DOM服务器代码添加代理代码部分,由此生成DOM客户端代码以及将所述DOM客户端代码发送至所述Web浏览器(4),
所述流量检查器(2)被配置为从所述Web浏览器(4)接收与所述DOM客户端代码相关联的DOM呈现代码,
所述流量检查器(2)被配置为至少将所述DOM客户端代码和所述DOM呈现代码发送至所述流量分析器(7),
驻留在所述流量分析器(7)中的所述算法应用程序(8)被配置为对所述DOM呈现代码进行处理,并将所述DOM呈现代码与所述DOM客户端代码进行比较以识别至少一个代码差异,并且所述算法应用程序(8)被配置为对所述DOM呈现代码进行处理,以使用比较功能来将所述DOM呈现代码与所述DOM客户端代码进行比较,从而在所述DOM客户端代码与所述DOM呈现代码不匹配的情况下生成至少一个攻击识别信号。
2.根据权利要求1所述的系统(1),其中,所述流量检查器(2)被配置为使用HTTP或HTTPS协议来从所述Web浏览器(4)至少接收与所述Web应用程序(6)相关联的所述请求,并将所述请求发送至所述Web服务器(5)。
3.根据权利要求1所述的系统(1),其中,所述DOM服务器代码是与所述请求相关联的HTML和/或Javascript代码,所述代理代码部分是HTML和/或Javascript代码,并且所述DOM客户端代码至少包括所述DOM服务器代码和所述代理代码部分。
4.根据权利要求1所述的系统(1),其中,所述代理代码部分被配置为指示所述Web浏览器(4)将所述DOM呈现代码发送至所述流量检查器(2)。
5.根据权利要求1所述的系统(1),其中,还包括计算机管理器(9),其中所述计算机管理器(9)与所述流量分析器(7)进行信号通信,并且被配置为使得用户能够对所述流量分析器(7)的操作进行编程和监视。
6.根据权利要求5所述的系统(1),其中,所述流量分析器(7)被配置为在所述算法应用程序(8)识别出所述至少一个代码差异的情况下生成攻击识别信号,并且将所述攻击识别信号发送至所述流量检查器(2)和/或所述Web浏览器(4)和/或计算机管理器(9)和/或外部单元,以及/或者将所述攻击识别信号保存在数据库中。
7.一种用于识别浏览器中间人和/或中间人网络攻击的方法,其使用如前述权利要求中的任一项所述的系统(1)来进行识别,其特征在于,所述方法包括以下步骤:
经由Web浏览器(4)使用URI或URL生成针对Web应用程序(6)或Web资源的请求(301);
使用流量检查器(2)来将所述请求发送(302)至Web服务器(5);
利用所述流量检查器(2)来接收DOM服务器代码,其中所述DOM服务器代码是由所述Web服务器(5)根据所述请求而自动生成的;
利用所述流量检查器(2)向所述DOM服务器代码添加(306)代理代码部分,由此生成DOM客户端代码并将所述DOM客户端代码发送(307)至所述Web浏览器(4);
利用所述Web浏览器(4)来接收并处理(308)所述DOM客户端代码,以自动生成DOM呈现代码并将所述DOM呈现代码发送(310)至所述流量检查器(2);
利用所述流量检查器(2)来接收(311)所述DOM呈现代码,并且将所述DOM客户端代码和所述DOM呈现代码自动发送(312)至流量分析器(7);以及
利用驻留在所述流量分析器(7)中的算法应用程序(8)来接收(313)、处理并比较(314,315,316)至少所述DOM客户端代码和所述DOM呈现代码以识别至少一个代码差异,并且对所述DOM呈现代码进行处理以使用比较功能将所述DOM呈现代码与所述DOM客户端代码进行比较,以在所述DOM客户端代码与所述DOM呈现代码不匹配的情况下生成(317)至少一个浏览器中间人和/或中间人攻击识别信号。
8.根据权利要求7所述的方法,其中,用于发送(302)所述请求的步骤包括以下步骤:
使用HTTP或HTTPS协议来发送所述请求,
其中,所述代理代码部分是HTML和/或Javascript代码、或者利用Web浏览器能够解释的其它类型的代码和/或语言,
所述DOM客户端代码至少包括所述DOM服务器代码和默认代码部分。
9.根据权利要求8所述的方法,其中,用于接收并处理(308)所述DOM客户端代码以自动生成所述DOM呈现代码的步骤包括以下步骤:
利用所述Web浏览器(4)来接收所述DOM客户端代码;
利用所述Web浏览器(4)来处理所述DOM客户端代码中所包含的所述DOM服务器代码,以自动生成所述DOM呈现代码;以及
利用所述Web浏览器(4)来处理所述DOM客户端代码中所包含的所述代理代码部分,以将所述DOM呈现代码发送至所述流量检查器(2)。
10.根据权利要求7所述的方法,其中,用于利用驻留在所述流量分析器(7)中的所述算法应用程序(8)来接收(313)并比较(314,315,316)至少所述DOM客户端代码和所述DOM呈现代码以在所述DOM客户端代码与所述DOM呈现代码不匹配的情况下生成至少一个攻击识别信号的步骤包括以下步骤:
将所述攻击识别信号发送至所述流量检查器(2)和/或所述Web浏览器(4)和/或计算机管理器(9)和/或外部单元。
11.根据权利要求7所述的方法,其中,用于利用驻留在所述流量分析器(7)中的所述算法应用程序(8)来接收(313)并比较(314,315,316)至少所述DOM客户端代码和所述DOM呈现代码以在所述DOM客户端代码与所述DOM呈现代码不匹配的情况下生成至少一个攻击识别信号的步骤包括以下步骤:
利用驻留在所述流量分析器(7)中的所述算法应用程序(8),通过执行比较功能来接收并比较至少所述DOM客户端代码和所述DOM呈现代码,以在所述DOM客户端代码与所述DOM呈现代码不匹配的情况下生成至少一个攻击识别信号。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201462079337P | 2014-11-13 | 2014-11-13 | |
US62/079,337 | 2014-11-13 | ||
EP14192969.5 | 2014-11-13 | ||
EP14192969 | 2014-11-13 | ||
PCT/IB2015/058307 WO2016075577A1 (en) | 2014-11-13 | 2015-10-28 | System and method for identifying internet attacks |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107209831A CN107209831A (zh) | 2017-09-26 |
CN107209831B true CN107209831B (zh) | 2021-02-05 |
Family
ID=54476706
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201580061985.1A Active CN107209831B (zh) | 2014-11-13 | 2015-10-28 | 用于识别网络攻击的系统和方法 |
Country Status (4)
Country | Link |
---|---|
US (2) | US20170324772A1 (zh) |
EP (1) | EP3219072B1 (zh) |
CN (1) | CN107209831B (zh) |
ES (1) | ES2882125T3 (zh) |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3195171B1 (en) * | 2014-07-31 | 2019-11-06 | Namogoo Technologies Ltd. | Detecting and removing injected elements from content interfaces |
US20170195293A1 (en) * | 2015-12-31 | 2017-07-06 | Check Point Software Technologies Ltd. | System and method to detect and prevent phishing attacks |
US9954894B2 (en) * | 2016-03-04 | 2018-04-24 | Microsoft Technology Licensing, Llc | Webpage security |
US10382266B1 (en) * | 2016-03-16 | 2019-08-13 | Equinix, Inc. | Interconnection platform with event-driven notification for a cloud exchange |
US10313418B2 (en) * | 2016-06-20 | 2019-06-04 | Ramp Holdings, Inc. | Chunked HTTP video cache routing |
US10275596B1 (en) * | 2016-12-15 | 2019-04-30 | Symantec Corporation | Activating malicious actions within electronic documents |
US10289836B1 (en) * | 2018-05-18 | 2019-05-14 | Securitymetrics, Inc. | Webpage integrity monitoring |
US11102237B2 (en) * | 2018-05-25 | 2021-08-24 | Jpmorgan Chase Bank, N.A. | Method and system for improved malware detection |
CN109409080B (zh) * | 2018-10-09 | 2021-03-19 | 北京北信源信息安全技术有限公司 | 一种浏览器https审计方法和装置 |
US10929878B2 (en) * | 2018-10-19 | 2021-02-23 | International Business Machines Corporation | Targeted content identification and tracing |
US10521583B1 (en) * | 2018-10-25 | 2019-12-31 | BitSight Technologies, Inc. | Systems and methods for remote detection of software through browser webinjects |
US11368477B2 (en) | 2019-05-13 | 2022-06-21 | Securitymetrics, Inc. | Webpage integrity monitoring |
US12063161B1 (en) | 2023-05-31 | 2024-08-13 | Cisco Technology, Inc. | Discovering multi-application workflows to identify potential qoe- impacting issues |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101616008A (zh) * | 2008-06-27 | 2009-12-30 | 国际商业机器公司 | 保护网络应用数据的方法和系统 |
CN103458037A (zh) * | 2013-09-06 | 2013-12-18 | 南京南自信息技术有限公司 | 一种在资源受限环境下提供复杂网页应用的方法和设备 |
US8869281B2 (en) * | 2013-03-15 | 2014-10-21 | Shape Security, Inc. | Protecting against the introduction of alien content |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8225401B2 (en) * | 2008-12-18 | 2012-07-17 | Symantec Corporation | Methods and systems for detecting man-in-the-browser attacks |
US8752208B2 (en) * | 2011-05-13 | 2014-06-10 | Imperva Inc. | Detecting web browser based attacks using browser digest compute tests launched from a remote source |
US9584543B2 (en) * | 2013-03-05 | 2017-02-28 | White Ops, Inc. | Method and system for web integrity validator |
US9225737B2 (en) * | 2013-03-15 | 2015-12-29 | Shape Security, Inc. | Detecting the introduction of alien content |
US9270647B2 (en) * | 2013-12-06 | 2016-02-23 | Shape Security, Inc. | Client/server security by an intermediary rendering modified in-memory objects |
US9075990B1 (en) * | 2014-07-01 | 2015-07-07 | Shape Security, Inc. | Reliable selection of security countermeasures |
-
2015
- 2015-10-28 CN CN201580061985.1A patent/CN107209831B/zh active Active
- 2015-10-28 ES ES15795226T patent/ES2882125T3/es active Active
- 2015-10-28 EP EP15795226.8A patent/EP3219072B1/en active Active
- 2015-10-28 US US15/526,416 patent/US20170324772A1/en not_active Abandoned
- 2015-11-12 US US14/939,888 patent/US11044268B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101616008A (zh) * | 2008-06-27 | 2009-12-30 | 国际商业机器公司 | 保护网络应用数据的方法和系统 |
US8869281B2 (en) * | 2013-03-15 | 2014-10-21 | Shape Security, Inc. | Protecting against the introduction of alien content |
CN103458037A (zh) * | 2013-09-06 | 2013-12-18 | 南京南自信息技术有限公司 | 一种在资源受限环境下提供复杂网页应用的方法和设备 |
Also Published As
Publication number | Publication date |
---|---|
CN107209831A (zh) | 2017-09-26 |
ES2882125T3 (es) | 2021-12-01 |
US20170324772A1 (en) | 2017-11-09 |
EP3219072A1 (en) | 2017-09-20 |
US20160142428A1 (en) | 2016-05-19 |
EP3219072B1 (en) | 2021-06-09 |
US11044268B2 (en) | 2021-06-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107209831B (zh) | 用于识别网络攻击的系统和方法 | |
US11570211B1 (en) | Detection of phishing attacks using similarity analysis | |
JP6624771B2 (ja) | クライアントベースローカルマルウェア検出方法 | |
Abikoye et al. | A novel technique to prevent SQL injection and cross-site scripting attacks using Knuth-Morris-Pratt string match algorithm | |
EP3219068B1 (en) | Method of identifying and counteracting internet attacks | |
EP3021550A1 (en) | System and method for identifying internet attacks | |
US20190173900A1 (en) | Analyzing client application behavior to detect anomalies and prevent access | |
US10469531B2 (en) | Fraud detection network system and fraud detection method | |
EP2447878B1 (en) | Web based remote malware detection | |
KR101514984B1 (ko) | 홈페이지 악성코드 유포 탐지 시스템 및 방법 | |
CN105491053A (zh) | 一种Web恶意代码检测方法及系统 | |
CN112703496B (zh) | 关于恶意浏览器插件对应用用户的基于内容策略的通知 | |
US20140283078A1 (en) | Scanning and filtering of hosted content | |
EP3547121B1 (en) | Combining device, combining method and combining program | |
US20190222587A1 (en) | System and method for detection of attacks in a computer network using deception elements | |
US8893270B1 (en) | Detection of cross-site request forgery attacks | |
WO2017056121A1 (en) | Method for the identification and prevention of client-side web attacks | |
US20180302437A1 (en) | Methods of identifying and counteracting internet attacks | |
KR102159399B1 (ko) | 웹서버 모니터링 및 악성코드 분석 장치 | |
US10474810B2 (en) | Controlling access to web resources | |
CN103220277A (zh) | 监控跨站脚本攻击的方法、装置及系统 | |
KR101781780B1 (ko) | 다중 서버, 다중 브라우저 기반의 고속 악성 웹 사이트 탐지 시스템 및 방법 | |
US20160335232A1 (en) | Remote script execution for secure and private browsing | |
Cvitić et al. | Defining cross-site scripting attack resilience guidelines based on BeEF framework simulation | |
CA3202446A1 (en) | Automated detection of cross site scripting attacks |
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 | ||
CP03 | Change of name, title or address | ||
CP03 | Change of name, title or address |
Address after: Milan Italy Patentee after: Clive associates Inc. Address before: Trento Patentee before: Clearfy S.R.L. |