CN116846608A - 弱口令识别方法、装置、系统、电子设备和存储介质 - Google Patents

弱口令识别方法、装置、系统、电子设备和存储介质 Download PDF

Info

Publication number
CN116846608A
CN116846608A CN202310729681.4A CN202310729681A CN116846608A CN 116846608 A CN116846608 A CN 116846608A CN 202310729681 A CN202310729681 A CN 202310729681A CN 116846608 A CN116846608 A CN 116846608A
Authority
CN
China
Prior art keywords
password
target host
weak password
weak
account number
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.)
Granted
Application number
CN202310729681.4A
Other languages
English (en)
Other versions
CN116846608B (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.)
Beijing Topsec Technology Co Ltd
Beijing Topsec Network Security Technology Co Ltd
Beijing Topsec Software Co Ltd
Original Assignee
Beijing Topsec Technology Co Ltd
Beijing Topsec Network Security Technology Co Ltd
Beijing Topsec Software 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 Beijing Topsec Technology Co Ltd, Beijing Topsec Network Security Technology Co Ltd, Beijing Topsec Software Co Ltd filed Critical Beijing Topsec Technology Co Ltd
Priority to CN202310729681.4A priority Critical patent/CN116846608B/zh
Publication of CN116846608A publication Critical patent/CN116846608A/zh
Application granted granted Critical
Publication of CN116846608B publication Critical patent/CN116846608B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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/083Network architectures or network communication protocols for network security for authentication of entities using passwords
    • 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
    • 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/1433Vulnerability analysis
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Storage Device Security (AREA)

Abstract

本公开实施例公开了一种弱口令识别方法、装置、系统、电子设备和存储介质。其中,弱口令识别方法包括:判断是否为首次对目标主机进行弱口令检测;若是首次,则获取所述目标主机的账号和加密信息,根据所述账号、所述加密信息和弱口令密码字典,确定所述目标主机的账号是否设置了弱口令;若不是首次,则对所述目标主机的账号的密码创建事件和密码修改事件进行监控,在事件触发后,获取所述目标主机的账号的明文密码,根据所述明文密码和弱口令密码字典,确定所述目标主机的账号是否设置了弱口令。该方法能够避免检测过程中的SSH网络连接占用,以及报错日志的产生。

Description

