CN107347052B - 检测撞库攻击的方法及装置 - Google Patents
检测撞库攻击的方法及装置 Download PDFInfo
- Publication number
- CN107347052B CN107347052B CN201610294653.4A CN201610294653A CN107347052B CN 107347052 B CN107347052 B CN 107347052B CN 201610294653 A CN201610294653 A CN 201610294653A CN 107347052 B CN107347052 B CN 107347052B
- Authority
- CN
- China
- Prior art keywords
- source
- address
- login
- login request
- password
- 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/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
- H04L63/1425—Traffic logging, e.g. anomaly detection
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1433—Vulnerability analysis
-
- 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/145—Countermeasures against malicious traffic the attack involving the propagation of malware through the network, e.g. viruses, trojans or worms
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Virology (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请提供了一种检测撞库攻击的方法及装置。其方法包括:获取预定时间内接收到的登录请求的源IP地址和登录信息;根据获取到的源IP地址和登录信息,确定所述获取到的源IP地址中具有高频登录行为的源IP地址;根据所述具有高频登录行为的源IP地址发起的登录请求所使用的密码中具有语义的密码的占比,判断所述源IP地址在所述预定时间内发起的登录请求是否为撞库攻击,其中,所述具有语义的密码为具有语义的概率超过预定概率阈值的密码。根据本申请的技术方案,提高了检测撞库攻击的准确性。
Description
技术领域
本申请涉及网络攻击防御领域,尤其涉及一种检测撞库攻击的方法及装置。
背景技术
撞库攻击是指黑客通过收集互联网已泄露的用户名和密码信息,生成对应的字典表,再用字典表中罗列的用户和密码,尝试批量登陆其他网站,一旦用户为了省事,在多个不同网站设置了相同的用户名和密码的话,黑客很容易就会通过字典中已有的用户名和密码信息,成功登录到这些网站,从而获得用户的相关信息。这些信息泄露后,不仅会给用户的经济带来巨大损失,同时也会给相关网站带来负面影响。目前,黑客非法入侵网站服务器后,通常将网站用户的用户名和密码信息存储在一个数据库中,这个库称作社工库。黑客批量使用社工库中的用户名和密码去登录目标网站,若用户在目标网站使用同一对用户名和密码,即可登录成功。
现有的撞库攻击检测方法主要包括以下两种:一种是统计登录的频率,即统计单位时间内发起登录请求的次数,若次数超过预设阈值,则判定为撞库攻击。这种方法对于暴力破解的登录请求和正常业务的批量登录请求无法区分,会导致误报。另一种是对于已经泄露的社工库进行收集,对登录请求中的密码与社工库中的密码进行比对,来确认是否为撞库攻击行为。这种方法由于每条登录请求中的密码都要和社工库中的数量庞大的密码进行比对,非常消耗算力资源。
发明内容
本申请的一个目的是提供一种检测撞库攻击的方法及装置,提高检测撞库攻击的准确性。
根据本申请的一方面,提供了一种检测撞库攻击的方法,其中,该方法包括以下步骤:
获取预定时间内接收到的登录请求的源IP地址和登录信息;根据获取到的源IP地址和登录信息,确定所述获取到的源IP地址中具有高频登录行为的源IP地址;根据所述具有高频登录行为的源IP地址发起的登录请求所使用的密码中具有语义的密码的占比,判断所述源IP地址在所述预定时间内发起的登录请求是否为撞库攻击,其中,所述具有语义的密码为具有语义的概率超过预定概率阈值的密码。
根据本申请的另一方面,还提供了一种检测撞库攻击的装置,其中,该装置包括:
获取单元,用于获取预定时间内接收到的登录请求的源IP地址和登录信息;确定单元,用于根据获取到的源IP地址和登录信息,确定所述获取到的源IP地址中具有高频登录行为的源IP地址;判断单元,用于根据所述具有高频登录行为的源IP地址发起的登录请求所使用的密码中具有语义的密码的占比,判断所述源IP地址在所述预定时间内发起的登录请求是否为撞库攻击,其中,所述具有语义的密码为具有语义的概率超过预定概率阈值的密码。
与现有技术相比,本申请的实施例具有以下优点:
本申请的技术方案,通过先获取具有高频登录行为的源IP地址,再根据该具有高频登录行为的源IP地址发起登录请求所使用的密码中具有语义的密码的占比,确定该源IP地址的高频登录行为是否为撞库攻击,提高了检测撞库攻击的准确性。并且,本申请的技术方案在检测撞库攻击时不需要在庞大的社工库中进行密码比对,节省了计算资源。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:
图1为本申请一个实施例提供的方法的流程图;
图2为本申请实施例中步骤S110的一种实施方式的流程图;
图3为本申请实施例中步骤S120的一种实施方式的流程图;
图4为本申请实施例中步骤S130的一种实施方式的流程图;
图5为本申请实施例中步骤S130的另一种实施方式的流程图;
图6为本申请实施例中步骤S130的又一种实施方式的流程图;
图7为本申请实施例中步骤S130的再一种实施方式的流程图;
图8为本申请一个实施例提供的装置示意图;
图9为本申请实施例提供的装置中获取单元210的示意图;
图10为本申请实施例提供的装置中确定单元220的示意图;
图11为本申请实施例提供的装置中判断单元230的一种实施方式的示意图;
图12为本申请实施例提供的装置中判断单元230的另一种实施方式的示意图;
图13为本申请实施例提供的装置中判断单元230的又一种实施方式的示意图;
图14为本申请实施例提供的装置中判断单元230的再一种实施方式的示意图。
附图中相同或相似的附图标记代表相同或相似的部件。
具体实施方式
在更加详细地讨论示例性实施例之前应当提到的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将各项操作描述成顺序的处理,但是其中的许多操作可以被并行地、并发地或者同时实施。此外,各项操作的顺序可以被重新安排。当其操作完成时所述处理可以被终止,但是还可以具有未包括在附图中的附加步骤。所述处理可以对应于方法、函数、规程、子例程、子程序等等。
在上下文中所称“计算机设备”,也称为“电脑”,是指可以通过运行预定程序或指令来执行数值计算和/或逻辑计算等预定处理过程的智能电子设备,其可以包括处理器与存储器,由处理器执行在存储器中预存的存续指令来执行预定处理过程,或是由ASIC、FPGA、DSP等硬件执行预定处理过程,或是由上述二者组合来实现。计算机设备包括但不限于服务器、个人电脑、笔记本电脑、平板电脑、智能手机等。
所述计算机设备包括用户设备与网络设备。其中,所述用户设备包括但不限于电脑、智能手机、PDA等;所述网络设备包括但不限于单个网络服务器、多个网络服务器组成的服务器组或基于云计算(Cloud Computing)的由大量计算机或网络服务器构成的云,其中,云计算是分布式计算的一种,由一群松散耦合的计算机集组成的一个超级虚拟计算机。其中,所述计算机设备可单独运行来实现本申请,也可接入网络并通过与网络中的其他计算机设备的交互操作来实现本申请。其中,所述计算机设备所处的网络包括但不限于互联网、广域网、城域网、局域网、VPN网络等。
需要说明的是,所述用户设备、网络设备和网络等仅为举例,其他现有的或今后可能出现的计算机设备或网络如可适用于本申请,也应包含在本申请保护范围以内,并以引用方式包含于此。
后面所讨论的方法(其中一些通过流程图示出)可以通过硬件、软件、固件、中间件、微代码、硬件描述语言或者其任意组合来实施。当用软件、固件、中间件或微代码来实施时,用以实施必要任务的程序代码或代码段可以被存储在机器或计算机可读介质(比如存储介质)中。(一个或多个)处理器可以实施必要的任务。
这里所公开的具体结构和功能细节仅仅是代表性的,并且是用于描述本申请的示例性实施例的目的。但是本申请可以通过许多替换形式来具体实现,并且不应当被解释成仅仅受限于这里所阐述的实施例。
应当理解的是,虽然在这里可能使用了术语“第一”、“第二”等等来描述各个单元,但是这些单元不应当受这些术语限制。使用这些术语仅仅是为了将一个单元与另一个单元进行区分。举例来说,在不背离示例性实施例的范围的情况下,第一单元可以被称为第二单元,并且类似地第二单元可以被称为第一单元。这里所使用的术语“和/或”包括其中一个或更多所列出的相关联项目的任意和所有组合。
这里所使用的术语仅仅是为了描述具体实施例而不意图限制示例性实施例。除非上下文明确地另有所指,否则这里所使用的单数形式“一个”、“一项”还意图包括复数。还应当理解的是,这里所使用的术语“包括”和/或“包含”规定所陈述的特征、整数、步骤、操作、单元和/或组件的存在,而不排除存在或添加一个或更多其他特征、整数、步骤、操作、单元、组件和/或其组合。
还应当提到的是,在一些替换实现方式中,所提到的功能/动作可以按照不同于附图中标示的顺序发生。举例来说,取决于所涉及的功能/动作,相继示出的两幅图实际上可以基本上同时执行或者有时可以按照相反的顺序来执行。
定义:
撞库攻击:是指黑客通过收集互联网已泄露的用户名和密码信息,生成对应的字典表,再用字典表中罗列的用户和密码,尝试批量登陆其他网站,若用户在多个不同网站设置了相同的用户名和密码,黑客就会通过字典中已有的用户名和密码信息,成功登录到这些网站,从而获得用户的相关信息。
登录请求:是指用户通过在用户终端上安装的客户端应用的登录界面或浏览器中显示的Web应用的登录页面输入登录信息,从而向客户端应用或Web应用的服务器发起登录应用的账户的请求。例如,在安装在手机上的聊天软件的登录界面上,通过输入用户名和密码等信息登录该聊天软件。
高频登录行为:本申请中高频登录行为是指一个源IP地址发起登录请求的频率超过一定的频率阈值的行为。
具有语义的密码:是指具有语义的概率超过预定概率阈值的密码。其中,语义是指字符串在特定领域具有的含义。具有语义的概率是指字符串作为密码具有含义的概率。例如,用户使用“zhangsan”作为密码,“zhangsan”实际上为用户的姓名“张三”的汉语拼音全拼表示。密码具有语义的概率例如,基于特定语言模型计算得到的该密码出现的概率。
下面结合附图对本申请作进一步详细描述。
图1为本申请一个实施例的检测撞库攻击的方法流程图。根据本申请的方法1至少包括步骤S110、步骤S120和步骤S130。
参考图1,在步骤S110中,获取预定时间内接收到的登录请求的源IP地址和登录信息。所述登录信息包括用户名、密码、登录时间。
具体地,可以每隔一预定时间获取上一预定时间内接收到的登录请求的源IP地址。在一种具体的实施方式中,可以根据HTTP服务器日志、动态语言日志或数据库日志获取所述预定时间内接收到的登录请求的源IP地址和登录信息。
参考图2,步骤S110具体包括步骤S111和步骤S112。
步骤S111,获取服务器端的HTTP服务器日志、动态语言日志和/或数据库日志。
所述HTTP服务器日志、动态语言日志和数据库日志中记录有对接收到的请求(包括各种请求,例如登录请求、访问请求等)进行服务器解析、动态语言解析和数据库解析的解析结果。Web应用或客户端应用(APP)通过HTTP的GET方法或POST方法将登录请求发送至服务器端,登录请求到达服务器端后,服务器端对该登录请求进行解析。其中,服务器端对接收到的登录请求进行的解析包括三层解析,分别为HTTP服务器解析、动态语言解析和数据库解析,解析得到的结果分别保存在HTTP服务器日志、动态语言日志和数据库日志中,可以获取上述解析日志中的任意一项或多项。
步骤S112,基于所述HTTP服务器日志、动态语言日志和/或数据库日志,提取所述预定时间内接收到的登录请求的源IP地址和登录信息。
所述HTTP服务器日志、动态语言日志、以及数据库日志中记录有对每一个登录请求进行解析得到的解析结果,所述解析结果包括接收到的登录请求的源IP地址以及登录信息。因此,可以从所述HTTP服务器日志、动态语言日志、数据库日志中的任意一项或多项中提取所述预定时间内接收到的每一个登录请求的源IP地址以及登录信息。所述预定时间例如可以为5分钟、10分钟。
在一种具体实施方式中,根据所述HTTP服务器日志、动态语言日志和/或数据库日志,生成记录有接收到的登录请求的源IP地址和登录信息的登录日志;所述登录信息包括用户名、密码、登录时间,再根据登录日志中记录的登录请求的请求时间,提取出所述预定时间内接收到的登录请求的源IP地址以及登录信息。
参考图1,在步骤120中,根据获取到的源IP地址和登录信息,确定所述获取到的源IP地址中具有高频登录行为的源IP地址。
撞库攻击的一个特点是单位时间内请求登录次数较多,即高频登录。因此可以先确定获取到的源IP地址在所述预定时间内发起登录请求的行为是否为高频登录行为,若确定是高频登录行为,再判断该高频登录行为是否为撞库攻击。
参考图3,步骤S120具体可以包括步骤S121和步骤S122。
步骤S121,根据获取到的源IP地址和登录信息,提取出所述获取到源IP地址中每个源IP地址发起的登录请求的登录信息。
也就是说,以IP地址为单位,提取出获取到的每个源IP地址发起的登录请求的登录信息。
步骤S122,根据提取出的每个源IP地址发起的登录请求的登录信息,确定所述源IP地址是否具有高频登录行为。
在一种具体的实施方式中,根据所述源IP地址发起的登录请求的登录信息,统计所述源IP地址在所述预定时间内发起登录请求的次数,并判断所述次数是否超过预定次数阈值,若所述源IP地址在所述预定时间内发起登录请求的次数超过所述预定次数阈值,则所述源IP地址在所述预定时间内发起的登录请求为高频登录行为,即,所述源IP地址为具有高频登录行为的源IP地址。例如,预定时间为5分钟,预定次数阈值为300次,某一源IP地址在5分钟内登录次数498次,超过该预定次数阈值,则该源IP地址在该预定时间内发起的登录请求为高频登录行为,该IP地址为具有高频登录行为的源IP地址。
在另一种具体的实施方式中,根据源IP地址发起的登录请求的登录信息,统计所述源IP地址在所述预定时间内发起登录请求的次数,根据所述次数计算获取到的源IP地址在所述预定时间内发起登录请求的频率,并判断所述频率是否超过预定频率阈值,若所述源IP地址在所述预定时间内发起登录请求的频率超过预定频率阈值,则所述源IP地址为具有高频登录行为的源IP地址。例如,若某一源IP地址在5分钟内登录次数为600次,计算得到该源IP地址发起登录请求的频率(QPS)为2,即每秒请求2次。假设所述预定频率阈值为1,则该IP地址发起登录请求的频率超过了预定频率阈值,即,该源IP地址在该预定时间内发起的登录请求为高频登录行为。
参考图1,在步骤130中,根据所述具有高频登录行为的源IP地址发起的登录请求所使用的密码中具有语义的密码的占比,判断所述源IP地址在所述预定时间内发起的登录请求是否为撞库攻击。
其中,所述具有语义的密码为具有语义的概率超过预定概率阈值的密码。由于撞库攻击一般是黑客批量使用社工库中的用户名和密码进行登录,因此,撞库攻击所使用的密码一般是人为设置的密码。与机器随机生成的无意义密码不同,人为设置的密码往往都具有一定的语义,例如,用户常常设置与自己的姓名相关的密码。因此,可以通过计算该具有高频登录行为的源IP地址发起登录请求时所使用的密码具有语义的概率,确定其中具有语义密码,从而通过统计其中具有语义的密码的占比,判断该源IP发起的登录请求是否为撞库攻击。
参考图4,在一种具体实施方式中,步骤S130具体包括步骤S131、步骤S132和步骤S135。
步骤S131,计算所述具有高频登录行为的源IP地址在所述预定时间内发起的登录请求所使用的密码具有语义的概率,以确定所述密码中具有语义的密码。
具体地,可以基于预先生成的语言模型计算所述源IP地址在所述预定时间内发起的登录请求所使用的密码具有语义的概率,将所述密码中具有语义的概率超过预定概率阈值的密码确定为具有语义的密码。也即是说,根据预先生成的语言模型计算所述密码在所述语言模型中出现的概率,将所述密码在所述语言模型中出现的概率作为所述密码具有语义的概率。其中,一个密码的具有语义的概率越高,表明该密码是人为设置的密码的可能性越大;反之,一个密码具有语义的概率越低,表明该密码是人为设置的密码的可能性越小。将所述源IP地址在所述预定时间内发起的登录请求所使用的密码中,具有语义的概率超过预定概率阈值的密码确定为具有语义的密码。
由于多数用户设置密码时喜欢设置与自己姓名相关的密码,例如使用姓名的汉语拼音,如,zhangsan1988、wangwu2016等,因此可以获取常用姓名库,将姓名库中的姓名的汉语拼音加入训练语料库中建立语言模型。具体地,使用N-Gram语言模型,N-Gram模型基于这样一种假设,第N个词的出现只与前面N-1个词相关,而与其它任何词都不相关,整句的概率就是各个词出现概率的乘积。这些概率可以通过直接从语料中统计N个词同时出现的次数得到。例如,可以使用常见的二元语言模型Bi-Gram。由于使用语言模型计算得到的密码具有语义的概率,为该密码在该语言模型中出现的概率,因此所述预定概率阈值可以为基于训练样本设置的概率阈值,也就是说,不同的语言模型,该预定概率阈值不同。
步骤S132,统计所述源IP地址在所述预定时间内发起登录请求所使用的密码中具有语义的密码的占比是否超过第一预定比值。
先统计所述源IP地址在所述预定时间内发起登录请求所使用的密码中,具有语义的密码的数量,再计算具有语义的密码的数量与所述源IP地址在所述预定时间内所使用的密码的总数量的比值(即,具有语义的密码的占比),再判断该比值是否超过第一预定比值。所述第一预定比值例如可以为60%,即,判断具有语义的密码在所述源IP地址在所述预定时间内使用的所有密码中的占比是否超过60%。
步骤S135,基于上述统计结果,确定所述具有高频登录行为的源IP地址发起的登录请求是否为撞库攻击。
其中,若上述统计结果为肯定结果,则确定所述具有高频登录行为的源IP地址发起的登录请求为撞库攻击。也就是说,若步骤S132中的统计结果为肯定结果,即该源IP地址发起登录请求所使用的所有密码中具有语义的密码的占比超过第一预定比值,则说明该具有高频登录行为的源IP地址发起登录请求使用了大量的人为设置的密码,则可以确定该源IP地址的高频登录行为是撞库攻击。
在另一种具体实施方式中,参考图5,基于图4所描述的具体实施方式,步骤S130包括上述步骤S131、步骤S132、步骤S135,还包括步骤S133。
步骤S133,统计所述预定时间内所述具有高频登录行为的源IP地址发起登录请求所使用的用户名的去重用户名数与所述源IP地址发起的登录请求数的比值是否超过第二预定比值。
由于暴力破解攻击和正常业务的批量登录请求也具有高频登录的特点,不同的是暴力破解攻击会针对相同的用户名使用不同的密码进行多次登录,即,使用重复的用户名和不同的密码进行高频登录;正常业务的批量登录请求会使用相同的用户名和相同的密码进行高频登录;而撞库攻击使用大量重复的用户名或使用大量重复的用户名和密码对进行登录的几率则很小。
因此,可以统计源IP地址发起登录请求的去重用户名数(相同的用户名只保留一个,使去重后的用户名均不相同)与登录请求数的比值,并判断所述比值是否超过第二预定比值,其中,所述第二预定比值为小于1的百分数,若是,则可以在一定程度上排除该源IP地址在该预定时间内发起的登录请求为暴力破解攻击或正常业务的批量登录请求的可能。所述第二预定比值例如可以为50%。
进一步地,在步骤S135中,基于步骤S132和步骤S133的统计结果,确定该源IP地址发起的登录请求是否为撞库攻击。其中,若步骤S132和步骤S133中的统计结果均为肯定结果,则确定该源IP地址的高频登录行为是撞库攻击。即,若该源IP地址在所述预定时间内发起登录请求所使用的所有密码中,具有语义的密码的占比超过第一预定比值,且所述预定时间内该源IP地址发起登录请求所使用的用户名的去重用户名数与该源IP地址发起的登录请求数的比值超过第二预定比值,则可以确定该源IP地址的高频登录行为是撞库攻击。
应当理解,上述步骤的执行顺序不限于此,步骤S133也可以在步骤S131之前执行。
在又一种具体实施方式中,参考图6,基于图4所描述的具体实施方式,步骤S130包括上述步骤S131、步骤S132、步骤S135,还包括步骤S134。
步骤S134,统计所述预定时间内所述具有高频登录行为的源IP地址发起登录请求所使用的密码的去重密码数与所述源IP地址的发起登录请求所使用的用户名的去重用户名数的比值是否超过第三预定比值。
类似步骤S133,通过统计所述预定时间内源IP地址的去重密码数与去重用户名数的比值,并判断所述比值是否超过第三预定比值,若所述比值超过第三预定比值,则可以在一定程度上排除该源IP地址在该预定时间发起的登录请求为暴力破解攻击的可能。例如,某些机构统一为用户申请用户名,并设置相同的初始密码均为123456,黑客利用该初始密码登录尝试登录所有的用户名,若用户未能及时修改密码就会被黑客登录成功。利用步骤S133可以排除这种情况的暴力破解攻击。所述第三预定比值为小于1的百分数,例如可以为50%。
进一步地,在步骤S135中,基于步骤S132和步骤S134的统计结果,确定该源IP地址发起的登录请求是否为撞库攻击。其中,若步骤S132和步骤S134中的统计结果均为肯定结果,则确定该源IP地址的高频登录行为是撞库攻击。即,若该源IP地址在所述预定时间内发起登录请求所使用的所有密码中,具有语义的密码的占比超过第一预定比值,且所述预定时间内该源IP地址发起登录请求所使用的密码的去重密码数与该源IP地址的发起登录请求所使用的用户名的去重用户名数的比值超过第三预定比值,则确定该源IP地址的高频登录行为是撞库攻击。
在又一种具体实施方式中,参考图7,基于图4所描述的具体实施方式,步骤S130包括上述步骤S131、步骤S132、步骤S135,还包括步骤S133和步骤S134。
其中,对于上述步骤S133和步骤S134的具体描述可参考图5和图6所描述的具体实施方式,此处不加赘述。在步骤S135中,基于步骤S132、步骤S133和步骤S134的统计结果,确定该源IP地址发起的登录请求是否为撞库攻击。若步骤S132、步骤S133和步骤S134中的统计结果均为肯定结果,则确定该源IP地址发起的登录请求是撞库攻击,即,该源IP地址在所述预定时间内的高频登录行为是撞库攻击。
应当理解,上述步骤的执行顺序不限于此。
本申请的技术方案,先获取具有高频登录行为的源IP地址,再根据该具有高频登录行为的源IP地址的登录信息确定该源IP地址的高频登录行为是否为撞库攻击,提高了检测撞库攻击的准确性。并且,本申请的技术方案不需要在庞大的社工库中进行密码比对,节省了计算资源。
基于与方法同样的发明构思,本申请还提供一种检测撞库攻击的装置。图8所示为的装置2示意图,该装置包括:
获取单元210,用于获取预定时间内接收到的登录请求的源IP地址和登录信息,所述登录信息包括用户名、密码;
确定单元220,用于根据获取到的源IP地址和登录信息,确定所述获取到的源IP地址中具有高频登录行为的源IP地址;
判断单元230,用于根据所述具有高频登录行为的源IP地址发起的登录请求所使用的密码中具有语义的密码的占比,判断所述源IP地址在所述预定时间内发起的登录请求是否为撞库攻击,其中,所述具有语义的密码为具有语义的概率超过预定概率阈值的密码。
参考图9,在一种具体实施方式中,所述获取单元210包括:
日志获取子单元211,用于获取服务器端的HTTP服务器日志、动态语言日志和/或数据库日志;
信息提取子单元212,用于基于所述HTTP服务器日志、动态语言日志和/或数据库日志,提取所述预定时间内接收到的登录请求的源IP地址和登录信息。
参考图10,在一种具体实施方式中,所述确定单元220包括:
提取子单元221,用于根据获取到的源IP地址和登录信息,提取出所述获取到源IP地址中每个源IP地址发起的登录请求的登录信息;
确定子单元222,用于根据提取出的每个源IP地址发起的登录请求的登录信息,确定所述源IP地址是否具有高频登录行为。
参考图11,在一种具体实施方式中,所述判断单元230包括:
概率计算子单元231,用于计算所述具有高频登录行为的源IP地址在所述预定时间内发起登录请求所使用的密码具有语义的概率,以确定所述密码中具有语义的密码;
第一统计子单元232,用于统计所述源IP地址在所述预定时间内发起登录请求所使用的密码中具有语义的密码的占比是否超过第一预定比值;
攻击确定子单元235,用于基于所述第一统计子单元的统计结果,确定所述具有高频登录行为的源IP地址发起的登录请求是否为撞库攻击。
参考图12、图13和图14,基于图11所描述的实施方式,所述判断单元230还包括:
第二统计子单元233,用于统计所述预定时间内所述具有高频登录行为的源IP地址发起登录请求所使用的用户名的去重用户名数与所述源IP地址发起的登录请求数的比值是否超过第二预定比值;和/或
第三统计子单元234,用于统计所述预定时间内所述具有高频登录行为的源IP地址发起登录请求所使用的密码的去重密码数与所述源IP地址的发起登录请求所使用的用户名的去重用户名数的比值是否超过第三预定比值。
所述攻击确定子单元235进一步用于基于所述第一统计子单元、所述第二统计子单元和/或所述第三统计子单元的统计结果,确定所述具有高频登录行为的源IP地址发起的登录请求是否为撞库攻击。
可选地,所述概率计算子单元231进一步用于:
基于预先生成的语言模型计算所述源IP地址在所述预定时间内发起的登录请求所使用的密码具有语义的概率。
需要注意的是,本申请可在软件和/或软件与硬件的组合体中被实施,例如,本申请的各个装置可采用专用集成电路(ASIC)或任何其他类似硬件设备来实现。在一个实施例中,本申请的软件程序可以通过处理器执行以实现上文所述步骤或功能。同样地,本申请的软件程序(包括相关的数据结构)可以被存储到计算机可读记录介质中,例如,RAM存储器,磁或光驱动器或软磁盘及类似设备。另外,本申请的一些步骤或功能可采用硬件来实现,例如,作为与处理器配合从而执行各个步骤或功能的电路。
对于本领域技术人员而言,显然本申请不限于上述示范性实施例的细节,而且在不背离本申请的精神或基本特征的情况下,能够以其他的具体形式实现本申请。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本申请的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本申请内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。系统权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。
虽然前面特别示出并且描述了示例性实施例,但是本领域技术人员将会理解的是,在不背离权利要求书的精神和范围的情况下,在其形式和细节方面可以有所变化。
Claims (10)
1.一种检测撞库攻击的方法,其特征在于,该方法包括以下步骤:
获取预定时间内接收到的登录请求的源IP地址和登录信息,所述登录信息包括用户名、密码;
根据获取到的源IP地址和登录信息,确定所述获取到的源IP地址中具有高频登录行为的源IP地址;
根据所述具有高频登录行为的源IP地址发起的登录请求所使用的密码中具有语义的密码的占比,判断所述源IP地址在所述预定时间内发起的登录请求是否为撞库攻击,其中,所述具有语义的密码为具有语义的概率超过预定概率阈值的密码;
其中,基于预先生成的语言模型计算所述源IP地址在所述预定时间内发起的登录请求所使用的密码具有语义的概率。
2.根据权利要求1所述的方法,其特征在于,获取预定时间内接收到的登录请求的源IP地址和登录信息的步骤包括:
获取服务器端的HTTP服务器日志、动态语言日志和/或数据库日志;
基于所述HTTP服务器日志、动态语言日志和/或数据库日志,提取所述预定时间内接收到的登录请求的源IP地址和登录信息。
3.根据权利要求1所述的方法,其特征在于,根据获取到的源IP地址和登录信息,确定所述获取到的源IP地址中具有高频登录行为的源IP地址的步骤包括:
根据获取到的源IP地址和登录信息,提取出所述获取到源IP地址中每个源IP地址发起的登录请求的登录信息;
根据提取出的每个源IP地址发起的登录请求的登录信息,确定所述源IP地址是否具有高频登录行为。
4.根据权利要求1所述的方法,其特征在于,根据所述具有高频登录行为的源IP地址发起的登录请求所使用的密码中具有语义的密码的占比,判断所述源IP地址在所述预定时间内发起的登录请求是否为撞库攻击的步骤包括:
计算所述具有高频登录行为的源IP地址在所述预定时间内发起登录请求所使用的密码具有语义的概率,以确定所述密码中具有语义的密码;
统计所述源IP地址在所述预定时间内发起登录请求所使用的密码中具有语义的密码的占比是否超过第一预定比值;
基于上述统计结果,确定所述具有高频登录行为的源IP地址发起的登录请求是否为撞库攻击。
5.根据权利要求4所述的方法,其特征在于,根据所述具有高频登录行为的源IP地址发起的登录请求所使用的密码中具有语义的密码的占比,判断所述源IP地址在所述预定时间内发起的登录请求是否为撞库攻击的步骤还包括:
统计所述预定时间内所述具有高频登录行为的源IP地址发起登录请求所使用的用户名的去重用户名数与所述源IP地址发起的登录请求数的比值是否超过第二预定比值;和/或
统计所述预定时间内所述具有高频登录行为的源IP地址发起登录请求所使用的密码的去重密码数与所述源IP地址的发起登录请求所使用的用户名的去重用户名数的比值是否超过第三预定比值。
6.一种检测撞库攻击的装置,其特征在于,该装置包括:
获取单元,用于获取预定时间内接收到的登录请求的源IP地址和登录信息,所述登录信息包括用户名、密码;
确定单元,用于根据获取到的源IP地址和登录信息,确定所述获取到的源IP地址中具有高频登录行为的源IP地址;
判断单元,用于根据所述具有高频登录行为的源IP地址发起的登录请求所使用的密码中具有语义的密码的占比,判断所述源IP地址在所述预定时间内发起的登录请求是否为撞库攻击,其中,所述具有语义的密码为具有语义的概率超过预定概率阈值的密码;
其中,基于预先生成的语言模型计算所述源IP地址在所述预定时间内发起的登录请求所使用的密码具有语义的概率。
7.根据权利要求6所述的装置,其特征在于,所述获取单元包括:
日志获取子单元,用于获取服务器端的HTTP服务器日志、动态语言日志和/或数据库日志;
信息提取子单元,用于基于所述HTTP服务器日志、动态语言日志和/或数据库日志,提取所述预定时间内接收到的登录请求的源IP地址和登录信息。
8.根据权利要求6所述的装置,其特征在于,所述确定单元包括:
提取子单元,用于根据获取到的源IP地址和登录信息,提取出所述获取到源IP地址中每个源IP地址发起的登录请求的登录信息;
确定子单元,用于根据提取出的每个源IP地址发起的登录请求的登录信息,确定所述源IP地址是否具有高频登录行为。
9.根据权利要求6所述的装置,其特征在于,所述判断单元包括:
概率计算子单元,用于计算所述具有高频登录行为的源IP地址在所述预定时间内发起登录请求所使用的密码具有语义的概率,以确定所述密码中具有语义的密码;
第一统计子单元,用于统计所述源IP地址在所述预定时间内发起登录请求所使用的密码中具有语义的密码的占比是否超过第一预定比值;
攻击确定子单元,用于基于所述第一统计子单元的统计结果,确定所述具有高频登录行为的源IP地址发起的登录请求是否为撞库攻击。
10.根据权利要求9所述的装置,其特征在于,所述判断单元还包括:
第二统计子单元,用于统计所述预定时间内所述具有高频登录行为的源IP地址发起登录请求所使用的用户名的去重用户名数与所述源IP地址发起的登录请求数的比值是否超过第二预定比值;和/或
第三统计子单元,用于统计所述预定时间内所述具有高频登录行为的源IP地址发起登录请求所使用的密码的去重密码数与所述源IP地址的发起登录请求所使用的用户名的去重用户名数的比值是否超过第三预定比值;
所述攻击确定子单元进一步用于:基于所述第一统计子单元、所述第二统计子单元和/或所述第三统计子单元的统计结果,确定所述具有高频登录行为的源IP地址发起的登录请求是否为撞库攻击。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610294653.4A CN107347052B (zh) | 2016-05-05 | 2016-05-05 | 检测撞库攻击的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610294653.4A CN107347052B (zh) | 2016-05-05 | 2016-05-05 | 检测撞库攻击的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107347052A CN107347052A (zh) | 2017-11-14 |
CN107347052B true CN107347052B (zh) | 2020-07-14 |
Family
ID=60252821
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610294653.4A Active CN107347052B (zh) | 2016-05-05 | 2016-05-05 | 检测撞库攻击的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107347052B (zh) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110213199B (zh) * | 2018-02-28 | 2022-05-13 | 中国移动通信集团有限公司 | 一种撞库攻击监控方法、装置、系统及计算机存储介质 |
CN108600172B (zh) * | 2018-03-23 | 2020-11-24 | 广州广电研究院有限公司 | 撞库攻击检测方法、装置、设备及计算机可读存储介质 |
CN110519208B (zh) * | 2018-05-22 | 2021-11-30 | 华为技术有限公司 | 异常检测方法、装置及计算机可读介质 |
CN110581827B (zh) * | 2018-06-07 | 2022-04-29 | 深信服科技股份有限公司 | 一种针对于暴力破解的检测方法及装置 |
CN111741142A (zh) * | 2020-06-19 | 2020-10-02 | 南昌黑鲨科技有限公司 | 一种高频ip地址获取方法、系统、存储介质及终端设备 |
CN112104731B (zh) * | 2020-09-11 | 2022-05-20 | 北京奇艺世纪科技有限公司 | 请求处理方法、装置、电子设备和存储介质 |
CN112153052A (zh) * | 2020-09-25 | 2020-12-29 | 北京微步在线科技有限公司 | 一种撞库攻击监测方法及系统 |
CN113489726B (zh) * | 2021-07-06 | 2023-05-12 | 中国联合网络通信集团有限公司 | 流量限制方法及设备 |
CN113591110A (zh) * | 2021-07-26 | 2021-11-02 | 招商银行股份有限公司 | 涉密请求甄别方法、系统、设备及计算机程序产品 |
CN115713339B (zh) * | 2023-01-09 | 2023-05-12 | 量子科技长三角产业创新中心 | 一种数据量子计算管控方法、装置、设备及计算机介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20090058271A (ko) * | 2007-12-04 | 2009-06-09 | (주)모니터랩 | 웹-데이터베이스 공격 탐지 로그 데이터 상관관계 추적에의한 통합 보안 시스템 및 방법 |
CN103825738A (zh) * | 2013-12-31 | 2014-05-28 | 北京华虹集成电路设计有限责任公司 | 一种登陆信息认证方法与设备 |
CN104239767A (zh) * | 2014-09-03 | 2014-12-24 | 陈飞 | 基于环境参数对自然语言命令自动补正操作序列以简化使用的装置及方法 |
CN104811449A (zh) * | 2015-04-21 | 2015-07-29 | 深信服网络科技(深圳)有限公司 | 检测撞库攻击方法及系统 |
WO2015149669A1 (zh) * | 2014-04-03 | 2015-10-08 | 国家电网公司 | 一种可信的网络攻击过滤装置及网络攻击过滤方法 |
-
2016
- 2016-05-05 CN CN201610294653.4A patent/CN107347052B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20090058271A (ko) * | 2007-12-04 | 2009-06-09 | (주)모니터랩 | 웹-데이터베이스 공격 탐지 로그 데이터 상관관계 추적에의한 통합 보안 시스템 및 방법 |
CN103825738A (zh) * | 2013-12-31 | 2014-05-28 | 北京华虹集成电路设计有限责任公司 | 一种登陆信息认证方法与设备 |
WO2015149669A1 (zh) * | 2014-04-03 | 2015-10-08 | 国家电网公司 | 一种可信的网络攻击过滤装置及网络攻击过滤方法 |
CN104239767A (zh) * | 2014-09-03 | 2014-12-24 | 陈飞 | 基于环境参数对自然语言命令自动补正操作序列以简化使用的装置及方法 |
CN104811449A (zh) * | 2015-04-21 | 2015-07-29 | 深信服网络科技(深圳)有限公司 | 检测撞库攻击方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN107347052A (zh) | 2017-11-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107347052B (zh) | 检测撞库攻击的方法及装置 | |
CN108092975B (zh) | 异常登录的识别方法、系统、存储介质和电子设备 | |
US11463476B2 (en) | Character string classification method and system, and character string classification device | |
CN105590055B (zh) | 用于在网络交互系统中识别用户可信行为的方法及装置 | |
Bock et al. | {unCaptcha}: A {Low-Resource} Defeat of {reCaptcha's} Audio Challenge | |
US9210189B2 (en) | Method, system and client terminal for detection of phishing websites | |
CN108924118B (zh) | 一种撞库行为检测方法及系统 | |
CN112242984B (zh) | 检测异常网络请求的方法、电子设备和计算机程序产品 | |
CN105072214B (zh) | 基于域名特征的c&c域名识别方法 | |
CN108600172B (zh) | 撞库攻击检测方法、装置、设备及计算机可读存储介质 | |
KR102110642B1 (ko) | 패스워드 보호 질문 설정 방법 및 디바이스 | |
US9692771B2 (en) | System and method for estimating typicality of names and textual data | |
US11531676B2 (en) | Method and system for anomaly detection based on statistical closed-form isolation forest analysis | |
CN106372202B (zh) | 文本相似度计算方法及装置 | |
JP2020126587A (ja) | コミュニティ質問応答データの検証方法、装置、コンピュータ機器、及び記憶媒体 | |
WO2013106925A1 (en) | Determining repeat website users via browser uniqueness tracking | |
CN107944032B (zh) | 用于生成信息的方法和装置 | |
CN109600382B (zh) | webshell检测方法及装置、HMM模型训练方法及装置 | |
CN111641588A (zh) | 网页模拟输入检测方法、装置、计算机设备及存储介质 | |
CN104281669B (zh) | 社交网络用户影响数值的评估方法和装置 | |
KR102318496B1 (ko) | 블록체인 네트워크에 기반하여 어뷰징을 탐지하는 방법 및 이를 이용한 블록체인 노드 | |
CN115801455B (zh) | 一种基于网站指纹的仿冒网站检测方法及装置 | |
CN111382417B (zh) | 使用一系列设备指纹识别来自用户设备的欺诈行为的系统和方法 | |
WO2017080183A1 (zh) | 网络小说章节列表评估方法及装置 | |
CN116962009A (zh) | 一种网络攻击检测方法及装置 |
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 |