CN112989360B - 一种基于并行二叉树的弱口令漏洞自动检测方法及系统 - Google Patents

一种基于并行二叉树的弱口令漏洞自动检测方法及系统 Download PDF

Info

Publication number
CN112989360B
CN112989360B CN202110325793.4A CN202110325793A CN112989360B CN 112989360 B CN112989360 B CN 112989360B CN 202110325793 A CN202110325793 A CN 202110325793A CN 112989360 B CN112989360 B CN 112989360B
Authority
CN
China
Prior art keywords
password
binary tree
user name
weak
weak 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
Application number
CN202110325793.4A
Other languages
English (en)
Other versions
CN112989360A (zh
Inventor
李肯立
李婷婷
杨志邦
唐卓
陈建国
肖国庆
李克勤
刘俊
汤姣林
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.)
Hunan Kuangan Network Technology Co ltd
Original Assignee
Hunan Kuangan Network Technology Co ltd
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 Hunan Kuangan Network Technology Co ltd filed Critical Hunan Kuangan Network Technology Co ltd
Priority to CN202110325793.4A priority Critical patent/CN112989360B/zh
Publication of CN112989360A publication Critical patent/CN112989360A/zh
Application granted granted Critical
Publication of CN112989360B publication Critical patent/CN112989360B/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/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/577Assessing vulnerabilities and evaluating computer system security
    • 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/901Indexing; Data structures therefor; Storage structures
    • G06F16/9027Trees
    • 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/951Indexing; Web crawling techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/45Structures or tools for the administration of authentication
    • G06F21/46Structures or tools for the administration of authentication by designing passwords or checking the strength of passwords
    • 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/033Test or assess software

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Computing Systems (AREA)
  • Storage Device Security (AREA)

Abstract

本发明公开了一种基于并行二叉树的弱口令漏洞自动检测方法,包括:获取待测目标对象的ip地址和端口号,根据待测对象的ip地址和端口号,并利用python脚本从数据库中爬取用户名密码数据,并根据数据库中每个用户名密码数据的重复项次数、按照从低到高的顺序将所有用户名密码数据进行排序,以得到弱口令对字典文件,根据得到的弱口令对字典文件构造完全二叉树,利用随机存取并行机器PRAM对生成的二叉树进行弱口令扫描,以得到连接检测结果。本发明能解决现有弱口令漏洞检测方法由于需要检测员手动去网上收集用户名字典文件和密码字典文件,导致增加检测员的工作时间的技术问题,以及由于扫描速率过低,导致该方法的效率较低的技术问题。

Description