弱口令识别方法、装置、系统、电子设备和存储介质
技术领域
本公开涉及计算机技术领域,尤其涉及一种弱口令识别方法、装置、系统、电子设备和存储介质。
背景技术
通过安全外壳协议(Secure Shell,简称SSH)协议远程连接目标主机时,只要用户提供正确的账号和口令,就可以登录到远程主机。如果用户设置的是弱口令(即设置了安全性很低的密码),则很容易被攻击者破解,攻击者即可远程登录从而获得目标主机的控制权,实施攻击活动。因此,需要检测出用户设置的弱口令,提高通过SSH协议远程连接目标主机的安全性。
发明人发现,现有技术中检测用户是否为该目标主机设置了弱口令的方法会造成大量的SSH网络连接占用,可能造成目标主机实际的用户无法连接,并且会产生大量的报错日志,以上检测行为可能被误报为暴力破解行为。
发明内容
有鉴于此,本公开实施例提供了一种弱口令识别方法、装置、系统、电子设备和存储介质,能够避免检测过程中的SSH网络连接占用,以及报错日志的产生。
第一方面,本公开实施例提供了一种弱口令识别方法,采用如下技术方案:
所述弱口令识别方法,其特征在于,包括:
判断是否为首次对目标主机进行弱口令检测;
若是首次,则获取所述目标主机的账号和加密信息,根据所述账号、所述加密信息和弱口令密码字典,确定所述目标主机的账号是否设置了弱口令;
若不是首次,则对所述目标主机的账号的密码创建事件和密码修改事件进行监控,在事件触发后,获取所述目标主机的账号的明文密码,根据所述明文密码和弱口令密码字典,确定所述目标主机的账号是否设置了弱口令。
可选地,所述判断是否为首次对目标主机进行弱口令检测,包括:
获取弱口令识别记录,所述弱口令识别记录包括识别到的设置了弱口令的账号和对应的弱口令;
判断所述目标主机的账号是否存在于所述弱口令识别记录中;
若存在,则不是首次对所述目标主机进行弱口令检测;
若不存在,则是首次对所述目标主机进行弱口令检测。
可选地,所述获取所述目标主机的账号和加密信息,根据所述账号、所述加密信息和弱口令密码字典,确定所述目标主机的账号是否设置了弱口令,包括:
获取所述目标主机的账号、加密方式和第一密码密文;
根据所述加密方式对所述弱口令密码字典中的弱密码进行加密,得到第二密码密文;
将所述第二密码密文和所述第一密码密文进行对比,根据对比结果确定所述目标主机的账号是否设置了弱口令。
可选地,所述对所述目标主机的账号的密码创建事件和密码修改事件进行监控,在事件触发后,获取所述目标主机的账号的明文密码,包括:
通过基于eBPF技术的hook程序,对用户态库函数进行监控;
在事件触发后,收集用户态库函数的参数和/或返回值;
对所述参数和/或返回值进行解析,得到所述目标主机的账号的明文密码。
可选地,所述根据所述明文密码和弱口令密码字典,确定所述目标主机的账号是否设置了弱口令,包括:
将所述弱口令密码字典中的弱密码作为Key放入一个hash map中;
将所述明文密码作为Key在所述hash map中进行匹配;
根据匹配结果,确定所述目标主机的账号是否设置了弱口令。
第二方面,本公开实施例提供了一种弱口令识别装置,采用如下技术方案:
所述弱口令识别装置,其特征在于,包括:
第一判断模块,用于判断是否为首次对目标主机进行弱口令检测;
第一确定模块,用于在首次检测时,获取所述目标主机的账号和加密信息,根据所述账号、所述加密信息和弱口令密码字典,确定所述目标主机的账号是否设置了弱口令;
第二确定模块,用于在不是首次检测时,对所述目标主机的账号的密码创建事件和密码修改事件进行监控,在事件触发后,获取所述目标主机的账号的明文密码,根据所述明文密码和弱口令密码字典,确定所述目标主机的账号是否设置了弱口令。
第三方面,本公开实施例提供了一种弱口令识别系统,采用如下技术方案:
所述弱口令识别系统包括:
客户端,所述客户端部署于目标主机上,所述客户端包括检测模块和监控模块,所述检测模块用于在首次检测时,获取所述目标主机的账号和加密信息,根据所述账号、所述加密信息和弱口令密码字典,确定所述目标主机的账号是否设置了弱口令,所述监控模块用于在不是首次检测时,对所述目标主机的账号的密码创建事件和密码修改事件进行监控,在事件触发后,获取所述目标主机的账号的明文密码,根据所述明文密码和弱口令密码字典,确定所述目标主机的账号是否设置了弱口令;
管理中心,所述管理中心部署于服务器上,所述管理中心包括控制模块,所述控制模块用于控制所述监控模块的开启和关闭。
可选地,所述控制模块具体用于:获取各目标主机的系统信息;判断所述系统信息是否满足预设要求;在满足所述预设要求时,控制所述目标主机对应的所述监控模块开启;在不满足所述预设要求时,控制所述目标主机对应的所述监控模块关闭。
第四方面,本公开实施例提供了一种电子设备,采用如下技术方案:
所述电子设备包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行以上任一所述的弱口令识别方法。
第五方面,本公开实施例还提供了一种计算机可读存储介质,该计算机可读存储介质存储计算机指令,该计算机指令用于使计算机执行以上任一所述的弱口令识别方法。
本公开实施例提供了弱口令识别方法、装置、系统、电子设备和存储介质,其中,在应用该弱口令识别方法时,在首次对目标主机进行弱口令检测时,获取目标主机的账号和加密信息,根据账号、加密信息和弱口令密码字典,确定目标主机的账号是否设置了弱口令,在不是首次对目标主机进行弱口令检测时,对目标主机的账号的密码创建事件和密码修改事件进行监控,在事件触发后,获取目标主机的账号的明文密码,根据明文密码和弱口令密码字典,确定目标主机的账号是否设置了弱口令。在以上过程中,不涉及尝试登录的方式,不存在对SSH网络连接的占用,进而更不会产生的尝试登录失败的报错日志。
上述说明仅是本公开技术方案的概述,为了能更清楚了解本公开的技术手段,而可依照说明书的内容予以实施,并且为让本公开的上述和其他目的、特征和优点能够更明显易懂,以下特举较佳实施例,并配合附图,详细说明如下。
附图说明
为了更清楚地说明本公开实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1为本公开实施例提供的弱口令识别方法的流程图;
图2为本公开实施例提供的弱口令识别装置的结构图;
图3为本公开实施例提供的弱口令识别系统的结构图;
图4为本公开实施例提供的SSH弱口令检测过程的示意图;
图5为本公开实施例提供的SSH弱口令监控过程的示意图;
图6为本公开实施例提供的一种电子设备的结构示意图。
具体实施方式
下面结合附图对本公开实施例进行详细描述。
应当明确,以下通过特定的具体实例说明本公开的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本公开的其他优点与功效。显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。本公开还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本公开的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。基于本公开中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范围。
需要说明的是,下文描述在所附权利要求书的范围内的实施例的各种方面。应显而易见,本文中所描述的方面可体现于广泛多种形式中,且本文中所描述的任何特定结构及/或功能仅为说明性的。基于本公开,所属领域的技术人员应了解,本文中所描述的一个方面可与任何其它方面独立地实施,且可以各种方式组合这些方面中的两者或两者以上。举例来说,可使用本文中所阐述的任何数目各方面来实施设备及/或实践方法。另外,可使用除了本文中所阐述的方面中的一或多者之外的其它结构及/或功能性实施此设备及/或实践此方法。
还需要说明的是,以下实施例中所提供的图示仅以示意方式说明本公开的基本构想,图式中仅显示与本公开中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。
另外,在以下描述中,提供具体细节是为了便于透彻理解实例。然而,所属领域的技术人员将理解,可在没有这些特定细节的情况下实践所述方面。
本公开实施例提供了一种弱口令识别方法,具体地,如图1所示,该弱口令识别方法包括:
步骤S1、判断是否为首次对目标主机进行弱口令检测。
若是首次检测,则执行步骤S2,若不是首次检测,则执行步骤S3。
可选地,判断是否为首次对目标主机进行弱口令检测,包括:
子步骤S11、获取弱口令识别记录,弱口令识别记录包括识别到的设置了弱口令的账号和对应的弱口令。
在每识别到账号设置有弱口令时,就将账号和对应的弱口令进行记录,形成弱口令识别记录。以上识别过程包括后续步骤S2和后续步骤S3。
子步骤S12、判断目标主机的账号是否存在于弱口令识别记录中。
若存在,则不是首次对目标主机进行弱口令检测。
若不存在,则是首次对目标主机进行弱口令检测。
在不是首次对目标主机进行弱口令检测时,可直接将从弱口令识别记录中获取的相关记录作为此次的识别结果返回,并执行步骤S3。
步骤S2、获取目标主机的账号和加密信息,根据账号、加密信息和弱口令密码字典,确定目标主机的账号是否设置了弱口令。
可选地,获取目标主机的账号和加密信息,根据账号、加密信息和弱口令密码字典,确定目标主机的账号是否设置了弱口令,包括:
子步骤S21、获取目标主机的账号、加密方式和第一密码密文。
示例性地,以上加密信息包括密码的加密算法、加密强度值和加密盐。以上获取目标主机的账号、加密方式和第一密码密文的具体方式可以为:按行读取/etc/shadow文件的数据,根据读取到的数据解析出目标主机的账号,获取出第一密码密文,通过对第一密码密文进行解析,得加密算法、加密强度值和加密盐。数据解析的具体方式可以为:获取/etc/shadow文件中密码的可能加密方式,例如,$1$对应MD5加密、$2$对应2a,2y Blowfish加密、$5$对应SHA-256加密、$6$对应SHA-512加密、$y$对应yescrypt加密等,以各可能加密方式进行尝试,直到成功解析。
子步骤S22、根据加密方式对弱口令密码字典中的弱密码进行加密,得到第二密码密文。
示例性地,根据加密方式对弱口令密码字典中的弱密码进行加密,得到第二密码密文的具体方式可以为:从弱口令密码字典中获取出弱密码集合,使用子步骤S21中获取到的加密方式对弱密码集合中的弱密码进行加密,得到第二密码密文。
子步骤S23、将第二密码密文和第一密码密文进行对比,根据对比结果确定目标主机的账号是否设置了弱口令。
示例性地,将第二密码密文和第一密码密文进行对比,根据对比结果确定目标主机的账号是否设置了弱口令的具体方式可以为:将第二密码密文和第一密码密文进行对比,若二者完全相同,则说明目标主机的账号设置了弱口令,若二者不完全相同,则进一步对弱口令密码字典中的其他弱密码进行加密,得到新的第二密码密文,再以新的第二密码密文和第一密码密文进行对比,直到确定目标主机的账号设置了弱口令,或者,直至完成所有比对后确定目标主机的账号没有设置弱口令。
步骤S3、对目标主机的账号的密码创建事件和密码修改事件进行监控,在事件触发后,获取目标主机的账号的明文密码,根据明文密码和弱口令密码字典,确定目标主机的账号是否设置了弱口令。
可选地,步骤S3中,对目标主机的账号的密码创建事件和密码修改事件进行监控,在事件触发后,获取目标主机的账号的明文密码,包括:
子步骤S31、通过基于eBPF技术的hook程序,对用户态库函数进行监控。
其中,eBPF(extended Berkeley Packet Filter,扩展Berkeley数据包过滤器)是一种可以在目标主机的Linux内核中运行用户编写的程序,而不需要修改目标主机的内核代码或加载内核模块的技术。监控的用户态库函数可以为PAM(Pluggable AuthenticationModules,可插拔式认证模块)相关的pam_chauthtok、pam_get_item和pam_get_authtok函数。当修改主机账号的密码时会调用PAM中的pam_chauthtok、pam_get_item和pam_get_authtok函数,通过监控这几个函数即可获取到发生密码创建事件和密码修改事件时的账号和明文密码等信息。
可选地,通过基于eBPF技术的hook程序,对用户态库函数进行监控包括:通过eBPFuprobes对用户态库函数pam_chauthtok、pam_get_item和pam_get_authtok函数进行动态插桩,利用Linux内核中的uprobes子系统,在用户进程执行以上某个函数的入口和出口插入监控程序(即hook程序),以实现对以上各用户态库函数的监控。
示例性地,通过基于eBPF技术的hook程序,对用户态库函数进行监控的具体过程如下:
(1)编写eBPF程序:定义eBPF代码,将源码编译成BPF字节码,源码包括获取监控点(用户态库函数的入口和出口)的参数和/或返回值的解析步骤和组合返回日志信息发送到BPF映射表或事件结果队列BPF_MAPs的步骤。
(2)加载eBPF程序:使用libbpf库中的bpf_program_load()函数将eBPF程序加载到目标主机的系统内核中。使用libbpf库的目的在于使eBPF程序能够在目标主机中起作用。
(3)设置uprobes:通过添加混杂uprobes来监控用户态库函数的入口和出口。上述uprobes实际上是由挂载点、进程和探针组成的机构。用户态库是挂载点的动态库,例如libpam.so。
(4)链接uprobes和eBPF程序:使用libbpf库中的bpf_link_create()函数将uprobes和eBPF程序链接起来。
(5)执行编写的eBPF程序,对用户态库函数进行监控。
需要说明的是,以上基于eBPF技术的hook程序对比现有技术中其他实现hook程序的技术,例如动态库劫持等方式,基于eBPF技术的hook程序对待监控的目标程序的影响几乎为零,安全性更高,无需担心用户空间代码可能带来的安全问题,也无需担心对其他应用程序造成影响。另外,基于eBPF技术的hook程序的系统兼容性更好,支持一次编译就能在不同系统内核版本的linux系统上运行,无需根据不同系统内核版本进行重复编译。
子步骤S32、在事件触发后,收集用户态库函数的参数和/或返回值。
示例性地,在事件触发后,收集用户态库函数的参数和/或返回值,包括:事件触发后,以上各用户态库函数执行,在各用户态库函数执行期间,执行编写的eBPF程序,收集用户态库函数的相关参数和/或返回值(包含创建密码或修改密码时的用户和明文密码),生成日志信息,并输出至BPF映射表或事件结果队列BPF_MAPs中。
子步骤S33、对参数和/或返回值进行解析,得到目标主机的账号的明文密码。
示例性地,对参数和/或返回值进行解析,得到目标主机的账号的明文密码,包括:在用户态中读取BPF映射表或事件结果队列BPF_MAPs中的数据,即创建密码或修改密码时的账号和明文密码。
可选地,步骤S3中,根据明文密码和弱口令密码字典,确定目标主机的账号是否设置了弱口令,包括:
子步骤S34、将弱口令密码字典中的弱密码作为Key放入一个hash map中。
子步骤S35、将明文密码作为Key在hash map中进行匹配。
子步骤S36、根据匹配结果,确定目标主机的账号是否设置了弱口令。
以上匹配结果可以为在hash map中匹配到该明文密码,或者,未匹配到该明文密码。如果匹配到,则说明目标主机的账号设置了弱口令,如果未匹配到,则说明目标主机的账号未设置弱口令。
可选地,以上步骤S1由管理中心执行,步骤S2和步骤S3由部署于目标主机上的客户端Agent执行。
在应用该弱口令识别方法时,在首次对目标主机进行弱口令识别时,获取目标主机的账号和加密信息,根据账号、加密信息和弱口令密码字典,确定目标主机的账号是否设置了弱口令,在不是首次对目标主机进行弱口令检测时,对目标主机的账号的密码创建事件和密码修改事件进行监控,在事件触发后,获取目标主机的账号的明文密码,根据明文密码和弱口令密码字典,确定目标主机的账号是否设置了弱口令。在以上过程中,不涉及尝试登录的方式,不存在对SSH网络连接的占用,进而更不会产生的尝试登录失败的报错日志。
现有技术中通过定期利用弱口令密码字典中的各个弱口令对每一个目标主机的IP地址进行SSH登录尝试,进而检测用户是否为该目标主机设置了弱口令的方式,存在以下问题:(1)需要通过SSH连接进行试错,建立SSH连接本身耗时较长,弱口令密码字典中需要尝试的弱密码数量又大,导致尝试效率极低;(2)无法得知目标主机实际存在的账号,使用“账号:密码”组合尝试连接的方式会造成很多无效的尝试,检测命中率非常低;(3)需定期进行检测,不具备实时性,无法及时发现弱口令的存在。
而本公开实施例的弱口令识别方法中,一方面,并未采用SSH连接进行试错的方式,而是在目标主机本地获取相关信息,并进行匹配以确定是否设置了弱密码,无需网络连接,并且在本地可以获取目标主机实际的账号,减少无效的“账号:密码”组合的匹配,从而大大提高检测的效率和命中率,另一方面,由于在不是首次对目标主机进行弱口令检测时,以监控的方式触发目标主机的弱口令检测,不需要频繁或定时的扫描检测,不仅能够大幅降低系统资源占用,还能够及时发现弱口令的存在,极大地提高检测效率,进而能够节约成本,提升性能。
此外,本公开实施例提供了一种弱口令识别装置,如图2所示,该弱口令识别装置包括:
第一判断模块10,用于判断是否为首次对目标主机进行弱口令检测;
第一确定模块20,用于在首次检测时,获取目标主机的账号和加密信息,根据账号、加密信息和弱口令密码字典,确定目标主机的账号是否设置了弱口令;
第二确定模块30,用于在不是首次检测时,对目标主机的账号的密码创建事件和密码修改事件进行监控,在事件触发后,获取目标主机的账号的明文密码,根据明文密码和弱口令密码字典,确定目标主机的账号是否设置了弱口令。
需要说明的是,以上各模块的具体细节可参见弱口令识别方法中的相关内容,此处不再进行赘述。
此外,本公开实施例提供了一种弱口令识别系统,具体地,如图3所示,该弱口令识别系统包括:
客户端Agent 100,客户端Agent 100部署于目标主机上,客户端Agent 100包括检测模块101和监控模块102,检测模块101用于在首次检测时,获取目标主机的账号和加密信息,根据账号、加密信息和弱口令密码字典,确定目标主机的账号是否设置了弱口令,监控模块102用于在不是首次检测时,对目标主机的账号的密码创建事件和密码修改事件进行监控,在事件触发后,获取目标主机的账号的明文密码,根据明文密码和弱口令密码字典,确定目标主机的账号是否设置了弱口令;
管理中心200,管理中心200部署于服务器上,管理中心200包括控制模块201,控制模块201用于控制监控模块102的开启和关闭。
可选地,控制模块201还可用于判断是否为首次对目标主机进行弱口令检测,并在首次检测时,向检测模块101下发弱口令检测任务,在不是首次检测时,向监控模块102下发弱口令监控任务。检测模块101响应于该弱口令检测任务执行对应操作,监控模块102响应于该弱口令监控任务执行对应操作。在实际应用过程中,可以仅在客户端Agent 100首次安装,或者,重启后,控制模块201判断是否为首次对目标主机进行弱口令检测,平常无需进行判断。控制模块201可以在检测模块101完成首次检测后,自动下发弱口令监控任务。
可选地,客户端Agent 100还包括第一日志模块103,用于向管理中心200上报弱口令的检测结果和监控结果。
可选地,管理中心200还包括资产模块202和第二日志模块203,资产模块202用于收集客户端Agent 100的安装和在线情况,第二日志模块203用于收集第一日志模块103上报的弱口令的检测结果和监控结果。
可选地,控制模块201控制监控模块102的开启和关闭的具体方式为:控制模块201获取各目标主机的系统信息;判断系统信息是否满足预设要求;在满足预设要求时,控制目标主机对应的监控模块102开启;在不满足预设要求时,控制目标主机对应的监控模块102关闭。在某一目标主机对应的监控模块102已经关闭的前提下,控制模块201控制对应的检测模块101定期获取目标主机的账号和加密信息,根据账号、加密信息和弱口令密码字典,确定目标主机的账号是否设置了弱口令即可。
以上系统信息可以为系统内核版本或特定系统配置,当系统信息为系统内核版本时,预设要求为不低于预设版本,当系统信息为特定系统配置,如CONFIG_BPF_SYSCALL,CONFIG_BPF和CONFIG_BPF_JIT_ALWAYS_ON时,预设要求为这些系统配置的值都为y。
需要说明的是,之前所述的弱口令识别方法中的具体细节可适用于弱口令识别系统的对应模块中,此处不再进行赘述。
本公开实施例提供的弱口令识别方法、装置和系统可应用于自适应防御入侵检测防御系统的SSH弱口令识别过程中。以下基于自适应防御入侵检测防御系统,举例说明利用该弱口令识别方法、装置和/或系统对SSH弱口令进行识别的具体过程。
对SSH弱口令进行识别的具体过程分为检测和监控两部分。其中,如图4所示,SSH弱口令检测的过程具体包括:
(1)在目标主机上部署客户端Agent;
(2)开启对目标主机的扫描;
(3)通过读取/etc/shadow获取目标主机的账号和密码以及密码的加密算法、加密强度值、加密盐和密码密文;
(4)选择弱口令密码字典;
(5)对弱口令密码字典的密码按照获取的加密算法和加密盐进行加密;
(6)将步骤(3)中从/etc/shadow获取到的目标主机的账号对应的密码密文与步骤(5)中加密后得到的密码密文进行匹配,如果匹配成功(即二者相同)则说明该目标主机的账号设置了弱口令,记录弱口令,保存检测结果,结束扫描;如果匹配不成功则说明该目标主机的账号未设置弱口令,可返回重新进行匹配,直至完成与步骤(5)中得到的所有密码密文的匹配。
如图5所示,SSH弱口令监控的过程具体包括:
(1)开启对目标主机的监控;
(2)查找PAM相关的用户动态库;
(3)将基于ebpf技术实现的hook程序对pam_chauthtok、pam_get_item和pam_get_authtok函数(步骤(2)查找得到)进行挂钩并通过进程号将获取到的信息关联;
(4)监控用户创建和修改密码事件创建的目标主机账号对应的新密码,获取到未加密的明文密码;
(5)获取弱口令密码字典,得到弱密码集合,弱密码作为Key放入一个hash map中;
(6)将监控到的明文密码作为Key在hash map中匹配,判断是否匹配成功,如果匹配成功则说明该目标主机的账号设置了弱口令,如果未匹配成功则说明该目标主机的账号未设置弱口令;
(7)记录弱口令,保存监控结果;
(8)继续监控或退出程序。
此外,本公开实施例提供了一种电子设备,电子设备包括:
至少一个处理器;以及,
与至少一个处理器通信连接的存储器;其中,
存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行以上任一的弱口令识别方法。
根据本公开实施例的电子设备包括存储器和处理器。该存储器用于存储非暂时性计算机可读指令。具体地,存储器可以包括一个或多个计算机程序产品,该计算机程序产品可以包括各种形式的计算机可读存储介质,例如易失性存储器和/或非易失性存储器。该易失性存储器例如可以包括随机存取存储器(RAM)和/或高速缓冲存储器(cache)等。该非易失性存储器例如可以包括只读存储器(ROM)、硬盘、闪存等。
该处理器可以是中央处理单元(CPU)或者具有数据处理能力和/或指令执行能力的其它形式的处理单元,并且可以控制电子设备中的其它组件以执行期望的功能。在本公开的一个实施例中,该处理器用于运行该存储器中存储的该计算机可读指令,使得该电子设备执行前述的本公开各实施例的弱口令识别方法全部或部分步骤。
本领域技术人员应能理解,为了解决如何获得良好用户体验效果的技术问题,本实施例中也可以包括诸如通信总线、接口等公知的结构,这些公知的结构也应包含在本公开的保护范围之内。
如图6为本公开实施例提供的一种电子设备的结构示意图。其示出了适于用来实现本公开实施例中的电子设备的结构示意图。图6示出的电子设备仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图6所示,电子设备可以包括处理器(例如中央处理器、图形处理器等),其可以根据存储在只读存储器(ROM)中的程序或者从存储装置加载到随机访问存储器(RAM)中的程序而执行各种适当的动作和处理。在RAM中,还存储有电子设备操作所需的各种程序和数据。处理器、ROM以及RAM通过总线彼此相连。输入/输出(I/O)接口也连接至总线。
通常,以下装置可以连接至I/O接口:包括例如传感器或者视觉信息采集设备等的输入装置;包括例如显示屏等的输出装置;包括例如磁带、硬盘等的存储装置;以及通信装置。通信装置可以允许电子设备与其他设备(比如边缘计算设备)进行无线或有线通信以交换数据。虽然图6示出了具有各种装置的电子设备,但是应理解的是,并不要求实施或具备所有示出的装置。可以替代地实施或具备更多或更少的装置。
此外,本公开实施例还提供了一种计算机可读存储介质,该计算机可读存储介质存储计算机指令,该计算机指令用于使计算机执行以上任一的弱口令识别方法。
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在非暂态计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信装置从网络上被下载和安装,或者从存储装置被安装,或者从ROM被安装。在该计算机程序被处理器执行时,执行本公开实施例的弱口令识别方法的全部或部分步骤。
有关本实施例的详细说明可以参考前述各实施例中的相应说明,在此不再赘述。
根据本公开实施例的计算机可读存储介质,其上存储有非暂时性计算机可读指令。当该非暂时性计算机可读指令由处理器运行时,执行前述的本公开各实施例的弱口令识别方法的全部或部分步骤。
上述计算机可读存储介质包括但不限于:光存储介质(例如:CD-ROM和DVD)、磁光存储介质(例如:MO)、磁存储介质(例如:磁带或移动硬盘)、具有内置的可重写非易失性存储器的媒体(例如:存储卡)和具有内置ROM的媒体(例如:ROM盒)。
有关本实施例的详细说明可以参考前述各实施例中的相应说明,在此不再赘述。
以上结合具体实施例描述了本公开的基本原理,但是,需要指出的是,在本公开中提及的优点、优势、效果等仅是示例而非限制,不能认为这些优点、优势、效果等是本公开的各个实施例必须具备的。另外,上述公开的具体细节仅是为了示例的作用和便于理解的作用,而非限制,上述细节并不限制本公开为必须采用上述具体的细节来实现。
在本公开中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序,本公开中涉及的器件、装置、设备、系统的方框图仅作为例示性的例子并且不意图要求或暗示必须按照方框图示出的方式进行连接、布置、配置。如本领域技术人员将认识到的,可以按任意方式连接、布置、配置这些器件、装置、设备、系统。诸如“包括”、“包含”、“具有”等等的词语是开放性词汇,指“包括但不限于”,且可与其互换使用。这里所使用的词汇“或”和“和”指词汇“和/或”,且可与其互换使用,除非上下文明确指示不是如此。这里所使用的词汇“诸如”指词组“诸如但不限于”,且可与其互换使用。
另外,如在此使用的,在以“至少一个”开始的项的列举中使用的“或”指示分离的列举,以便例如“A、B或C的至少一个”的列举意味着A或B或C,或AB或AC或BC,或ABC(即A和B和C)。此外,措辞“示例的”不意味着描述的例子是优选的或者比其他例子更好。
还需要指出的是,在本公开的系统和方法中,各部件或各步骤是可以分解和/或重新组合的。这些分解和/或重新组合应视为本公开的等效方案。
可以不脱离由所附权利要求定义的教导的技术而进行对在此所述的技术的各种改变、替换和更改。此外,本公开的权利要求的范围不限于以上所述的处理、机器、制造、事件的组成、手段、方法和动作的具体方面。可以利用与在此所述的相应方面进行基本相同的功能或者实现基本相同的结果的当前存在的或者稍后要开发的处理、机器、制造、事件的组成、手段、方法或动作。因而,所附权利要求包括在其范围内的这样的处理、机器、制造、事件的组成、手段、方法或动作。
提供所公开的方面的以上描述以使本领域的任何技术人员能够做出或者使用本公开。对这些方面的各种修改对于本领域技术人员而言是非常显而易见的,并且在此定义的一般原理可以应用于其他方面而不脱离本公开的范围。因此,本公开不意图被限制到在此示出的方面,而是按照与在此公开的原理和新颖的特征一致的最宽范围。
为了例示和描述的目的已经给出了以上描述。此外,此描述不意图将本公开的实施例限制到在此公开的形式。尽管以上已经讨论了多个示例方面和实施例,但是本领域技术人员将认识到其某些变型、修改、改变、添加和子组合。

