CN107209830B - 用于识别并抵抗网络攻击的方法 - Google Patents

用于识别并抵抗网络攻击的方法 Download PDF

Info

Publication number
CN107209830B
CN107209830B CN201580061947.6A CN201580061947A CN107209830B CN 107209830 B CN107209830 B CN 107209830B CN 201580061947 A CN201580061947 A CN 201580061947A CN 107209830 B CN107209830 B CN 107209830B
Authority
CN
China
Prior art keywords
code
server
dom
web
service page
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
Application number
CN201580061947.6A
Other languages
English (en)
Other versions
CN107209830A (zh
Inventor
N·帕斯托雷
E·帕里内洛
C·吉安格雷戈里奥
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Clive associates Inc.
Original Assignee
Clearfy Srl
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Clearfy Srl filed Critical Clearfy Srl
Publication of CN107209830A publication Critical patent/CN107209830A/zh
Application granted granted Critical
Publication of CN107209830B publication Critical patent/CN107209830B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/554Detecting local intrusion or implementing counter-measures involving event detection and direct action
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • H04L63/1466Active attacks involving interception, injection, modification, spoofing of data unit addresses, e.g. hijacking, packet injection or TCP sequence number attacks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0281Proxies
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • H04L63/061Network architectures or network communication protocols for network security for supporting key management in a packet data network for key exchange, e.g. in peer-to-peer networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0876Network architectures or network communication protocols for network security for authentication of entities based on the identity of the terminal or configuration, e.g. MAC address, hardware or software configuration or device fingerprint
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1416Event detection, e.g. attack signature detection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/03Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
    • G06F2221/032Protect output to user by software means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing 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/2107File encryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • H04L63/067Network architectures or network communication protocols for network security for supporting key management in a packet data network using one-time keys

Abstract

本发明涉及识别并抵抗浏览器中间人和/或中间人和/或僵尸攻击类型的网络攻击的方法,包括:利用Web浏览器生成与驻留在Web服务器中的Web应用程序有关的请求;利用Web浏览器将请求发送至与Web服务器进行信号通信的盒子服务器;利用盒子服务器接收服务器DOM代码,服务器DOM代码是由Web服务器根据请求自动生成的;响应于请求利用盒子服务器将服务页面代码发送至Web浏览器,服务页面代码包括混淆且多态的javascript和/或HTML代码;利用Web浏览器接收并处理javascript和/或HTML代码以自动生成异步请求,使得能够将Web服务器的环境数据发送至盒子服务器;利用盒子服务器处理环境数据以识别网络攻击;利用盒子服务器对服务器DOM代码进行加密功能以生成混淆DOM代码,并响应于异步请求将混淆DOM代码发送至Web浏览器;利用服务页面代码对混淆DOM代码进行解密功能以获得服务器DOM代码;以及利用Web浏览器呈现服务器DOM代码。

Description

用于识别并抵抗网络攻击的方法
技术领域
本公开涉及用于检测并抵抗网络攻击的方法。
特别地,本公开涉及用于检测并抵抗浏览器中间人(Man-in-the-Browser)攻击和/或中间人(Man-in-the-Middle)攻击和/或僵尸(Bot)攻击的方法。换句话说,本发明使得能够监视并保护Web应用程序或Web浏览器免受针对客户端的Web浏览器的攻击。
背景技术
已知在用于抵抗包括浏览器中间人攻击和/或中间人攻击和/或僵尸攻击的计算机安全攻击的技术中,使用杀毒软件。
例如,浏览器中间人攻击是包括以下的攻击类型:直接操纵Web浏览器以在用户访问网站时改变通常向他/她显示的内容(参见图1)。浏览器中间人(MitB)攻击是在用户不知道的情况下使用计算机上所安装的恶意软件来执行的。这种恶意软件(例如,代理特洛伊木马)与Web浏览器进程的存储器互动,以将(Web浏览器所使用的)系统调用的正常流程重定向至如下的特定恶意软件功能,其中这些恶意软件功能具有例如将附加的HTML代码注入到所下载Web页中的目的。应当注意,在浏览器中间人攻击的情况下,与已被攻击的站点的原始Web服务器建立连接,这使得攻击检测困难。因此,Web浏览器和Web应用程序不能识别恶意软件向Web浏览器实际下载的内容所添加的内容。已确认了包括以下的各种浏览器中间人攻击:从电子银行和电子商务网站的信用卡数据窃取以及经常在没有与用户互动的情况下自动开始的欺诈性交易。
更详细地,在用户经由Web浏览器请求Web页(即,Web应用程序)时,托管Web页的Web服务器将HTML源代码(文档对象模型,DOM)发送至Web浏览器。DOM代码被传送至Web浏览器的呈现引擎(rendering engine)以供向用户进行显示。例如,在被恶意软件感染的PC中,Web浏览器从Web服务器所接收到的DOM代码在被Web浏览器的呈现引擎处理之前,被恶意软件改变。为此,恶意软件将附加代码(例如,脚本)注入到该恶意软件从Web服务器接收到的DOM代码中,以改变向用户显示的内容。恶意软件对从Web服务器下载的DOM代码所作出的改变是HTML和/或javascript代码和/或任何其它内容或Web资源的变化。换句话说,在恶意软件对所下载的DOM代码作出改变时,Web浏览器连接至原始Web服务器。这些变化可以包括图形和/或行为更改。因此,向用户显示如下的Web页,其中该Web页相对于客户端原本请求的Web页在其行为和/或图形表现方面已发生改变。客户端不愿允许访问其自身的个人数据或者授权针对他/她自身的账户的欺诈性交易。
例如,在银行领域,被恶意软件感染的计算机通常使用HTTPS协议登录到在线银行站点,并且下载Web页数据。然而,恶意软件通过添加交易操纵脚本并且例如进行自动数据传送,来实时地更改该数据。脚本还可以将用户实际发出的转账重定向至其它接收方,或者更简单地请求信用卡数据以及/或者添加附加字段以供用户利用附加数据填充。
如图1所示,另一示例是僵尸攻击。这些攻击包括来自自动系统而不是来自人的页请求。这可能涉及服务提供商的大量带宽消耗。此外,自动系统可能以不期望且非法的方式使用服务。现有技术中已知的示例是Web抓取(即,从Web服务提取信息)、制卡(即,使所窃取的信用卡有效化的处理)或者暴力破解(即,尝试在Web应用程序的登录页中搜索用户的凭据)。
文献US2002166051公开了针对Web应用程序的DOM代码所进行的加密功能。在Web服务器上,DOM代码与解密程序组合使用。在用户请求Web应用程序时,响应于这种请求而提供加密DOM代码。该加密DOM代码不能由请求该代码的客户端进行呈现。这是因为,仅授权客户端可以访问在Web浏览器上可用的解密程序,从而允许该解密程序对DOM代码进行解密以访问Web应用程序。
现有技术问题
PC或客户端用户装置(例如,智能电话、平板电脑等)上所安装的杀毒软件在抵抗这种计算机安全威胁方面不太有效。杀毒软件仅可以识别因特网上发生的浏览器中间人攻击的一部分。还已知有满足高安全标准或具有因特网安全软件的Web浏览器。然而,现有技术的解决方案均无法有效地抵抗浏览器中间人攻击和/或中间人攻击和/或僵尸攻击。
例如,即使在对DOM代码进行加密时,通过针对包含解密程序的Web服务器的攻击仍可以获得解密代码。此外,尽管该代码被加密,但仍可以立即将该代码提供至请求该代码的客户端。因此,仍可能存在攻击,这是因为解密密钥可能被进行这些攻击的个人识别出的风险高。
发明内容
本发明的目的是提供一种用于防止网络攻击的方法。
本发明的另一目的是提供一种用于识别并抵抗浏览器中间人攻击和/或中间人攻击和/或僵尸攻击的方法。
本发明的又一目的是提供用于检测恶意软件对用户所下载的Web页和/或Web资源的DOM的HTML和/或javascript代码所作出的改变的方法,并且证明发送至给定客户端的Web资源和/或页面的内容和/或DOM实际正是向该给定客户端显示的或者该给定客户端使用的内容和/或DOM。
本发明的优点
一个实施例提供如下的方法,其中该方法使得能够监视并处理用户所作出并在正监视的Web浏览器和Web应用程序之间传送的HTTP和/或HTTPS请求的流动。
另一实施例提供一种用于保护所下载的DOM代码并且防止该DOM代码被恶意软件访问的方法。
又一实施例提供一种用于识别针对从Web服务器实际下载的DOM代码的任何更改的方法。这将使得能够识别浏览器中间人攻击和/或中间人攻击和/或僵尸攻击,以确保将所请求的Web页适当地显示给用户。
附图说明
通过以下针对在一组图中作为非限制性示例示出的可能的具体实施例的详细说明,本公开的特征和优点将显而易见,其中:
图1示出网络攻击的示例的流程图,其中该示例没有包括在本发明的方法中;
图2示出用于识别并抵抗图1的网络攻击的方法的流程图;
图3示出根据本公开的用于识别并抵抗网络攻击的方法的另一流程图;
图4示出根据本公开的用于识别并抵抗网络攻击的方法的特定步骤的流程图。
具体实施方式
即使没有明确说明,如参考特定实施例所述的各个特征也应作为参考其它典型实施例所述的其它特征的辅助或者与这些其它特征是可互换的。
本发明涉及用于识别并抵抗网络攻击、特别是浏览器中间人攻击和/或中间人攻击和/或僵尸攻击的方法。
例如,图1示出浏览器中间人攻击类型和/或僵尸攻击类型的网络攻击的示例的流程图,其中该示例并未构成本发明的一部分。
在附图中,附图标记1指定可以实现本发明的方法的系统1。换句话说,指定系统1作为使得能够实现本发明的方法的网络环境。
参考图2,用于识别并抵抗浏览器中间人和/或中间人和/或僵尸攻击类型的网络攻击的方法包括以下步骤:利用Web浏览器4生成与驻留在Web服务器5中的Web应用程序6(例如,Web页)有关的请求(例如,GET(获取)、POST(提交)请求)。优选地,该请求是在Web浏览器4的用户输入Web应用程序6的URI或URL时生成的。更优选地,该方法包括以下步骤:使用HTTP或HTTPS协议来发送该请求。
该方法还包括以下步骤:利用Web浏览器4将该请求发送至与Web服务器5进行信号通信的盒子服务器(box server)2。
例如,该方法使用盒子服务器2来与至少一个客户端计算机3进行信号通信,其中在该客户端计算机3中驻留有Web浏览器以供因特网浏览。盒子服务器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接收服务器DOM代码,其中该代码是由Web服务器5根据请求而自动生成的。
例如,盒子服务器2被配置为从Web服务器5接收请求相关的服务器DOM代码。即,该请求是在用户使用Web浏览器4来请求URL(Uniform Resource Locator,统一资源定位符)时由Web浏览器4生成的,其中该URL唯一地标识驻留在Web服务器5中的因特网资源(即,Web应用程序6)的地址。例如,盒子服务器2被配置为使用HTTP或HTTPS协议来从Web浏览器4至少接收与Web应用程序6相关联的请求,并且将这种请求发送至Web服务器5。
例如,在用户利用特定网络配置(例如,通过对要联系的网站域名的DNS密钥作出改变)或者负载均衡器(例如,通过引入用以改变通信流的规则)从Web应用程序6的网站请求页面时,该用户代替联系Web服务器5而是联系盒子服务器2。后者(例如,以标准的反向代理模式)将该请求发送至Web应用程序6的Web服务器5。
该方法包括以下步骤:响应于该请求,利用盒子服务器2将服务页面代码发送至Web服务器5。优选地,服务页面代码包括混淆或多态的javascript和/或HTML代码。更优选地,服务页面代码针对各用户或针对各HTTP/HTTPS请求可能有所不同。
根据优选实施例,盒子服务器2被设计成作为软件组件而安装在Web应用程序6中以及/或者作为防火墙软件模块和/或负载均衡器和/或网络设备和/或硬件装置和/或软件模块而安装在托管Web应用程序6的Web服务器5中。
优选地,盒子服务器2安装在与Web应用程序6相同的网络中(例如,户内)或者被设置为外部服务(例如,SaaS或云)。
该方法还包括以下步骤:利用Web浏览器4接收或执行javascript和/或HTML代码,以自动生成异步请求,使得可以将Web浏览器4的环境数据发送至盒子服务器2。
该方法还包括以下步骤:利用盒子服务器2处理Web浏览器的环境数据,以识别浏览器中间人和/或中间人和/或僵尸攻击类型的网络攻击。
该方法包括以下步骤:利用盒子服务器2对服务器DOM代码进行加密功能,以生成混淆DOM代码;以及响应于异步请求,将该混淆DOM代码发送至Web浏览器。
根据优选实施例,该方法包括以下步骤:利用盒子服务器2对服务器DOM代码进行加密和/或混淆和/或压缩和/或编码功能,以获得混淆DOM代码。优选地,加密功能涉及使用对称或非对称密钥。例如,服务页面代码可以使用的混淆方法可以包括变量和功能名称的替换、未使用代码的引入以及数字和字符串的加密、编码。
该方法还包括以下步骤:利用服务页面代码对混淆DOM代码进行解密功能,以获得服务器DOM代码。换句话说,Web浏览器正呈现的服务页面代码包括被配置为通过与盒子服务器2共用的解密密钥来对混淆DOM代码进行解密的代码部分。
该方法包括以下步骤:利用Web浏览器4来呈现服务器DOM代码。
参考以上,服务器DOM代码(例如,HTML代码)由Web浏览器4的呈现引擎接收到并进行处理,使得可以将Web应用程序6的内容作为超文本(例如,Web页)显示给用户。
有利地,利用本发明的方法,由于从发送请求的自动系统接收到的页面是与不具有从Web服务器5所获得的原始服务器DOM代码的内容的页面有关的服务页面代码,因此不能进行僵尸攻击。
有利地,在高级模式下使服务页面代码混淆,以阻止恶意软件对可能用于改变混淆服务器DOM代码的信息进行提取。
有利地,利用本发明的方法,由于恶意软件仅可以拦截被修改且加密并且不能被篡改或替换的混淆DOM代码,因此不能进行浏览器中间人攻击。
根据优选实施例,该方法包括以下步骤:利用自动系统生成与Web应用程序6相关联的请求;以及利用同一自动系统将该请求和唯一授权码发送至盒子服务器2。该方法包括以下步骤:利用盒子服务器2来接收Web服务器5根据该请求而自动生成的服务器DOM代码。该方法还包括以下步骤:根据唯一授权码,利用盒子服务器2将服务器DOM代码发送至自动系统。可选地,可以利用白名单(即,被授权请求服务器DOM代码的自动系统的列表)来替换唯一授权码(参见图3)。优选地,自动系统包括可以接收Web服务器5所提供的服务的内容的授权系统。例如,搜索引擎需要页面索引的页面内容。有利地,本发明的方法不会阻挡这些自动系统,而是在这些自动系统在授权白名单中的情况下以及/或者在这些自动系统具有惟一授权码(或安全令牌)的情况下,向这些自动系统提供服务器DOM代码。
根据优选实施例,该方法包括以下步骤:利用外部装置7a、7b,将单次使用的加密密钥提供至盒子服务器2和Web浏览器4。此外,该方法包括以下步骤:使用单次使用的加密密钥来对服务器DOM代码进行加密功能,以生成混淆DOM代码。此外,该方法包括以下步骤:根据单次使用的加密密钥来对混淆DOM代码进行解密,以获得服务器DOM代码。换句话说,加密和解密所需的单次使用的加密密钥是由外部装置7a、7b针对各请求所提供的。由于加密密钥来自于免受恶意软件篡改的外部系统,因此这将进一步增加系统的安全。例如,使用OTK(一次性密钥)或OTP(一次性密码)系统作为单次使用的加密密钥。
根据优选配置,该方法包括以下步骤:生成与Web浏览器4的用户相关联的用户代码。此外,该方法包括以下步骤:根据用户代码来提供单次使用的加密密钥。
根据本发明的优选实施例,该方法包括以下步骤:利用Web浏览器4来接收并呈现服务页面代码。换句话说,所呈现的服务页面代码是由Web浏览器4的呈现引擎通过服务页面代码处理而产生的。该方法还包括以下步骤:利用Web浏览器4来接收或处理javascript和/或HTML代码,以自动生成异步请求,使得可以将所呈现的服务页面代码发送至盒子服务器2。此外,该方法包括以下步骤:利用驻留在盒子服务器2中的算法应用程序8来处理并比较所呈现的服务页面代码与服务页面代码,使得可以识别出至少一个代码差异。
因此,服务页面代码是恶意软件为了进行浏览器中间人攻击和/或中间人攻击而可能潜在更改的代码。如上所述,恶意软件通过在服务页面代码被传送至Web浏览器4的呈现引擎之前改变该服务页面代码,来篡改浏览器的内部功能(还已知为挂钩(hooking))。因此,如果服务页面代码被恶意软件更改,则所呈现的服务页面代码也被修改。
根据优选实施例,该方法包括以下步骤:在算法应用程序8识别出服务页面代码和所呈现的服务页面代码之间的至少一个代码差异的情况下,利用盒子服务器2生成攻击指示信号。该方法包括以下步骤:将该攻击指示信号发送至Web浏览器4;以及/或者将该攻击指示信号保存在数据库中。
根据优选配置,该方法包括以下步骤:利用算法应用程序8的比较功能来对所呈现的服务页面代码进行处理,以将该所呈现的服务页面代码与服务页面代码进行比较,由此在服务页面代码与所呈现的服务页面代码不匹配的情况下,生成至少一个攻击指示信号。
应当注意,服务页面代码是仅具有功能目的和安全目的的小代码。该代码不用于显示与Web应用程序6相关联的Web页,而是仅用于保护Web应用程序6。
有利地,该方法使得能够在服务页面代码和所呈现的服务页面代码之间进行比较,以识别与客户端计算机中存在恶意软件相关联的、这两个代码之间的任何不匹配。由于本发明的方法,可以比较两个小代码,从而大大降低功率和计算时间要求。
根据优选实施例,该方法包括以下步骤:利用盒子服务器2对请求进行处理,以识别并抵抗僵尸攻击。
根据优选实施例,盒子服务器2包括与该盒子服务器2相关联的流量分析器,其中算法应用程序8驻留在该流量分析器中。
根据优选实施例,盒子服务器2和/或流量分析器是软件组件。更优选地,盒子服务器和/或流量分析器是专用服务器的组件。
优选地,盒子服务器2和流量分析器通过发送作业来进行通信。这些作业是经由诸如TCP、UDP、HTTP(S)和IMAP等的一个或多个已知的通信协议进行发送的。
有利地,在该方法中,流量分析器处于HTTP/HTTPS请求的数据流的外部,并且可以独立于该数据流起作用。
优选地,服务器DOM代码是与该请求相关联的HTML代码和/或javascript代码。
优选地,服务页面代码是HTML代码和/或javascript代码。
根据优选实施例,服务页面代码是预设代码,其中该预设代码优选被配置为将至少一个指令提供至Web浏览器,以将所呈现的服务页面代码发送至盒子服务器2。
优选地,算法应用程序8被配置为处理所呈现的服务页面代码,并且将该所呈现的服务页面代码与服务页面代码进行比较以识别至少一个代码差异。优选地,算法应用程序8被配置为在该算法应用程序识别出可以与诸如浏览器中间人(MitB)攻击等的网络攻击有关的至少一个代码差异的情况下,生成攻击指示信号(例如,MitB警报、BOT警报)。
根据优选配置,算法应用程序8对所呈现的服务页面代码进行处理以提供预期服务页面代码的估计。更详细地,算法应用程序8被配置为提供Web浏览器4的呈现引擎处理后的预期服务页面代码的估计,以生成所呈现的服务页面代码。将预期服务页面代码与原始服务页面代码(即,客户端计算机3原本接收到的服务页面代码)进行比较,以识别这两个代码之间的匹配性。换句话说,这两个预期/原始服务页面代码是在呈现之前没有对该代码作出改变的情况下,是相同且一致的,或者在代码差异不是因存在恶意软件而引起的情况下是相似且匹配的。
根据本发明,在算法应用程序8识别出可能与网络攻击(诸如MitB攻击等)有关的至少一个代码差异的情况下,这两个预期/原始服务页面代码将可能不匹配。
优选地,算法应用程序8由编程器或者利用学习系统来手动实现,因而随着时间是可变的(多态性)。更优选地,实现算法应用程序8的学习系统是例如基于Web浏览器4的特定行为的(例如,表示用户代理伪造的)统计分析的。
如本发明中所使用的,术语算法应用程序8意图指定盒子服务器2(或流量分析器)中正执行的程序或一系列程序,以使得能够将服务页面代码与所呈现的服务页面代码进行比较,从而检查这两者之间的不匹配性。特别地,算法应用程序8是可以处理服务页面代码以使该服务页面代码与所呈现的服务页面代码可比较的程序或一系列程序。例如,该算法使用预设且适当配置的功能来提供由Web浏览器4的呈现引擎已接收到并进行了处理的预期服务页面代码(即,被恶意软件潜在改变的代码)的估计。该预设功能由于用于负责实现该预设功能的特定Web浏览器的行为的学习机制而随时间的经过发生改变(多态性)。由于各Web浏览器4以特定方式呈现服务页面代码,因此这意味着预设功能对于各Web浏览器4是特定的。换句话说,算法应用程序8的预设功能进行所呈现的服务页面代码的“反函数”。因而,一旦算法应用程序8接收到所呈现的服务代码,算法应用程序8就可以提供Web浏览器4实际处理的预期服务页面代码的估计。由于预设功能负责Web浏览器4的行为,因此这是可能的。
根据优选实施例,该方法包括以下步骤:利用算法应用程序8的比较功能对所呈现的服务页面代码进行处理,以将该所呈现的服务页面代码与服务页面代码进行比较,由此在服务页面代码与所呈现的服务页面代码不匹配时生成至少一个攻击指示信号。
根据优选实施例,该方法包括以下步骤:流量分析器基于算法应用程序8来获取数据并且开始分析。
根据本发明的替代实施例,算法应用程序8可以使用已知技术来检查Web浏览器4所接收到的所呈现的服务页面代码是否与预期服务页面代码一致。
如University of Amsterdam的T.Timmermans和J.Kloosterman于2013年7月11日的“Detecting client-side e-banking fraud using a heuristic model”所述,已知技术的一个示例是Web浏览器中所接收到的代码的启发式分析。
另一示例是如US 2011/0239300所公开的方法,其中将校验码连同服务页面一起分发。该校验码检查在Web浏览器中的代码内是否存在特定的已知恶意软件。
根据本发明所提供的优选配置,可以使用如申请人在US临时申请62/079,337中所公开的方法,其中将所呈现的服务页面代码发送至流量分析器。流量分析器使用算法应用程序8来检查所接收到的原始服务页面代码是否与Web浏览器4为了进行恶意软件识别所发送的所呈现的服务页面代码相匹配。
有利的,由于该方法分析各个HTTP/HTTPS请求,因此该方法提供在web浏览会话期间所发生情况的综合概述。
有利地,本发明的方法使得能够有效且安全地识别并抵抗浏览器中间人攻击和/或中间人攻击和/或僵尸攻击,由此提供对用户请求的全面监控。
根据优选实施例,用于接收并处理服务页面代码以自动生成所呈现的服务页面代码的步骤包括以下步骤:
-利用Web浏览器4来接收服务页面代码;
-利用Web浏览器4来处理服务页面代码中的混淆且多态的javascript和/或HTML代码,以自动生成所呈现的服务页面代码;以及
-利用Web浏览器4来处理服务页面代码中的混淆且多态的javascript和/或HTML代码,以将所呈现的服务页面代码发送至盒子服务器2。
以下说明本发明的方法的一些应用示例。
示例1-图2
关于本发明的方法的以下应用示例,请参见图2。该方法包括以下步骤:
a.用户请求关注网站(即,Web应用程序6)的页面,并且由此利用用户的Web浏览器4来生成HTTP或HTTPS请求,其中该HTTP或HTTPS请求涉及(Web应用程序所有者的住所中所安装的或者在云环境中可用的)盒子服务器2;
b.盒子服务器2用作反向代理系统,读取主机名称,并且将Web应用程序6的位置的原始主机名称与其配置密钥进行检查。盒子服务器2转发HTTP或HTTPS请求,并且获得所请求的页面的服务器DOM代码(/包括http/https头和cookie);
c.盒子服务器2随机地生成UID(用户ID)。如果用户已作出了请求,则用户例如经由用户的浏览器中所包含并预先登记的cookie来读取客户端所发送的UID,或者生成并发送新的UID;
d.盒子服务器2随机地将唯一HID(请求代码)分配至每个单独HTTP或HTTPS请求;
e.盒子服务器2向用户发送包含混淆且多态的javascript和/或HTML代码的服务页面,以提高页面的安全等级;
f.盒子服务器2将加密和/或混淆和/或压缩和/或编码功能应用于Web应用程序6的Web服务器5所发送的原始服务器DOM代码;
g.用户的Web浏览器4正呈现的服务页面向盒子服务器2作出异步请求,并且发送Web浏览器4的环境信息和/或所呈现的服务页面代码;
h.盒子服务器从服务页面接收异步请求,并且进行算法功能4以检查用户的Web浏览器环境4的完整性和安全性;
i.基于安全规则,盒子服务器2响应于服务页面的异步调用来发送在f)的情况下发生混淆的服务器DOM代码;
l.服务页面接收混淆服务器DOM代码(即,在f)的情况下发生改变的服务器DOM代码),进行逆功能以获得原始服务器DOM代码,并且利用与服务器DOM代码相关联的原始页面来替换服务页面。
示例2-图3
参考图3,在授权自动系统所发送的请求的情况下,该方法包括以下步骤:
a.授权自动系统需要所关注网站的页面,向盒子服务器2进行HTTP或HTTPS请求,同时例如在该请求的HTTP头内发送唯一授权码(令牌);
b.盒子服务器2检查该令牌是否有效,并且在该令牌无效的情况下阻止通信。如果该令牌有效,则盒子服务器2转发HTTP或HTTPS请求并且获得所请求的页面的原始服务器DOM代码;
c.盒子服务器2将原始服务器DOM代码发送至请求了该原始服务器DOM代码的自动系统;
d.自动系统接收该原始服务器DOM代码并且根据需要使用该原始服务器DOM代码。
例如,利用自动系统(例如,索引抓取工具)来接受请求的另一方法包括:检查请求方的IP地址是否在白名单中或者进行来自IP的主机名称的反向检查。
示例3-图4
参考图4,还可以提供由盒子服务器2与外部装置7a、7b之间共用的秘密关联的外部装置7a、7b来交换编码和/或加密密钥。例如,使用OTK(一次性密钥)或OTP(一次性密码)系统。图4的示例的方法包括以下步骤:
-执行示例1的步骤a)~e);
f.盒子服务器2向Web应用程序6的Web服务器5所发送的原始服务器DOM代码应用加密和/或混淆和/或压缩和/或编码功能。该步骤需要根据页面请求用户所生成的单次使用密钥。
-执行示例1的步骤g)~i);
服务页面接收混淆服务器DOM代码(即,在f)的情况下发生改变的服务器DOM代码),进行逆功能以获得原始服务器DOM代码,并且利用与服务器DOM代码相关联的原始页面来替换服务页面。为了进行逆功能,服务页面使用外部装置7b所生成的单次使用密钥。这种密钥与用于在f)的情况下进行改变的密钥相等或有关。
例如,用于生成解密密钥的外部装置7b利用用户的Web浏览器4中所安装的插件或者使用音频输入接口来与服务页面连接。
有利地,由于系统1分析各个请求,因此系统1提供在web会话期间所发生的情况的综合概述。
例如,该方法可以检测:
-请求是来自于人类用户还是BOT;
-请求具有“合理”还是“不合理”定时;
-请求来自于的用户代理和IP;
-请求来自于的UID。
有利地,本发明的方法提供用户(即,客户端用户)的完全追踪和会话监控。
有利地,本发明的方法使得能够有效且安全地识别并抵抗浏览器中间人攻击和/或中间人攻击,由此提供用户请求的完全监控。
本领域技术人员将明显理解,如所附权利要求书中所定义的,在没有背离本发明的范围的情况下,可以进行如上所述的多个变化和变形以实现特定要求。