一种基于并行二叉树的弱口令漏洞自动检测方法及系统
技术领域
本发明属于网络信息安全技术领域,更具体地,涉及一种基于并行二叉树的弱口令漏洞自动检测方法及系统。
背景技术
在网络技术高速发展的今天,由于大量数据都暴露在互联网上,导致发生了多起大型数据泄露事件,因此,人们逐渐将关注重心转移到网络安全上,和网络安全息息相关的弱口令漏洞也开始引起人们的关注。
弱口令很容易被他人猜到或破解,使用弱口令类似于把家门钥匙放在家门口的垫子下面,这种行为是非常危险的。因此,检测是否存在弱口令漏洞是非常有必要的。
现有的弱口令漏洞检测方法主要通过是人工获取用户名字典文件和密码字典文件后,进行弱口令漏洞检测。
然而,上述现有弱口令漏洞检测方法,均存在一些不可忽略的问题:第一、其需要检测员手动去网上收集用户名字典文件和密码字典文件,一方面增加了检测员的工作时间,另一方面字典数据往往质量不高,更新慢,导致检测效率低;第二、其需要分别将扫描得到的用户名字典文件和密码字典文件与待测目标对象的用户名密码进行匹配,而现有扫描速率过低,因此会导致该方法的效率较低。
发明内容
针对现有技术的以上缺陷或改进需求,本发明提供了一种基于并行二叉树的弱口令漏洞自动检测方法和系统,其目的在于,解决现有弱口令漏洞检测方法由于需要检测员手动去网上收集用户名字典文件和密码字典文件,导致增加检测员的工作时间、检测效率低的技术问题,以及由于扫描用户名字典文件和密码字典文件的速率过低,导致该方法的效率较低的技术问题。。
为实现上述目的,按照本发明的一个方面,提供了一种基于并行二叉树的弱口令漏洞自动检测方法,包括以下步骤:
(1)获取待测目标对象的ip地址和端口号;
(2)根据步骤(1)得到的待测对象的ip地址和端口号,并利用python脚本从数据库中爬取用户名密码数据,并根据数据库中每个用户名密码数据的重复项次数、按照从低到高的顺序将所有用户名密码数据进行排序,以得到弱口令对字典文件。
(3)根据步骤(2)中得到的弱口令对字典文件构造完全二叉树。
(4)利用随机存取并行机器PRAM对步骤(3)中生成的二叉树进行弱口令扫描,以得到连接检测结果。
优选地,待测目标对象是MySQL弱口令、ssh连接弱口令、或主机登录弱口令等;
Python脚本包括用于数据库中用户名密码数据的抓取函数、以及用于用户名密码重复次数的统计函数。
优选地,步骤(2)具体包括以下子步骤:
(2-1)利用python脚本模拟数据库登录,并利用爬虫技术对登录后的数据库中的用户名密码数据进行爬取。
(2-2)对步骤(2-1)中获取到的用户名密码数据在数据库中重复出现的次数进行统计,然后将用户名的重复出现的次数和密码的重复出现的次数相加的结果作为这组弱口令对的权值,并对其结果按照升序排列,以得到弱口令对字典文件。
优选地,步骤(2-1)首先是在python脚本中以字典形式定义数据库登录的用户名密码,然后使用post方法将定义的该用户名密码提交到url里进行数据库登录,最后在登录的数据库里进行用户名密码数据抓取。
优选地,步骤(2-2)具体是采用collections.Counter()方法进行统计;
步骤(2-2)具体为,将用户名密码数据中的用户名按照其在数据库中的重复次数进行升序排列,然后将用户名密码数据中的密码按照其在数据库中的重复项次数进行升序排列,其中是采用collections.Counter()方法进行统计的,然后,将用户名密码出现次数相加的结果作为弱口令对的权值,并根据权值进行升序排列,以得到到弱口令对字典文件。
优选地,步骤(3)具体包括以下子步骤:
(3-1)建立树的根结点,并设置树的根结点的编号i=1,结点数j=1。
(3-2)判断i是否小于弱口令对字典文件中用户名密码数据的总数n,如果是则转入步骤(3-3),否则转入步骤(3-5)。
(3-3)判断j是否小于等于n,如果是则转入步骤(3-4),否则说明二叉树构造完成,过程结束;
(3-4)构建编号为i的结点的左子树的根结点,设置j=j+1,并将左子树的根结点的编号设置为i=2*i,并返回步骤(3-2);
(3-5)将编号为i的结点的父结点的编号设置为
Figure BDA0002994617120000031
并转入步骤(3-6)。
(3-6)构建编号为i的结点的右子树的根结点,设置j=j+1,将该右子树的根结点的编号设置为i=(2*i+1),并返回步骤(3-2)。
优选地,步骤(3-1)中的根结点是步骤(2)中弱口令对字典文件中重复项次数最小的用户名密码数据。
优选地,PRAM包括控制单元、全局内存、以及多个处理器,每个处理器Pj都有自己的私有内存,所有的处理器执行相同的指令,每个Pj处理数据不同,其中1≤j≤x,x表示PRAM中的处理器总数,其等于步骤(3)中建立的二叉树的叶子结点的个数;
初始状态下,每个处理器Pj存着叶子结点的弱口令对,每个处理器需要将自己存储的弱口令对取出,然后进行登录连接检测;
完全二叉树的叶子结点在二叉树的第
Figure BDA0002994617120000041
层和
Figure BDA0002994617120000042
层上,其中N表示二叉树的结点数,且N的值等于弱口令对字典文件中用户名密码数据的总数n。
优选地,步骤(4)具体包括以下子步骤:
(4-1)设置计数器i,利用PRAM中的所有处理器并行地对步骤(3)中建立的二叉树中叶子结点对应的数据进行登录连接检测,以获取对应的连接检测结果,并根据该连接检测结果判断是否有登录连接成功,如果是则停止处理器的工作,并返回连接检测结果,过程结束,否则转入步骤(4-2);
(4-2)设置计数器i=i-1;
(4-3)判断i是否小于1,如果是则说明步骤(1)中的待测目标对象没有弱口令漏洞,过程结束;否则进入步骤(4-4)。
(4-4)对二叉树中第i层上未处理的所有结点对应的数据进行登录连接检测,以获取对应的连接检测结果,并根据该连接检测结果判断是否有登录连接成功,如果是则过程结束,否则返回步骤(4-2)。
按照本发明的另一方面,提供了一种基于并行二叉树的弱口令漏洞自动检测系统,包括:
第一模块,用于获取待测目标对象的ip地址和端口号;
第二模块,用于根据第一模块得到的待测对象的ip地址和端口号,并利用python脚本从数据库中爬取用户名密码数据,并根据数据库中每个用户名密码数据的重复项次数、按照从低到高的顺序将所有用户名密码数据进行排序,以得到弱口令对字典文件。
第三模块,用于根据第二模块得到的弱口令对字典文件构造完全二叉树;
第四模块,用于利用随机存取并行机器PRAM对第三模块生成的二叉树进行弱口令扫描,以得到连接检测结果。
总体而言,通过本发明所构思的以上技术方案与现有技术相比,能够取得下列有益效果:
(1)由于本发明采用了步骤(2),其可以自动从数据库中并行地获取使用次数比较多的用户名密码数据,以生成弱口令对字典文件。因此检测者不需要去收集用户名密码字典文件,进而能够解决字典数据质量不高、更新慢的技术问题,并且能够为检测员结省收集字典文件时间,具备良好的适用性;
(2)由于本发明采用了步骤(2)到步骤(3),其将用户名的使用次数和密码的使用次数相加后的结果作为这组弱口令对的权值,然后根据权值升序排列得到弱口令对字典文件,因此不需要分别去读取用户名字典文件和密码字典文件,节省了时间,并进而提高了本方法的效率;
(3)由于本发明采用了步骤(3)到步骤(4),其是从(3)中所建立的二叉树叶子结点层开始逐层往上对结点对应数据进行并行检测的,所述的二叉树是通过(2)中获取的弱口令对字典文件生成的。结点编号与所述字典文件行号相对应,结点对应数据为所述字典文件中行号对应的数据,结点编号越大,被用户作为目标对象的用户名密码的可能性也更大,并且此过程最多经过
Figure BDA0002994617120000051
次扫描可以得到检测结果,能够有效地提升扫描速率。因此能够解决现有方法扫描速率低的问题。
附图说明
图1是本发明基于并行二叉树的弱口令漏洞自动检测方法的流程图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。
本发明的基本思路在于,提供一种高效的基于并行二叉树的弱口令漏洞自动检测方法,用以防黑客对系统进行弱口令漏洞攻击、并进而盗取并修改系统信息。
本发明提供了一种基于并行二叉树的弱口令漏洞自动检测方法,其首先获取目标对象的ip和port,然后利用python脚本从数据库中爬取用户名密码数据,然后将弱口令对字典文件中数据构造成一颗完全二叉树,再基于这个二叉树进行并行扫描,最后得到检测结果生成检测报告。
如图1所示,本发明提供了一种基于并行二叉树的弱口令漏洞自动检测方法,包括以下步骤:
(1)获取待测目标对象的ip地址和端口号;
具体而言,本步骤中的待测目标对象可以是MySQL弱口令、ssh连接弱口令、主机登录弱口令等。
(2)根据步骤(1)得到的待测对象的ip地址和端口号,并利用python脚本从数据库中爬取用户名密码数据,并根据数据库中每个用户名密码数据的重复项次数、按照从低到高的顺序将所有用户名密码数据进行排序,以得到弱口令对字典文件。
具体而言,重复项的出现次数越多,说明用户选取这组用户名密码的可能性越大。
在本步骤中,所述Python脚本主要包括:用于数据库中用户名密码数据的抓取函数、以及用于用户名密码重复次数的统计函数。
本步骤的优点在于,能够快速并自动地从数据库中获取用户名密码数据,并生成质量高的弱口令字典文件,提升检测速率。
本步骤(2)具体包括以下子步骤:
(2-1)利用python脚本模拟数据库登录,并利用爬虫技术对登录后的数据库中的用户名密码数据进行爬取。
具体而言,本步骤首先是在python脚本中以字典形式定义数据库登录的用户名密码,然后使用post方法将定义的该用户名密码提交到url里进行数据库登录,最后在登录的数据库里进行用户名密码数据抓取。
(2-2)对步骤(2-1)中获取到的用户名密码数据在数据库中重复出现的次数进行统计,其中是采用collections.Counter()方法进行统计的,然后将用户名的重复出现的次数和密码的重复出现的次数相加的结果作为这组弱口令对的权值,并对其结果按照升序排列,以得到弱口令对字典文件。
具体而言,本步骤是将用户名密码数据中的用户名按照其在数据库中的重复次数进行升序排列,然后将用户名密码数据中的密码按照其在数据库中的重复项次数进行升序排列,其中是采用collections.Counter()方法进行统计的,然后,将用户名密码出现次数相加的结果作为用户名密码对(或弱口令对)的权值,并根据权值进行升序排列,以得到到弱口令对字典文件。
这里所述的用户名和密码数据采取并行方式获取,为这两个部分各自分配一个处理器并行执行,在处理用户名同时处理密码数据,可以节省一定的时间。其中,用户名密码对的权值越大,则表示用户选取这组用户名密码对的可能性就越大,就越容易被人破解。
(3)根据步骤(2)中得到的弱口令对字典文件构造完全二叉树。
上述弱口令对字典文件是将每组用户名密码根据可能性(权值)按照升序排列的,接下来在构造树及对每个结点编号就方便很多。
本步骤具体包括以下子步骤:
(3-1)建立树的根结点,并设置树的根结点的编号i=1,结点数j=1。
具体而言,本步骤中的根结点是步骤(2)中弱口令对字典文件中重复项次数最小的用户名密码数据。
(3-2)判断i是否小于弱口令对字典文件中用户名密码数据的总数n,如果是则转入步骤(3-3),否则转入步骤(3-5)。
需要说明的是,当i>n时,说明编号为i的结点没有左右子树了,需要找到其父结点,并试着去构建父结点的右子树。
(3-3)判断j是否小于等于n,如果是则转入步骤(3-4),否则说明二叉树构造完成,过程结束;
(3-4)构建编号为i的结点的左子树的根结点,设置j=j+1,并将左子树的根结点的编号设置为i=2*i,并返回步骤(3-2);
需要说明的是,由二叉树的结点的计算公式知,左子树根结点编号应为其父树根结点编号的2倍。
(3-5)将编号为i的结点的父结点的编号设置为
Figure BDA0002994617120000081
并转入步骤(3-6)。
(3-6)构建编号为i的结点的右子树的根结点,设置j=j+1,将该右子树的根结点的编号设置为i=(2*i+1),并返回步骤(3-2)。
需要说明的是,由二叉树的结点编号的计算公式知,右子树根结点编号应为其父树根结点编号的2倍加1。
(4)利用随机存取并行机器(Parallel Random Access Machine,简称PRAM)对步骤(3)中生成的二叉树进行弱口令扫描,以得到连接检测结果;
具体而言,PRAM包括控制单元、全局内存、以及多个处理器,每个处理器Pj都有自己的私有内存,所有的处理器执行相同的指令,每个Pj处理数据不同,其中1≤j≤x,x表示PRAM中的处理器总数,其等于步骤(3)中建立的二叉树的叶子结点的个数。
初始状态下,每个处理器Pj存着叶子结点的弱口令对,每个处理器需要将自己存储的弱口令对取出,然后进行登录连接检测。
需要说明的是,叶子结点表示的弱口令的权值越大,则被用户选作弱口令的概率也越大。从叶子结点开始扫描,可以有可能地减少扫描次数。需要说明的是,完全二叉树的叶子结点只有可能在二叉树的第
Figure BDA0002994617120000091
层和
Figure BDA0002994617120000092
层上,其中N表示二叉树的结点数,且N的值等于步骤(3)中所述的n。
上述步骤(3)到步骤(4)的优点在于,通过并行遍历步骤(3)中构建好的二叉树中对应的结点数据,能够有效地提高弱口令漏洞检测速率。
本步骤具体包括以下子步骤:
(4-1)设置计数器i(其用于表示扫描处理的层次),利用PRAM中的所有处理器并行地对步骤(3)中建立的二叉树中叶子结点对应的数据进行登录连接检测,以获取对应的连接检测结果,并根据该连接检测结果判断是否有登录连接成功,如果是则停止处理器的工作,并返回连接检测结果,过程结束,否则转入步骤(4-2).
需要说明的是,每个处理器Pj是并行地进行数据处理的。
本步骤中,叶子结点位于二叉树的第
Figure BDA0002994617120000093
层和第i-1层。
(4-2)设置计数器i=i-1;
(4-3)判断i是否小于1,如果是则说明步骤(3)中所建立的二叉树中所有结点对应的数据都已处理完毕,但到待测目标对象的登录连接未成功,即步骤(1)中的待测目标对象没有弱口令漏洞,过程结束;否则进入步骤(4-4)。
(4-4)对二叉树中第i层上未处理的所有结点对应的数据进行登录连接检测,以获取对应的连接检测结果,并根据该连接检测结果判断是否有登录连接成功,如果是则过程结束,否则返回步骤(4-2)。
具体而言,本步骤是将第j个处理器Pj中的每个结点对应的数据取出,并将此结点的父结点对应的数据存到第j个处理器Pj中,然后利用父结点对应的数据进行登录连接检测,并查看连接检测结果。
需要说明的是,本发明的弱口令漏洞扫描最多经过
Figure BDA0002994617120000101
次可得到连接检测结果。
需要说明的是,一颗完全二叉树的层数为
Figure BDA0002994617120000102
本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