Claims (10)

1.一种弱口令识别方法,其特征在于,包括:
判断是否为首次对目标主机进行弱口令检测;
若是首次,则获取所述目标主机的账号和加密信息,根据所述账号、所述加密信息和弱口令密码字典,确定所述目标主机的账号是否设置了弱口令;
若不是首次,则对所述目标主机的账号的密码创建事件和密码修改事件进行监控,在事件触发后,获取所述目标主机的账号的明文密码,根据所述明文密码和弱口令密码字典,确定所述目标主机的账号是否设置了弱口令。
2.根据权利要求1所述的弱口令识别方法,其特征在于,所述判断是否为首次对目标主机进行弱口令检测,包括:
获取弱口令识别记录,所述弱口令识别记录包括识别到的设置了弱口令的账号和对应的弱口令;
判断所述目标主机的账号是否存在于所述弱口令识别记录中;
若存在,则不是首次对所述目标主机进行弱口令检测;
若不存在,则是首次对所述目标主机进行弱口令检测。
3.根据权利要求1所述的弱口令识别方法,其特征在于,所述获取所述目标主机的账号和加密信息,根据所述账号、所述加密信息和弱口令密码字典,确定所述目标主机的账号是否设置了弱口令,包括:
获取所述目标主机的账号、加密方式和第一密码密文;
根据所述加密方式对所述弱口令密码字典中的弱密码进行加密,得到第二密码密文;
将所述第二密码密文和所述第一密码密文进行对比,根据对比结果确定所述目标主机的账号是否设置了弱口令。
4.根据权利要求1所述的弱口令识别方法,其特征在于,所述对所述目标主机的账号的密码创建事件和密码修改事件进行监控,在事件触发后,获取所述目标主机的账号的明文密码,包括:
通过基于eBPF技术的hook程序,对用户态库函数进行监控;
在事件触发后,收集用户态库函数的参数和/或返回值;
对所述参数和/或返回值进行解析,得到所述目标主机的账号的明文密码。
5.根据权利要求1所述的弱口令识别方法,其特征在于,所述根据所述明文密码和弱口令密码字典,确定所述目标主机的账号是否设置了弱口令,包括:
将所述弱口令密码字典中的弱密码作为Key放入一个hash map中;
将所述明文密码作为Key在所述hash map中进行匹配;
根据匹配结果,确定所述目标主机的账号是否设置了弱口令。
6.一种弱口令识别装置,其特征在于,包括:
第一判断模块,用于判断是否为首次对目标主机进行弱口令检测;
第一确定模块,用于在首次检测时,获取所述目标主机的账号和加密信息,根据所述账号、所述加密信息和弱口令密码字典,确定所述目标主机的账号是否设置了弱口令;
第二确定模块,用于在不是首次检测时,对所述目标主机的账号的密码创建事件和密码修改事件进行监控,在事件触发后,获取所述目标主机的账号的明文密码,根据所述明文密码和弱口令密码字典,确定所述目标主机的账号是否设置了弱口令。
7.一种弱口令识别系统,其特征在于,包括:
客户端,所述客户端部署于目标主机上,所述客户端包括检测模块和监控模块,所述检测模块用于在首次检测时,获取所述目标主机的账号和加密信息,根据所述账号、所述加密信息和弱口令密码字典,确定所述目标主机的账号是否设置了弱口令,所述监控模块用于在不是首次检测时,对所述目标主机的账号的密码创建事件和密码修改事件进行监控,在事件触发后,获取所述目标主机的账号的明文密码,根据所述明文密码和弱口令密码字典,确定所述目标主机的账号是否设置了弱口令;
管理中心,所述管理中心部署于服务器上,所述管理中心包括控制模块,所述控制模块用于控制所述监控模块的开启和关闭。
8.根据权利要求7所述的弱口令识别系统,其特征在于,所述控制模块具体用于:获取各目标主机的系统信息;判断所述系统信息是否满足预设要求;在满足所述预设要求时,控制所述目标主机对应的所述监控模块开启;在不满足所述预设要求时,控制所述目标主机对应的所述监控模块关闭。
9.一种电子设备,其特征在于,所述电子设备包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-5任一所述的弱口令识别方法。
10.一种计算机可读存储介质,其特征在于,该计算机可读存储介质存储计算机指令,该计算机指令用于使计算机执行权利要求1-5任一所述的弱口令识别方法。
CN202310729681.4A 2023-06-19 2023-06-19 弱口令识别方法、装置、系统、电子设备和存储介质 Active CN116846608B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310729681.4A CN116846608B (zh) 2023-06-19 2023-06-19 弱口令识别方法、装置、系统、电子设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310729681.4A CN116846608B (zh) 2023-06-19 2023-06-19 弱口令识别方法、装置、系统、电子设备和存储介质