Claims (7)

1.一种用于识别并抵抗浏览器中间人攻击类型和/或中间人攻击类型和/或僵尸攻击类型的网络攻击的方法,包括以下步骤:
利用Web浏览器来生成与驻留在Web服务器中的Web应用程序有关的请求;
利用所述Web浏览器将所述请求发送至与所述Web服务器进行信号通信的盒子服务器;以及
利用所述盒子服务器来接收服务器DOM代码,其中所述服务器DOM代码是由所述Web服务器根据所述请求而自动生成的,
其特征在于,所述方法还包括以下步骤:
响应于所述请求,利用所述盒子服务器来将服务页面代码发送至所述Web浏览器,其中所述服务页面代码包括混淆且多态的javascript代码和/或HTML代码;
利用所述Web浏览器来接收并呈现所述服务页面代码;利用所述Web浏览器来接收并处理所述javascript代码和/或HTML代码以自动生成异步请求,使得能够将所述Web浏览器的环境数据发送至所述盒子服务器并将所呈现的服务页面代码发送至所述盒子服务器;
利用所述盒子服务器来处理所述Web浏览器的所述环境数据,以识别所述浏览器中间人攻击类型和/或中间人攻击类型和/或僵尸攻击类型的网络攻击;
利用驻留在所述盒子服务器中的算法应用程序来处理并比较所呈现的服务页面代码和所述服务页面代码,使得能够识别出至少一个代码差异,以及利用所述算法应用程序的比较功能来处理所呈现的服务页面代码,以将所呈现的服务页面代码与所述服务页面代码进行比较,由此在所述服务页面代码与所呈现的服务页面代码不匹配的情况下生成至少一个浏览器中间人攻击和/或中间人攻击和/或僵尸攻击的指示信号;
利用所述盒子服务器对所述服务器DOM代码进行加密功能以生成混淆DOM代码,并且响应于所述异步请求来将所述混淆DOM代码发送至所述Web浏览器;
利用所述服务页面代码对所述混淆DOM代码进行解密功能,以获得所述服务器DOM代码;以及
利用所述Web浏览器来呈现所述服务器DOM代码。
2.根据权利要求1所述的方法,其中,还包括以下步骤:
利用自动系统来生成与所述Web应用程序相关联的请求;
利用同一自动系统来将所述请求和唯一授权码发送至所述盒子服务器;
利用所述盒子服务器来接收所述服务器DOM代码,其中所述服务器DOM代码是由所述Web服务器根据所述请求而自动生成的;以及
通过所述盒子服务器根据所述唯一授权码将所述服务器DOM代码发送至所述自动系统。
3.根据权利要求1所述的方法,其中,还包括以下步骤:
利用外部装置来将单次使用的加密密钥提供至所述盒子服务器和所述Web浏览器;
使用所述单次使用的加密密钥来对所述服务器DOM代码进行所述加密功能,以生成混淆DOM代码;以及
根据所述单次使用的加密密钥来对所述混淆DOM代码进行所述解密功能,以获得所述服务器DOM代码。
4.根据权利要求3所述的方法,其中,还包括以下步骤:
利用所述盒子服务器来生成与所述Web浏览器的用户相关联的用户代码;以及
根据所述用户代码来提供所述单次使用的加密密钥。
5.根据权利要求1所述的方法,其中,还包括以下步骤:
在所述算法应用程序识别出所述至少一个代码差异的情况下利用所述盒子服务器来生成攻击指示信号,并且将所述攻击指示信号发送至所述Web浏览器以及/或者将所述攻击指示信号保存在数据库中。
6.根据权利要求1所述的方法,其中,还包括以下步骤:
利用所述盒子服务器来处理所述请求,以识别并抵抗僵尸攻击。
7.根据权利要求1所述的方法,其中,还包括以下步骤:
对所述服务器DOM代码进行加密和/或混淆和/或压缩和/或编码功能,以生成所述混淆DOM代码。
CN201580061947.6A 2014-11-13 2015-10-30 用于识别并抵抗网络攻击的方法 Active CN107209830B (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201462079337P 2014-11-13 2014-11-13
US62/079,337 2014-11-13
US14/701,115 US9716726B2 (en) 2014-11-13 2015-04-30 Method of identifying and counteracting internet attacks
US14/701,115 2015-04-30
PCT/EP2015/075223 WO2016074947A1 (en) 2014-11-13 2015-10-30 Method of identifying and counteracting internet attacks

Publications (2)

Publication Number Publication Date
CN107209830A CN107209830A (zh) 2017-09-26
CN107209830B true CN107209830B (zh) 2020-07-10

Family

ID=54364358

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201580061947.6A Active CN107209830B (zh) 2014-11-13 2015-10-30 用于识别并抵抗网络攻击的方法

Country Status (5)

Country Link
US (1) US9716726B2 (zh)
EP (2) EP3021551A1 (zh)
CN (1) CN107209830B (zh)
ES (1) ES2698563T3 (zh)
WO (1) WO2016074947A1 (zh)

Families Citing this family (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9338143B2 (en) 2013-03-15 2016-05-10 Shape Security, Inc. Stateless web content anti-automation
US20140283038A1 (en) 2013-03-15 2014-09-18 Shape Security Inc. Safe Intelligent Content Modification
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
US8893294B1 (en) 2014-01-21 2014-11-18 Shape Security, Inc. Flexible caching
US9225729B1 (en) 2014-01-21 2015-12-29 Shape Security, Inc. Blind hash compression
US9075990B1 (en) 2014-07-01 2015-07-07 Shape Security, Inc. Reliable selection of security countermeasures
WO2017007936A1 (en) 2015-07-07 2017-01-12 Shape Security, Inc. Split serving of computer code
US9807113B2 (en) 2015-08-31 2017-10-31 Shape Security, Inc. Polymorphic obfuscation of executable code
US10855696B2 (en) * 2016-03-02 2020-12-01 Shape Security, Inc. Variable runtime transpilation
EP3297308A1 (en) * 2016-09-14 2018-03-21 Gemalto SA Method to protect network-based service provided by a service provider
US10275596B1 (en) * 2016-12-15 2019-04-30 Symantec Corporation Activating malicious actions within electronic documents
CN108306878A (zh) * 2018-01-30 2018-07-20 平安科技(深圳)有限公司 钓鱼网站检测方法、装置、计算机设备和存储介质
CN110557358A (zh) * 2018-05-31 2019-12-10 武汉安天信息技术有限责任公司 蜜罐服务器通信方法、SSLStrip中间人攻击感知方法及相关装置
CN109151022B (zh) * 2018-08-21 2022-06-14 平安科技(深圳)有限公司 网页控制台的调用方法、装置、计算机设备及存储介质
CN110875899B (zh) * 2018-08-30 2022-06-28 阿里巴巴集团控股有限公司 数据处理方法、系统以及网络系统
EP3973681A4 (en) 2019-05-23 2022-12-21 Citrix Systems, Inc. SECURE WEB APPLICATION DELIVERY PLATFORM
IT202000006340A1 (it) 2020-03-25 2021-09-25 Cleafy Spa Metodo per monitorare e proteggere l’accesso ad un servizio online
IT202000006265A1 (it) 2020-03-25 2021-09-25 Cleafy Spa Metodo per monitorare e proteggere l’accesso ad un servizio online
IT202000006343A1 (it) 2020-03-25 2021-09-25 Cleafy Spa Metodo per monitorare e proteggere l’accesso ad un servizio online
US11748460B2 (en) * 2020-04-27 2023-09-05 Imperva, Inc. Procedural code generation for challenge code
US11405418B2 (en) 2020-06-16 2022-08-02 Bank Of America Corporation Automated distributed denial of service attack detection and prevention
US11314841B1 (en) 2021-01-07 2022-04-26 Bank Of America Corporation Web browser communication validation extension
US11582223B2 (en) 2021-01-07 2023-02-14 Bank Of America Corporation Browser extension for validating communications
IT202100006383A1 (it) 2021-03-17 2022-09-17 Cleafy Spa Metodo per monitorare e proteggere l’accesso ad un servizio online
CN113507479B (zh) * 2021-07-23 2022-11-08 上海颜硕信息科技有限公司 针对web代码和数据的网关型加解密透明sdk方法
CN113590624A (zh) * 2021-07-29 2021-11-02 北京天融信网络安全技术有限公司 一种数据处理方法及电子装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101616008A (zh) * 2008-06-27 2009-12-30 国际商业机器公司 保护网络应用数据的方法和系统
CN102546824A (zh) * 2012-02-20 2012-07-04 沈文策 Flash数据传输方法及系统、服务器和客户端
CN102957704A (zh) * 2012-11-09 2013-03-06 北京神州绿盟信息安全科技股份有限公司 一种确定mitm攻击的方法、装置及系统

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4470312B2 (ja) * 2000-10-10 2010-06-02 ソニー株式会社 サーバ装置、再生装置、データ配信方法、データ再生方法、記憶媒体
US20020166051A1 (en) 2001-05-03 2002-11-07 Marvin Moser Method, system, and apparatus for encrypting a web browser script
US6792543B2 (en) * 2001-08-01 2004-09-14 Networks Associates Technology, Inc. Virus scanning on thin client devices using programmable assembly language
US8370639B2 (en) * 2005-06-16 2013-02-05 Sensible Vision, Inc. System and method for providing secure access to an electronic device using continuous facial biometrics
US10157280B2 (en) * 2009-09-23 2018-12-18 F5 Networks, Inc. System and method for identifying security breach attempts of a website
US8844047B2 (en) * 2009-12-11 2014-09-23 General Motors Llc Secure programming of vehicle modules
US8359657B2 (en) * 2010-03-30 2013-01-22 Sandcastles Technology Inc. Method and apparatus for enabling secure distribution of digital content
US9270691B2 (en) 2010-11-01 2016-02-23 Trusteer, Ltd. Web based remote malware detection
US9401807B2 (en) * 2011-02-03 2016-07-26 Hewlett Packard Enterprise Development Lp Processing non-editable fields in web pages
US8627442B2 (en) * 2011-05-24 2014-01-07 International Business Machines Corporation Hierarchical rule development and binding for web application server firewall
US9152770B2 (en) * 2011-09-13 2015-10-06 Panasonic Intellectual Property Management Co., Ltd. Content reproduction system, information processing terminal, media server, secure device, and server secure device
US8935809B2 (en) * 2012-06-22 2015-01-13 International Business Machines Corporation Consumption based digital content rental expiration
US9509553B2 (en) * 2012-08-13 2016-11-29 Intigua, Inc. System and methods for management virtualization
US9178908B2 (en) * 2013-03-15 2015-11-03 Shape Security, Inc. Protecting against the introduction of alien content

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101616008A (zh) * 2008-06-27 2009-12-30 国际商业机器公司 保护网络应用数据的方法和系统
CN102546824A (zh) * 2012-02-20 2012-07-04 沈文策 Flash数据传输方法及系统、服务器和客户端
CN102957704A (zh) * 2012-11-09 2013-03-06 北京神州绿盟信息安全科技股份有限公司 一种确定mitm攻击的方法、装置及系统

Also Published As

Publication number Publication date
EP3219068B1 (en) 2018-10-10
EP3021551A1 (en) 2016-05-18
US20160142438A1 (en) 2016-05-19
EP3219068A1 (en) 2017-09-20
US9716726B2 (en) 2017-07-25
WO2016074947A1 (en) 2016-05-19
ES2698563T3 (es) 2019-02-05
CN107209830A (zh) 2017-09-26

Similar Documents

Publication Publication Date Title
CN107209830B (zh) 用于识别并抵抗网络攻击的方法
Alaca et al. Device fingerprinting for augmenting web authentication: classification and analysis of methods
CA2946695C (en) Fraud detection network system and fraud detection method
JP6527590B2 (ja) オフライン・ネットワーク・トラフィックに基づいてカバート・チャネルのネットワーク侵入を検出するためのシステムおよび方法
US9681304B2 (en) Network and data security testing with mobile devices
US11233802B1 (en) Cookie and behavior-based authentication
US9294479B1 (en) Client-side authentication
ES2882125T3 (es) Sistema y procedimiento para identificar ataques en Internet
US20180302437A1 (en) Methods of identifying and counteracting internet attacks
Shrivastava et al. XSS vulnerability assessment and prevention in web application
WO2006119336A2 (en) In-line website securing system with html processor and link verification
US11792221B2 (en) Rest API scanning for security testing
US11503072B2 (en) Identifying, reporting and mitigating unauthorized use of web code
CN106982188B (zh) 恶意传播源的检测方法及装置
US11775853B2 (en) Systems, methods and apparatus for evaluating status of computing device user
Jain et al. Session hijacking: Threat analysis and countermeasures
EP3381166A1 (en) Systems and methods for cross-channel device binding
Stritter et al. Cleaning up Web 2.0's Security Mess-at Least Partly
Snehi et al. Web client and web server approaches to prevent xss attacks
JP5743822B2 (ja) 情報漏洩防止装置及び制限情報生成装置
Kavitha et al. HDTCV: Hybrid detection technique for clickjacking vulnerability
CN110138719B (zh) 一种网络安全的检测方法、装置及电子设备
Nagpal et al. Additional authentication technique: an efficient approach to prevent cross-site request forgery attack
Nilsson Security in Behaviour Driven Authentication for Web Applications
Gautam et al. Passwords Are Meant to Be Secret: A Practical Secure Password Entry Channel for Web Browsers

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

Address after: Milan Italy

Patentee after: Clive associates Inc.

Address before: Trento

Patentee before: Clearfy S.R.L.

CP03 Change of name, title or address