Claims (7)

1.一种基于并行二叉树的弱口令漏洞自动检测方法,其特征在于,包括以下步骤:
(1)获取待测目标对象的ip地址和端口号;
(2)根据步骤(1)得到的待测对象的ip地址和端口号,并利用python脚本从数据库中爬取用户名密码数据,并根据数据库中每个用户名密码数据的重复项次数、按照从低到高的顺序将所有用户名密码数据进行排序,以得到弱口令对字典文件;步骤(2)具体包括以下子步骤:
(2-1)利用python脚本模拟数据库登录,并利用爬虫技术对登录后的数据库中的用户名密码数据进行爬取;
(2-2)对步骤(2-1)中获取到的用户名密码数据在数据库中重复出现的次数进行统计,然后将用户名的重复出现的次数和密码的重复出现的次数相加的结果作为这组弱口令对的权值,并对其结果按照升序排列,以得到弱口令对字典文件;
(3)根据步骤(2)中得到的弱口令对字典文件构造完全二叉树;步骤(3)具体包括以下子步骤:
(3-1)建立树的根结点,并设置树的根结点的编号i=1,结点数j=1;步骤(3-1)中的根结点是步骤(2)中弱口令对字典文件中重复项次数最小的用户名密码数据;
(3-2)判断i是否小于弱口令对字典文件中用户名密码数据的总数n,如果是则转入步骤(3-3),否则转入步骤(3-5);
(3-3)判断j是否小于等于n,如果是则转入步骤(3-4),否则说明二叉树构造完成,过程结束;
(3-4)构建编号为i的结点的左子树的根结点,设置j=j+1,并将左子树的根结点的编号设置为i=2*i,并返回步骤(3-2);
(3-5)将编号为i的结点的父结点的编号设置为
Figure FDA0003646672630000021
并转入步骤(3-6);
(3-6)构建编号为i的结点的右子树的根结点,设置j=j+1,将该右子树的根结点的编号设置为i=(2*i+1),并返回步骤(3-2);
(4)利用随机存取并行机器PRAM对步骤(3)中生成的二叉树进行弱口令扫描,以得到连接检测结果。
2.根据权利要求1所述的基于并行二叉树的弱口令漏洞自动检测方法,其特征在于,
待测目标对象是MySQL弱口令、ssh连接弱口令或主机登录弱口令;
Python脚本包括用于数据库中用户名密码数据的抓取函数、以及用于用户名密码重复次数的统计函数。
3.根据权利要求2所述的基于并行二叉树的弱口令漏洞自动检测方法,其特征在于,步骤(2-1)首先是在python脚本中以字典形式定义数据库登录的用户名密码,然后使用post方法将定义的该用户名密码提交到url里进行数据库登录,最后在登录的数据库里进行用户名密码数据抓取。
4.根据权利要求3所述的基于并行二叉树的弱口令漏洞自动检测方法,其特征在于,
步骤(2-2)具体是采用collections.Counter()方法进行统计;
步骤(2-2)具体为,将用户名密码数据中的用户名按照其在数据库中的重复次数进行升序排列,然后将用户名密码数据中的密码按照其在数据库中的重复项次数进行升序排列,其中是采用collections.Counter()方法进行统计的,然后,将用户名密码出现次数相加的结果作为弱口令对的权值,并根据权值进行升序排列,以得到到弱口令对字典文件。
5.根据权利要求4所述的基于并行二叉树的弱口令漏洞自动检测方法,其特征在于,
PRAM包括控制单元、全局内存、以及多个处理器,每个处理器Pj都有自己的私有内存,所有的处理器执行相同的指令,每个Pj处理数据不同,其中1≤j≤x,x表示PRAM中的处理器总数,其等于步骤(3)中建立的二叉树的叶子结点的个数;
初始状态下,每个处理器Pj存着叶子结点的弱口令对,每个处理器需要将自己存储的弱口令对取出,然后进行登录连接检测;
完全二叉树的叶子结点在二叉树的第
Figure FDA0003646672630000032
层和
Figure FDA0003646672630000033
层上,其中N表示二叉树的结点数,且N的值等于弱口令对字典文件中用户名密码数据的总数n。
6.根据权利要求5所述的基于并行二叉树的弱口令漏洞自动检测方法,其特征在于,步骤(4)具体包括以下子步骤:
(4-1)设置计数器
Figure FDA0003646672630000031
利用PRAM中的所有处理器并行地对步骤(3)中建立的二叉树中叶子结点对应的数据进行登录连接检测,以获取对应的连接检测结果,并根据该连接检测结果判断是否有登录连接成功,如果是则停止处理器的工作,并返回连接检测结果,过程结束,否则转入步骤(4-2);
(4-2)设置计数器i=i-1;
(4-3)判断i是否小于1,如果是则说明步骤(1)中的待测目标对象没有弱口令漏洞,过程结束;否则进入步骤(4-4);
(4-4)对二叉树中第i层上未处理的所有结点对应的数据进行登录连接检测,以获取对应的连接检测结果,并根据该连接检测结果判断是否有登录连接成功,如果是则过程结束,否则返回步骤(4-2)。
7.一种基于并行二叉树的弱口令漏洞自动检测系统,其特征在于,包括:
第一模块,用于获取待测目标对象的ip地址和端口号;
第二模块,用于根据第一模块得到的待测对象的ip地址和端口号,并利用python脚本从数据库中爬取用户名密码数据,并根据数据库中每个用户名密码数据的重复项次数、按照从低到高的顺序将所有用户名密码数据进行排序,以得到弱口令对字典文件;第二模块具体包括以下子模块:
第一子模块,用于利用python脚本模拟数据库登录,并利用爬虫技术对登录后的数据库中的用户名密码数据进行爬取;
第二子模块,用于对第一子模块获取到的用户名密码数据在数据库中重复出现的次数进行统计,然后将用户名的重复出现的次数和密码的重复出现的次数相加的结果作为这组弱口令对的权值,并对其结果按照升序排列,以得到弱口令对字典文件;
第三模块,用于根据第二模块得到的弱口令对字典文件构造完全二叉树;第三模块具体包括以下子模块:
第三子模块,用于建立树的根结点,并设置树的根结点的编号i=1,结点数j=1;步骤第三子模块中的根结点是步骤(2)中弱口令对字典文件中重复项次数最小的用户名密码数据;
第四子模块,用于判断i是否小于弱口令对字典文件中用户名密码数据的总数n,如果是则转入步骤第五子模块,否则转入步骤第七子模块;
第五子模块,用于判断j是否小于等于n,如果是则转入步骤第六子模块,否则说明二叉树构造完成,过程结束;
第六子模块,用于构建编号为i的结点的左子树的根结点,设置j=j+1,并将左子树的根结点的编号设置为i=2*i,并返回步骤第四子模块;
第七子模块,用于将编号为i的结点的父结点的编号设置为
Figure FDA0003646672630000041
并转入步骤第八子模块;
第八子模块,用于构建编号为i的结点的右子树的根结点,设置j=j+1,将该右子树的根结点的编号设置为i=(2*i+1),并返回步骤第四子模块;
第四模块,用于利用随机存取并行机器PRAM对第三模块生成的二叉树进行弱口令扫描,以得到连接检测结果。
CN202110325793.4A 2021-03-26 2021-03-26 一种基于并行二叉树的弱口令漏洞自动检测方法及系统 Active CN112989360B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110325793.4A CN112989360B (zh) 2021-03-26 2021-03-26 一种基于并行二叉树的弱口令漏洞自动检测方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110325793.4A CN112989360B (zh) 2021-03-26 2021-03-26 一种基于并行二叉树的弱口令漏洞自动检测方法及系统