Publications (2)

Publication Number Publication Date
CN116846608A true CN116846608A (zh) 2023-10-03
CN116846608B CN116846608B (zh) 2024-04-09

Family

ID=88168168

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310729681.4A Active CN116846608B (zh) 2023-06-19 2023-06-19 弱口令识别方法、装置、系统、电子设备和存储介质

Country Status (1)

Country Link
CN (1) CN116846608B (zh)

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104933352A (zh) * 2015-06-10 2015-09-23 北京北信源软件股份有限公司 一种弱口令检测方法及装置
CN107679397A (zh) * 2017-10-23 2018-02-09 郑州云海信息技术有限公司 一种linux系统的弱口令检测系统和方法
CN109587110A (zh) * 2018-10-09 2019-04-05 阿里巴巴集团控股有限公司 一种弱口令检测方法、装置、计算机设备及业务服务器
CN111931165A (zh) * 2020-07-30 2020-11-13 合肥优尔电子科技有限公司 基于字典库的主机口令检测方法及检测系统
WO2022041815A1 (zh) * 2020-08-25 2022-03-03 杭州安恒信息技术股份有限公司 基于深度学习的弱口令检测方法、装置和电子装置
CN114218561A (zh) * 2021-12-20 2022-03-22 厦门服云信息科技有限公司 一种弱口令检测方法、终端设备及存储介质
US20220294624A1 (en) * 2021-03-15 2022-09-15 Innogrit Technologies Co., Ltd. Encryption method and device, electronic apparatus and storage medium
CN115412345A (zh) * 2022-08-30 2022-11-29 杭州安恒信息技术股份有限公司 弱口令的提示修改方法、装置、设备及介质

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104933352A (zh) * 2015-06-10 2015-09-23 北京北信源软件股份有限公司 一种弱口令检测方法及装置
CN107679397A (zh) * 2017-10-23 2018-02-09 郑州云海信息技术有限公司 一种linux系统的弱口令检测系统和方法
CN109587110A (zh) * 2018-10-09 2019-04-05 阿里巴巴集团控股有限公司 一种弱口令检测方法、装置、计算机设备及业务服务器
CN111931165A (zh) * 2020-07-30 2020-11-13 合肥优尔电子科技有限公司 基于字典库的主机口令检测方法及检测系统
WO2022041815A1 (zh) * 2020-08-25 2022-03-03 杭州安恒信息技术股份有限公司 基于深度学习的弱口令检测方法、装置和电子装置
US20220294624A1 (en) * 2021-03-15 2022-09-15 Innogrit Technologies Co., Ltd. Encryption method and device, electronic apparatus and storage medium
CN114218561A (zh) * 2021-12-20 2022-03-22 厦门服云信息科技有限公司 一种弱口令检测方法、终端设备及存储介质
CN115412345A (zh) * 2022-08-30 2022-11-29 杭州安恒信息技术股份有限公司 弱口令的提示修改方法、装置、设备及介质

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
王瑞期: "使用eBPF的uretprobe探测用户密码", pages 1 - 4, Retrieved from the Internet <URL:https://zhuanlan.zhihu.com/p/574948025> *
田峥;薛海伟;田建伟;漆文辉;: "基于网页静态分析的Web应用系统弱口令检测方法", 湖南电力, no. 05 *

