CN107808095B - 用于检测网页的异常元素的系统和方法 - Google Patents

用于检测网页的异常元素的系统和方法 Download PDF

Info

Publication number
CN107808095B
CN107808095B CN201710477694.1A CN201710477694A CN107808095B CN 107808095 B CN107808095 B CN 107808095B CN 201710477694 A CN201710477694 A CN 201710477694A CN 107808095 B CN107808095 B CN 107808095B
Authority
CN
China
Prior art keywords
web page
cluster
dimensional vector
web
statistical model
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
CN201710477694.1A
Other languages
English (en)
Other versions
CN107808095A (zh
Inventor
奥列格·V·库普列夫
安东·B·盖尔琛科
米哈伊尔·V·尤斯蒂诺夫
维塔利·V·孔德拉托夫
弗拉基米尔·A·库斯科夫
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.)
Kaspersky Lab AO
Original Assignee
Kaspersky Lab AO
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 Kaspersky Lab AO filed Critical Kaspersky Lab AO
Publication of CN107808095A publication Critical patent/CN107808095A/zh
Application granted granted Critical
Publication of CN107808095B publication Critical patent/CN107808095B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • 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/56Computer malware detection or handling, e.g. anti-virus arrangements
    • G06F21/562Static detection
    • 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/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • G06F21/54Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by adding security routines or objects to programs
    • 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/1425Traffic logging, e.g. anomaly detection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/958Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/12Protecting executable software
    • G06F21/121Restricting unauthorised execution of programs
    • G06F21/128Restricting unauthorised execution of programs involving web programs, i.e. using technology especially used in internet, generally interacting with a web browser, e.g. hypertext markup language [HTML], applets, java
    • 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/56Computer malware detection or handling, e.g. anti-virus arrangements
    • G06F21/566Dynamic detection, i.e. detection performed at run-time, e.g. emulation, suspicious activities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q40/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • G06Q40/02Banking, e.g. interest calculation or account maintenance
    • 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
    • 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
    • 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
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Business, Economics & Management (AREA)
  • Accounting & Taxation (AREA)
  • Finance (AREA)
  • Technology Law (AREA)
  • Strategic Management (AREA)
  • Virology (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Databases & Information Systems (AREA)
  • General Business, Economics & Management (AREA)
  • Development Economics (AREA)
  • Marketing (AREA)
  • Economics (AREA)
  • Data Mining & Analysis (AREA)
  • Multimedia (AREA)
  • Information Transfer Between Computers (AREA)
  • Computer And Data Communications (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了用于检测网页的异常元素的系统和方法。一种示例性方法包括:通过客户端计算设备,通过借助网络服务器请求与网站相关联的网页获得对所述网站的访问权;通过所述客户端计算设备执行所述网页以采集关于所述网页的数据;至少基于采集的所述数据确定至少一个N维矢量;基于所述至少一个N维矢量,在N维空间中创建至少一个集群,所述至少一个集群包括用于所述网页的至少一个元素的矢量的一组坐标值;基于所述至少一个集群创建所述网页的统计模型;以及使用所述统计模型来检测所述网页的异常元素。

Description

用于检测网页的异常元素的系统和方法
技术领域
本发明总体涉及网络安全的领域,以及更具体地涉及检测网页的异常元素的系统和方法。
背景技术
近期,银行和其它金融机构已主动地采取网上银行服务(因特网银行)作为银行服务的一部分。网上银行为用于远程银行服务、以及在任何时间可用的且来自有权访问因特网的任何计算机的对账户和操作(利用账户)的访问的技术的一般性术语。为了执行这些操作,通常使用网络客户端(诸如浏览器)。
这类技术的广泛使用自然吸引黑客,黑客对从远程服务系统的用户的账户窃取资金感兴趣。对网上银行的用户的普遍攻击之一是期间放置恶意软件代替显示给用户的网页的内容的攻击。恶意软件将HTML代码嵌入在网页中。该攻击通常被称为“浏览器中间人”或“网络代码注入”攻击。该攻击可以利用木马应用程序来开始,例如,该木马应用程序将恶意扩展安装在受害者的浏览器中,当重启浏览器时发起该恶意扩展。然后发生的是拦截被路由到特定网站(最经常为银行站点)的用户通信。然后改变显示给用户的网页(在该网络加载或打开期间),使得可以修改网页的特定元素的外观、窃取被输入的受害者的认证数据、或重定向由用户转移到第三方账户的资金。
目前存在的解决方案似乎旨在提高网络中的用户对于将外部代码引入网页中的攻击的安全工作能力。然而,这些解决方案未有效地确定网页是否已被恶意软件更改,以及在用户端识别网页版本中的异常元素而不安装附加软件。同时,附件软件(诸如各种安全客户端、瘦客户端(轻代理)和其它防病毒部件)不总是能够被安装在用户端,这最终导致防病毒应用程序的操作中的错误。因此,例如,第一种错误可以涉及让“浏览器中间人”类型的攻击通过到达计算系统(计算机)从而夺取数据传递通道且获得对被传递的所有信息的访问权,以及第二种错误可以涉及将用户端的合法网页更改错误地确定为异常的。
发明内容
公开了检测网页的异常元素的系统和方法。
在一个示例性方面中,用于检测网页的异常元素的计算机实现的方法包括:通过客户端计算设备,通过借助网络服务器请求与网站相关联的网页获得对所述网站的访问权;通过所述客户端计算设备执行所述网页以采集关于所述网页的数据;至少基于采集的所述数据确定至少一个N维矢量;基于所述至少一个N维矢量,在N维空间中创建至少一个集群,所述至少一个集群包括用于所述网页的至少一个元素的矢量的一组坐标值;基于所述至少一个集群创建所述网页的统计模型;以及使用所述统计模型来检测所述网页的异常元素。
在一个示例性方面中,所述方法还包括:存储所述至少一个N维矢量;以及在创建所述至少一个集群之前,通过另一个客户端计算设备获得且执行所述网页以采集关于与所述至少一个N维矢量相关的所述网页的附加数据。
在一个示例性方面中,所述网络服务器配置成:响应于从所述客户端计算设备接收请求所述网页的请求,将至少一个脚本添加到所述网页。
在一个示例性方面中,所述方法还包括:通过所述客户端计算设备执行所述网页包括:执行所述至少一个脚本以采集关于所述网页的所述至少一个元素的所述数据。
在一个示例性方面中,所述方法还包括:将所述至少一个N维矢量与所述网页的至少一个先前构造的统计模型的集群和N维矢量相比较;以及在检测到如下项中的至少一者时将所述网页的所述至少一个元素确定且识别为异常的:在所述N维空间中,所述网页的所述至少一个元素的所述至少一个N维矢量与所述网页的统计模型的集群的中心之间的距离大于所述集群的半径;或在所述N维空间中,所述网页的所述至少一个元素的所述至少一个N维矢量与所述网页的所述统计模型的集群的所述中心之间的邻近度的测量值大于第一所选阈值;或在所述N维空间中,所述至少一个元素的所述至少一个N维矢量与所述网页的所述统计模型的所述集群的离所述集群的所述中心最远的N维矢量之间的邻近度的测量值大于第二所选阈值。
在一个示例性方面中,所述方法还包括:在检测到所述至少一个元素不是异常的之后,将所述网页的所述至少一个元素的所述至少一个N维矢量添加到所述网页的所述统计模型。
在一个示例性方面中,所述网络服务器配置成:响应于检测到所述网页的所述至少一个元素是异常的,使与所述客户端计算设备的连接禁用;对所述网页的所述至少一个元素执行防病毒扫描以至少确定所述至少一个元素的与阈值相关的统计显著性;以及响应于检测到所述至少一个元素的所述统计显著性大于所述阈值,将所述至少一个元素识别为安全的并重建与所述客户端计算设备的所述连接。
在一个示例性方面中,响应于检测到所述网页的所述至少一个元素的所述至少一个N维矢量不对应于所述网页的所述统计模型,确定关于所述至少一个元素的网页的数量与在所述网页的所述统计模型中使用的网页的总数量的比率。
在一个示例性方面中,所述方法还包括:关于所述至少一个元素的网页的数量包括包含所述至少一个元素或邻近元素的网页的数量,所述邻近元素在所述N维空间中的N维矢量之间的距离小于所选阈值。
在一个示例性方面中,用于检测网页的异常元素的系统包括:客户端计算设备的至少一个处理器,所述至少一个处理器配置成:通过借助网络服务器请求与网站相关联的网页获得对所述网站的访问权;执行所述网页以采集关于所述网页的数据;至少基于采集的所述数据确定至少一个N维矢量;基于所述至少一个N维矢量,在N维空间中创建至少一个集群,所述至少一个集群包括用于所述网页的至少一个元素的矢量的一组坐标值;基于所述至少一个集群创建所述网页的统计模型;以及使用所述统计模型来检测所述网页的异常元素。
在一个示例性方面中,一种其上存储用于检测网页的异常元素的计算机可执行指令的非暂时性计算机可读介质包括用于如下操作的指令:通过客户端计算设备,通过借助网络服务器请求与网站相关联的网页获得对所述网站的访问权;通过所述客户端计算设备执行所述网页以采集关于所述网页的数据;至少基于采集的所述数据确定至少一个N维矢量;基于所述至少一个N维矢量,在N维空间中创建至少一个集群,所述至少一个集群包括用于所述网页的至少一个元素的矢量的一组坐标值;基于所述至少一个集群创建所述网页的统计模型;以及使用所述统计模型来检测所述网页的异常元素。
以上对本发明的示例性方面的简要概述用于提供对本发明的基本理解。该概述不是对所有预期方面的广泛综述,并且既不旨在标识所有方面的关键的或主要的要素,也不旨在勾画本发明的任何方面或所有方面的范围。为了实现前述内容,本发明的一个或多个方面包括在权利要求中所描述的且特别指出的特征。
附图说明
并入本说明书中并构成本说明书的一部分的附图示出了本发明的一个或多个示例性方面,以及连同详细的描述一起用来阐述这些示例性方面的原理和实现方式。
图1示出根据本发明的方面的用于检测网页的异常元素的示例性系统;
图2示出根据本发明的方面的具有集群的统计模型和度量标准的N维空间的示例;
图3示出根据本发明的方面的用于检测网页的异常元素的示例性方法;
图4a、图4b、图4c示出根据本发明的方面的统计模型的视觉化的示例;以及
图5示出其上可实施检测网页的异常元素的系统和方法的方面的通用计算机系统的示例。
具体实施方式
本文中在用于检测网页的异常元素的系统、方法和计算机程序产品的背景下描述本发明的示例性方面。本领域的普通技术人员将认识到,以下描述仅仅是说明性的,而不旨在以任何方式进行限制。其它方面将很容易将其自身暗示给了解本发明的优点的本领域的技术人员。现在将详细地参考如附图中所示的示例性方面的实现方式。贯穿附图和以下描述将尽可能地使用相同的附图标记来指代相同或类似的项目。
在描述本发明的示例性方面时将使用如下术语:
网页可以包括由网络服务器创建的数据(代码),用以通过网络客户端(浏览器)进行处理且利用超文本标记语言(HTML、XHTML、XML、WML、VML、PGML、SVG、XBRL等)和脚本语言(JScript、JavaScript、ActionScript、Tcl、Lua、Perl、PHP、Python、REBOL、Ruby等)来组织。
在此,内容可以指网页的内容。
脚本可以包括被执行的以脚本语言编写的程序,可以通过在显示严格确定的网页时到达的请求而在服务器端或客户端发起该程序用以执行。
行内脚本可以包括其执行代码(主体)为网页的内容的一部分的脚本。例如,行内脚本可以置于标签<script></script>之间。
标签(标记)可以包括特殊结构的超文本标记语言。它可以构成以尖括号封闭的文本<name_tag>。每个标签可以将关于如何显示标签和后续内容的特定命令带给浏览器。在特定情况下,标签可以具有如下属性:阐明标签、扩大标签的可能性、以及允许例如容器标签的内容的更灵活的控制。例如,<script src="URL">...</script>。属性src可以指示脚本的主体的位置。
容器标签可以包括具有打开标签和关闭标签的成对标签。它可以包含超文本语言的文本和其它元素。
网页的元素(标记语言的元素)可以包括开始标签、结束标签(在某些情况下,开始标签和结束标签一致,例如在标签<br>的情况下)和标签之间的内容的组合。网页的元素的全体形成网页的内容。至少如下种类的元素可以存在,其通过对应标签的名称来区分:超链接、文本块、文本格式化、列表、对象(例如,媒体文件、小程序、脚本、本地代码等)、图像、图像映射、表格、表单、字符等。
元素的N维矢量可以包括一组有序的n个实数,其中,这些实数可以包括矢量的坐标。矢量的坐标的数量被称为矢量的维度。坐标可以确定网页的对应元素(诸如脚本)或一组同类元素(诸如表单的元素)在N维空间中的位置(图2示出二维空间的示例)。矢量可以通过关于元素或元素组的内容的信息的转换来获得。矢量可以反映关于元素或元素组的内容的特定信息。在一个示例中,每个坐标可以反映元素的内容的特性之一,例如,一个坐标可以表征脚本中的运算符的数量,另一个坐标可以表征eval运算符的数量。这些数量还可以反映元素的内容的串参数的编撰次序或不同元素的串参数之间的莱文斯坦(Levenshtein)距离。例如,图2示出矢量、尤其具有坐标(1666,1889)和坐标(1686,1789)的二维矢量的示例。
集群可以包括用于严格定义的元素或元素组的矢量在N维空间中的坐标的一组可允许值。根据一个示例性方面,如果从元素的N维矢量到特定集群的中心的距离小于该集群在N维矢量的方向上的半径,则可以将所选的元素或元素组分配到该特定集群。图2示出集群210’的示例。在一示例中,如果从元素的N维矢量到给定集群的元素的最近N维矢量的距离(在图2中,“d’”)的值小于可允许的最大值(距离[d’]的阈值)或者如果从元素的N维矢量到该集群的中心的距离(在图2中,“d”)的值小于该集群的半径,则可以将该元素分配到该给定集群。例如,从矢量(1666,1889)到集群的中心的距离小于集群的半径,因此可由该矢量反映其内容的元素或元素组属于该给定集群。在另一方面,从矢量(1686,1789)到集群的中心的距离大于集群的半径且从矢量(1686,1789)到最近N维矢量的距离大于阈值,因此可由该矢量反映其内容的元素或元素组不属于该集群。用于评估邻近度的距离的变型可以包括但不限于如下项:线性距离、欧几里德(Euclidean)距离、欧几里德距离的平方、广义的闵可夫斯基(Minkowski)指数距离、切比雪夫(Chebyshev)距离、曼哈顿(Manhattan)距离等。
邻近度(相似度、相似系数)的测量可以包括用于确定网页的元素的相似性的无量纲参数。用于确定邻近度的测量的措施可以包括但不限于如下项:Ochaiai、Jaccard、Sokal-Sneath、Kulczynski、对称的DICE系数等。
集群的中心(图心)可以为N维空间中的N维矢量的平均几何轨迹。对于由一个矢量组成的集群,给定矢量可以为集群的中心。
集群的半径(在图2中,“R”)为在集群中出现的N维矢量距该集群的中心的最大距离。
各种已知的算法和方法可以用于聚类,包括层次的(凝聚的和分裂的)和非层次的。
网页的元素的统计模型(网页的元素的模型)可以包括用于一种元素或一种元素组的一组集群210。例如,网页的脚本的统计模型、网页的表单的统计模型。在图2中,网页的元素的统计模型可以被指定为220。对于由一个集群组成的模型,该集群可以为元素的模型。
网页的统计模型(网页的模型)可以包括所有种类的网页的元素和/或元素组(包括含有不同种类的元素的元素组)的一组集群。例如,认证页的统计模型。换言之,网页的统计模型230可以包括网页的元素的一组模型220。通过类比,网站的统计模型可以包括所有种类的网页的元素和/或网站的所有网页的元素组的一组集群。即,网站的统计模型(在图中未示出)可以包括网页的一组统计模型230。
网页的异常元素可以包括其矢量未分配到针对给定类型的元素构造的统计模型的集群中的任一者的网页的元素,或该异常元素具有低于阈值的统计显著性。
元素的统计显著性可以为在网页的内容中遇到被评估的元素的次数与为了构造模型所获得的网页的总数或与为了在特定区段(评估区段)上构造模型所获得的网页的数量的比值,其中,该区段的长度可以通过自特定时间(诸如观察元素的开始时间)起为了构造模型所获得的网页的数量来确定。例如,如果已获得100页且已遇到被评估的元素30次,则统计显著性为30%。
集群的统计显著性可以为其矢量形成在网页的内容中正被评估的集群的元素的数量与为了构造模型所获得的网页的总数或与为了在特定区段上构造模型所获得的网页的数量的比值,其中,该区段的长度可以通过自特定时间(诸如观察集群的开始时间)起为了构造模型所获得的网页的数量来确定。
在如果集群的元素的统计显著性的值低于确立的阈值则将该元素或集群视为异常的情况下,统计显著性的阈值可以为一元素或集群的统计显著性的这样的值:超出该值,元素或集群(和集群的元素)被视为统计显著的。
为了创建集群,可以使用层次方法,例如,可以利用凝聚方法创建集群,其中,可以将元素的(距离上)最近的N维矢量隔离到集群中或者可以将(距离上)最近的集群组合为一个集群。当使用该方法时,可以使用Minkowski、Chebyshev或Manhattan的线性距离或欧几里德距离或者广义指数距离。另外,具有最小相互距离的矢量可以被视为最近的,以及集群可以被隔离直到集群的半径尽可能地接近半径的阈值,其中,可能的最接近半径可以为在隔离集群的下一轮中将超过半径的阈值的半径。在另一情况下,集群可以被隔离直到未留下具有可允许的邻近度的测量值的集群或矢量,其中,可允许的邻近度的测量值可以为不超过确立的阈值的测量值。在中心之间具有最小距离的集群为最靠近的。
可替选地,可以通过分裂方法创建集群,其中,集群可以由相互距离小于可允许的最大距离的矢量形成,距离的最大允许由阈值确定,以及例如,集群可以被分离直到集群的半径变为等于或小于半径的阈值。
图1示出根据本发明的方面的用于检测网页的异常元素的示例性系统。该系统可以包括但不限于如下设备:用户设备120,其上安装有网络客户端110;网络服务器130;控制服务器150;和数据库160,所有的这些设备借助网络连接。
在一个示例性方面中,网络客户端110(诸如网络浏览器)可以安装在用户设备120上。网络客户端110可以配置成请求、处理、操控和显示网站的内容,其中,网站可以包括一组逻辑上相互关联的网页100。网络客户端110可以将获得例如由统一资源定位符(UniformResource Locator,URL)地址指定的资源的请求分派到网络服务器130以及从网络服务器130接收答复(通常连同网页100或网页的元素一起)。应来自网络客户端110的请求,网络服务器130可以发送出准备好的网页100或动态地形成页面,在通过网络服务器130所描述的本发明中,对于发送到客户端的每个网页100,除了常规内容外,还添加有脚本140。脚本140的功能可以包括至少在网络客户端110采集网页100的数据(关于网页的元素或元素组的信息、关于元素的信息,在特定情况下,元素的内容),该网页100包含给定脚本140。在一个示例中,关于网页100的元素的信息可以包括该给定元素的内容。在网络客户端110的网页100的元素和网页100的这些元素的内容可以不同于在网络服务器端130的相同版本的网页100的元素和这些元素的内容,这是因为在网络客户端110动态更新网页或因为“浏览器中间人”攻击。
在一个示例性方面中,控制服务器150可以接收通过脚本采集的关于网页的元素或元素组的信息。该脚本可以在“原始”状态下或转换状态下分派采集的数据,被分派的数据的格式可以通过脚本140的功能来确定,该脚本140已被网络服务器130添加到网页100,即:该脚本在执行过程中以严格指定的形式(由脚本的功能来指示)分派严格定义的关于网页100的元素的信息;或该脚本将关于其在客户端110成功发起的数据分派到网络服务器130或控制服务器,以及作为响应接收关于网页100的哪些元素需要被采集且以什么形式被采集、以及需要将信息分派到接收者(网络服务器130或直接分派到控制服务器150)的命令。
数据转换的主要方法可以包括但不限于如下项:量化、排序、归并(粘贴)、分组、数据集配置、将值插入表格中、计算的值、数据编码、归一化(缩放)。
在一个示例中,由于数据的转换,因此该数据可以获得信息的属性。
脚本转换的方法之一可以包括构造抽象语法树并发送到仅重要运营商的接收者(网络服务器130或直接发送到控制服务器150)以及通过脚本140的设置或通过来自接收者的命令预定的构造。
在一个示例性方面中,由脚本140采集的所有数据可以被转移到控制服务器150。控制服务器150可以配置成直接从网络客户端110或通过网络服务器130获得数据。在特定情况下,控制服务器150可以与网络服务器130存在于同一个网络中。由控制服务器150采集的数据可以用于构造网页的统计模型230并检测网页的异常元素。大量模块(未示出)可以被实施在控制服务器150上。控制服务器150的处理模块将由脚本140采集的数据转换为N维矢量,并将其存储在数据库160中。控制服务器150的分析模块从接收的矢量形成集群210并检测异常元素或元素组,该异常元素或元素组的内容可以由接收的矢量反映,这个功能通过N维矢量和在N维空间中形成的集群210的相互比较来实现。
数据库160可以配置成存储构造的模型和矢量。
在本文中所公开的系统可以执行多个方法,包括但不限于:构造网页的统计模型230的方法以及在所构造的网页的模型230的帮助下检测网页100的异常元素的方法,这在图3中示出。
在一个示例性方面中,构造网页的统计模型230的方法可以如下来实现。在步骤300中,用户可以从其设备获得对网站的访问权,其中,通过发送到网络服务器130的请求,网络客户端110可以配置成从网络服务器130获得网站的网页100,在该过程期间,网络服务器130可以配置成将脚本140添加到网页100。在步骤310中,可以在网络客户端110处执行脚本,采集包含在网页100中的数据。由脚本140采集的数据可以包含各种信息,特别地,脚本140可以采集网页的至少一个元素(脚本、表单等)的内容。由脚本140采集的数据可以配置成在需要时被转换,该数据被脚本140本身或被控制服务器150上的处理部件转换。在步骤320中,采集的数据可以配置成被转换为至少一个N维矢量,在步骤330中可以保存该至少一个N维矢量。在步骤350中,从至少一个矢量,可以创建至少一个集群210。在步骤360中,基于创建的至少一个集群210,可以创建网页的统计模型230。
在一个示例中,在保存所获得的N维矢量之后,在步骤300’中,可以通过另一个网络客户端110获得网页100,以及基于从该网页采集的数据,在步骤320中可以附加地获得N维矢量,且只有在此之后,才创建集群。
在另一示例中,在创建集群210和构造模型230之后,在步骤300”中,可以通过另一个网络客户端110获得网页100,以及基于由脚本140从该网页采集的数据来获得N维矢量,以及基于获得的N维矢量,可以修正(更新)先前创建的集群210(改变其半径、中心/图心)或可以创建新的集群210,从而改善(利用修正的集群210)和补充(利用新创建的集群210)网页的统计模型230。由脚本140采集的数据可以不同于由脚本140在先前迭代中采集的数据,例如,可以采集关于网页100的其它元素的信息。
在一个示例性方面中,用于基于网页的统计模型230检测异常元素的方法可以如下来实现:在步骤300中,用户可以从其设备获得对网站的访问权,其中,通过发送到网络服务器130的请求,网络客户端110可以配置成从网络服务器130获得网站的网页100,在该过程期间,网络服务器130可以配置成将脚本140添加到网页100。在步骤310中,可以在网络客户端处执行脚本,采集包含在网页100中的数据。由脚本140采集的数据可以包含各种信息,特别地,脚本可以采集网页的至少一个元素(脚本、表单等)的内容。由脚本140采集的数据可以配置成在需要时被转换,该数据被脚本140本身或被控制服务器150的处理部件转换。在步骤320中,采集的数据可以配置成被转换为至少一个N维矢量,在步骤330中可以保存该至少一个N维矢量。可以将在步骤370中获得的矢量与构造的网页的统计模型230的集群和/或给定模型230的N维矢量相比较(通过确定例如所获得矢量与该集群的中心之间的相互距离)。在步骤370中,作为比较的结果,当例如下面的情况时可以将被分析的元素识别为异常的:(i)在N维空间中,该元素的N维矢量与模型的所有集群的中心之间的距离大于这些集群的半径;或(ii)在N维空间中,该元素的N维矢量与模型的所有集群的中心之间的邻近度的测量值大于阈值;或(iii)在N维空间中,该元素的N维矢量与模型的集群的离集群中心最远的N维矢量之间的邻近度的测量值大于阈值。
在一个示例中,如果未将元素识别为异常的,则在步骤350’中,可以将给定元素的N维矢量添加到网页的统计模型230。
在另一示例中,在检测到网页100的异常元素之后,网络服务器130可以配置成使与网络客户端110和用户设备120的连接禁用或可以保留该连接,但是网络服务器130可以停止响应客户端110的请求(停止借助该连接的数据传输)。在停止数据传输的时刻,可以通过控制服务器150的防病毒部件(未示出)针对恶意功能(危险)的存在扫描检测到的网页的异常元素,或可以对该元素进行观察。如果集群在其附近形成有高于阈值的统计显著性,则可以将检测到的异常元素识别为安全的,从而重建连接且会话继续。
在特定情况下,当基于网页构造模型而没有提前知道这些网页是否包含异常元素时,冲突是可能的:元素的N维矢量不出现在该模型的任何集群中且困局出现–是否基于给定矢量创建新的集群或是否将由给定矢量反映其内容的元素识别为异常的。该冲突可以基于元素或集群的统计显著性的评估来解决,该集群可以基于类似(接近)于在评估区段上被评估的元素的元素来创建。即,基于包含被评估元素(或附近元素、其在N维空间中的N维矢量之间的距离小于特定阈值的元素)的网页的数量与在被评估区段上的模型构造中所使用的网页的总数的比率,其中,该区段的长度被测量为页面或迭代的数量。如果在评估区段上的网页的被评估的元素的统计显著性的值接近(邻近度通过阈值来确定)给定区段上的其它元素的统计显著性的值(或其它元素的统计显著性的平均值)或超过特定阈值(诸如超出20%),则可以将该元素识别为统计显著的,否则(如果未超过特定阈值)将该元素识别为异常的。例如,在模型构造步骤中,网页100的特定元素可以出现,该特定元素的矢量可以不出现在任何先前创建的集群210中。因此需要例如通过确定给定元素在一区段上的统计显著性来确定给定元素是否为异常的,其中,该区段的长度包括200个网页100。在一个示例中,对于给定类型的元素的统计显著性的阈值可以等于20%。该验证示出了,在元素的给定长度上,已经4次遇到接近于被评估元素的元素,这可以对应于为2%的统计显著性的值,该值低于阈值,从而被评估元素及接近该被评估元素的元素(围绕被评估元素所形成的集群)可以为异常的。在特定情况下,统计显著性的阈值可以被确定为对于同一种类的元素的集群的统计显著性的最小值。例如,模型包含统计显著性值为25%、32%、47%和95%的脚本的集群,因此对于给定种类的元素的阈值可以被设在25%。
在一个示例性方面中,统计显著性还可以被用在网页的异常元素的检测中。例如,在还未构造统计模型或正在解决上述困局时使用统计显著性。在第一步骤中,可以通过网络客户端110从网络服务器130获得网页100并将网页100实施在用户设备120上,该网页100包含脚本140,该脚本在被执行时在网络客户端110采集关于网页100的至少一个元素的内容的信息并分派从用户设备120采集的信息。可以在网络客户端110的帮助下执行上述脚本以在网络客户端110采集关于网页100的至少一个元素的内容的信息并分派从用户设备120采集的信息,该用户设备120的网络客户端110已接收到网页100。在控制服务器端150,关于从设备120接收的内容的信息可以配置成被转换为元素的N维矢量,以及可以通过任何合适方法聚集所获得的N维矢量。针对网页的每个元素、针对一组元素、针对一组相同种类的元素(或者不同种类的元素可以组成该组),可以形成N维矢量。在已形成集群210(其中集群210可以包括至少一个矢量)之后,可以确定所获得的集群210的统计显著性,其中,该统计显著性可以被确定为集群210中的N维矢量的数量与网页100的数量的比率,从上述网页100采集关于其元素的内容的信息并将该信息分派到控制服务器150或网络服务器130。因此,其N维矢量形成统计显著性小于阈值的集群的元素可以被确定和被识别为异常元素。阈值显著性可以通过上文所描述的方法来分配,且还可以取决于元素的种类、聚类的方法、评估区段的长度等。
在一个示例性方面中,当用户请求网络银行站点的网页(例如https://my.KasperskyBank.ru/)时,请求的网页可以被添加脚本140,以及页面100可以被分派到实施在用户设备120上的网络客户端110。在用户端的脚本140可以采集网页上存在的<script>元素:
<script>document.documentElement.id="js";var..../Kasperskybank/";</script>
<script src="//static.kaspersky.ru/dist/kfs/kfs.js"
crossorigin="anonymous"></script>
<script src="https://static.kaspersky.ru
/ib/prod/2842c77095d860e412d7a8cf30231fd53c89fb4e/Kasperskybank/Kasperskybank.js"crossorigin="anonymous"></script>
<script async=""src="/kfs/kfs"></script>
<script>!function(){var e=document.getElementById("before-init__noscript");e&&(e.className="ui-browser__holder-block-hide");var o=function(){try{return"withCredentials"in new
XMLHttpRequest}catch(e){return!1}}();if(o){var t=function(){if(navigator.cookieEnabled)return!0;document.cookie="cookietest=1";var e=-1!=document.cookie.indexOf("cookietest=");return
document.cookie="cookietest=1;expires=Thu,01-Jan-1970 00:00:01GMT",e}();if(t)document.body.removeChild(document.getElementById("before-init"));else{var
n=document.getElementById("before-init__nocookies");n&&(n.className="ui-browser__holder-block")}}else{var
r=document.getElementById("before-init__old-browser");r&&(r.className="ui-browser__holder-block")}}();</script>
对于具有属性src的<script>元素,可以执行脚本的主体的加载和标准化;对于行内脚本,仅执行标准化。例如,对于上述行内脚本,标准化形式可以如下(仅重要的语言结构和标准的对象/方法已经被保持,文字已被“切割”):
document.documentElement.i0=v0;vari1=window.i1||{};i1.i2=v1,i1.i3=v2,i1.i4=v3,i1.i5=v4,i1.i6={i7:v5,i8:v6},i1.i9=v7;
!function(){vari0=document.getElementById(v0);i0&&(i0.i1=v1);vari2=functio n(){try{returnv2innewXMLHttpRequest}catch(i0){return!v3}}();if(i2){vari3=fu nction(){if(navigator.i4)return!v4;document.cookie=v5;vari0=-v3!=document.co okie.indexOf(v6);returndocument.cookie=v7,i0}();if(i3)document.body.remove Child(document.getElementById(v8));else{vari5=document.getElementById(v9);i5&&(i5.i1=v10)}}else{vari6=document.getElementById(v11);i6&&(i6.i1=v10)}}();
接着,脚本140可以采集页面上存在的<input>元素:
<input autocomplete="off"autocorrect="off"autocapitalize="off"
class="m-login__form-field-input ng-pristine ng-invalid ng-invalid-required ng-touched"type="text"…ng-blur="login.focus=false"placeholder="password">
脚本140可以转换采集的<input>元素的数据,例如如下执行标准化(按字母顺序地排列属性、切断标签名、裁剪属性的值中的间隙,利用“;”列出属性):
<autocapitalize=off;autocomplete=off;autocorrect=off;class=m-login__form-fiel d-inputng-pristineng-invalidng-invalid-requiredng-touched;name=lg;ng-blur=lo gin.focus=false;warmUp();;ng-change=input(true);ng-disabled=false;ng-keydow n=login.focus=true&&$event.keyCode===13&&authUser();ng-keyup=fix(login.form.lg,$event);ng-model=login.lg;placeholder=login;spellcheck=false;style=pa dding:0px;;type=text;ui-focus=login.setFocus;validator=validator.lg>
<autocapitalize=off;autocomplete=off;autocorrect=off;class=m-login__form-fiel d-inputng-pristineng-untouchedng-invalidng-invalid-required;name=pw;ng-blur=login.focus=false;ng-change=input();ng-disabled=false;ng-keydown=login.foc us=true&&$event.keyCode===13&&authUser();ng-keyup=fix(login.form.pw,$event);ng-model=login.pw;placeholder=password;spellcheck=false;type=passw ord;validator=validator.pw>
脚本140可以将采集的数据分派到控制服务器150。控制服务器150可以在对应模型(用于所有脚本元素的整体-脚本类型元素的统计模型220)的背景下如下处理采集的<script>元素的数据:
·对于每个脚本,可以获得数值矢量(例如,该矢量可以为二维的),其中,该矢量可以从串字符的代码来计算(任何合适的编码方法可以用于获得字符代码,诸如ASCII),组成采集的数据(对于行内脚本,该数据可以包括标准化脚本的内容,对于其它脚本,该数据为src属性的内容)。可以针对包含在形成的网页100中的<script>元素获得如下矢量:
ο16314,10816
ο2254,2598
ο16084,15036
ο356,822
ο20010,51838
·每个矢量可以被保存在模型230的二维空间中,在不具有异常的给定情况下,所有矢量结束在先前形成的集群中(即,所有矢量与先前来自脚本140(来自那些版本的网页)的数据是可兼容的)。作为图示,图4a示出模型的可视化,其中,圆点指示被分析的<script>元素,且着色区域为模型220的先前创建的集群210,作为模型230的一部分。
控制服务器150可以以类比方式处理采集的<input>元素的数据,作为结果,该可视化具有在图4b中所示的形式。由于没有检测到异常元素,因此处理可以结束。
在一个示例中,恶意注入可以在同一页面(https://my.KasperskyBank.ru/)上以附加<script>元素的形式出现在用户之一处:
<script src="https://static.kasperskyBank.ru/ib/prod/bank/malware.js"
crossorigin="anonymous"></script>
通过上述方法计算的矢量可以等于(4560,3192)且模型可以采取图4c中所示的形式(反映注入(其为异常)的内容的当前矢量用红色标记)。检测到的异常元素可以被控制服务器150的防病毒部件处理,以及可以使连接本身禁用,同时可以观察模型的空间中的元素以确定其统计显著性。
在本发明中所公开的网络服务器、网络客户端、数据库、其上实施有分析模块和处理模块的控制服务器包括真实的设备、系统、部件、部件组,其利用硬件(诸如集成微电路(专用集成电路,ASIC)或现场可编程门阵列(FPGA))或例如也在神经突触芯片上以软件和硬件的组合形式(诸如微处理器系统和一组程序指令)来实现。系统的指示元素的功能可以专有地通过硬件且也以组合形式来实现,其中,系统的元素的功能的一部分通过软件来实现且另一部分通过硬件来实现。在某些变型实施方式中,一些元素或所有元素可以被实施在通用计算机(诸如在图5中所示的通用计算机)的处理器上。
图5为示出根据本发明的示例性方面的其上可实施用于检测网页的异常元素的系统和方法的方面的示例性计算机系统的图。如所示,该计算机系统20(其可以是个人计算机或服务器)包括中央处理单元21、系统存储器22和连接各种系统部件的系统总线23,各种系统部件包括与中央处理单元21相关联的存储器。如将由本领域的普通技术人员所领会,系统总线23可以包括总线存储器或总线存储器控制器、外围总线、以及能够与任何其它的总线架构交互的本地总线。系统存储器可以包括永久性存储器(ROM)24和随机存取存储器(Random-Access Memory,RAM)25。基本输入/输出系统(Basic Input/Output System,BIOS)26可以存储用于在计算机系统20的元件之间的信息传输的基本程序,例如在使用ROM24加载操作系统时的那些基本程序。
计算机系统20还可以包括用于读取和写入数据的硬盘27、用于在可移动磁盘29上读取和写入的磁盘驱动器28、以及用于读取和写入可移动光盘31(诸如CD-ROM、DVD-ROM和其它光学媒介)的光盘驱动器30。硬盘27、磁盘驱动器28和光盘驱动器30分别通过硬盘接口32、磁盘接口33和光盘驱动器接口34而连接到系统总线23。驱动器和对应的计算机信息媒介为用于存储计算机系统20的计算机指令、数据结构、程序模块和其它数据的电源独立的模块。
示例性方面包括借助控制器55使用连接到系统总线23的硬盘27、可移动磁盘29和可移动光盘31的系统。将由本领域的普通技术人员所理解,也可以利用能够以计算机可读的形式存储数据的任何类型的媒介56(固态驱动器、闪存卡、数字盘、随机存取存储器(RAM)等等)。
计算机系统20具有可以存储操作系统35的文件系统36、以及额外的程序应用37、其它程序模块38和程序数据39。计算机系统20的用户可以使用键盘40、鼠标42、或本领域的普通技术人员已知的任何其它输入设备(诸如但不限于麦克风、操纵杆、游戏控制器、扫描器等)输入命令和信息。这些输入设备通常通过串行端口46插入到计算机系统20中,串行端口46转而连接到系统总线,但是本领域的普通技术人员将领会,输入设备也可以以其它方式来连接,诸如但不限于借助并行端口、游戏端口、或通用串行总线(Universal SerialBus,USB)来连接。监控器47或其它类型的显示设备也可以通过接口(例如视频适配器48)连接到系统总线23。除了监控器47,个人计算机还可以装备有其它的外围输出设备(未示出),例如扬声器、打印机等。
计算机系统20可以使用与一个或多个远程计算机49的网络连接而在网络环境中工作。一个或多个远程计算机49可以为本地计算机工作站或服务器,其包括在描述计算机系统20的性质时使用的上述元件中的大多数元件或全部元件。其它设备也可以存在于计算机网络中,诸如但不限于路由器、网站、对等设备或其它的网络节点。
网络连接可以形成局域计算机网络(Local-Area computer Network,LAN)50和广域计算机网络(Wide-Area computer Network,WAN)。这些网络用在企业计算机网络和公司内部网络中,并且这些网络通常有权访问因特网。在LAN或WAN网络中,个人计算机20通过网络适配器或网络接口51连接到局域网50。当使用网络时,计算机20系统可以采用调制解调器54或本领域的普通技术人员所熟知的实现与广域计算机网络(诸如因特网)的通信的其它模块。调制解调器54可以是内部设备或外部设备,可以通过串行端口46连接到系统总线23。本领域的普通技术人员将领会,所述网络连接是使用通信模块建立一个计算机与另一个计算机的连接的许多熟知方式的非限制性示例。
在各个方面中,本文中所描述的系统和方法可以以硬件、软件、固件或它们的任何组合来实施。如果以软件来实施,则上述方法可以作为一个或多个指令或代码而被存储在非暂时性计算机可读介质上。计算机可读介质包括数据存储器。以示例性而非限制性的方式,这种计算机可读介质可以包括RAM,ROM,EEPROM,CD-ROM,闪存或其它类型的电存储介质、磁存储介质或光存储介质,或可用来携带或存储所期望的指令或数据结构形式的程序代码并可以被通用计算机的处理器访问的任何其它介质。
在各个方面中,本发明中所描述的系统和方法可以按照模块来处理。本文中所使用的术语“模块”指的是例如现实世界的设备、部件、或使用硬件(例如通过专用集成电路(Application Specific Integrated Circuit,ASIC)或现场可编程门阵列(Field-Programmable Gate Array,FPGA))实现的部件的布置,或者指的是硬件和软件的组合,例如通过微处理器系统和实现模块功能的指令集(该指令集在被执行时将微处理器系统转换成专用设备)来实现这样的组合。一个模块还可以被实施为两个模块的组合,其中单独地通过硬件促进某些功能,并且通过硬件和软件的组合促进其它功能。在某些实现方式中,模块的至少一部分(以及在一些情况下,模块的全部)可以被执行在通用计算机(例如上文在图1至图4中更详细描述的通用计算机)的处理器上。因此,每个模块可以以各种适合的配置来实现,而不应受限于本文中所例示的任何特定的实现方式。
为了清楚起见,本文中没有公开各个方面的所有例程特征。应当领会的是,在本发明的任何实际的实现方式的开发中,必须做出许多特定实现方式的决定,以便实现开发者的特定目标,并且这些特定目标将对于不同的实现方式和不同的开发者变化。应当理解的是,这种开发努力会是复杂的且费时的,但对于了解本发明的优点的本领域的普通技术人员来说仍然是工程的例行任务。
此外,应当理解的是,本文中所使用的措辞或术语出于描述而非限制的目的,从而本说明书的术语或措辞应当由本领域技术人员根据本文中所提出的教导和指导结合相关领域技术人员的知识来解释。此外,不旨在将本说明书或权利要求中的任何术语归于不常见的或特定的含义,除非明确如此阐述。本文中所公开的各个方面包括本文中以说明性方式所引用的已知模块的现在和未来已知的等同物。此外,尽管已经示出并描述了各个方面和应用,但是对于了解本发明的优点的本领域技术人员将显而易见的是,在不脱离本文中所公开的发明构思的前提下,相比于上文所提及的内容而言的更多修改是可行的。

Claims (20)

1.一种用于检测网页的异常元素的计算机实现的方法,所述方法包括:
通过客户端计算设备,通过借助网络服务器请求与网站相关联的网页获得对所述网站的访问权;
通过所述客户端计算设备执行所述网页以采集关于所述网页的数据;
至少基于采集的所述数据确定至少一个N维矢量;
基于所述至少一个N维矢量,在N维空间中创建至少一个集群,所述至少一个集群包括用于所述网页的至少一个元素的矢量的一组坐标值;
基于所述至少一个集群创建所述网页的统计模型;
使用所述统计模型来检测所述网页的异常元素;以及
将所述网页的所述至少一个元素确定且识别为异常的,其中,所述网络服务器配置成:
响应于检测到所述网页的所述至少一个元素是异常的,使与所述客户端计算设备的连接禁用;
确定所述至少一个元素的与阈值相关的统计显著性;以及
响应于检测到所述至少一个元素的所述统计显著性大于所述阈值,将所述至少一个元素识别为安全的并重建与所述客户端计算设备的所述连接。
2.如权利要求1所述的计算机实现的方法,还包括:
存储所述至少一个N维矢量;以及
在创建所述至少一个集群之前,通过另一个客户端计算设备获得且执行所述网页,以采集关于与所述至少一个N维矢量相关的所述网页的附加数据。
3.如权利要求1所述的计算机实现的方法,其中,所述网络服务器还配置成:响应于从所述客户端计算设备接收请求所述网页的请求,将至少一个脚本添加到所述网页。
4.如权利要求3所述的计算机实现的方法,其中,通过所述客户端计算设备执行所述网页包括:执行所述至少一个脚本以采集关于所述网页的所述至少一个元素的所述数据。
5.如权利要求1所述的计算机实现的方法,还包括:
将所述至少一个N维矢量与所述网页的至少一个先前构造的统计模型的集群和N维矢量相比较;以及
其中,将所述网页的所述至少一个元素确定且识别为异常的包括检测到如下项中的至少一者:
在所述N维空间中,所述网页的所述至少一个元素的所述至少一个N维矢量与所述网页的统计模型的集群的中心之间的距离大于所述集群的半径;或
在所述N维空间中,所述网页的所述至少一个元素的所述至少一个N维矢量与所述网页的所述统计模型的集群的所述中心之间的邻近度的测量值大于第一所选阈值;或
在所述N维空间中,所述至少一个元素的所述至少一个N维矢量与所述网页的所述统计模型的所述集群的离所述集群的所述中心最远的N维矢量之间的邻近度的测量值大于第二所选阈值。
6.如权利要求5所述的计算机实现的方法,还包括:在检测到所述至少一个元素不是异常的之后,将所述网页的所述至少一个元素的所述至少一个N维矢量添加到所述网页的所述统计模型。
7.如权利要求1所述的计算机实现的方法,还包括:
响应于检测到所述网页的所述至少一个元素的所述至少一个N维矢量不对应于所述网页的所述统计模型,确定关于所述至少一个元素的网页的数量与在所述网页的所述统计模型中使用的网页的总数量的比率。
8.如权利要求7所述的计算机实现的方法,其中,关于所述至少一个元素的网页的数量包括包含所述至少一个元素或邻近元素的网页的数量,所述邻近元素在所述N维空间中的N维矢量之间的距离小于所选阈值。
9.一种用于检测网页的异常元素的系统,包括:
客户端计算设备的至少一个处理器,所述至少一个处理器配置成:
通过借助网络服务器请求与网站相关联的网页获得对所述网站的访问权;
执行所述网页以采集关于所述网页的数据;
至少基于采集的所述数据确定至少一个N维矢量;
基于所述至少一个N维矢量,在N维空间中创建至少一个集群,所述至少一个集群包括用于所述网页的至少一个元素的矢量的一组坐标值;
基于所述至少一个集群创建所述网页的统计模型;
使用所述统计模型来检测所述网页的异常元素;以及
将所述网页的所述至少一个元素确定且识别为异常的,其中,所述网络服务器配置成:
响应于检测到所述网页的所述至少一个元素是异常的,使与所述客户端计算设备的连接禁用;
确定所述至少一个元素的与阈值相关的统计显著性;以及
响应于检测到所述至少一个元素的所述统计显著性大于所述阈值,将所述至少一个元素识别为安全的并重建与所述客户端计算设备的所述连接。
10.如权利要求9所述的系统,其中,所述至少一个处理器还配置成:
存储所述至少一个N维矢量;以及
在创建所述至少一个集群之前,获得且执行所述网页以采集关于与所述至少一个N维矢量相关的所述网页的附加数据。
11.如权利要求9所述的系统,其中,所述网络服务器还配置成:响应于从所述客户端计算设备接收请求所述网页的请求,将至少一个脚本添加到所述网页。
12.如权利要求11所述的系统,其中,为了通过所述客户端计算设备执行所述网页,所述至少一个处理器还配置成:执行所述至少一个脚本以采集关于所述网页的所述至少一个元素的所述数据。
13.如权利要求9所述的系统,其中,所述至少一个处理器还配置成:
将所述至少一个N维矢量与所述网页的至少一个先前构造的统计模型的集群和N维矢量相比较;以及
其中,将所述网页的所述至少一个元素确定且识别为异常的包括检测到如下项中的至少一者:
在所述N维空间中,所述网页的所述至少一个元素的所述至少一个N维矢量与所述网页的统计模型的集群的中心之间的距离大于所述集群的半径;或
在所述N维空间中,所述网页的所述至少一个元素的所述至少一个N维矢量与所述网页的所述统计模型的集群的所述中心之间的邻近度的测量值大于第一所选阈值;或
在所述N维空间中,所述至少一个元素的所述至少一个N维矢量与所述网页的所述统计模型的所述集群的离所述集群的所述中心最远的N维矢量之间的邻近度的测量值大于第二所选阈值。
14.如权利要求13所述的系统,其中,所述至少一个处理器还配置成:在检测到所述至少一个元素不是异常的之后,将所述网页的所述至少一个元素的所述至少一个N维矢量添加到所述网页的所述统计模型。
15.如权利要求9所述的系统,其中,所述至少一个处理器还配置成:响应于检测到所述网页的所述至少一个元素的所述至少一个N维矢量不对应于所述网页的所述统计模型,确定关于所述至少一个元素的网页的数量与在所述网页的所述统计模型中使用的网页的总数量的比率,
其中,关于所述至少一个元素的网页的数量包括包含所述至少一个元素或邻近元素的网页的数量,所述邻近元素在所述N维空间中的N维矢量之间的距离小于所选阈值。
16.一种非暂时性计算机可读介质,所述非暂时性计算机可读介质上存储用于检测网页的异常元素的计算机可执行指令,所述非暂时性计算机可读介质包括用于如下操作的指令:
通过客户端计算设备,通过借助网络服务器请求与网站相关联的网页获得对所述网站的访问权;
通过所述客户端计算设备执行所述网页以采集关于所述网页的数据;
至少基于采集的所述数据确定至少一个N维矢量;
基于所述至少一个N维矢量,在N维空间中创建至少一个集群,所述至少一个集群包括用于所述网页的至少一个元素的矢量的一组坐标值;
基于所述至少一个集群创建所述网页的统计模型;
使用所述统计模型来检测所述网页的异常元素;以及
将所述网页的所述至少一个元素确定且识别为异常的,其中,所述网络服务器配置成:
响应于检测到所述网页的所述至少一个元素是异常的,使与所述客户端计算设备的连接禁用;
确定所述至少一个元素的与阈值相关的统计显著性;以及
响应于检测到所述至少一个元素的所述统计显著性大于所述阈值,将所述至少一个元素识别为安全的并重建与所述客户端计算设备的所述连接。
17.如权利要求16所述的计算机可读介质,还包括用于如下操作的指令:
将所述至少一个N维矢量与所述网页的至少一个先前构造的统计模型的集群和N维矢量相比较;以及
其中,将所述网页的所述至少一个元素确定且识别为异常的包括检测到如下项中的至少一者:
在所述N维空间中,所述网页的所述至少一个元素的所述至少一个N维矢量与所述网页的统计模型的集群的中心之间的距离大于所述集群的半径;或
在所述N维空间中,所述网页的所述至少一个元素的所述至少一个N维矢量与所述网页的所述统计模型的集群的所述中心之间的邻近度的测量值大于第一所选阈值;或
在所述N维空间中,所述至少一个元素的所述至少一个N维矢量与所述网页的所述统计模型的所述集群的离所述集群的所述中心最远的N维矢量之间的邻近度的测量值大于第二所选阈值。
18.如权利要求16所述的计算机可读介质,还包括用于如下操作的指令:响应于检测到所述网页的所述至少一个元素的所述至少一个N维矢量不对应于所述网页的所述统计模型,确定关于所述至少一个元素的网页的数量与在所述网页的所述统计模型中使用的网页的总数量的比率。
19.如权利要求16所述的计算机可读介质,其中,所述网络服务器还配置成:响应于从所述客户端计算设备接收请求所述网页的请求,将至少一个脚本添加到所述网页。
20.如权利要求19所述的计算机可读介质,其中,通过所述客户端计算设备执行所述网页包括:执行所述至少一个脚本以采集关于所述网页的所述至少一个元素的所述数据。
CN201710477694.1A 2016-09-08 2017-06-21 用于检测网页的异常元素的系统和方法 Active CN107808095B (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
RU2016136226A RU2652451C2 (ru) 2016-09-08 2016-09-08 Способы обнаружения аномальных элементов веб-страниц
RU2016136226 2016-09-08
US15/437,828 2017-02-21
US15/437,828 US10291640B2 (en) 2016-09-08 2017-02-21 System and method for detecting anomalous elements of web pages

Publications (2)

Publication Number Publication Date
CN107808095A CN107808095A (zh) 2018-03-16
CN107808095B true CN107808095B (zh) 2021-03-26

Family

ID=61281472

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710477694.1A Active CN107808095B (zh) 2016-09-08 2017-06-21 用于检测网页的异常元素的系统和方法

Country Status (4)

Country Link
US (1) US10291640B2 (zh)
JP (1) JP2018041442A (zh)
CN (1) CN107808095B (zh)
RU (1) RU2652451C2 (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2638710C1 (ru) * 2016-10-10 2017-12-15 Акционерное общество "Лаборатория Касперского" Способы обнаружения вредоносных элементов веб-страниц
US11509540B2 (en) 2017-12-14 2022-11-22 Extreme Networks, Inc. Systems and methods for zero-footprint large-scale user-entity behavior modeling
RU2702080C1 (ru) * 2018-06-29 2019-10-03 Акционерное общество "Лаборатория Касперского" Способ блокировки сетевых соединений с ресурсами из запрещенных категорий
US20200019583A1 (en) * 2018-07-11 2020-01-16 University Of Southern California Systems and methods for automated repair of webpages
CN111597107B (zh) * 2020-04-22 2023-04-28 北京字节跳动网络技术有限公司 信息输出方法、装置和电子设备
CN112434238A (zh) * 2020-11-25 2021-03-02 平安普惠企业管理有限公司 网页质量检测方法、装置、电子设备及存储介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105808906A (zh) * 2014-10-27 2016-07-27 三星Sds株式会社 患者个人特性的分析方法及其装置

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1176432C (zh) * 1999-07-28 2004-11-17 国际商业机器公司 提供本国语言查询服务的方法和系统
US8544087B1 (en) 2001-12-14 2013-09-24 The Trustess Of Columbia University In The City Of New York Methods of unsupervised anomaly detection using a geometric framework
JP4652741B2 (ja) * 2004-08-02 2011-03-16 インターナショナル・ビジネス・マシーンズ・コーポレーション 異常検出装置、異常検出方法、異常検出プログラム、及び記録媒体
US20090307191A1 (en) * 2008-06-10 2009-12-10 Li Hong C Techniques to establish trust of a web page to prevent malware redirects from web searches or hyperlinks
US8225401B2 (en) 2008-12-18 2012-07-17 Symantec Corporation Methods and systems for detecting man-in-the-browser attacks
EP2529304B8 (en) 2010-01-26 2024-09-25 EMC IP Holding Company LLC System and method for network security including detection of man-in-the-browser attacks
US8364811B1 (en) * 2010-06-30 2013-01-29 Amazon Technologies, Inc. Detecting malware
RU2446459C1 (ru) * 2010-07-23 2012-03-27 Закрытое акционерное общество "Лаборатория Касперского" Система и способ проверки веб-ресурсов на наличие вредоносных компонент
JP6019484B2 (ja) * 2010-08-25 2016-11-02 ルックアウト、アイエヌシー. サーバで結合されたマルウェア防止のためのシステムと方法
US9038172B2 (en) * 2011-05-06 2015-05-19 The Penn State Research Foundation Robust anomaly detection and regularized domain adaptation of classifiers with application to internet packet-flows
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
US9386028B2 (en) * 2012-10-23 2016-07-05 Verint Systems Ltd. System and method for malware detection using multidimensional feature clustering
US9225737B2 (en) 2013-03-15 2015-12-29 Shape Security, Inc. Detecting the introduction of alien content
US9979748B2 (en) * 2015-05-27 2018-05-22 Cisco Technology, Inc. Domain classification and routing using lexical and semantic processing
US9923916B1 (en) * 2015-06-17 2018-03-20 Amazon Technologies, Inc. Adaptive web application vulnerability scanner

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105808906A (zh) * 2014-10-27 2016-07-27 三星Sds株式会社 患者个人特性的分析方法及其装置

Also Published As

Publication number Publication date
US10291640B2 (en) 2019-05-14
RU2016136226A3 (zh) 2018-03-15
CN107808095A (zh) 2018-03-16
US20180069880A1 (en) 2018-03-08
JP2018041442A (ja) 2018-03-15
RU2016136226A (ru) 2018-03-15
RU2652451C2 (ru) 2018-04-26

Similar Documents

Publication Publication Date Title
CN107918733B (zh) 检测网页的恶意元素的系统和方法
CN107808095B (zh) 用于检测网页的异常元素的系统和方法
US20240121266A1 (en) Malicious script detection
US9621570B2 (en) System and method for selectively evolving phishing detection rules
RU2610254C2 (ru) Система и способ определения измененных веб-страниц
RU2637477C1 (ru) Система и способ обнаружения фишинговых веб-страниц
US10079854B1 (en) Client-side protective script to mitigate server loading
US8448245B2 (en) Automated identification of phishing, phony and malicious web sites
US8112799B1 (en) Method, system, and computer program product for avoiding cross-site scripting attacks
US11212297B2 (en) Access classification device, access classification method, and recording medium
JP6708794B2 (ja) 判定装置、判定方法、および、判定プログラム
US11550920B2 (en) Determination apparatus, determination method, and determination program
JP2012088803A (ja) 悪性ウェブコード判別システム、悪性ウェブコード判別方法および悪性ウェブコード判別用プログラム
CN109492403B (zh) 一种漏洞检测方法及装置
US11481489B2 (en) System and method for generating a representation of a web resource to detect malicious modifications of the web resource
EP3306511B1 (en) System and methods of detecting malicious elements of web pages
EP3293661A1 (en) System and method for detecting anomalous elements of web pages
RU2659741C1 (ru) Способы обнаружения аномальных элементов веб-страниц на основании статистической значимости
US20230065787A1 (en) Detection of phishing websites using machine learning
Bala et al. XSS Attack Prevention over Code Injection Vulnerabilities in Web Applications
EP3547646A1 (en) System and method of detecting a modification of a web resource
CN114499968A (zh) 一种xss攻击检测方法及装置
CN115514539A (zh) 一种网络攻击的防护方法及装置、存储介质及电子设备
CN115795473A (zh) 数据处理方法以及装置
CN114157452A (zh) 一种基于http连接平台的xxe漏洞的检测方法及系统

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