Publications (2)

Publication Number Publication Date
CN112989360A CN112989360A (zh) 2021-06-18
CN112989360B true CN112989360B (zh) 2022-07-15

Family

ID=76333933

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110325793.4A Active CN112989360B (zh) 2021-03-26 2021-03-26 一种基于并行二叉树的弱口令漏洞自动检测方法及系统

Country Status (1)

Country Link
CN (1) CN112989360B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115314258B (zh) * 2022-07-13 2023-08-08 天翼云科技有限公司 一种应用弱口令检测方法、装置、电子设备及存储介质

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1574929A1 (en) * 2004-03-05 2005-09-14 Sap Ag Technique for evaluating computer system passwords
TW201541277A (zh) * 2014-04-16 2015-11-01 Alibaba Group Services Ltd 檢測弱密碼的方法和裝置
CN105825122A (zh) * 2015-01-05 2016-08-03 中国移动通信集团广西有限公司 一种弱口令核查和破解方法及装置
CN106411530A (zh) * 2016-10-25 2017-02-15 国家电网公司 一种弱口令的快速比对查找方法
CN107426203A (zh) * 2017-07-13 2017-12-01 四川长虹电器股份有限公司 弱口令检测系统及实现方法与web平台
CN108809895A (zh) * 2017-04-27 2018-11-13 腾讯科技(深圳)有限公司 弱口令的检测方法和装置
CN111310169A (zh) * 2020-01-19 2020-06-19 广州数智网络科技有限公司 一种分布式弱口令爆破算法及系统
CN111488581A (zh) * 2020-03-26 2020-08-04 杭州迪普科技股份有限公司 弱口令漏洞检测方法、装置、电子设备及计算机可读介质
CN111813581A (zh) * 2020-07-24 2020-10-23 成都信息工程大学 一种基于完全二叉树的容错机制的配置方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8286000B2 (en) * 2007-12-07 2012-10-09 Novell, Inc. Techniques for dynamic generation and management of password dictionaries
US9424407B2 (en) * 2008-12-30 2016-08-23 International Business Machines Corporation Weak password support in a multi-user environment

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1574929A1 (en) * 2004-03-05 2005-09-14 Sap Ag Technique for evaluating computer system passwords
TW201541277A (zh) * 2014-04-16 2015-11-01 Alibaba Group Services Ltd 檢測弱密碼的方法和裝置
CN105095737A (zh) * 2014-04-16 2015-11-25 阿里巴巴集团控股有限公司 检测弱密码的方法和装置
CN105825122A (zh) * 2015-01-05 2016-08-03 中国移动通信集团广西有限公司 一种弱口令核查和破解方法及装置
CN106411530A (zh) * 2016-10-25 2017-02-15 国家电网公司 一种弱口令的快速比对查找方法
CN108809895A (zh) * 2017-04-27 2018-11-13 腾讯科技(深圳)有限公司 弱口令的检测方法和装置
CN107426203A (zh) * 2017-07-13 2017-12-01 四川长虹电器股份有限公司 弱口令检测系统及实现方法与web平台
CN111310169A (zh) * 2020-01-19 2020-06-19 广州数智网络科技有限公司 一种分布式弱口令爆破算法及系统
CN111488581A (zh) * 2020-03-26 2020-08-04 杭州迪普科技股份有限公司 弱口令漏洞检测方法、装置、电子设备及计算机可读介质
CN111813581A (zh) * 2020-07-24 2020-10-23 成都信息工程大学 一种基于完全二叉树的容错机制的配置方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Network-Based Dictionary Attack Detection;Jan Vykopal;《2009 International Conference on Future Networks》;20090804;全文 *