Also Published As

Publication number Publication date
CN116846608B (zh) 2024-04-09

Similar Documents

Publication Publication Date Title
US11240262B1 (en) Malware detection verification and enhancement by coordinating endpoint and malware detection systems
US10728261B2 (en) System and method for cyber security threat detection
US10956575B2 (en) Determine malware using firmware
EP2946327A1 (en) Systems and methods for identifying and reporting application and file vulnerabilities
JP2010182019A (ja) 異常検知装置およびプログラム
CN109684833B (zh) 使程序危险行为模式适应用户计算机系统的系统和方法
CN113055407A (zh) 一种资产的风险信息确定方法、装置、设备及存储介质
CN111131221A (zh) 接口校验的装置、方法及存储介质
CN111191243A (zh) 一种漏洞检测方法、装置和存储介质
US20190294803A1 (en) Evaluation device, security product evaluation method, and computer readable medium
CN113239364A (zh) 一种检测漏洞利用的方法、装置、设备及存储介质
Awad et al. Volatile Memory Extraction-Based Approach for Level 0‐1 CPS Forensics
WO2020246227A1 (ja) ルール生成装置、ルール生成方法、及びコンピュータ読み取り可能な記録媒体
CN116846608B (zh) 弱口令识别方法、装置、系统、电子设备和存储介质
CN110555308B (zh) 一种终端应用行为跟踪和威胁风险评估方法及系统
CN114257404B (zh) 异常外联统计告警方法、装置、计算机设备和存储介质
JP2010182020A (ja) 不正検知装置およびプログラム
CN112003824B (zh) 攻击检测方法、装置及计算机可读存储介质
US11763004B1 (en) System and method for bootkit detection
US11368377B2 (en) Closed loop monitoring based privileged access control
EP3913486A1 (en) Closed loop monitoring based privileged access control
CN115085956A (zh) 入侵检测方法、装置、电子设备及存储介质
US11574049B2 (en) Security system and method for software to be input to a closed internal network
CN114697049B (zh) WebShell检测方法及装置
JP2014164536A (ja) 検証装置、検証方法、及びプログラム

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