Also Published As

Publication number Publication date
CN112989360A (zh) 2021-06-18

Similar Documents

Publication Publication Date Title
CN108471429B (zh) 一种网络攻击告警方法及系统
CN108881265B (zh) 一种基于人工智能的网络攻击检测方法及系统
Marchal et al. Proactive discovery of phishing related domain names
CN108833186B (zh) 一种网络攻击预测方法及装置
CN111565171B (zh) 异常数据的检测方法、装置、电子设备及存储介质
CN111818103B (zh) 一种网络靶场中基于流量的溯源攻击路径方法
CN110602137A (zh) 恶意ip和恶意url拦截方法、装置、设备及介质
CN109274632A (zh) 一种网站的识别方法及装置
CN110177114A (zh) 网络安全威胁指标识别方法、设备、装置以及计算机可读存储介质
Xiao et al. An approach for SQL injection detection based on behavior and response analysis
CN111787017A (zh) 一种区块链攻击溯源系统及方法
CN110300127A (zh) 一种基于深度学习的网络入侵检测方法、装置以及设备
CN112989360B (zh) 一种基于并行二叉树的弱口令漏洞自动检测方法及系统
CN110650156B (zh) 网络实体的关系聚类方法、装置及网络事件的识别方法
CN110781876B (zh) 一种基于视觉特征的仿冒域名轻量级检测方法及系统
CN107204956A (zh) 网站识别方法及装置
CN110011976B (zh) 一种网络攻击破坏能力量化评估方法及系统
CN106850647A (zh) 基于dns请求周期的恶意域名检测算法
KR102130582B1 (ko) 머신러닝을 이용한 웹 기반 부정 로그인 차단 장치 및 방법
CN111884989A (zh) 一种针对电力web系统的漏洞探测方法和系统
CN106650454A (zh) 一种sql注入攻击检测方法和装置
CN111159702B (zh) 一种进程名单生成方法和装置
Zaimi et al. Survey paper: Taxonomy of website anti-phishing solutions
CN116996286A (zh) 一种基于大数据分析的网络攻击和安全漏洞治理框架平台
CN113688905A (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
TA01 Transfer of patent application right

Effective date of registration: 20220630

Address after: 410000 No. 102, Heguang Road, Xianghu street, Furong district, Changsha City, Hunan Province

Applicant after: Hunan Kuangan Network Technology Co.,Ltd.

Address before: Yuelu District City, Hunan province 410082 Changsha Lushan Road No. 1

Applicant before: HUNAN University

Applicant before: Hunan kuang'an Network Technology Co., Ltd

TA01 Transfer of patent application right
GR01 Patent grant
GR01 Patent grant